:root{--n-0:oklch(99% .002 250);--n-1:oklch(97.5% .004 250);--n-2:oklch(95% .006 250);--n-3:oklch(91% .008 250);--n-4:oklch(85% .01 250);--n-6:oklch(68% .014 250);--n-7:oklch(56% .016 250);--n-8:oklch(46% .018 250);--n-10:oklch(30% .02 250);--n-12:oklch(18% .02 250);--bg:var(--n-1);--bg-sunken:var(--n-2);--surface:var(--n-0);--surface-raised:var(--n-0);--border:var(--n-3);--border-strong:var(--n-4);--text:var(--n-12);--text-strong:oklch(12% .02 250);--muted:var(--n-8);--faint:var(--n-7);--accent:oklch(52% .15 245);--accent-hover:oklch(46% .16 245);--accent-soft:oklch(95% .03 245);--accent-ring:oklch(62% .16 245/.4);--ok:oklch(52% .14 150);--ok-soft:oklch(95% .04 150);--bad:oklch(52% .19 27);--bad-soft:oklch(95% .04 27);--warn:oklch(64% .14 75);--warn-soft:oklch(95% .05 75);--warn-text:oklch(42% .11 75);--info:oklch(52% .12 260);--info-soft:oklch(95% .03 260);--series-1:oklch(55% .15 245);--series-2:oklch(60% .14 165);--series-3:oklch(62% .15 60);--series-4:oklch(55% .18 350);--series-5:oklch(58% .13 300);--series-6:oklch(52% .1 200);--step--1:clamp(.78rem, .76rem + .1vw, .83rem);--step-0:clamp(.875rem, .85rem + .12vw, .94rem);--step-1:clamp(1.05rem, 1rem + .25vw, 1.2rem);--step-2:clamp(1.3rem, 1.2rem + .5vw, 1.6rem);--step-3:clamp(1.6rem, 1.4rem + 1vw, 2.2rem);--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--r-1:4px;--r-2:8px;--r-3:12px;--r-4:16px;--r-full:999px;--e-1:0 1px 2px oklch(20% .02 250/.05), 0 1px 3px oklch(20% .02 250/.04);--e-2:0 2px 4px oklch(20% .02 250/.05), 0 4px 12px oklch(20% .02 250/.07);--e-3:0 8px 24px oklch(20% .02 250/.1), 0 2px 6px oklch(20% .02 250/.06);--t-micro:.12s;--t-local:.2s;--t-route:.32s;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--topbar-h:3.25rem;--sidebar-w:15rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--n-0:oklch(20% .015 255);--n-1:oklch(17% .015 255);--n-2:oklch(23% .018 255);--n-3:oklch(28% .02 255);--n-4:oklch(34% .022 255);--n-6:oklch(52% .02 255);--n-7:oklch(62% .018 255);--n-8:oklch(72% .015 255);--n-10:oklch(85% .01 255);--n-12:oklch(93% .008 255);--bg:var(--n-1);--bg-sunken:oklch(14% .015 255);--surface:var(--n-0);--surface-raised:var(--n-2);--border:var(--n-3);--border-strong:var(--n-4);--text:var(--n-12);--text-strong:oklch(97% .005 255);--muted:var(--n-8);--faint:var(--n-7);--accent:oklch(75% .13 240);--accent-hover:oklch(83% .12 240);--accent-soft:oklch(30% .06 245);--accent-ring:oklch(72% .14 240/.45);--ok:oklch(78% .15 150);--ok-soft:oklch(28% .05 150);--bad:oklch(72% .16 25);--bad-soft:oklch(28% .06 25);--warn:oklch(82% .13 80);--warn-soft:oklch(30% .05 80);--warn-text:oklch(88% .11 80);--info:oklch(78% .1 260);--info-soft:oklch(28% .05 260);--series-1:oklch(74% .14 240);--series-2:oklch(77% .14 165);--series-3:oklch(82% .14 70);--series-4:oklch(74% .16 350);--series-5:oklch(76% .13 300);--series-6:oklch(72% .1 200);--e-1:0 1px 2px oklch(0% 0 0/.3);--e-2:0 2px 6px oklch(0% 0 0/.35), 0 8px 20px oklch(0% 0 0/.25);--e-3:0 10px 34px oklch(0% 0 0/.45);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--t-micro:.01ms;--t-local:.01ms;--t-route:.01ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--step-0);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.015em;color:var(--text-strong);margin:0 0 var(--s-3);line-height:1.2}h1{font-size:var(--step-3);letter-spacing:-.025em;font-weight:680}h2{font-size:var(--step-2);font-weight:640}h3{font-size:var(--step-1);font-weight:620}h4{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:640}p{margin:0 0 var(--s-4)}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);text-underline-offset:2px}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}code,kbd,pre,.mono{font-family:var(--mono);font-variant-ligatures:none;font-size:.92em}code{background:var(--bg-sunken);border-radius:var(--r-1);padding:.1em .35em}pre{overflow-x:auto}img,svg{max-width:100%}hr{border:0;border-top:1px solid var(--border);margin:var(--s-5) 0}ul,ol{padding-left:var(--s-5)}.num,td.num,th.num{font-variant-numeric:tabular-nums;text-align:right}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}.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}.skip-link{z-index:100;background:var(--accent);color:var(--n-0);padding:var(--s-2) var(--s-4);border-radius:0 0 var(--r-2) 0;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-4);background:color-mix(in oklch, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.4);backdrop-filter:blur(12px)saturate(1.4);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.brand{font-weight:700;font-size:var(--step-0);letter-spacing:-.02em;color:var(--text-strong);white-space:nowrap;align-items:center;gap:var(--s-2);text-decoration:none;display:inline-flex}.brand:before{content:"";background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 18%, transparent);transition:transform var(--t-local) var(--ease);border-radius:2px}.brand:hover:before{transform:rotate(45deg)scale(1.1)}.brand span{color:var(--muted);font-weight:500}.topbar nav{gap:var(--s-1);align-items:center;display:flex}.topbar nav a{color:var(--muted);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);font-size:var(--step--1);white-space:nowrap;transition:color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease);font-weight:550;text-decoration:none;position:relative}.topbar nav a:hover{color:var(--text);background:var(--bg-sunken)}.topbar nav a.active{color:var(--accent);background:var(--accent-soft)}.topbar-actions{gap:var(--s-2);align-items:center;margin-left:auto;display:flex}.search{align-items:center;gap:var(--s-2);width:min(18rem,30vw);min-width:0;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);background:var(--bg-sunken);color:var(--muted);font:inherit;font-size:var(--step--1);text-align:left;cursor:pointer;transition:border-color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease);display:inline-flex}.search:hover{border-color:var(--border-strong);background:var(--surface)}.search kbd{border-radius:var(--r-1);border:1px solid var(--border);background:var(--surface);color:var(--muted);margin-left:auto;padding:.1em .4em;font-size:.85em}.icon-btn,.theme-toggle{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);width:2.15rem;height:2.15rem;color:var(--muted);cursor:pointer;font-size:var(--step-0);transition:color var(--t-micro) var(--ease), border-color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease), transform var(--t-micro) var(--ease);flex:none;place-items:center;display:inline-grid}.icon-btn:hover,.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-sunken)}.icon-btn:active,.theme-toggle:active{transform:scale(.94)}.shell{flex:1;align-items:flex-start;min-height:0;display:flex}.sidebar{top:var(--topbar-h);width:var(--sidebar-w);height:calc(100dvh - var(--topbar-h));overscroll-behavior:contain;padding:var(--s-4) var(--s-3) var(--s-6);border-right:1px solid var(--border);background:var(--surface);flex:none;position:sticky;overflow-y:auto}.sidebar-group{margin-bottom:var(--s-5)}.sidebar-label{margin:0 0 var(--s-2);padding-left:var(--s-3);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:640}.sidebar-group ul{margin:0;padding:0;list-style:none}.sidebar a{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);color:var(--muted);font-size:var(--step--1);transition:color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease);font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar a:hover{color:var(--text);background:var(--bg-sunken)}.sidebar a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.sidebar a.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:1.15rem;position:absolute;top:50%;left:0;translate:0 -50%}.content{min-width:0;padding:var(--s-5) var(--s-5) var(--s-7);flex:1;width:100%;max-width:100rem;margin-inline:auto;container:page/inline-size}.footer{border-top:1px solid var(--border);background:var(--surface);padding:var(--s-4) var(--s-5);color:var(--faint);font-size:var(--step--1)}.subbar{gap:var(--s-1);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);font-size:var(--step--1);flex-wrap:wrap;align-items:center;display:flex}.subbar a{color:var(--muted);padding:var(--s-1) var(--s-3);border-radius:var(--r-2);transition:color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease);text-decoration:none}.subbar a:hover{color:var(--text);background:var(--bg-sunken)}.subbar a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.subbar-label{color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5);margin-bottom:var(--s-4);box-shadow:var(--e-1);transition:box-shadow var(--t-local) var(--ease), border-color var(--t-local) var(--ease);container-type:inline-size}.card:hover{box-shadow:var(--e-2)}.card>:last-child{margin-bottom:0}.card h2,.card h3{margin-top:0}.hero{padding:var(--s-6) 0 var(--s-5)}.hero h1{max-width:22ch}.hero p{color:var(--muted);font-size:var(--step-1);max-width:62ch}.hero-actions{gap:var(--s-3);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));display:grid}.stats{gap:var(--s-3);margin-bottom:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-4);transition:transform var(--t-local) var(--ease), box-shadow var(--t-local) var(--ease)}.stat:hover{box-shadow:var(--e-2);transform:translateY(-1px)}.stat-label{color:var(--muted);font-size:var(--step--1);margin-bottom:var(--s-1);font-weight:550;display:block}.stat-value{font-size:var(--step-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-strong);font-weight:660;display:block}.kv{gap:var(--s-2) var(--s-4);font-size:var(--step--1);grid-template-columns:auto 1fr;display:grid}.kv dt{color:var(--muted);font-weight:550}.kv dd{font-variant-numeric:tabular-nums;margin:0}.callout{border-left:3px solid var(--border-strong);background:var(--bg-sunken);padding:var(--s-3) var(--s-4);border-radius:0 var(--r-2) var(--r-2) 0;font-size:var(--step--1);margin-bottom:var(--s-4)}.callout code{font-size:.9em}.callout-bad{border-left-color:var(--bad);background:var(--bad-soft)}.callout-warn{border-left-color:var(--warn);background:var(--warn-soft)}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-2);background:var(--accent);color:var(--n-0);font:inherit;font-size:var(--step--1);cursor:pointer;white-space:nowrap;transition:background-color var(--t-micro) var(--ease), transform var(--t-micro) var(--ease), box-shadow var(--t-micro) var(--ease);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}[data-theme=dark] .btn{color:oklch(16% .02 255)}.btn:hover{background:var(--accent-hover);box-shadow:var(--e-1)}.btn:active{transform:translateY(1px)scale(.985)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost,.ghost{color:var(--text);border-color:var(--border);background:0 0}.btn.ghost:hover,.ghost:hover{background:var(--bg-sunken);border-color:var(--border-strong);box-shadow:none}.btn.danger{background:var(--bad)}.field,.filter,input[type=text],input[type=search],input[type=number],select,textarea{padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);color:var(--text);font:inherit;font-size:var(--step--1);max-width:100%;transition:border-color var(--t-micro) var(--ease), box-shadow var(--t-micro) var(--ease)}.field:focus,.filter:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}label{font-size:var(--step--1);color:var(--muted);font-weight:550}.tag{align-items:center;gap:var(--s-1);padding:.1rem var(--s-2);border-radius:var(--r-full);background:var(--bg-sunken);border:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:550;display:inline-flex}.badge{padding:.12rem var(--s-2);border-radius:var(--r-full);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.3em;font-size:.75rem;font-weight:620;display:inline-flex}.badge:before{font-size:.9em}.badge-ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in oklch, var(--ok) 30%, transparent)}.badge-ok:before{content:"✓"}.badge-bad{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in oklch, var(--bad) 30%, transparent)}.badge-bad:before{content:"✗"}.badge-warn{background:var(--warn-soft);color:var(--warn-text);border-color:color-mix(in oklch, var(--warn) 30%, transparent)}.badge-warn:before{content:"⚠"}.badge-info{background:var(--info-soft);color:var(--info);border-color:color-mix(in oklch, var(--info) 30%, transparent)}.badge-info:before{content:"ℹ"}.table-wrap{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--step--1)}thead th{z-index:1;background:var(--bg-sunken);color:var(--muted);text-align:left;white-space:nowrap;padding:var(--s-3);border-bottom:1px solid var(--border);font-weight:620;position:sticky;top:0}tbody td{padding:var(--s-3);border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color var(--t-micro) var(--ease)}tbody tr:hover{background:var(--bg-sunken)}.th-btn{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;align-items:center;gap:var(--s-1);background:0 0;border:0;padding:0;display:inline-flex}.th-btn:hover{color:var(--text)}.pager{gap:var(--s-2);padding:var(--s-3);justify-content:flex-end;align-items:center;display:flex}.compare-table td,.compare-table th{font-variant-numeric:tabular-nums}.compare-pickers{gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.state{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-7) var(--s-4);color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--r-3);background:var(--surface);flex-direction:column;display:flex}.state.empty:before{content:"○";font-size:var(--step-2);color:var(--faint)}.state.error{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in oklch, var(--bad) 40%, transparent)}.state.error:before{content:"⚠";font-size:var(--step-2)}.muted{color:var(--muted)}.faint{color:var(--faint)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--bg-sunken) 25%, var(--n-3) 37%, var(--bg-sunken) 63%);border-radius:var(--r-2);background-size:400% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-line{height:.85rem;margin-bottom:var(--s-2)}.skeleton-line:nth-child(3n){width:72%}.skeleton-line:nth-child(3n+2){width:88%}.offline-banner{padding:var(--s-2) var(--s-4);background:var(--warn-soft);color:var(--warn-text);font-size:var(--step--1);text-align:center;border-bottom:1px solid color-mix(in oklch, var(--warn) 35%, transparent);font-weight:550}.palette-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:clamp(var(--s-5), 12vh, 9rem) var(--s-4) var(--s-4);animation:fade var(--t-local) var(--ease);background:oklch(20% .02 250/.4);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-4);width:min(38rem,100%);max-height:min(60vh,32rem);box-shadow:var(--e-3);animation:pop var(--t-local) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.palette input{border:0;border-bottom:1px solid var(--border);padding:var(--s-4);font-size:var(--step-1);background:0 0;border-radius:0}.palette input:focus{box-shadow:none;border-color:var(--border)}.palette-list{padding:var(--s-2);margin:0;list-style:none;overflow-y:auto}.palette-item{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);cursor:pointer;font-size:var(--step-0);color:var(--text);display:flex}.palette-item[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.palette-item .group{font-size:var(--step--1);color:var(--faint);margin-left:auto}.palette-empty{padding:var(--s-5);text-align:center;color:var(--muted)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:none}}.chart,.linechart,.barchart{width:100%;overflow:visible}.chart text,.linechart text{fill:var(--muted);font-size:.7rem;font-family:var(--font)}.chart .axis line,.chart .axis path{stroke:var(--border)}.chart .gridline{stroke:var(--border);stroke-dasharray:2 3;opacity:.7}.chart .series-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart .point{transition:r var(--t-micro) var(--ease)}.chart .point:hover{r:5}.legend{gap:var(--s-4);font-size:var(--step--1);color:var(--muted);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.legend>*{align-items:center;gap:var(--s-2);display:inline-flex}.swatch{border-radius:2px;flex:none;width:.7rem;height:.7rem}.bars{gap:var(--s-2);flex-direction:column;display:flex}.bar-row{gap:var(--s-3);font-size:var(--step--1);grid-template-columns:minmax(6rem,12rem) 1fr auto;align-items:center;display:grid}.bar-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--bg-sunken);border-radius:var(--r-full);height:.55rem;overflow:hidden}.bar-fill{background:var(--accent);border-radius:var(--r-full);transform-origin:0;height:100%;animation:grow var(--t-route) var(--ease-out)}.bar-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:550}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.trace-toolbar{gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.timeline-viewport{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface);max-height:32rem;overflow-y:auto}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);font-size:var(--step--1);transition:background-color var(--t-micro) var(--ease);grid-template-columns:3rem 8.5rem 1fr auto;align-items:baseline;display:grid}.timeline li:hover{background:var(--bg-sunken)}.tl-seq{color:var(--faint);font-family:var(--mono);font-variant-numeric:tabular-nums}.tl-type{color:var(--accent);font-weight:600;font-family:var(--mono);font-size:.78rem}.tl-summary{color:var(--text);overflow-wrap:anywhere}.tl-ms{color:var(--faint);font-variant-numeric:tabular-nums}.diff{font-family:var(--mono);border-radius:var(--r-2);background:var(--bg-sunken);padding:var(--s-3);font-size:.8rem;line-height:1.5;overflow-x:auto}.diff .add{background:var(--ok-soft);color:var(--ok);display:block}.diff .del{background:var(--bad-soft);color:var(--bad);display:block}.virtual-list{position:relative}@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out var(--t-route) var(--ease) both}::view-transition-new(root){animation:slide-up var(--t-route) var(--ease-out) both}@keyframes fade-out{to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cluster-layout{gap:var(--s-5);align-items:start;display:grid}@container page (width>=52rem){.cluster-layout{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}}.cluster-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.cluster-card{gap:var(--s-3);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);width:100%;padding:var(--s-3) var(--s-4);font:inherit;color:inherit;cursor:pointer;transition:border-color var(--t-micro) var(--ease), box-shadow var(--t-micro) var(--ease), transform var(--t-micro) var(--ease);grid-template-columns:auto 1fr;align-items:start;display:grid}.cluster-card:hover{border-color:var(--border-strong);box-shadow:var(--e-2)}.cluster-card:active{transform:translateY(1px)}.cluster-card.is-open{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.cluster-count{font-size:var(--step-1);font-variant-numeric:tabular-nums;color:var(--text-strong);text-align:right;min-width:2ch;font-weight:680}.cluster-body{gap:var(--s-1) var(--s-2);flex-wrap:wrap;align-items:baseline;display:flex}.cluster-body strong{font-size:var(--step-0)}.cluster-rule,.cluster-tool{font-family:var(--mono);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-1);padding:0 .35em;font-size:.76rem}.cluster-tool{border-color:var(--accent-soft);color:var(--accent)}.cluster-meta{color:var(--muted);font-size:var(--step--1);flex-basis:100%}.cluster-detail-text{font-size:var(--step--1);color:var(--text)}.cluster-runs{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.cluster-runs li{border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-3);font-size:var(--step--1);background:var(--surface)}.cluster-runs a{gap:var(--s-2);flex-wrap:wrap;align-items:baseline;display:inline-flex}.run-step{font-variant-numeric:tabular-nums}.timeline li.tl-attributed{background:var(--bad-soft);box-shadow:inset 3px 0 0 var(--bad)}.tl-marker{color:var(--bad);margin-right:.2em;font-weight:700}.rate-readout{gap:var(--s-1);display:grid}.rate-label{color:var(--muted);font-size:var(--step--1);font-weight:550}.rate-value{font-size:var(--step-3);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ok);font-weight:680}.rate-value.is-bad{color:var(--bad)}.rate-detail{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums}.rate-caveat{border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--warn-text);padding:var(--s-2) var(--s-3);border-radius:0 var(--r-2) var(--r-2) 0;font-size:var(--step--1);margin-top:var(--s-2)}.attempt-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.attempt{gap:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-3);font-size:var(--step--1);background:var(--surface);border-left-width:3px;flex-wrap:wrap;align-items:baseline;display:flex}.attempt.is-ok{border-left-color:var(--ok)}.attempt.is-bad{border-left-color:var(--bad);background:var(--bad-soft)}.attempt-verdict{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:660}.attempt.is-ok .attempt-verdict{color:var(--ok)}.attempt.is-bad .attempt-verdict{color:var(--bad)}.attempt-class{font-family:var(--mono);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-1);padding:0 .35em;font-size:.76rem}.attempt-owasp{color:var(--faint);font-size:var(--step--1);flex-basis:100%}.obligation-cols{gap:var(--s-4);display:grid}@container page (width>=46rem){.obligation-cols{grid-template-columns:1fr 1fr}}.obligation-head{margin:0 0 var(--s-2);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.obligation-cols ul{gap:var(--s-2);font-size:var(--step--1);margin:0;padding-left:1.1em;display:grid}.obligation-cols ul.gaps li::marker{color:var(--warn)}.table-scroll{overflow-x:auto}.evidence-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.evidence-table th,.evidence-table td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);white-space:nowrap}.evidence-table th{color:var(--muted);font-weight:600}.evidence-table td.ok{color:var(--ok);font-weight:600}.evidence-table td.bad{color:var(--bad);font-weight:700}.mono-sm{font-family:var(--mono);font-size:.8em}.snippet{border:1px solid var(--border);border-radius:var(--r-3);background:var(--bg-sunken);margin-bottom:var(--s-4);overflow:hidden}.snippet-head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.snippet-label{font-size:var(--step--1);color:var(--muted);font-weight:550}.snippet-copy{font:inherit;font-size:var(--step--1);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);color:var(--text);transition:border-color var(--t-micro) var(--ease), background-color var(--t-micro) var(--ease);padding:.15rem .6rem}.snippet-copy:hover{border-color:var(--border-strong);background:var(--bg-sunken)}.snippet-copy:active{transform:translateY(1px)}.snippet-body{padding:var(--s-3);font-family:var(--mono);margin:0;font-size:.78rem;line-height:1.6;overflow-x:auto}.split-bar{border-radius:var(--r-2);background:var(--bg-sunken);border:1px solid var(--border);height:1.5rem;margin-bottom:var(--s-3);display:flex;overflow:hidden}.split-model{background:var(--series-1)}.split-tool{background:var(--series-2)}@media (width<=1080px){.topbar nav{display:none}}@media (width<=900px){:root{--sidebar-w:100%}.shell{flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--border);gap:var(--s-4);width:100%;height:auto;padding:var(--s-3) var(--s-4);min-width:0;display:flex;position:static;overflow-x:auto}.sidebar-group{min-width:0;margin-bottom:0}.sidebar-group ul{gap:var(--s-1);display:flex}.sidebar a{white-space:nowrap}.sidebar a.active:before{display:none}.content{padding:var(--s-4) var(--s-4) var(--s-6)}.search{width:auto}.search .search-text,.search kbd{display:none}}@media (width<=560px){.stats{grid-template-columns:repeat(auto-fit,minmax(min(8.5rem,100%),1fr))}.timeline li{row-gap:var(--s-1);grid-template-columns:2.5rem 1fr}.tl-ms{grid-column:2}.hero{padding:var(--s-5) 0 var(--s-4)}}.compare-trace{border-collapse:collapse;width:100%;margin-top:var(--s-3)}.compare-trace th,.compare-trace td{text-align:left;vertical-align:top;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);font-size:.9rem}.compare-trace tbody tr.diverged td,.compare-trace tbody tr.diverged th{background:var(--warn-soft)}.compare-trace tbody tr.diverged th{border-left:3px solid var(--warn)}.compare-trace tbody tr.first th{border-left-width:6px}.compare-trace .muted{font-size:.82rem}@media print{.topbar,.sidebar,.subbar,.footer,.skip-link{display:none!important}.card{box-shadow:none;break-inside:avoid}}.toast-region{right:var(--s-4);bottom:var(--s-4);z-index:90;gap:var(--s-2);max-width:min(24rem, calc(100vw - var(--s-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);background:var(--n-1);color:var(--ink);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--r-2);box-shadow:var(--e-2);pointer-events:auto;animation:toast-in var(--t-local) var(--ease);display:flex}.toast-ok{border-left-color:var(--ok)}.toast-warn{border-left-color:var(--warn)}.toast-bad{border-left-color:var(--bad)}.toast-message{font-size:var(--fs-1);flex:1;line-height:1.4}.toast-dismiss{color:var(--muted);cursor:pointer;padding:0 var(--s-1);border-radius:var(--r-1);background:0 0;border:0;flex:none;font-size:1.1rem;line-height:1}.toast-dismiss:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--s-3))}to{opacity:1;transform:none}}.brush-rect{pointer-events:none}.brush-surface{cursor:crosshair}.brush-controls{align-items:flex-end;gap:var(--s-3);margin:var(--s-3) 0 0;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);flex-wrap:wrap;display:flex}.brush-controls legend{padding:0 var(--s-2);font-size:var(--fs-0);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.brush-controls label{gap:var(--s-1);font-size:var(--fs-0);color:var(--muted);flex-direction:column;display:flex}.brush-controls input{width:7rem;padding:var(--s-1) var(--s-2);background:var(--n-0);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-1);font:inherit;font-size:var(--fs-1)}.console-controls{align-items:center;gap:var(--s-3);margin:var(--s-3) 0;flex-wrap:wrap;display:flex}.console-announce{align-items:center;gap:var(--s-2);font-size:var(--fs-1);display:flex}.console-log{margin:var(--s-3) 0 0;border:1px solid var(--border);border-radius:var(--r-2);background:var(--n-1);font-variant-numeric:tabular-nums;max-height:28rem;padding:0;list-style:none;overflow-y:auto}.console-row{gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);font-size:var(--fs-0);grid-template-columns:5.5rem 10rem minmax(6rem,14rem) 1fr;align-items:baseline;display:grid}.console-row:last-child{border-bottom:0}.console-at{color:var(--faint);font-family:var(--mono)}.console-type{color:var(--accent);font-weight:600}.console-id,.console-detail{color:var(--muted);font-family:var(--mono);overflow-wrap:anywhere}@container (width<=40rem){.console-row{gap:var(--s-1);grid-template-columns:1fr}}
