.layout{flex-direction:column;min-height:100vh;display:flex}.layout>main{width:100%;max-width:var(--container);padding:var(--space-5) var(--gutter) var(--space-7);flex:1;margin:0 auto}.site-header{z-index:20;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header-inner{align-items:center;gap:var(--space-4);max-width:var(--container);height:var(--header-h);padding:0 var(--gutter);margin:0 auto;display:flex;position:relative}.brand{align-items:center;gap:var(--space-2);color:var(--text);letter-spacing:-.01em;border-radius:var(--radius-sm);margin-right:auto;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand-mark{fill:var(--accent);flex:none}.brand-mark-bg{fill:var(--accent-soft)}.brand-mark-hull{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.brand-mark-inner{fill:var(--text-muted)}.main-nav{align-items:center;gap:var(--space-1);display:flex}.main-nav a{padding:var(--space-2) var(--space-3);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;position:relative}.main-nav a:hover{color:var(--text);background:var(--surface-sunken)}.main-nav a.active{color:var(--accent);background:var(--accent-soft)}.menu-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text);font:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;display:none}.menu-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}@media (width<=719.98px){.menu-button{display:inline-flex}.main-nav{padding:var(--space-2) var(--gutter) var(--space-3);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:2px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.main-nav.open{display:flex}.main-nav a{padding:var(--space-3);font-size:1rem}}.sub-nav{align-items:center;gap:var(--space-1);scrollbar-width:thin;padding:.375rem max(var(--gutter), (100% - var(--container)) / 2 + var(--gutter));font-size:var(--fs-sm);white-space:nowrap;background:var(--surface);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.sub-nav a{padding:.125rem var(--space-3);color:var(--text-muted);border-radius:999px;text-decoration:none;transition:color .15s,background-color .15s}.sub-nav a:hover{color:var(--text);background:var(--surface-sunken)}.sub-nav a.active{color:var(--accent-contrast);background:var(--accent)}.sub-nav-group{align-items:center;gap:var(--space-1);margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--border);display:inline-flex}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-sm);margin-top:auto}.site-footer-inner{justify-content:space-between;gap:var(--space-2) var(--space-5);max-width:var(--container);padding:var(--space-5) var(--gutter);flex-wrap:wrap;margin:0 auto;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--text);font-weight:500}.site-footer a:hover{color:var(--accent)}.site-footer cite{font-style:italic}.cards{gap:var(--space-5);margin:0 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));padding:0;list-style:none;display:grid}.card{padding:var(--space-3) var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:focus-within{border-color:var(--accent)}.card a{gap:var(--space-3);color:var(--text);border-radius:var(--radius-md);flex-direction:column;text-decoration:none;display:flex}.card a:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.card a:focus-visible{outline:none}.card a:focus-visible:after{box-shadow:var(--focus-ring)}.card-thumb{background:var(--canvas-bg);border:1px solid var(--border);border-radius:var(--radius-md);display:block;overflow:hidden}.card img{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;transition:transform .25s;display:block}.card:hover img{transform:scale(1.03)}.card-title{padding:0 var(--space-1);font-weight:650;font-size:var(--fs-lg);line-height:1.3}.card a:hover .card-title{color:var(--accent)}.card p{margin:var(--space-2) 0 0;padding:0 var(--space-1);color:var(--text-muted);font-size:var(--fs-sm)}.card-badge{margin:var(--space-3) var(--space-1) 0;align-self:flex-start}.card-badge svg{fill:currentColor}@media (prefers-reduced-motion:reduce){.card:hover,.card:hover img{transform:none}}.home{gap:var(--space-7);flex-direction:column;display:flex}.hero{isolation:isolate;margin-top:calc(-1 * var(--space-2));background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), radial-gradient(90% 80% at 0% 100%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(2.5rem,7vw,5.5rem) clamp(1.25rem,5vw,4rem);position:relative;overflow:hidden}.hero-bg{z-index:-1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}@media (width>=900px){.hero-bg{width:50%;left:50%}}.hero-content{max-width:36rem}.hero h1{margin:0 0 var(--space-4);font-size:var(--fs-display);letter-spacing:-.035em;line-height:1.05}.hero-lead{max-width:34rem;margin:0 0 var(--space-6);color:var(--text-muted);font-size:clamp(1.05rem,1rem + .4vw,1.25rem)}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=899.98px){.hero-content{position:relative}.hero-bg{opacity:.4;-webkit-mask-image:linear-gradient(#0000 0 55%,#000);mask-image:linear-gradient(#0000 0 55%,#000)}}@media (width<=420px){.hero-actions .btn{flex:100%}}.features ul{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:0;padding:0;list-style:none;display:grid}.feature{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.feature h3{margin:var(--space-3) 0 var(--space-2)}.feature p{color:var(--text-muted);margin:0;font-size:.95rem}.feature-link{margin-top:var(--space-3);font-weight:600;display:inline-block}.feature-icon{width:2.5rem;height:2.5rem;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-md);place-items:center;display:inline-grid}.feature-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.home-section h2{margin-top:0}.home-section .cards{margin-bottom:0}.teaser{gap:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;padding:clamp(1.25rem,4vw,2.5rem);display:grid}.teaser-text p{margin:0 0 var(--space-5);color:var(--text-muted)}@media (width<=800px){.teaser{grid-template-columns:minmax(0,1fr)}}.code-teaser{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:0;overflow:hidden}.code-teaser-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);border-bottom:1px solid var(--border);display:flex}.code-teaser-dots{gap:6px;display:inline-flex}.code-teaser-dots i{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.code-teaser pre{padding:var(--space-4) var(--space-5);color:var(--code-fg);white-space:pre-wrap;overflow-wrap:anywhere;min-height:8.5rem;margin:0;font-size:.875rem;line-height:1.7;overflow-x:auto}.code-teaser code{font-size:inherit}.tok-keyword{color:var(--syn-keyword);font-weight:600}.tok-function{color:var(--syn-function)}.tok-number{color:var(--syn-number)}.tok-string{color:var(--syn-string)}.tok-comment{color:var(--syn-comment);font-style:italic}.not-found{max-width:40rem;margin:var(--space-6) auto;text-align:center}.not-found-code{letter-spacing:-.05em;color:#0000;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 35%, var(--text-muted)));-webkit-background-clip:text;background-clip:text;font-size:clamp(4rem,3rem + 6vw,7rem);font-weight:800;line-height:1;display:block}.not-found .page-lead{margin:0 auto var(--space-6)}.not-found-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f8fb;--surface:#fff;--surface-raised:#fff;--surface-sunken:#eef0f5;--border:#e1e4eb;--border-strong:#c9ced9;--text:#161a23;--text-muted:#5a6273;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef0ff;--accent-contrast:#fff;--success:#15803d;--warn:#8a5a00;--error:#c01c28;--code-bg:#f3f4f8;--code-fg:#1f2433;--syn-keyword:#7c3aed;--syn-function:#1d4ed8;--syn-number:#b45309;--syn-string:#047857;--syn-comment:#6b7280;--canvas-bg:#fff;--canvas-ink:#1c1e21;--focus-ring:0 0 0 3px #4f46e573;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-md:0 4px 8px -2px #10182814, 0 12px 24px -6px #1018281f;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-h1:clamp(1.75rem, 1.3rem + 2vw, 2.5rem);--fs-h2:clamp(1.35rem, 1.15rem + .9vw, 1.75rem);--fs-h3:1.15rem;--fs-display:clamp(2.1rem, 1.4rem + 3.4vw, 3.75rem);--container:75rem;--gutter:clamp(16px, 4vw, 32px);--header-h:3.5rem;--hull-current:#c64600;--hull-testing:#8a2be2;--hull-upper:#1a5fb4;--hull-lower:#1b8553;--hull-removed:#c01c28;--sweep-line:#6b7280;--sweep-segment:#374151;--sweep-status:#1a5fb4;--sweep-testing:#9141ac;--sweep-event:#e66100;--sweep-found:#c01c28;--sweep-overlap:#26a269;--tri-start:#1a5fb4;--tri-end:#1a5fb4;--tri-split:#e66100;--tri-merge:#9141ac;--tri-regular:#1c1e21;--tri-partition:#c01c28;--tri-diagonal:#26a269;--tri-sweep:#6b7280;--tri-active:#4f46e5;--tri-invalid:#c01c28;--del-edge:#374151;--del-current:#e66100;--del-located:#4f46e5;--del-legal:#26a269;--del-illegal:#c01c28;--del-flip:#9141ac;--del-circle:#6b7280;--del-hull:#1a5fb4;--vor-delaunay:#c7cad1;--vor-edge:#1a5fb4;--vor-vertex:#1a5fb4;--vor-current:#e66100;--vor-new:#26a269;--vor-skip:#c01c28;--vor-cell-0:#8ecae6;--vor-cell-1:#ffb703;--vor-cell-2:#90be6d;--vor-cell-3:#f4a261;--vor-cell-4:#cdb4db;--vor-cell-5:#a8dadc;--vor-cell-6:#e9c46a;--vor-cell-7:#b5e48c;--fg:var(--text);--muted:var(--text-muted);--header-bg:var(--surface-sunken)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1017;--surface:#151922;--surface-raised:#1b202b;--surface-sunken:#11141c;--border:#2a303d;--border-strong:#3a4252;--text:#e7e9ee;--text-muted:#9ba3b4;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#1e2140;--accent-contrast:#0b0d17;--success:#4ade80;--warn:#e3b341;--error:#ff7b72;--code-bg:#10131a;--code-fg:#d9dce4;--syn-keyword:#c4b5fd;--syn-function:#93c5fd;--syn-number:#fbbf24;--syn-string:#6ee7b7;--syn-comment:#8590a3;--focus-ring:0 0 0 3px #818cf88c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px -4px #0000008c;--sweep-line:#6b7280;--sweep-segment:#374151;--sweep-status:#1a5fb4;--sweep-testing:#9141ac;--sweep-event:#e66100;--sweep-found:#c01c28;--sweep-overlap:#26a269;--tri-start:#1a5fb4;--tri-end:#1a5fb4;--tri-split:#e66100;--tri-merge:#9141ac;--tri-regular:#1c1e21;--tri-partition:#c01c28;--tri-diagonal:#26a269;--tri-sweep:#6b7280;--tri-active:#4f46e5;--tri-invalid:#c01c28;--del-edge:#374151;--del-current:#e66100;--del-located:#4f46e5;--del-legal:#26a269;--del-illegal:#c01c28;--del-flip:#9141ac;--del-circle:#6b7280;--del-hull:#1a5fb4;--vor-delaunay:#c7cad1;--vor-edge:#1a5fb4;--vor-vertex:#1a5fb4;--vor-current:#e66100;--vor-new:#26a269;--vor-skip:#c01c28;--vor-cell-0:#8ecae6;--vor-cell-1:#ffb703;--vor-cell-2:#90be6d;--vor-cell-3:#f4a261;--vor-cell-4:#cdb4db;--vor-cell-5:#a8dadc;--vor-cell-6:#e9c46a;--vor-cell-7:#b5e48c}}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + var(--space-8));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;line-height:1.2}h1{font-size:var(--fs-h1);margin:0 0 var(--space-4);letter-spacing:-.025em}h2{font-size:var(--fs-h2);margin:var(--space-6) 0 var(--space-3)}h3{font-size:var(--fs-h3);margin:var(--space-5) 0 var(--space-2)}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-hover)}img,svg,canvas{max-width:100%}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,select:focus-visible,a.btn:focus-visible,[role=tab]:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.25rem;font:inherit;color:var(--text);white-space:nowrap;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;padding:.4rem .95rem;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){color:var(--text);background:var(--surface-sunken)}.btn:active:not(:disabled){transform:translateY(1px)}.btn svg{fill:currentColor;flex:none;width:1em;height:1em}.btn-primary,.btn.primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){color:var(--accent-contrast);background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-lg{border-radius:var(--radius-md);min-height:2.875rem;padding:.65rem 1.35rem;font-size:1rem}.select{appearance:none;min-height:2.25rem;font:inherit;color:var(--text);background-color:var(--surface);background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding:.35rem 2rem .35rem .75rem;font-size:.95rem}.page-header{margin-bottom:var(--space-6)}.page-header h1{margin-bottom:var(--space-2)}.page-lead{max-width:62ch;color:var(--text-muted);font-size:var(--fs-lg);margin:0}.eyebrow{margin-bottom:var(--space-3);color:var(--accent);font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:600;display:inline-block}.section-title{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.badge{font-size:var(--fs-xs);color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:.3em;padding:.1rem .55rem;font-weight:600;line-height:1.6;display:inline-flex}.tabs{gap:var(--space-1);margin:var(--space-6) 0 0;border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tabs [role=tab]{padding:var(--space-3) var(--space-4);font:inherit;color:var(--text-muted);white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;background:0 0;border:0;font-size:.95rem;font-weight:600;position:relative}.tabs [role=tab]:after{content:"";left:var(--space-3);right:var(--space-3);background:0 0;border-radius:2px;height:2px;position:absolute;bottom:-1px}.tabs [role=tab]:hover{color:var(--text)}.tabs [role=tab][aria-selected=true]{color:var(--accent)}.tabs [role=tab][aria-selected=true]:after{background:var(--accent)}.surface{padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media (width<=600px){.surface{padding:var(--space-3);border-radius:var(--radius-md)}}.loading{color:var(--text-muted)}.error-boundary{padding:var(--space-4) var(--space-5);color:var(--error);background:color-mix(in srgb, var(--error) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--error) 45%, transparent);border-radius:var(--radius-md)}.error-boundary p{margin:0 0 var(--space-3);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.breadcrumb ol{align-items:center;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";margin-right:var(--space-2);color:var(--border-strong)}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--text);font-weight:500}.prose{max-width:70ch;font-size:1.0625rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 var(--space-4)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--space-1)}.prose h2{margin-top:var(--space-6)}.prose em{color:var(--accent)}.prose strong{font-weight:650}.prose code{color:var(--code-fg);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.prose img{border-radius:var(--radius-md);height:auto}.prose blockquote{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);color:var(--text-muted);border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
