@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:#1a2332;--color-secondary:#fafafa;--color-accent:#877023;--color-text-primary:#2c3e50;--color-text-secondary:#6a737b;--color-text-light:#8e9aaf;--color-on-primary:#fafafa;--color-on-primary-muted:#9aa8bc;--color-error-on-primary:#ff8b96;--color-overlay-on-primary:#ffffff1a;--color-divider-on-primary:#fff3;--color-focus-dark-bg:#d4af37;--color-focus-light-bg:#1a2332;--color-focus-outline:#06c;--color-background:#fff;--color-background-alt:#f8f9fa;--color-background-dark:#343a40;--color-border:#e9ecef;--color-border-dark:#dee2e6;--color-success:#208637;--color-warning:#ffc107;--color-error:#dc3545;--color-error-text:#dc3545;--color-info:#128293;--font-display:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", "Menlo", "Courier New", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1200px;--breakpoint-2xl:1440px;--container-sm:540px;--container-md:720px;--container-lg:960px;--container-xl:1140px;--container-2xl:1320px;--grid-columns:12;--grid-gap:var(--space-6);--grid-gap-sm:var(--space-4);--grid-gap-lg:var(--space-8);--radius-sm:.125rem;--radius-base:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--transition-fast:.15s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out;--transition-slower:.5s ease-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--color-text:var(--color-text-primary);--color-background-secondary:var(--color-background-alt);--color-background-tertiary:#e9ecef;--color-primary-light:#2c3e50;--color-primary-dark:#10161f;--color-info-light:#d6eef2;--color-warning-light:#fff3cd;--color-warning-dark:#856404;--border-radius:var(--radius-lg);--border-radius-large:var(--radius-xl);--hero-gradient-start:#1a2332;--hero-gradient-end:#2c3e50;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#dbe4f0;--color-secondary:#1a2332;--color-accent:#d4af37;--color-on-primary:#1a2332;--color-on-primary-muted:#4a5568;--color-error-on-primary:#a4162a;--color-error-text:#ff6b78;--color-overlay-on-primary:#0000000f;--color-divider-on-primary:#00000026;--color-text-primary:#e8eaed;--color-text-secondary:#a8b3bd;--color-text-light:#7d8896;--color-focus-light-bg:#d4af37;--color-background:#12161f;--color-background-alt:#1a2029;--color-background-tertiary:#232b37;--color-background-dark:#0d1117;--color-border:#2c3543;--color-border-dark:#3a4556;--hero-gradient-start:#10161f;--hero-gradient-end:#1c2836;--color-primary-light:#eef2f8;--color-primary-dark:#b9c8dd;--color-info-light:#12333a;--color-warning-light:#3a320f;--color-warning-dark:#e8c96a;--shadow-sm:0 1px 2px 0 #0006;--shadow-base:0 1px 3px 0 #00000080, 0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #00000080, 0 10px 10px -5px #0006;--shadow-2xl:0 25px 50px -12px #000000b3}*,:before,:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-rendering:optimizelegibility}@supports not (display:grid){.grid{margin:calc(var(--grid-gap) / -2);flex-wrap:wrap;display:flex}.grid>*{margin:calc(var(--grid-gap) / 2);flex:auto}.grid-cols-2>*{-ms-flex-preferred-size:calc(50% - var(--grid-gap));flex-basis:calc(50% - var(--grid-gap))}.grid-cols-3>*{-ms-flex-preferred-size:calc(33.333% - var(--grid-gap));flex-basis:calc(33.333% - var(--grid-gap))}.grid-cols-4>*{-ms-flex-preferred-size:calc(25% - var(--grid-gap));flex-basis:calc(25% - var(--grid-gap))}}.interactive-element{-o-transition:all .2s cubic-bezier(.4, 0, .2, 1);transition:all .2s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.glassmorphism{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.glassmorphism{background:#fffffff2}}.sticky{position:sticky}@supports not (position:sticky){.sticky{position:fixed}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.container{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}@media (width>=480px){.container{max-width:var(--container-sm);padding-left:var(--space-6);padding-right:var(--space-6)}}@media (width>=768px){.container{max-width:var(--container-md)}}@media (width>=1024px){.container{max-width:var(--container-lg)}}@media (width>=1200px){.container{max-width:var(--container-xl)}}@media (width>=1440px){.container{max-width:var(--container-2xl)}}.grid{gap:var(--grid-gap);display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media (width>=480px){.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.text-primary{color:var(--color-text-primary)}.text-accent{color:var(--color-accent)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-white{background-color:var(--color-background)}.bg-gray{background-color:var(--color-background-alt)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-10{margin:var(--space-10)}.m-12{margin:var(--space-12)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.transition-fast{-webkit-transition:all var(--transition-fast);-o-transition:all var(--transition-fast);transition:all var(--transition-fast)}.transition{-webkit-transition:all var(--transition-base);-o-transition:all var(--transition-base);transition:all var(--transition-base)}.transition-slow{-webkit-transition:all var(--transition-slow);-o-transition:all var(--transition-slow);transition:all var(--transition-slow)}.transition-slower{-webkit-transition:all var(--transition-slower);-o-transition:all var(--transition-slower);transition:all var(--transition-slower)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration:underline}.no-underline{text-decoration:none}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-words{word-wrap:break-word;overflow-wrap:break-word}.break-all{word-break:break-all}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-16{margin-top:var(--space-16)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.ml-2{margin-left:var(--space-2)}.mr-2{margin-right:var(--space-2)}.text-secondary{color:var(--color-text-secondary)}.text-light{color:var(--color-text-light)}.text-error{color:var(--color-error-text)}.fw-medium{font-weight:var(--font-weight-medium)}.fw-semibold{font-weight:var(--font-weight-semibold)}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}@media (width<=479px){.sm\:text-xs{font-size:var(--font-size-xs)}.sm\:text-sm{font-size:var(--font-size-sm)}.sm\:text-base{font-size:var(--font-size-base)}.sm\:text-lg{font-size:var(--font-size-lg)}.sm\:text-xl{font-size:var(--font-size-xl)}.sm\:text-2xl{font-size:var(--font-size-2xl)}.sm\:text-3xl{font-size:var(--font-size-3xl)}.sm\:text-4xl{font-size:var(--font-size-4xl)}.sm\:text-5xl{font-size:var(--font-size-5xl)}}@media (width>=768px){.md\:text-xs{font-size:var(--font-size-xs)}.md\:text-sm{font-size:var(--font-size-sm)}.md\:text-base{font-size:var(--font-size-base)}.md\:text-lg{font-size:var(--font-size-lg)}.md\:text-xl{font-size:var(--font-size-xl)}.md\:text-2xl{font-size:var(--font-size-2xl)}.md\:text-3xl{font-size:var(--font-size-3xl)}.md\:text-4xl{font-size:var(--font-size-4xl)}.md\:text-5xl{font-size:var(--font-size-5xl)}}@media (width>=1024px){.lg\:text-xs{font-size:var(--font-size-xs)}.lg\:text-sm{font-size:var(--font-size-sm)}.lg\:text-base{font-size:var(--font-size-base)}.lg\:text-lg{font-size:var(--font-size-lg)}.lg\:text-xl{font-size:var(--font-size-xl)}.lg\:text-2xl{font-size:var(--font-size-2xl)}.lg\:text-3xl{font-size:var(--font-size-3xl)}.lg\:text-4xl{font-size:var(--font-size-4xl)}.lg\:text-5xl{font-size:var(--font-size-5xl)}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.flex{display:-ms-flexbox}.grid{-ms-flex-wrap:wrap;display:-ms-flexbox}.grid>*{-ms-flex:auto}}@supports (-webkit-touch-callout:none){.interactive-element{-webkit-tap-highlight-color:transparent}input,textarea,select{-webkit-appearance:none;border-radius:0}}@-moz-document url-prefix(){.grid{display:-moz-grid}}@media (prefers-contrast:high){:root{--color-primary:#000;--color-text-primary:#000;--color-text-secondary:#333;--color-background:#fff;--color-border:#000}}@media print{*{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}.no-print{display:none!important}.page-transition{opacity:1!important;animation:none!important;transform:none!important}}*{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:var(--font-mono)}.btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-base);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-body);font-weight:var(--font-weight-medium);transition:all var(--transition-base);border:none;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-secondary)}.btn-primary:hover{background-color:var(--color-text-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-text-secondary);color:var(--color-secondary)}.btn-secondary:hover{background-color:var(--color-text-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background-color:var(--color-accent);color:var(--color-primary)}.btn-accent:hover{box-shadow:var(--shadow-md);background-color:#c19b2e;transform:translateY(-1px)}.dev-error-overlay{z-index:10000;background:#000000e6;justify-content:center;align-items:center;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;display:flex;position:fixed;inset:0}.dev-error-container{background:#1a1a1a;border:2px solid #ff6b6b;border-radius:8px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000080}.dev-error-header{color:#fff;background:#ff6b6b;border-bottom:1px solid #ff5252;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.dev-error-header h2{margin:0;font-size:18px;font-weight:600}.dev-error-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:24px;transition:background-color .2s;display:flex}.dev-error-close:hover{background:#fff3}.dev-error-content{color:#e0e0e0;flex:1;padding:20px;overflow-y:auto}.dev-error-message{margin-bottom:20px}.dev-error-message h3{color:#ff6b6b;margin:0 0 10px;font-size:16px}.dev-error-message p{background:#2a2a2a;border-left:4px solid #ff6b6b;border-radius:4px;margin:0;padding:15px;font-family:inherit;line-height:1.5}.dev-error-stack,.dev-error-component-stack{margin-bottom:20px}.dev-error-stack summary,.dev-error-component-stack summary{color:#4fc3f7;cursor:pointer;border-bottom:1px solid #333;padding:10px 0;font-weight:600}.dev-error-stack summary:hover,.dev-error-component-stack summary:hover{color:#29b6f6}.dev-error-stack pre,.dev-error-component-stack pre{background:#2a2a2a;border-left:4px solid #4fc3f7;border-radius:4px;margin:10px 0 0;padding:15px;font-size:12px;line-height:1.4;overflow-x:auto}.dev-error-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.dev-error-button{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-family:inherit;font-weight:600;transition:all .2s}.dev-error-button.primary{color:#fff;background:#4fc3f7}.dev-error-button.primary:hover{background:#29b6f6}.dev-error-button.secondary{color:#fff;background:#666}.dev-error-button.secondary:hover{background:#777}.dev-error-note{background:#2a2a2a;border-left:4px solid #ffa726;border-radius:4px;padding:15px}.dev-error-note p{color:#ffa726;margin:0;font-size:14px;line-height:1.5}@media (width<=768px){.dev-error-overlay{padding:10px}.dev-error-container{max-width:100%;max-height:100%}.dev-error-header{padding:10px 15px}.dev-error-content{padding:15px}.dev-error-actions{flex-direction:column}.dev-error-button{width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.navigation{align-items:center;display:flex}.navigation__list{gap:var(--space-8);margin:0;padding:0;list-style:none;display:flex}.navigation__item{position:relative}.theme-toggle{margin-left:var(--space-6);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-lg);cursor:pointer;transition:transform var(--transition-base), border-color var(--transition-base);background:0 0;border:1px solid #0000;line-height:1}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle:focus-visible{border-color:var(--color-accent);outline:none}.navigation__link{color:#fff;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--space-2) 0;transition:all var(--transition-base);text-decoration:none;display:block;position:relative}.navigation__link:after{content:"";background:var(--color-accent);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:0;left:0}.navigation__link:hover{color:var(--color-accent);transform:translateY(-2px)}.navigation__link:hover:after{width:100%}.navigation__link--active{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.navigation__link--active:after{background:var(--color-accent);width:100%}.navigation__link--active:before{content:"";background:var(--color-accent);opacity:1;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.navigation__link:focus,.navigation__link:focus-visible{outline:2px solid var(--color-focus-dark-bg);outline-offset:4px;border-radius:var(--radius-sm)}.navigation__link:focus:not(:focus-visible){outline:none}.navigation--desktop{display:flex}.navigation--desktop .navigation__list{gap:var(--space-8);flex-direction:row}.navigation--mobile{flex-direction:column;width:100%;display:flex}.navigation--mobile .navigation__list{gap:var(--space-6);flex-direction:column;align-items:center;width:100%}.navigation--mobile .navigation__link{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);padding:var(--space-4) var(--space-6);text-align:center;min-width:120px}.navigation--mobile .navigation__link:after{left:50%;transform:translate(-50%)}.navigation--mobile .navigation__link:hover:after{width:80%}.navigation--mobile .navigation__link--active:after{background:var(--color-accent);width:80%}.navigation--mobile .navigation__link--active:before{content:"";background:var(--color-accent);border-radius:50%;width:6px;height:6px;margin-left:-60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=1023px){.navigation--desktop .navigation__list{gap:var(--space-6)}.navigation--desktop .navigation__link{font-size:var(--font-size-sm)}}@media (width<=767px){.navigation--desktop .navigation__list{gap:var(--space-4)}.navigation--desktop .navigation__link{font-size:var(--font-size-xs);padding:var(--space-1) 0}.navigation--desktop{display:none}}@media (prefers-reduced-motion:reduce){.navigation__link,.navigation__link:after{transition:none}.navigation__link:hover{transform:none}}@media (prefers-contrast:high){.navigation__link{color:#fff}.navigation__link:after{background:#fff}.navigation__link--active{color:#fff;background:#fff3}}@media print{.navigation{display:none}}.error-page{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.error-content{padding:var(--space-8) var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.error-container{text-align:center;max-width:600px;animation:.6s ease-out fadeInUp}.error-icon{margin-bottom:var(--space-6)}.error-number{color:var(--color-primary);text-shadow:0 4px 8px #0000001a;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:8rem;font-weight:800;line-height:1}.error-details{margin-bottom:var(--space-8)}.error-title{color:var(--color-text);margin-bottom:var(--space-4);font-size:2.5rem;font-weight:700;line-height:var(--line-height-tight)}.error-actions{gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;justify-content:center;display:flex}.error-button{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;min-width:120px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.error-button.primary{background:var(--color-primary);color:var(--color-secondary);box-shadow:0 2px 4px #0000001a}.error-button.primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.error-button.secondary{background:var(--color-background-secondary);color:var(--color-text);border:1px solid var(--color-border)}.error-button.secondary:hover{background:var(--color-background-tertiary);border-color:var(--color-border-hover);transform:translateY(-1px)}.error-suggestions{text-align:left;background:var(--color-background-secondary);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.error-suggestions p{color:var(--color-text);margin-bottom:var(--space-3);font-weight:600}.error-suggestions ul{margin:0;padding:0;list-style:none}.error-suggestions li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.error-suggestions li:last-child{border-bottom:none}.error-suggestions a{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}.error-suggestions a:hover{color:var(--color-primary-dark);text-decoration:underline}.error-debug{margin:var(--space-4) 0;text-align:left}.error-debug details{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.error-debug summary{cursor:pointer;color:var(--color-text);padding:var(--space-2);font-weight:600}.error-debug summary:hover{color:var(--color-primary)}.error-stack{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);margin-top:var(--space-3);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.4;overflow-x:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.error-number{font-size:6rem}.error-title{font-size:2rem}.error-description{font-size:1rem}.error-actions{flex-direction:column;align-items:center}.error-button{width:100%;max-width:200px}.error-content{padding:var(--space-4) var(--space-3)}}@media (width<=480px){.error-number{font-size:4rem}.error-title{font-size:1.5rem}.error-suggestions{padding:var(--space-4)}}.error-list{max-height:400px;margin-top:10px;overflow-y:auto}.error-list .error-stack{border-left:4px solid #ff6b6b;margin-bottom:15px}.error-list .error-stack:last-child{margin-bottom:0}.error-note{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:15px}.error-note p{color:#6c757d;margin:0;font-size:14px;line-height:1.5}.error-note strong{color:#495057}.error-boundary{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;justify-content:center;align-items:center;min-height:400px;margin:1rem 0;padding:2rem;display:flex}.error-boundary-content{text-align:center;max-width:600px}.error-boundary-content h2{color:#dc3545;margin-bottom:1rem;font-size:1.5rem}.error-boundary-content p{color:#6c757d;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.error-details{text-align:left;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin:1.5rem 0;padding:1rem}.error-stack{color:#dc3545;white-space:pre-wrap;word-break:break-word;background-color:#fff;border:1px solid #dee2e6;border-radius:4px;padding:1rem;font-family:Courier New,monospace;font-size:.875rem;overflow-x:auto}.error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.retry-button,.reload-button{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s ease-in-out}.retry-button:hover{background-color:#0056b3}.reload-button:hover{background-color:#545b62}.retry-button:focus,.reload-button:focus{outline-offset:2px;outline:2px solid #007bff}@media (width<=768px){.error-boundary{min-height:300px;padding:1rem}.error-boundary-content h2{font-size:1.25rem}.error-actions{flex-direction:column;align-items:center}.retry-button,.reload-button{width:100%;max-width:200px}}.global-error-boundary{min-height:100vh;padding:var(--space-4);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex}.error-container{padding:var(--space-12);text-align:center;background:#fff;border-radius:12px;width:100%;max-width:600px;box-shadow:0 20px 40px #0000001a}.error-title{color:#2d3748;margin-bottom:var(--space-4);font-size:2rem;font-weight:600}.error-description{color:#4a5568;margin-bottom:var(--space-8);font-size:1.1rem;line-height:1.6}.error-actions{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.error-button{padding:var(--space-3) var(--space-6);cursor:pointer;border:none;border-radius:8px;min-width:120px;font-size:1rem;font-weight:500;transition:all .2s}.error-button.primary{color:#fff;background:#667eea}.error-button.primary:hover{background:#5a6fd8;transform:translateY(-1px)}.error-button.secondary{color:#4a5568;background:#e2e8f0}.error-button.secondary:hover{background:#cbd5e0;transform:translateY(-1px)}.error-details{margin-top:var(--space-8);text-align:left;padding:var(--space-4);background:#f7fafc;border-radius:8px}.error-details summary{cursor:pointer;color:#4a5568;margin-bottom:var(--space-4);font-weight:500}.error-details summary:hover{color:#2d3748}.error-stack{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.error-stack h3{color:#2d3748;margin:var(--space-4) 0 var(--space-2) 0;font-size:.9rem;font-weight:600}.error-stack pre{color:#e2e8f0;padding:var(--space-3);white-space:pre-wrap;word-break:break-word;background:#1a202c;border-radius:4px;font-size:.8rem;line-height:1.4;overflow-x:auto}@media (width<=768px){.error-container{padding:var(--space-8);margin:var(--space-4)}.error-title{font-size:1.5rem}.error-actions{flex-direction:column}.error-button{width:100%}}.admin-layout{min-height:100vh;font-family:var(--font-body);background-color:var(--color-background-alt);display:flex}.admin-sidebar{background-color:var(--color-primary);width:280px;color:var(--color-on-primary);padding:var(--space-6);box-shadow:var(--shadow-lg);z-index:var(--z-sticky);position:relative}.admin-sidebar-header{margin-bottom:var(--space-8)}.admin-sidebar-title{margin:0 0 var(--space-2) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-family:var(--font-display);color:var(--color-on-primary)}.admin-sidebar-subtitle{color:var(--color-on-primary-muted);font-size:var(--font-size-sm);margin:0}.admin-nav{margin:0;padding:0;list-style:none}.admin-nav-item{margin-bottom:var(--space-1)}.admin-nav-link{color:var(--color-on-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);transition:var(--transition-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;display:block}.admin-nav-link:hover{background-color:var(--color-overlay-on-primary);color:var(--color-on-primary)}.admin-nav-link.active{background-color:var(--color-accent);color:var(--color-secondary);font-weight:var(--font-weight-semibold)}.admin-nav-link.active:hover{background-color:var(--color-accent);color:var(--color-secondary)}.admin-logout-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-divider-on-primary)}.admin-logout-btn{border:1px solid var(--color-error-on-primary);color:var(--color-error-on-primary);padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:var(--radius-base);width:100%;transition:var(--transition-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:0 0}.admin-logout-btn:hover{background-color:var(--color-error);color:#fafafa}.admin-user-section{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-divider-on-primary)}.admin-user-info{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background-color:var(--color-overlay-on-primary);border-radius:var(--radius-md);display:flex}.admin-user-avatar{background-color:var(--color-accent);width:40px;height:40px;color:var(--color-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);border-radius:50%;justify-content:center;align-items:center;display:flex}.admin-user-details{flex:1}.admin-user-name{font-weight:var(--font-weight-semibold);color:var(--color-on-primary);font-size:var(--font-size-sm);margin-bottom:2px}.admin-user-role{font-size:var(--font-size-xs);color:var(--color-on-primary-muted)}.admin-main{padding:var(--space-6);background-color:var(--color-background-alt);text-align:left;flex:1;min-height:100vh}.admin-page-header{background-color:var(--color-background);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.admin-page-title{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);font-family:var(--font-display)}.admin-page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.admin-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-base);text-align:center;border:none;text-decoration:none;display:inline-block}.admin-btn-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.admin-btn-primary:hover{background-color:var(--color-primary-dark);color:var(--color-on-primary)}.admin-btn-secondary{background-color:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border-dark)}.admin-btn-secondary:hover{background-color:var(--color-background-alt);color:var(--color-text-primary)}.admin-btn-danger{background-color:var(--color-background);color:var(--color-error-text);border:1px solid var(--color-error-text)}.admin-btn-danger:hover{background-color:var(--color-error);color:#fafafa}.admin-btn:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-dark);cursor:not-allowed}.admin-card{background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden}.admin-card-header{padding:var(--space-5) var(--space-8);border-bottom:1px solid var(--color-border);background-color:var(--color-background-alt)}.admin-card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.admin-card-body{padding:var(--space-6)}.admin-dashboard-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.admin-dashboard-card{background-color:var(--color-background);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);transition:var(--transition-base);flex-direction:column;display:flex}.admin-dashboard-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-dashboard-card-title{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-dashboard-card-description{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed);flex:1}.admin-dashboard-card-action{width:100%;margin-top:auto;display:block}.admin-dashboard-card-action--auto{align-self:center;width:auto;min-width:12rem}.admin-form{gap:var(--space-5);flex-direction:column;display:flex}.admin-form-group{flex-direction:column;display:flex}.admin-form-label{margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);display:block}.admin-form-input,.admin-form-textarea,.admin-form-select{width:100%;padding:var(--space-3);border:1px solid var(--color-border-dark);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-family:var(--font-body);transition:var(--transition-base);background-color:var(--color-background);color:var(--color-text-primary)}.admin-form-input:focus,.admin-form-textarea:focus,.admin-form-select:focus{border-color:var(--color-focus-outline);outline:none;box-shadow:0 0 0 3px #0066cc1a}.admin-form-input.error,.admin-form-textarea.error,.admin-form-select.error{border-color:var(--color-error-text)}.admin-form-error{color:var(--color-error-text);font-size:var(--font-size-xs);margin-top:var(--space-1)}.admin-form-textarea{resize:vertical;min-height:120px}.admin-modal-overlay{z-index:var(--z-modal);padding:var(--space-5);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background-color:var(--color-background);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-2xl);overflow:auto}.admin-modal-header{padding:var(--space-5) var(--space-8);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.admin-modal-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.admin-modal-close{font-size:var(--font-size-3xl);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-base);width:32px;height:32px;transition:var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.admin-modal-close:hover{background-color:var(--color-background-alt);color:var(--color-text-primary)}.admin-modal-body{padding:var(--space-8)}.admin-modal-actions{gap:var(--space-3);margin-top:var(--space-8);justify-content:flex-end;display:flex}.admin-content-list{background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden}.admin-content-item{padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.admin-content-item:last-child{border-bottom:none}.admin-content-info{flex:1}.admin-content-title{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);display:flex}.admin-content-description{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.admin-content-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-content-actions{gap:var(--space-2);margin-left:var(--space-5);display:flex}.admin-status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.admin-status-badge.published{color:#155724;background-color:#d4edda}.admin-status-badge.draft{color:#856404;background-color:#fff3cd}.admin-grid{gap:var(--space-5);padding:var(--space-5);display:grid}.admin-grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.admin-grid-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.admin-grid-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-background);transition:var(--transition-base);overflow:hidden}.admin-grid-item:hover{box-shadow:var(--shadow-md)}.admin-grid-item-image{object-fit:cover;width:100%;height:200px}.admin-grid-item-content{padding:var(--space-5)}.admin-grid-item-title{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.admin-grid-item-description{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.admin-grid-item-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.admin-grid-item-actions{gap:var(--space-2);display:flex}.admin-empty-state{padding:var(--space-10);text-align:center;color:var(--color-text-secondary)}.admin-empty-state-icon{font-size:var(--font-size-5xl);margin-bottom:var(--space-4)}.admin-empty-state-title{margin:0 0 var(--space-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.admin-empty-state-description{font-size:var(--font-size-base);margin:0}.admin-loading{text-align:center;padding:var(--space-10)}.admin-loading-icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-2)}.admin-error{color:#721c24;padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);background-color:#f8d7da;border:1px solid #f5c6cb}.admin-login-container{max-width:400px;margin:var(--space-24) auto;padding:var(--space-6)}.admin-login-title{text-align:center;margin-bottom:var(--space-8);color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);font-family:var(--font-display)}@media (width<=768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;padding:var(--space-4)}.admin-main{padding:var(--space-4)}.admin-page-header{align-items:flex-start;gap:var(--space-4);flex-direction:column}.admin-modal{margin:var(--space-4);max-width:none}.admin-modal-header,.admin-modal-body{padding:var(--space-4)}.admin-content-item{gap:var(--space-4);flex-direction:column}.admin-content-actions{align-self:flex-start;margin-left:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-optimistic-indicator{animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.admin-alert{border-radius:6px;align-items:center;gap:10px;margin-bottom:20px;padding:15px;display:flex}.admin-alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.admin-alert-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.admin-alert-icon{font-size:18px}.admin-alert-detail{margin-top:5px;font-size:14px}.admin-card-subtext{color:var(--color-text-secondary);margin:10px 0 0}.admin-form--narrow{max-width:500px}.admin-form-hint{color:var(--color-text-secondary);margin-top:5px;font-size:12px}.admin-form-actions{border-top:1px solid var(--color-border);gap:15px;margin-top:30px;padding-top:20px;display:flex}.admin-btn--wide{min-width:150px}.admin-tips-list{color:var(--color-text-secondary);margin:0;padding-left:20px;line-height:1.6}.admin-nav-link--compact{text-align:center;margin-bottom:10px;padding:8px 12px;font-size:14px;display:block}.admin-banner{padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.admin-banner--lg{padding:var(--space-4)}.admin-banner--spaced{margin-bottom:var(--space-5)}.admin-banner--split{justify-content:space-between;align-items:center;display:flex}.admin-banner--row{align-items:center;gap:var(--space-2);display:flex}.admin-banner-warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.admin-banner-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.admin-banner-info{color:#1565c0;background-color:#e3f2fd;border:1px solid #90caf9}.admin-banner-detail{margin-top:var(--space-1);font-size:.875rem}.admin-row{align-items:center;gap:var(--space-2);display:flex}.admin-actions-row{gap:var(--space-3);display:flex}.admin-btn-sm{font-size:.875rem}.admin-btn-danger-text{color:var(--color-error-text)}.admin-icon{font-size:1.2rem}.admin-icon-lg{font-size:1.5rem}.admin-spin{animation:1s linear infinite spin;display:inline-block}.admin-card-title--spaced{margin-bottom:var(--space-6)}.admin-stack-lg{gap:var(--space-8);display:grid}.admin-tab-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.admin-tab-btn{padding:var(--space-3);text-align:left;align-items:flex-start;gap:var(--space-1);border:1px solid var(--color-border);background-color:var(--color-background);height:auto;color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);flex-direction:column;font-family:inherit;display:flex}.admin-tab-btn:hover{border-color:var(--color-border-dark);background-color:var(--color-background-alt)}.admin-tab-btn--active,.admin-tab-btn--active:hover{border:2px solid var(--color-accent);background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.admin-tab-btn-title{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex}.admin-tab-btn-desc{color:var(--color-text-secondary);font-size:.875rem;line-height:1.3}.admin-section-nav{margin-bottom:var(--space-6)}.admin-section-nav-title{margin:0 0 var(--space-3) 0;color:var(--color-text-primary)}.admin-section-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.admin-section-btn{padding:var(--space-2);text-align:left;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);background-color:var(--color-background);height:auto;color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);font-family:inherit;display:flex}.admin-section-btn:hover{border-color:var(--color-border-dark);background-color:var(--color-background-alt)}.admin-section-btn--active,.admin-section-btn--active:hover{border:2px solid var(--color-accent);background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.admin-section-btn-icon{font-size:1.1rem}.admin-section-btn-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:.9rem}.admin-section-btn-desc{color:var(--color-text-secondary);font-size:.75rem;line-height:1.2}.admin-tab-btn--active .admin-tab-btn-desc,.admin-section-btn--active .admin-section-btn-desc{color:var(--color-text-primary)}.admin-info-panel{padding:var(--space-4);background-color:var(--color-background-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.mgmt-card-grid{gap:var(--space-5);padding:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.mgmt-card-grid--lg{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.mgmt-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-background);overflow:hidden}.mgmt-card-media{position:relative}.mgmt-card-img{object-fit:cover;width:100%;height:200px;display:block}.mgmt-card-badge{top:var(--space-2);right:var(--space-2);position:absolute}.mgmt-card-body{padding:var(--space-5)}.mgmt-card-title{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.mgmt-card-desc{margin:0 0 var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4}.mgmt-card-date{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.mgmt-card-actions{gap:var(--space-2);display:flex}.mgmt-card-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);flex:1}.asset-preview-thumb{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:#6b7480;background-image:linear-gradient(45deg,#00000029 25%,#0000 25%),linear-gradient(-45deg,#00000029 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#00000029 75%),linear-gradient(-45deg,#0000 75%,#00000029 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;width:100%;height:150px;padding:8px}.admin-form-label-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.admin-content-preview{min-height:260px;max-height:60vh;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text-primary);overflow-y:auto}.error-recovery-fallback{text-align:center;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;margin:1rem;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.error-recovery-fallback .fallback-icon{opacity:.8;margin-bottom:1rem;font-size:3rem}.error-recovery-fallback h3{color:#333;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.error-recovery-fallback>p{color:#666;max-width:400px;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.error-recovery-fallback .fallback-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.error-recovery-fallback .fallback-actions button{cursor:pointer;border:none;border-radius:6px;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.error-recovery-fallback .retry-button{color:#fff;background-color:#4caf50}.error-recovery-fallback .retry-button:hover{background-color:#45a049;transform:translateY(-1px)}.error-recovery-fallback .retry-button:disabled{color:#666;cursor:not-allowed;background-color:#ccc;transform:none}.error-recovery-fallback .reload-button{color:#fff;background-color:#2196f3}.error-recovery-fallback .reload-button:hover{background-color:#1976d2;transform:translateY(-1px)}.error-recovery-fallback .error-details{text-align:left;width:100%;max-width:500px;margin-top:1rem}.error-recovery-fallback .error-details summary{cursor:pointer;color:#555;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.5rem;font-weight:600}.error-recovery-fallback .error-details summary:hover{background-color:#eee}.error-recovery-fallback .error-details p{color:#333;margin:.5rem 0;font-size:.9rem}.error-recovery-fallback .error-stack{color:#333;white-space:pre-wrap;background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:.5rem 0;padding:1rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.8rem;overflow-x:auto}.error-recovery-fallback .missing-deps{text-align:left;margin:1rem 0}.error-recovery-fallback .missing-deps h4{color:#d32f2f;margin:0 0 .5rem;font-size:.9rem}.error-recovery-fallback .missing-deps ul{margin:0;padding-left:1.5rem;list-style-type:disc}.error-recovery-fallback .missing-deps li{color:#555;margin-bottom:.25rem}.error-recovery-fallback .missing-deps code{color:#d32f2f;background-color:#fff;border:1px solid #ffcdd2;border-radius:3px;padding:.125rem .25rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.85rem}.error-recovery-fallback .suggestions{text-align:left;margin:1rem 0}.error-recovery-fallback .suggestions h4{color:#1976d2;margin:0 0 .5rem;font-size:.9rem}.error-recovery-fallback .suggestions ul{margin:0;padding-left:1.5rem;list-style-type:disc}.error-recovery-fallback .suggestions li{color:#555;margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.error-recovery-fallback.chunk-loading{border-left:4px solid #ff9800}.error-recovery-fallback.chunk-loading .fallback-icon{color:#ff9800}.error-recovery-fallback.dependency-error{border-left:4px solid #f44336}.error-recovery-fallback.dependency-error .fallback-icon{color:#f44336}.error-recovery-fallback.runtime-error{border-left:4px solid #e91e63}.error-recovery-fallback.runtime-error .fallback-icon{color:#e91e63}.error-recovery-fallback.import-error{border-left:4px solid #9c27b0}.error-recovery-fallback.import-error .fallback-icon{color:#9c27b0}.recovery-status{border-radius:4px;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.recovery-status.recovering{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.recovery-status.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.recovery-status.failed{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.recovery-status .status-icon{font-size:1rem}@media (width<=768px){.error-recovery-fallback{margin:.5rem;padding:1.5rem}.error-recovery-fallback .fallback-actions{flex-direction:column;align-items:center}.error-recovery-fallback .fallback-actions button{width:100%;max-width:200px}.error-recovery-fallback .error-details{max-width:100%}}@media (prefers-color-scheme:dark){.error-recovery-fallback{color:#e0e0e0;background-color:#1a1a1a;border-color:#333}.error-recovery-fallback h3{color:#e0e0e0}.error-recovery-fallback>p{color:#b0b0b0}.error-recovery-fallback .error-details summary{color:#e0e0e0;background-color:#333;border-color:#555}.error-recovery-fallback .error-details summary:hover{background-color:#404040}.error-recovery-fallback .error-details p{color:#e0e0e0}.error-recovery-fallback .error-stack{color:#e0e0e0;background-color:#1a1a1a;border-color:#555}.error-recovery-fallback .missing-deps code{color:#ff6b6b;background-color:#1a1a1a;border-color:#ff6b6b}.error-recovery-fallback .suggestions li,.error-recovery-fallback .missing-deps li{color:#b0b0b0}}@keyframes recovery-pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.error-recovery-fallback.recovering{animation:2s infinite recovery-pulse}.recovery-spinner{border:2px solid #f3f3f3;border-top-color:#4caf50;border-radius:50%;width:16px;height:16px;margin-right:.5rem;animation:1s linear infinite spin;display:inline-block}.error-recovery-fallback button:focus{outline-offset:2px;outline:2px solid #2196f3}.error-recovery-fallback .error-details[open] summary{margin-bottom:1rem}@media (prefers-contrast:high){.error-recovery-fallback{border:2px solid #000}.error-recovery-fallback .retry-button,.error-recovery-fallback .reload-button{color:#fff;background-color:#000;border:2px solid #000}.error-recovery-fallback .error-details summary{border:2px solid #000}}.admin-error-boundary{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;min-height:400px;margin:1rem;padding:2rem;display:flex}.admin-error-content{text-align:center;background:#fff;border-radius:8px;max-width:600px;padding:2rem;box-shadow:0 2px 8px #0000001a}.error-icon{margin-bottom:1rem;font-size:3rem}.admin-error-content h2{color:#d32f2f;margin-bottom:.5rem;font-size:1.5rem}.admin-error-content>p{color:#666;margin-bottom:1.5rem;font-size:1rem}.admin-error-details{text-align:left;background-color:#f5f5f5;border-left:4px solid #d32f2f;border-radius:4px;margin:1.5rem 0;padding:1rem}.error-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.error-header h3{color:#333;margin:0;font-size:1.1rem}.error-type{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.error-type.chunk_loading_error{color:#856404;background-color:#fff3cd}.error-type.dependency_error{color:#721c24;background-color:#f8d7da}.error-type.import_error{color:#0c5460;background-color:#d1ecf1}.error-type.runtime_error{color:#721c24;background-color:#f5c6cb}.error-isolated{text-transform:uppercase;letter-spacing:.5px;color:#2e7d32;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.isolation-notice{background-color:#e8f5e8;border-left:4px solid #4caf50;border-radius:4px;margin-bottom:1rem;padding:.75rem}.isolation-notice h4{color:#2e7d32;margin:0 0 .5rem;font-size:.9rem}.isolation-notice p{color:#2e7d32;margin:0;font-size:.85rem}.error-message{margin-bottom:1rem}.error-message p{color:#333;background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:0;padding:.5rem;font-family:JetBrains Mono,monospace;font-size:.9rem}.missing-dependencies,.error-suggestions{margin-bottom:1rem}.missing-dependencies h4,.error-suggestions h4{color:#333;margin:0 0 .5rem;font-size:.9rem}.missing-dependencies ul,.error-suggestions ul{margin:0;padding-left:1.5rem}.missing-dependencies li{margin-bottom:.25rem}.missing-dependencies code{color:#d32f2f;background-color:#fff;border-radius:3px;padding:.125rem .25rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.error-suggestions li{color:#555;margin-bottom:.5rem;font-size:.9rem}.error-stack{margin-top:1rem}.error-stack summary{cursor:pointer;color:#333;margin-bottom:.5rem;font-weight:600}.error-stack pre{color:#333;background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:.5rem 0 0;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;overflow-x:auto}.retry-info{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-top:1rem;padding:.5rem}.retry-info p{color:#1565c0;margin:0;font-size:.9rem;font-weight:500}.error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.error-actions button{cursor:pointer;border:none;border-radius:4px;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.retry-button{color:#fff;background-color:#4caf50}.retry-button:hover:not(:disabled){background-color:#45a049;transform:translateY(-1px)}.retry-button:disabled{color:#666;cursor:not-allowed;background-color:#ccc}.reload-button{color:#fff;background-color:#2196f3}.reload-button:hover{background-color:#1976d2;transform:translateY(-1px)}.debug-button{color:#fff;background-color:#ff9800}.debug-button:hover{background-color:#f57c00;transform:translateY(-1px)}@media (width<=768px){.admin-error-boundary{margin:.5rem;padding:1rem}.admin-error-content{padding:1.5rem}.error-header{flex-direction:column;align-items:flex-start;gap:.5rem}.error-actions{flex-direction:column;align-items:center}.error-actions button{width:100%;max-width:200px}}@media (prefers-color-scheme:dark){.admin-error-boundary{background-color:#1a1a1a;border-color:#333}.admin-error-content{color:#e0e0e0;background-color:#2d2d2d}.admin-error-details{background-color:#333}.error-header h3,.missing-dependencies h4,.error-suggestions h4,.error-stack summary{color:#e0e0e0}.error-message p,.error-stack pre{color:#e0e0e0;background-color:#1a1a1a;border-color:#555}.missing-dependencies code{color:#ff6b6b;background-color:#1a1a1a}}.page-transition{width:100%;min-height:100vh;position:relative;overflow-x:hidden}.page-transition.fade-in{animation:.4s cubic-bezier(.4,0,.2,1) forwards fadeIn}.page-transition.fade-out{animation:.3s cubic-bezier(.4,0,.2,1) forwards fadeOut}.page-transition.slide-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards slideIn}.page-transition.slide-out{animation:.3s cubic-bezier(.4,0,.2,1) forwards slideOut}.page-transition.transitioning{pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.content-section{opacity:0;animation:.6s cubic-bezier(.4,0,.2,1) forwards slideInUp;transform:translateY(30px)}.content-section.loaded{animation-delay:.1s}.content-section:nth-child(2){animation-delay:.15s}.content-section:nth-child(3){animation-delay:.2s}.content-section:nth-child(4){animation-delay:.25s}.content-section:nth-child(5){animation-delay:.3s}.content-section:nth-child(6){animation-delay:.35s}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.staggered-content>*{opacity:0;animation:.5s cubic-bezier(.4,0,.2,1) forwards slideInUp;transform:translateY(20px)}.staggered-content>:first-child{animation-delay:.1s}.staggered-content>:nth-child(2){animation-delay:.2s}.staggered-content>:nth-child(3){animation-delay:.3s}.staggered-content>:nth-child(4){animation-delay:.4s}.staggered-content>:nth-child(5){animation-delay:.5s}.staggered-content>:nth-child(6){animation-delay:.6s}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.smooth-transition-fast{transition:all .2s cubic-bezier(.4,0,.2,1)}.smooth-transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.loading-container{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:200px;animation:.4s ease-in-out .2s forwards fadeIn;display:flex}.loading-spinner{border:3px solid #1a23321a;border-top:3px solid var(--color-primary,#1a2332);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.loading-text{color:var(--color-text-secondary,#666);margin-top:.5rem;font-size:.9rem}.content-loading{opacity:.6;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.content-loaded{opacity:1;pointer-events:auto;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.progressive-reveal{opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);transform:translateY(20px)}.progressive-reveal.revealed{opacity:1;transform:translateY(0)}.skeleton{background:linear-gradient(90deg, var(--color-background-secondary,#f8f9fa) 25%, var(--color-background-tertiary,#e9ecef) 50%, var(--color-background-secondary,#f8f9fa) 75%);border-radius:var(--border-radius,8px);background-size:200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:4px;height:1em;margin:.5em 0}.skeleton-text.title{width:70%;height:1.5em;margin-bottom:.75em}.skeleton-text.subtitle{width:50%;height:1em;margin-bottom:.5em}.skeleton-text.content{width:90%;height:1em;margin-bottom:.25em}.skeleton-text.content:last-child{width:60%}.skeleton-image{border-radius:var(--border-radius,8px);width:100%;height:200px;margin-bottom:1rem}.skeleton-card{border-radius:var(--border-radius-large,12px);background:var(--color-background,#fff);padding:1.5rem;box-shadow:0 2px 8px #0000001a}.section-loading{min-height:200px;position:relative}.section-loading:before{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;opacity:0;background:#fffc;justify-content:center;align-items:center;animation:.3s ease-in-out .1s forwards fadeIn;display:flex;position:absolute;inset:0}.page-transition[data-route=\/]{--transition-delay:.1s}.page-transition[data-route=\/portfolio]{--transition-delay:.15s}.page-transition[data-route=\/blog]{--transition-delay:.2s}.page-transition[data-route=\/gallery]{--transition-delay:.25s}.interactive-element{transition:all .2s cubic-bezier(.4,0,.2,1)}.interactive-element:hover{transform:translateY(-2px)}.interactive-element:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.page-transition.fade-in,.page-transition.fade-out,.page-transition.slide-in,.page-transition.slide-out,.content-section,.loading-container,.progressive-reveal,.staggered-content>*{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.smooth-transition,.smooth-transition-fast,.smooth-transition-slow,.interactive-element{transition:none!important}.skeleton{background:var(--color-background-secondary,#f0f0f0)!important;animation:none!important}.section-loading:before{opacity:1!important;animation:none!important}}.lazy-wrapper-error{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;min-height:300px;margin:1rem 0;padding:2rem;display:flex}.lazy-wrapper-error .error-content{text-align:center;background:#fff;border-radius:8px;max-width:500px;padding:2rem;box-shadow:0 2px 8px #0000001a}.lazy-wrapper-error .error-icon{margin-bottom:1rem;font-size:2.5rem}.lazy-wrapper-error h3{color:#d32f2f;margin-bottom:.5rem;font-size:1.25rem}.lazy-wrapper-error>p{color:#666;margin-bottom:1.5rem;font-size:1rem}.lazy-wrapper-error .error-details{text-align:left;background-color:#f5f5f5;border-left:4px solid #ff9800;border-radius:4px;margin:1rem 0;padding:1rem}.lazy-wrapper-error .error-type{color:#e65100;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.lazy-wrapper-error .error-suggestion{color:#555;margin:0;font-size:.9rem}.lazy-wrapper-error .isolation-notice{text-align:left;background-color:#e8f5e8;border-left:4px solid #4caf50;border-radius:4px;margin:1rem 0;padding:.75rem}.lazy-wrapper-error .isolation-notice p{color:#2e7d32;margin:0;font-size:.85rem}.lazy-wrapper-error .error-stack{text-align:left;margin-top:1rem}.lazy-wrapper-error .error-stack summary{cursor:pointer;color:#333;margin-bottom:.5rem;font-weight:600}.lazy-wrapper-error .error-stack pre{color:#333;background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:.5rem 0 0;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;overflow-x:auto}.lazy-wrapper-error .error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.lazy-wrapper-error .error-actions button{cursor:pointer;border:none;border-radius:4px;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.lazy-wrapper-error .retry-button{color:#fff;background-color:#4caf50}.lazy-wrapper-error .retry-button:hover:not(:disabled){background-color:#45a049;transform:translateY(-1px)}.lazy-wrapper-error .retry-button:disabled{color:#666;cursor:not-allowed;background-color:#ccc}.lazy-wrapper-error .reload-button{color:#fff;background-color:#2196f3}.lazy-wrapper-error .reload-button:hover{background-color:#1976d2;transform:translateY(-1px)}.lazy-wrapper-error .retry-info{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-top:1rem;padding:.5rem}.lazy-wrapper-error .retry-info small{color:#1565c0;font-size:.8rem;font-weight:500}@media (width<=768px){.lazy-wrapper-error{margin:.5rem 0;padding:1rem}.lazy-wrapper-error .error-content{padding:1.5rem}.lazy-wrapper-error .error-actions{flex-direction:column;align-items:center}.lazy-wrapper-error .error-actions button{width:100%;max-width:200px}}@media (prefers-color-scheme:dark){.lazy-wrapper-error{background-color:#1a1a1a;border-color:#333}.lazy-wrapper-error .error-content{color:#e0e0e0;background-color:#2d2d2d}.lazy-wrapper-error .error-details{background-color:#333}.lazy-wrapper-error h3,.lazy-wrapper-error .error-stack summary{color:#e0e0e0}.lazy-wrapper-error .error-stack pre{color:#e0e0e0;background-color:#1a1a1a;border-color:#555}}.App{text-align:center}.App *{transition:opacity .3s,transform .3s}.App input,.App textarea,.App select,.App button{transition:background-color .2s,border-color .2s,box-shadow .2s}.App-header{color:#fff;background-color:#282c34;padding:20px}.App-main{text-align:left;min-height:calc(100vh - 140px);padding:20px}.App-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:20px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.loading{justify-content:center;align-items:center;height:200px;font-size:18px;display:flex}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:20px 0;padding:10px}.blog-list{flex-direction:column;gap:30px;margin-top:20px;display:flex}.blog-preview{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.blog-preview h3{margin:0 0 10px}.blog-preview h3 a{color:#333;text-decoration:none}.blog-preview h3 a:hover{color:#007bff}.blog-meta{color:#666;margin:10px 0;font-size:.9em}.blog-excerpt{margin:15px 0;line-height:1.6}.read-more{color:#007bff;font-weight:500;text-decoration:none}.read-more:hover{text-decoration:underline}.blog-post{max-width:800px;margin:0 auto}.blog-post-header{text-align:center;margin-bottom:30px}.blog-post-header h1{color:#333;margin:0 0 15px}.blog-content{font-size:16px;line-height:1.8}.blog-content h1,.blog-content h2,.blog-content h3{margin-top:30px;margin-bottom:15px}.blog-content p{margin-bottom:15px}.blog-images{text-align:center;margin:20px 0}.blog-navigation{border-top:1px solid #e0e0e0;margin-top:40px;padding-top:20px}.back-link{color:#007bff;text-decoration:none}.back-link:hover{text-decoration:underline}.portfolio-grid{margin-top:20px}.portfolio-item{transition:transform .2s,box-shadow .2s}.portfolio-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.portfolio-meta{color:#666;margin:10px 0 0;font-size:.9em}.portfolio-images{text-align:center;margin:20px 0}.gallery-grid{margin-top:20px}.gallery-item{transition:transform .2s,box-shadow .2s}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gallery-detail{max-width:800px;margin:0 auto}.gallery-detail-header{text-align:center;margin-bottom:30px}.gallery-detail-header h1{color:#333;margin:0 0 15px}.gallery-meta{color:#666;margin:10px 0;font-size:.9em}.gallery-image-display{text-align:center;margin:20px 0}.gallery-description{margin:30px 0;font-size:16px;line-height:1.8}.gallery-description h2{color:#333;margin-top:30px;margin-bottom:15px}.gallery-description p{margin-bottom:15px}.gallery-navigation{border-top:1px solid #e0e0e0;margin-top:40px;padding-top:20px}.btn{cursor:pointer;text-align:center;border:none;border-radius:4px;padding:10px 20px;font-size:16px;text-decoration:none;transition:background-color .2s;display:inline-block}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.container{padding:0 15px}.App-main{padding:15px}.portfolio-grid,.gallery-grid{grid-template-columns:1fr}.blog-post{padding:0 15px}}.page-section{padding:var(--space-16) 0}.page-section--alt{background-color:var(--color-background-secondary)}.section-header{text-align:center;margin-bottom:var(--space-12)}.card-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.card-grid--wide{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.card-grid--md{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card-grid--sm{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.gallery-preview-item{aspect-ratio:1;border-radius:var(--border-radius);cursor:pointer;overflow:hidden}.gallery-preview-item img{object-fit:cover;width:100%;height:100%}.skeleton-square{aspect-ratio:1}.skeleton-center{margin:.25em auto}.cta-button{padding:var(--space-3) var(--space-6);background-color:var(--color-primary);color:var(--color-background);border-radius:var(--border-radius);font-weight:var(--font-weight-medium);cursor:pointer;border:none;text-decoration:none;transition:all .3s;display:inline-block}.cta-button--outline{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.cta-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.cta-card{padding:var(--space-8);background-color:var(--color-background);border-radius:var(--border-radius-large);text-align:center;box-shadow:0 4px 6px #0000001a}.cta-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.page-main{padding-top:var(--space-16);padding-bottom:var(--space-16)}.controls-panel{margin-bottom:var(--space-12);padding:var(--space-8);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large)}.control-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.form-label{margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);display:block}.form-control{width:100%;padding:var(--space-3);border-radius:var(--border-radius);border:1px solid var(--color-border);background-color:var(--color-background);font-size:var(--font-size-base)}.empty-state{text-align:center;padding:var(--space-12);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large)}.empty-state--lg{padding:var(--space-16)}.panel-plain{margin-top:var(--space-16);padding:var(--space-12);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large)}.panel-cta{margin-top:var(--space-16);padding:var(--space-12);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large);text-align:center}.metadata-panel{margin-top:var(--space-8);padding:var(--space-6);background-color:var(--color-background);border-radius:var(--border-radius);text-align:center}.metadata-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.feature-grid{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.detail-article{max-width:800px;margin:0 auto}.detail-article--wide{max-width:1200px}.image-display{margin-bottom:var(--space-12);text-align:center}.photo-frame{border-radius:var(--border-radius-large);background-color:var(--color-background-secondary);margin:0;overflow:hidden;box-shadow:0 8px 32px #0000001f}.photo-frame img{object-fit:contain;width:100%;height:auto;max-height:80vh;display:block}.info-card-panel{padding:var(--space-8);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large)}.photo-description{color:var(--color-text-secondary);line-height:1.6}.metadata-list{gap:var(--space-3);flex-direction:column;display:flex}.detail-header{margin-bottom:var(--space-12);text-align:center}.meta-panel{margin-bottom:var(--space-8);padding:var(--space-6);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large)}.tag-chip{padding:var(--space-1) var(--space-3);margin:0 var(--space-1) var(--space-2) 0;background-color:var(--color-primary);color:var(--color-background);border-radius:var(--border-radius);font-weight:var(--font-weight-medium);display:inline-block}.media-figure{margin:0 0 var(--space-8) 0;border-radius:var(--border-radius-large);overflow:hidden;box-shadow:0 4px 6px #0000001a}.media-figure img{width:100%;height:auto;display:block}.blog-images{margin-bottom:var(--space-12)}.detail-body{color:var(--color-text);margin-bottom:var(--space-12);line-height:1.7}.detail-footer{padding:var(--space-8);background-color:var(--color-background-secondary);border-radius:var(--border-radius-large);text-align:center}.action-row{justify-content:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.app-nav-link{color:#fff;margin:0 10px}.portfolio-images img{border-radius:8px;max-width:100%;height:auto;margin:10px 0;box-shadow:0 2px 8px #0000001a}.about-content{text-align:center;max-width:800px;margin:0 auto}
