@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-vietnamese-400-normal-Drvd1ekh.woff2)format("woff2"),url(/assets/chivo-mono-vietnamese-400-normal-Dm4OwksM.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-latin-ext-400-normal-UHfHOjZK.woff2)format("woff2"),url(/assets/chivo-mono-latin-ext-400-normal-D2sLLYA-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-latin-400-normal-DZ3T-ph7.woff2)format("woff2"),url(/assets/chivo-mono-latin-400-normal-BIF4JAKS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-vietnamese-500-normal-xwWRnSK6.woff2)format("woff2"),url(/assets/chivo-mono-vietnamese-500-normal-XrHUrQoZ.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-latin-ext-500-normal-D1z6GQOH.woff2)format("woff2"),url(/assets/chivo-mono-latin-ext-500-normal-WNoP_gXg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-latin-500-normal-yaIk6wkS.woff2)format("woff2"),url(/assets/chivo-mono-latin-500-normal-BJB2L2Ln.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#19191a;--bg-sunken:#121216;--surface:#202022;--surface-2:#2d2d2f;--surface-hover:#ffffff0a;--line:#ffffff12;--line-strong:#ffffff24;--text:#f4f4f5;--text-strong:#fafafa;--text-muted:#a6a6ae;--text-faint:#78787f;--brand:#a284ff;--brand-soft:#a284ff24;--primary-bg:#fafafa;--primary-fg:#19191a;--red:#ff6568;--red-soft:#ff656824;--green:#05df72;--green-soft:#05df7221;--amber:#fcbb00;--amber-soft:#fcbb0024;--blue:#54a2ff;--blue-soft:#54a2ff24;--chart-1:#a284ff;--chart-2:#54d0ff;--chart-3:#fac800;--chart-4:#05df72;--chart-5:#ff6568;--chart-6:#ff8bd1;--chart-7:#ff9d4d;--chart-8:#7ce8d0;--chart-9:#c7c7cf;--chart-10:#8f9bff;--pixel-1:#a284ff;--pixel-2:#fac800;--pixel-3:#54d0ff;--pixel-4:#05df72;--font-sans:"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Chivo Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.875rem;--radius-sm:4px;--radius:6px;--radius-lg:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shadow:0 10px 30px -10px #0009;--scrim:#0000008c}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-sunken:#f4f4f5;--surface:#f7f7f8;--surface-2:#ececef;--surface-hover:#00000009;--line:#00000014;--line-strong:#00000029;--text:#19191a;--text-strong:#0d0d0e;--text-muted:#5b5b64;--text-faint:#787881;--brand:#6c3dff;--brand-soft:#6c3dff1a;--primary-bg:#19191a;--primary-fg:#fff;--red:#d1000f;--red-soft:#e4001414;--green:#00813a;--green-soft:#00a5441a;--amber:#a35300;--amber-soft:#f99c0021;--blue:#115ef3;--blue-soft:#115ef314;--shadow:0 10px 30px -12px #0000002e;--scrim:#0000004d;--chart-1:#6c3dff;--chart-2:#0284c7;--chart-3:#b45309;--chart-4:#047857;--chart-5:#d1000f;--chart-6:#be185d;--chart-7:#c2410c;--chart-8:#0f766e;--chart-9:#52525b;--chart-10:#4338ca}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-sunken:#f4f4f5;--surface:#f7f7f8;--surface-2:#ececef;--surface-hover:#00000009;--line:#00000014;--line-strong:#00000029;--text:#19191a;--text-strong:#0d0d0e;--text-muted:#5b5b64;--text-faint:#787881;--brand:#6c3dff;--brand-soft:#6c3dff1a;--primary-bg:#19191a;--primary-fg:#fff;--red:#d1000f;--red-soft:#e4001414;--green:#00813a;--green-soft:#00a5441a;--amber:#a35300;--amber-soft:#f99c0021;--blue:#115ef3;--blue-soft:#115ef314;--shadow:0 10px 30px -12px #0000002e;--scrim:#0000004d;--chart-1:#6c3dff;--chart-2:#0284c7;--chart-3:#b45309;--chart-4:#047857;--chart-5:#d1000f;--chart-6:#be185d;--chart-7:#c2410c;--chart-8:#0f766e;--chart-9:#52525b;--chart-10:#4338ca}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:400 var(--text-md) / 1.5 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.01em;text-wrap:balance;font-weight:600}h2{font-size:var(--text-lg);font-weight:600}h3{font-size:var(--text-md);font-weight:600}a{color:inherit;text-decoration:none}a.link{color:var(--brand)}a.link:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--brand-soft)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.nums{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);font:500 var(--text-sm) var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary-bg);color:var(--primary-fg);border-color:#0000}.btn.primary:hover{opacity:.9}.btn.ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-hover);color:var(--text)}.btn.danger{color:var(--red)}.btn.small{height:26px;padding:0 var(--space-2);font-size:var(--text-xs)}kbd{font:500 .6875rem var(--font-mono);color:var(--text-muted);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-sunken);border-bottom-width:2px;padding:0 5px}.input,.select,textarea.input{height:32px;padding:0 var(--space-3);width:100%;font:400 var(--text-md) var(--font-sans);color:var(--text);background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius)}textarea.input{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.field{gap:6px;display:grid}.field label{font-size:var(--text-sm);font-weight:500}.field .hint{font-size:var(--text-xs);color:var(--text-faint)}.error-text{color:var(--red);font-size:var(--text-sm)}.chip{height:20px;font:500 .6875rem var(--font-sans);letter-spacing:.01em;color:var(--text-muted);background:var(--surface-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chip.unresolved{color:var(--red);background:var(--red-soft)}.chip.resolved{color:var(--green);background:var(--green-soft)}.chip.ignored{color:var(--text-muted);background:var(--surface-2)}.chip.regressed{color:var(--amber);background:var(--amber-soft)}.chip.good{color:var(--green);background:var(--green-soft)}.chip.warn{color:var(--amber);background:var(--amber-soft)}.chip.bad{color:var(--red);background:var(--red-soft)}.chip.info{color:var(--blue);background:var(--blue-soft)}.chip.brand{color:var(--brand);background:var(--brand-soft)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.divider{background:var(--line);height:1px}.shell{grid-template-columns:236px minmax(0,1fr);height:100%;display:grid}.sidebar{gap:var(--space-4);padding:var(--space-4) var(--space-3);border-right:1px solid var(--line);background:var(--bg-sunken);flex-direction:column;display:flex;overflow-y:auto}.sidebar>*{flex-shrink:0}.brand-row{align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;display:flex}.nav{gap:2px;display:grid}.nav a{justify-content:space-between;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--text-muted);font-weight:500;display:flex}.nav a:hover{background:var(--surface-hover);color:var(--text)}.nav a[aria-current=page]{background:var(--surface);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--line)}.nav .count{font:500 var(--text-xs) var(--font-mono);color:var(--text-faint)}.nav-label{font-size:var(--text-xs);color:var(--text-faint);padding:0 var(--space-2);text-transform:uppercase;letter-spacing:.06em}.sidebar-foot{gap:var(--space-2);margin-top:auto;display:grid}.main{min-width:0;overflow-y:auto}.page{max-width:1180px;padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-4);margin:0 auto;display:grid}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.mobile-bar{display:none}@media (width<=760px){.shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.sidebar.open{z-index:30;display:flex;position:fixed;inset:0}.mobile-bar{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.page{padding:var(--space-4) var(--space-3) var(--space-5)}}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs button,.tabs a{height:36px;padding:0 var(--space-3);cursor:pointer;font:500 var(--text-md) var(--font-sans);color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;text-decoration:none;display:inline-flex}.tabs button:hover,.tabs a:hover{color:var(--text)}.tabs button[aria-selected=true],.tabs a[aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--text-strong)}.tabs .count{font:500 var(--text-xs) var(--font-mono);color:var(--text-faint);margin-left:6px}.issue-list{display:grid}.issue-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:28px minmax(0,1fr) 120px 70px 60px 92px;display:grid}.issue-row:hover{background:var(--surface-hover)}.issue-row[data-focused=true]{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--brand)}.issue-row[data-selected=true]{background:var(--brand-soft)}.issue-title{gap:var(--space-2);align-items:baseline;min-width:0;display:flex}.issue-title .type{color:var(--text-strong);white-space:nowrap;font-weight:600}.issue-title .msg{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=760px){.issue-title{flex-wrap:wrap;row-gap:0}.issue-title .msg{white-space:normal;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}}.issue-meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--text-faint);flex-wrap:wrap;align-items:center;margin-top:4px;display:flex}.issue-meta .culprit{font-family:var(--font-mono);color:var(--text-muted)}.col-head{gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-faint);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;grid-template-columns:28px minmax(0,1fr) 120px 70px 60px 92px;display:grid}.num{text-align:right;font:500 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums}.when{text-align:right;font-size:var(--text-sm);color:var(--text-muted)}.bulk-bar{bottom:var(--space-4);z-index:5;justify-self:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:999px;display:flex;position:sticky}input[type=checkbox]{accent-color:var(--brand);width:15px;height:15px}@media (width<=860px){.issue-row,.col-head{grid-template-columns:24px minmax(0,1fr) 64px 80px}.issue-row .hide-narrow,.col-head .hide-narrow{display:none}}.stat-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:var(--space-3) var(--space-4);gap:2px;display:grid}@media (width<=760px){.stat:last-child:nth-child(odd){grid-column:1/-1}}.stat .label{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.stat .value{font:500 var(--text-lg) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-strong)}.issue-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}@media (width<=980px){.issue-layout{grid-template-columns:minmax(0,1fr)}}.frames{font-family:var(--font-mono);font-size:var(--text-sm);display:grid}.frame{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);gap:2px;display:grid}.frame:last-child{border-bottom:0}.frame.app{box-shadow:inset 2px 0 0 var(--brand)}.frame .fn{color:var(--text-strong);overflow-wrap:anywhere}.frame:not(.app) .fn{color:var(--text-muted)}.frame .loc{color:var(--text-faint);overflow-wrap:anywhere}.frame .raw{color:var(--text-faint);font-size:var(--text-xs)}.collapsed-frames{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text-faint);font:400 var(--text-xs) var(--font-mono);padding:var(--space-2) var(--space-3);cursor:pointer;background:0 0}.collapsed-frames:hover{color:var(--text);background:var(--surface-hover)}.crumbs{font-size:var(--text-sm);display:grid}.crumb{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:78px 92px minmax(0,1fr);align-items:baseline;display:grid}.crumb:last-child{border-bottom:0}.crumb .t{font-family:var(--font-mono);color:var(--text-faint);font-size:var(--text-xs)}.crumb.error{background:var(--red-soft)}.kv{font-size:var(--text-sm);grid-template-columns:minmax(100px,160px) minmax(0,1fr);display:grid}.kv dt,.kv dd{padding:6px var(--space-3);border-bottom:1px solid var(--line);margin:0}.kv dt{color:var(--text-faint)}.kv dd{font-family:var(--font-mono);overflow-wrap:anywhere}pre.code{padding:var(--space-3) var(--space-4);background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius);font:400 var(--text-sm) / 1.6 var(--font-mono);color:var(--text);margin:0;overflow-x:auto}.code-wrap{min-width:0;position:relative}.page>*,.panel,.banner,.banner>*,.field{min-width:0}.code-wrap .copy{position:absolute;top:6px;right:6px}.banner{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:var(--text-sm);align-items:flex-start;display:flex}.banner.warn{background:var(--amber-soft);border-color:#0000}.banner.ok{background:var(--green-soft);border-color:#0000}.activity{gap:var(--space-3);padding:var(--space-4);font-size:var(--text-sm);display:grid}.activity li{gap:var(--space-2);grid-template-columns:10px minmax(0,1fr);list-style:none;display:grid}.activity ul{gap:var(--space-3);margin:0;padding:0;display:grid}.activity .mark{background:var(--text-faint);border-radius:2px;width:8px;height:8px;margin-top:6px}.activity .mark.regressed{background:var(--amber)}.activity .mark.resolved{background:var(--green)}.activity .mark.created{background:var(--red)}.overlay{z-index:50;background:var(--scrim);padding:12vh var(--space-4) var(--space-4);place-items:start center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(620px,100%);box-shadow:var(--shadow);overflow:hidden}.palette-input{width:100%;height:48px;padding:0 var(--space-4);border:0;border-bottom:1px solid var(--line);color:var(--text);font:400 var(--text-lg) var(--font-sans);background:0 0}.palette-input:focus{outline:none}.palette-list{max-height:50vh;padding:var(--space-2);margin:0;list-style:none;overflow-y:auto}.palette-list li{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;display:flex}.palette-list li[aria-selected=true]{background:var(--surface-2)}.palette-list .group{font-size:var(--text-xs);color:var(--text-faint);padding:var(--space-2) var(--space-3) 2px;cursor:default}.toast{bottom:var(--space-4);right:var(--space-4);z-index:60;padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--primary-bg);color:var(--primary-fg);box-shadow:var(--shadow);font-weight:500;position:fixed}.auth{grid-template-columns:minmax(0,480px) minmax(0,1fr);min-height:100%;display:grid}.auth-switch{font-size:var(--text-sm)}.auth-form{align-content:center;gap:var(--space-5);padding:var(--space-6) clamp(var(--space-4), 6vw, 72px);display:grid}.auth-art{border-left:1px solid var(--line);background:var(--bg-sunken);padding:var(--space-6);align-content:end;display:grid;position:relative;overflow:hidden}.auth-art canvas{width:100%;height:100%;position:absolute;inset:0}.auth-art:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-sunken) 60%);position:absolute;inset:45% 0 0}.auth-art .tagline{z-index:1;letter-spacing:-.03em;max-width:14ch;color:var(--text-strong);font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:700;line-height:1.05;position:relative}@media (width<=860px){.auth{grid-template-columns:minmax(0,1fr)}.auth-art{display:none}}.empty{justify-items:center;gap:var(--space-3);text-align:center;padding:var(--space-6) var(--space-4);display:grid}.empty canvas{width:96px;height:96px}.onboard{gap:var(--space-4);padding:var(--space-5);display:grid}.steps-list{gap:var(--space-4);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.steps-list>li{gap:var(--space-3);counter-increment:step;grid-template-columns:28px minmax(0,1fr);display:grid}.steps-list>li:before{content:counter(step);background:var(--surface-2);width:24px;height:24px;font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.table th{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.switch{align-items:center;gap:var(--space-2);font-size:var(--text-md);display:flex}.grid-2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.filters{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.stat .value.hero{font:600 var(--text-2xl) var(--font-sans);font-variant-numeric:normal}.stat .sub{font-size:var(--text-xs);color:var(--text-muted)}.line-chart{gap:var(--space-2);min-width:0;margin:0;display:grid}.line-chart .legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);display:flex}.line-chart .legend span{align-items:center;gap:6px;display:inline-flex}.line-chart-plot{min-width:0;position:relative}.line-chart-plot svg{display:block;overflow:visible}.line-chart-plot svg:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.line-chart .axis{font:var(--text-xs) var(--font-mono);fill:var(--text-faint);font-variant-numeric:tabular-nums}.line-chart .end-label{fill:var(--text-muted)}.line-chart-tip{pointer-events:none;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);width:180px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);box-shadow:var(--shadow);gap:3px;display:grid;position:absolute;top:4px}.line-chart-tip .tip-row{align-items:center;gap:6px;display:flex}.line-chart-tip strong{color:var(--text-strong);font-family:var(--font-mono);font-weight:500}.line-chart-table summary{cursor:pointer;font-size:var(--text-xs);color:var(--text-muted);width:fit-content}.meter{background:var(--brand-soft);border-radius:2px;min-width:48px;height:4px;overflow:hidden}.meter>span{background:var(--brand);border-radius:2px;height:100%;display:block}.rate{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.waterfall{font-size:var(--text-sm);display:grid}.wf-row{gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;padding:6px 0;display:grid}.wf-head{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.wf-label{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.wf-desc{overflow-wrap:anywhere;min-width:0;color:var(--text-muted);font-size:var(--text-xs)}.wf-track{background:var(--bg-sunken);border-radius:var(--radius-sm);height:18px;position:relative}.wf-bar{background:var(--brand);border-radius:3px;height:10px;position:absolute;top:4px}.wf-bar.bad{background:var(--red)}.wf-time{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;position:absolute;top:1px}.clickable{cursor:pointer}.clickable:hover td{background:var(--surface-hover)}.table tr[aria-selected=true] td{background:var(--brand-soft)}.table .num{text-align:right;white-space:nowrap}.admin-table th.num{white-space:normal}.nowrap{white-space:nowrap}@media (width<=760px){.wf-row{grid-template-columns:minmax(0,1fr);gap:4px}.table .hide-narrow{display:none}}.chart{border-radius:var(--radius);outline:none;min-width:0;position:relative}.chart:focus-visible{box-shadow:0 0 0 2px var(--brand)}.chart svg{display:block}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-axis{fill:var(--text-faint);font:400 11px var(--font-mono)}.chart-line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-area{opacity:.12}.chart-dot{fill:currentColor;stroke:var(--surface);stroke-width:2px}.chart-guide{stroke:var(--line-strong);stroke-dasharray:3 3}.chart-tip{pointer-events:none;min-width:160px;max-width:240px;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--text-xs);gap:2px;display:grid;position:absolute;top:8px;transform:translate(-50%)}.chart-tip-row{gap:var(--space-2);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;display:grid}.chart-tip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.swatch{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.controls .select{width:auto;max-width:100%}.seg{border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;overflow:hidden}.seg button{height:32px;padding:0 var(--space-3);background:var(--surface);color:var(--text-muted);font:500 var(--text-sm) var(--font-sans);cursor:pointer;border:0}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text-strong)}.seg button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.funnel-step{gap:4px var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.funnel-step:last-child{border-bottom:0}.funnel-bar{background:var(--surface-2);border-radius:3px;grid-column:1/-1;height:10px;overflow:hidden}.funnel-bar>span{background:var(--chart-1);border-radius:3px;height:100%;display:block}.retention td.cell{text-align:center;font-family:var(--font-mono);font-size:var(--text-xs)}
