:root{--color-bg-base:#0a0f1a;--color-bg-surface:#111827;--color-bg-elevated:#1f2937;--color-bg-hover:#374151;--color-border:#1e293b;--color-border-subtle:#334155;--color-border-focus:#10b981;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-disabled:#475569;--color-accent:#10b981;--color-accent-hover:#34d399;--color-accent-muted:rgba(16,185,129,0.15);--color-danger:#ef4444;--color-danger-muted:rgba(239,68,68,0.15);--color-warning:#f59e0b;--color-warning-muted:rgba(245,158,11,0.15);--color-success:#10b981;--color-success-muted:rgba(16,185,129,0.15);--color-info:#3b82f6;--color-info-muted:rgba(59,130,246,0.15);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.3),0 2px 4px -2px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.3),0 4px 6px -4px rgba(0,0,0,0.3);--shadow-glow:0 0 20px rgba(16,185,129,0.15);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background-color:var(--color-bg-base);color:var(--color-text-primary);min-height:100vh}.section-spacing{padding-top:var(--space-12);padding-bottom:var(--space-12)}@media (min-width:768px){.section-spacing{padding-top:var(--space-16);padding-bottom:var(--space-16)}}.page-container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.page-container{padding-left:var(--space-6);padding-right:var(--space-6)}}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight);font-weight:600;color:var(--color-text-primary)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-surface)}::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-accent-muted);color:var(--color-accent)}.container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.site-container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.site-container{padding-left:var(--space-6);padding-right:var(--space-6)}}a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}p{margin-top:0;margin-bottom:.75em;color:var(--color-text-secondary)}p:last-child{margin-bottom:0}.site-link{color:var(--color-text-muted);transition:color var(--transition-fast)}.site-link:hover,.site-nav-link{color:var(--color-text-secondary)}.site-nav-link{padding:.5rem .75rem;font-size:var(--text-sm);border-radius:var(--radius-lg);transition:color var(--transition-fast),background-color var(--transition-fast)}.site-nav-link:hover{color:var(--color-accent);background-color:rgba(30,41,59,.5)}.page-shell{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding:var(--space-4) var(--space-4) var(--space-8)}@media (min-width:640px){.page-shell{padding-left:var(--space-6);padding-right:var(--space-6);padding-top:var(--space-6)}}.page-shell-header{margin-bottom:var(--space-6)}.page-shell-header-inner{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:640px){.page-shell-header-inner{flex-direction:row;align-items:flex-start;justify-content:space-between}}.page-shell-title{font-size:1.5rem;font-weight:700;line-height:var(--leading-tight);color:var(--color-text-primary)}@media (min-width:640px){.page-shell-title{font-size:1.875rem}}.page-shell-description{margin-top:.25rem;font-size:var(--text-sm);color:var(--color-text-muted);max-width:42rem}.section-gap{margin-top:var(--space-8)}.section-gap-lg{margin-top:var(--space-12)}@media (min-width:768px){.section-gap-lg{margin-top:var(--space-16)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.divider{height:1px;border:none;margin:var(--space-4) 0}.divider,.divider-vertical{background-color:var(--color-border)}.divider-vertical{width:1px;height:100%}.safe-area-pb{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area-pt{padding-top:env(safe-area-inset-top,0)}@media (hover:none) and (pointer:coarse){a,button{min-height:44px;min-width:44px}.no-touch-hover:hover{background-color:transparent!important}}