:root{--color-ink: #0A0A0F;--color-paper: #FAFAF7;--color-aurora: #10F3D2;--color-plasma: #7C3AED;--color-sunfire: #FFD60A;--color-neutral-950: #0A0A0F;--color-neutral-900: #16161D;--color-neutral-800: #24242E;--color-neutral-700: #3A3A47;--color-neutral-600: #56566B;--color-neutral-500: #8A8AA0;--color-neutral-400: #B5B5C5;--color-neutral-300: #D4D4DD;--color-neutral-200: #E8E8E5;--color-neutral-100: #F2F2EE;--color-neutral-50: #FAFAF7;--color-success: #34D399;--color-warning: #FBBF24;--color-danger: #F87171;--color-info: #60A5FA;--surface-base: var(--color-paper);--surface-elevated: #FFFFFF;--surface-sunken: var(--color-neutral-100);--surface-inverse: var(--color-ink);--surface-overlay: rgba(10, 10, 15, .55);--surface-glass: rgba(255, 255, 255, .65);--surface-glass-dark: rgba(20, 20, 28, .55);--text-primary: var(--color-neutral-900);--text-secondary: var(--color-neutral-700);--text-muted: var(--color-neutral-500);--text-inverse: var(--color-paper);--text-accent: var(--color-plasma);--text-link: var(--color-plasma);--border-subtle: var(--color-neutral-200);--border-default: var(--color-neutral-300);--border-strong: var(--color-neutral-500);--border-focus: var(--color-plasma);--border-divider: rgba(10, 10, 15, .08);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-pill: 999px;--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;--shadow-xs: 0 1px 2px rgba(10, 10, 15, .04);--shadow-sm: 0 2px 6px rgba(10, 10, 15, .06), 0 1px 2px rgba(10, 10, 15, .04);--shadow-md: 0 8px 24px rgba(10, 10, 15, .08), 0 2px 6px rgba(10, 10, 15, .04);--shadow-lg: 0 24px 48px rgba(10, 10, 15, .12), 0 8px 16px rgba(10, 10, 15, .06);--shadow-xl: 0 48px 96px rgba(10, 10, 15, .18), 0 16px 32px rgba(10, 10, 15, .08);--shadow-glow-aurora: 0 0 32px rgba(16, 243, 210, .4), 0 0 8px rgba(16, 243, 210, .6);--shadow-glow-plasma: 0 0 32px rgba(124, 58, 237, .4), 0 0 8px rgba(124, 58, 237, .6);--shadow-glow-sunfire: 0 0 24px rgba(255, 214, 10, .5);--blur-sm: blur(4px);--blur-md: blur(12px);--blur-lg: blur(24px);--blur-xl: blur(48px);--ease-linear: linear;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-anticipate: cubic-bezier(.36, 0, .66, -.56);--duration-instant: 0ms;--duration-micro: .15s;--duration-base: .25s;--duration-slow: .4s;--duration-large: .6s;--duration-epic: 1s;--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 64px;--topbar-height: 64px;--bottom-nav-height: 60px;--content-max-width: 1280px;--reading-max-width: 65ch;--z-base: 0;--z-dropdown: 10;--z-sticky: 100;--z-overlay: 1000;--z-modal: 1100;--z-toast: 1200;--z-tooltip: 1300;--z-cursor: 9999;--font-display: "Cabinet Grotesk", "Plus Jakarta Sans", system-ui, sans-serif;--font-ui: "Geist", "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Monaco, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--text-6xl: 4.5rem;--text-7xl: 6rem;--text-8xl: 8rem;--leading-tight: 1.05;--leading-snug: 1.25;--leading-normal: 1.55;--leading-relaxed: 1.75;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-widest: .16em}:root[data-theme=dark]{--surface-base: var(--color-ink);--surface-elevated: var(--color-neutral-900);--surface-sunken: #050507;--surface-inverse: var(--color-paper);--surface-glass: rgba(20, 20, 28, .55);--text-primary: var(--color-neutral-100);--text-secondary: var(--color-neutral-300);--text-muted: var(--color-neutral-500);--text-inverse: var(--color-ink);--text-link: var(--color-aurora);--border-subtle: var(--color-neutral-800);--border-default: var(--color-neutral-700);--border-strong: var(--color-neutral-500);--border-divider: rgba(255, 255, 255, .08);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .2);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .5), 0 8px 16px rgba(0, 0, 0, .3)}@media (prefers-reduced-motion: reduce){:root{--duration-micro: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-large: 0ms;--duration-epic: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #10f3d299}50%{box-shadow:0 0 24px 4px #10f3d266}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01","ss03"}html,body{margin:0;padding:0;min-height:100vh;min-height:100dvh}body{font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-base);font-weight:400}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary)}h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0}a{color:var(--text-link);text-decoration:none;transition:color var(--duration-micro) var(--ease-out)}a:hover{color:color-mix(in oklch,var(--text-link) 80%,var(--color-aurora))}a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-base),0 0 0 4px var(--color-plasma);border-radius:2px}button{font:inherit;cursor:pointer}img,svg,picture,video{max-width:100%;display:block}input,textarea,select,button{font-family:inherit}::selection{background:var(--color-plasma);color:var(--color-paper);text-shadow:none}@media (pointer: fine){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400);background-clip:padding-box;border:2px solid transparent}}html{scroll-behavior:smooth}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-6)}@media (max-width: 640px){.container{padding:0 var(--space-4)}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.text-center{text-align:center}.card{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:600;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--duration-micro) var(--ease-out);white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-base),0 0 0 4px var(--color-plasma)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-plasma);color:var(--color-paper)}.btn-primary:hover:not(:disabled){background:color-mix(in oklch,var(--color-plasma) 88%,white);color:var(--color-paper);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){border-color:var(--color-plasma);color:var(--color-plasma)}.btn-accent{background:var(--color-aurora);color:var(--color-ink)}.btn-accent:hover:not(:disabled){background:color-mix(in oklch,var(--color-aurora) 88%,white);box-shadow:var(--shadow-glow-aurora)}.btn-ghost{background:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-plasma) 8%,transparent);color:var(--color-plasma)}.btn-danger{background:var(--color-danger);color:var(--color-paper)}.btn-danger:hover:not(:disabled){background:color-mix(in oklch,var(--color-danger) 90%,black)}.btn-block{width:100%}.btn--small{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.form-control{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-primary);font-family:inherit;transition:border-color var(--duration-micro) var(--ease-out),box-shadow var(--duration-micro) var(--ease-out)}.form-control::placeholder{color:var(--text-muted)}.form-control:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.form-control:focus{outline:none;border-color:var(--color-plasma);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-plasma) 15%,transparent)}.form-control.is-invalid{border-color:var(--color-danger)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 20%,transparent)}.form-control:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.form-error{font-size:var(--text-xs);color:var(--color-danger)}.badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-pill);background:var(--color-neutral-200);color:var(--text-primary)}.badge.badge-success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:color-mix(in oklch,var(--color-success) 85%,black)}.badge.badge-warn{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:color-mix(in oklch,var(--color-warning) 60%,black)}.badge.badge-danger{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.badge.badge-info{background:color-mix(in srgb,var(--color-info) 15%,transparent);color:color-mix(in oklch,var(--color-info) 85%,black)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.glass{background:var(--surface-glass);backdrop-filter:var(--blur-md) saturate(180%);-webkit-backdrop-filter:var(--blur-md) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg)}.glass-dark{background:var(--surface-glass-dark);backdrop-filter:var(--blur-md) saturate(180%);-webkit-backdrop-filter:var(--blur-md) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg)}.text-gradient{background:linear-gradient(135deg,var(--color-plasma) 0%,var(--color-aurora) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.text-display{font-family:var(--font-display)}.text-mono{font-family:var(--font-mono)}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-large) var(--ease-out-expo),transform var(--duration-large) var(--ease-out-expo)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
