:root{--brand-primary: #6366f1;--brand-accent: #22d3ee;--font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--radius: 10px;--radius-lg: 24px;--gutter: clamp(16px, 5vw, 120px);--code-bg: #0a0c10;--primary-fill: color-mix(in oklab, var(--brand-primary) 90%, black);--code-text: #e7e9ee;--code-keyword: color-mix(in oklab, var(--brand-primary) 55%, white);--code-function: color-mix(in oklab, var(--brand-accent) 75%, white);--code-string: #9fdfa6;--code-constant: #f4b876;--code-parameter: #f0abc8;--code-punctuation: #a3abbf;--code-comment: #7c849a}:root{--bg: #0a0c10;--surface: #10131a;--surface-2: #161a23;--border: #1e2330;--text: #e7e9ee;--muted: #8b93a7;--dim: #7d8599;--primary: var(--brand-primary);--primary-soft: color-mix(in oklab, var(--brand-primary) 55%, white);--accent: var(--brand-accent);--success: #34d399;color-scheme:dark}:root[data-theme=light]{--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f1f2f6;--border: #e3e5ec;--text: #0e1120;--muted: #5a6078;--dim: #666c80;--primary: var(--brand-primary);--primary-soft: color-mix(in oklab, var(--brand-primary) 88%, black);--accent: color-mix(in oklab, var(--brand-accent) 65%, black);--success: #047857;color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f1f2f6;--border: #e3e5ec;--text: #0e1120;--muted: #5a6078;--dim: #666c80;--primary: var(--brand-primary);--primary-soft: color-mix(in oklab, var(--brand-primary) 88%, black);--accent: color-mix(in oklab, var(--brand-accent) 65%, black);--success: #047857;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.container{max-width:calc(1200px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.kicker{margin:0;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent)}.gradient-text{background:linear-gradient(90deg,var(--primary-soft),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.status-pill i{width:8px;height:8px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius);border:1px solid transparent;font:500 15px/1 var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--primary-fill);color:#fff}.btn--primary:hover{background:color-mix(in oklab,var(--primary-fill) 88%,black)}.btn--ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn--ghost:hover{border-color:var(--muted)}@keyframes fade-out{to{opacity:0}}@keyframes fade-up{0%{opacity:0;translate:0 16px}}::view-transition-old(root){animation:fade-out .18s ease-in both}::view-transition-new(root){animation:fade-up .38s cubic-bezier(.22,1,.36,1) .08s both}@keyframes fade-in{0%{opacity:0}}:root.lang-switch::view-transition-old(root){animation:fade-out .3s ease both}:root.lang-switch::view-transition-new(root){animation:fade-in .3s ease both}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--reveal-x, 50%) var(--reveal-y, 0))}to{clip-path:circle(var(--reveal-r, 150vmax) at var(--reveal-x, 50%) var(--reveal-y, 0))}}:root.theme-switch::view-transition-old(root){animation:none}:root.theme-switch::view-transition-new(root){animation:theme-reveal .5s cubic-bezier(.22,1,.36,1)}.enter{animation:fade-up .5s cubic-bezier(.22,1,.36,1) both}@supports (animation-timeline: view()){.reveal{animation:fade-up linear both;animation-timeline:view();animation-range:entry 0% cover 20%}}@media print{@page{size:A4;margin:14mm 16mm}app-navbar,app-footer,.no-print{display:none!important}html,body{background:#fff!important}main.container{max-width:none;padding:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
