@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");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{--graphite-950:#15181c;--graphite-900:#1e2227;--graphite-800:#2a2f35;--graphite-700:#3a4047;--on-graphite:#e9ecef;--on-graphite-2:#b9c0c7;--on-graphite-muted:#8d959e;--paper:#f3f2ee;--surface:#fff;--surface-2:#f8f7f4;--surface-3:#efede7;--line:#e4e1d9;--line-strong:#cdc8bd;--ink:#1a1d21;--ink-2:#454b53;--muted:#61676f;--petrol:#0d5c68;--petrol-strong:#08454f;--petrol-soft:#e3eff0;--petrol-line:#a9cdd2;--lime:#c5e84a;--lime-mark:#7a9a12;--lime-wash:#f3f8dc;--good:#2d7a46;--good-soft:#e7f2ea;--good-line:#b9dbc4;--warn:#8a5600;--warn-soft:#fbf1db;--warn-line:#ecd29c;--warn-mark:#c98a12;--crit:#b3261e;--crit-soft:#fbeceb;--crit-line:#f0c2be;--demo-ink:#5f4300;--demo-bg:#f5e6b8;--demo-stripe:#ecd48f;--test-ink:#2b4c7e;--test-bg:#e6edf7;--test-line:#bccce4;--series-1:#008a9e;--series-2:#d96c1e;--series-3:#6066d4;--series-4:#ad4a87;--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Bricolage Grotesque Variable", var(--font-ui);--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-1:0 1px 0 #1a1d210a;--shadow-pop:0 10px 28px #15181c29, 0 1px 3px #15181c1a;--gap:20px;--sidebar-w:248px;--ease:.14s cubic-bezier(.2, 0, 0, 1);font-family:var(--font-ui);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11";font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:var(--paper);margin:0}h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0}h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.9rem;font-weight:650;line-height:1.15}h2{font-family:var(--font-display);letter-spacing:-.005em;font-size:1.06rem;font-weight:620;line-height:1.3}h3{font-size:.92rem;font-weight:650}p{margin:0}code{font-family:var(--font-mono);background:var(--surface-3);color:var(--ink);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.82em}a{color:var(--petrol);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--petrol-strong)}:focus-visible{outline:2px solid var(--petrol);outline-offset:2px;border-radius:4px}::selection{background:var(--lime);color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--surface);color:var(--ink);z-index:50;border-radius:var(--r-sm);box-shadow:var(--shadow-pop);padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.num{text-align:right;font-variant-numeric:tabular-nums}.tabular{font-variant-numeric:tabular-nums}.sample{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85em}.unit{color:var(--muted);margin-left:.2em;font-size:.8em;font-weight:500}.unavailable{color:var(--muted);font-style:italic}.issue-text{color:var(--warn)}.positive-text{color:var(--good)}.icon{flex:none}.nowrap{white-space:nowrap}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:linear-gradient(to right, var(--graphite-950) var(--sidebar-w), var(--paper) var(--sidebar-w));min-height:100vh;display:grid}.sidebar{background:var(--graphite-950);color:var(--on-graphite-2);z-index:20;flex-direction:column;gap:22px;height:100vh;padding:18px 12px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar :focus-visible{outline-color:var(--lime)}.brand{color:var(--on-graphite);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;padding:2px 8px;font-size:1.08rem;font-weight:680;display:flex}.brand-mark{flex:none}.side-section{gap:4px;display:grid}.side-heading{color:var(--on-graphite-muted);letter-spacing:.01em;padding:0 10px 4px;font-size:.75rem;font-weight:600}.side-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.side-link{border-radius:var(--r-sm);min-height:38px;color:var(--on-graphite-2);transition:background var(--ease), color var(--ease);align-items:center;gap:11px;padding:7px 10px;font-size:.93rem;font-weight:520;text-decoration:none;display:flex;position:relative}.side-link:hover{background:var(--graphite-900);color:var(--on-graphite)}.side-link[aria-current=page],.side-link[aria-current=true]{background:var(--graphite-800);color:#fff}.side-link[aria-current=page]:before,.side-link[aria-current=true]:before{content:"";background:var(--lime);border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:-12px}.side-link .icon{color:var(--on-graphite-muted)}.side-link[aria-current] .icon{color:var(--lime)}.side-link .game-meta{color:var(--on-graphite-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.side-link .game-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-hint{color:var(--on-graphite-muted);margin:0;padding:2px 10px 4px;font-size:.78rem;line-height:1.45}.portfolio-link{margin-bottom:4px}.side-tag{color:var(--graphite-950);background:var(--demo-bg);border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.68rem;font-weight:650}.sidebar-footer{border-top:1px solid var(--graphite-800);gap:8px;margin-top:auto;padding-top:12px;display:grid}.user{align-items:center;gap:10px;min-width:0;padding:0 6px;display:flex}.avatar{background:var(--graphite-700);width:30px;height:30px;color:var(--on-graphite);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:650;display:grid}.user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--on-graphite);font-size:.85rem;overflow:hidden}.user-role{color:var(--on-graphite-muted);font-size:.72rem}.icon-button{all:unset;box-sizing:border-box;border-radius:var(--r-sm);cursor:pointer;width:34px;height:34px;color:inherit;transition:background var(--ease);place-items:center;display:inline-grid}.icon-button:focus-visible{outline:2px solid var(--petrol);outline-offset:1px}.sidebar .icon-button:hover{background:var(--graphite-800);color:#fff}.sidebar .icon-button{color:var(--on-graphite-2);margin-left:auto}.content{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:saturate(1.4)blur(6px);backdrop-filter:saturate(1.4)blur(6px);border-bottom:1px solid var(--line);background:#fffffff5;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px 28px;display:flex;position:sticky;top:0}.context{align-items:center;gap:10px;min-width:0;margin-right:auto;display:flex}.context-name{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:650;overflow:hidden}.context-env{color:var(--muted);font-size:.78rem}.context-env .link-button{white-space:nowrap}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.field{color:var(--ink-2);gap:3px;font-size:.74rem;font-weight:600;display:grid}.field-label,.range-inputs{align-items:center;gap:4px;display:flex}.range-inputs span{color:var(--muted)}select,input{font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);min-height:34px;transition:border-color var(--ease), box-shadow var(--ease);padding:5px 9px;font-size:.88rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23454b53' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}input[type=date]{font-variant-numeric:tabular-nums}select:hover,input:hover{border-color:var(--ink-2)}select:focus-visible,input:focus-visible{border-color:var(--petrol);box-shadow:0 0 0 3px var(--petrol-soft), 0 0 0 1px var(--petrol);outline:none}select:disabled{background-color:var(--surface-2);color:var(--muted)}input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--petrol)}.segmented{background:var(--surface-3);border-radius:var(--r-sm);gap:2px;padding:2px;display:inline-flex}.segmented button{all:unset;box-sizing:border-box;cursor:pointer;min-height:30px;color:var(--ink-2);transition:background var(--ease), color var(--ease);border-radius:5px;align-items:center;gap:6px;padding:4px 11px;font-size:.85rem;font-weight:560;display:inline-flex}.segmented button:hover{color:var(--ink);background:#fff9}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #15181c1f, 0 0 0 1px var(--line)}.segmented button:focus-visible{outline:2px solid var(--petrol);outline-offset:0}.segmented.small button{min-height:26px;padding:2px 8px;font-size:.8rem}.env-dot{border:1.5px solid;border-radius:50%;flex:none;width:8px;height:8px}.env-dot.production{background:var(--ink);border-color:var(--ink)}.env-dot.test{border-color:var(--test-ink);background:0 0}.env-dot.demo{background:repeating-linear-gradient(135deg, var(--warn-mark) 0 2px, transparent 2px 4px);border-color:var(--warn-mark)}.env-select{display:none}.filters-toggle{display:none!important}.ribbon{border-bottom:1px solid;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 28px;font-size:.85rem;display:flex}.ribbon.demo{color:var(--demo-ink);border-color:var(--demo-stripe);background:repeating-linear-gradient(135deg, var(--demo-bg) 0 10px, #f8edcb 10px 20px)}.ribbon.test{color:var(--test-ink);background:var(--test-bg);border-color:var(--test-line)}.ribbon .link-button{color:inherit;text-decoration:underline}main{gap:var(--gap);align-content:start;width:100%;max-width:1480px;padding:26px 28px 56px;display:grid}main:focus{outline:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:2px;display:flex}.page-title{gap:6px;min-width:0;max-width:72ch;display:grid}.page-question{color:var(--ink-2);font-size:1.08rem;line-height:1.4}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notice-stack{gap:8px;display:grid}.freshness{position:relative}.freshness-button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-sm);min-height:34px;color:var(--ink-2);border:1px solid var(--line);background:var(--surface);align-items:center;gap:7px;padding:4px 10px;font-size:.82rem;display:inline-flex}.freshness-button:hover{border-color:var(--line-strong)}.freshness-button:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}.pulse{background:var(--good);width:8px;height:8px;box-shadow:0 0 0 3px var(--good-soft);border-radius:50%}.pulse.warn{background:var(--warn-mark);box-shadow:0 0 0 3px var(--warn-soft)}.pulse.idle{background:var(--line-strong);box-shadow:0 0 0 3px var(--surface-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:0;box-shadow:var(--shadow-1);padding:18px 20px 20px}.card.flush{padding:0}.card.flush>.card-header{margin:0;padding:16px 20px 12px}.card.flush>.card-footer{padding:10px 20px 14px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-header>div:first-child{gap:3px;min-width:0;display:grid}.card-title-row{align-items:center;gap:6px;display:flex}.card-subtitle{color:var(--muted);max-width:80ch;font-size:.85rem}.card-actions{flex:none;align-items:center;gap:8px;display:flex}.card-footer{color:var(--muted);margin-top:12px;font-size:.82rem}.grid-2{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.grid-2.stretch{align-items:stretch}.grid-3-2{gap:var(--gap);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;display:grid}.stack{gap:14px;display:grid}.kpi-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid;overflow:hidden}.kpi{align-content:start;gap:4px;min-width:0;padding:15px 18px 16px;display:grid;position:relative}.kpi-strip .kpi{box-shadow:-1px 0 0 var(--line), 0 -1px 0 var(--line)}.kpi-label{color:var(--ink-2);align-items:center;gap:5px;min-height:22px;font-size:.82rem;font-weight:600;display:flex}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:0 4px;font-size:1.85rem;font-weight:640;line-height:1.1;display:flex}.kpi-value .unit{font-family:var(--font-ui);letter-spacing:0;font-size:.85rem}.kpi-value .unavailable{font-family:var(--font-ui);color:var(--muted);font-size:1rem;font-style:normal}.kpi-detail{color:var(--muted);font-size:.8rem;line-height:1.4}.kpi.issue .kpi-value{color:var(--warn)}.kpi.positive .kpi-value{color:var(--good)}.kpi-tone{align-items:center;display:inline-flex}.kpi.issue .kpi-tone{color:var(--warn)}.kpi.positive .kpi-tone{color:var(--good)}.kpi.plain{padding:0}.help{display:inline-flex;position:relative}.help-button{all:unset;cursor:pointer;width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;display:inline-grid}.help-button:hover,.help-button[aria-expanded=true]{color:var(--petrol);background:var(--petrol-soft)}.help-button:focus-visible{outline:2px solid var(--petrol);outline-offset:1px}.popover{z-index:30;background:var(--graphite-950);width:min(340px,80vw);color:var(--on-graphite);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);text-align:left;white-space:normal;padding:11px 13px;font-size:.83rem;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:-8px}.popover.align-right{left:auto;right:-8px}.popover code{background:var(--graphite-800);color:var(--on-graphite)}.popover dl{grid-template-columns:max-content 1fr;gap:5px 12px;margin:0;display:grid}.popover dt{color:var(--on-graphite-muted)}.popover dd{font-variant-numeric:tabular-nums;margin:0}.popover p+p{margin-top:6px}.tag{white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:650;line-height:1.5;display:inline-flex}.tag-demo{color:var(--demo-ink);background:repeating-linear-gradient(135deg, var(--demo-bg) 0 6px, #f8edcb 6px 12px);border-color:var(--demo-stripe)}.tag-test{color:var(--test-ink);background:var(--test-bg);border-color:var(--test-line)}.tag-positive{color:var(--good);background:var(--good-soft);border-color:var(--good-line)}.tag-issue{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.tag-critical{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-line)}.tag-neutral{color:var(--ink-2);background:var(--surface-3);border-color:var(--line)}.tag-source{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.note{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);align-items:flex-start;gap:10px;padding:9px 12px;font-size:.86rem;display:flex}.note>.icon{color:var(--muted);margin-top:2px}.note.issue{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.note.issue>.icon{color:var(--warn)}.note.source{background:var(--surface);border-left:3px solid var(--ink)}.note.plain{background:0 0;border:0;padding:0}.definitions{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 24px;margin:0;display:grid}.definitions dt{font-size:.82rem;font-weight:650}.definitions dd{color:var(--ink-2);margin:2px 0 0;font-size:.84rem}details.explain{font-size:.86rem}details.explain>summary{cursor:pointer;color:var(--petrol);align-items:center;gap:6px;font-weight:600;list-style:none;display:inline-flex}details.explain>summary::-webkit-details-marker{display:none}details.explain>summary .icon{transition:transform var(--ease)}details.explain[open]>summary .icon{transform:rotate(90deg)}details.explain>:not(summary){margin-top:12px}.state{border-radius:var(--r-md);color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-strong);align-items:flex-start;gap:12px;padding:16px 18px;font-size:.9rem;display:flex}.state>.icon{color:var(--muted);margin-top:1px}.state.error{border:1px solid var(--crit-line);background:var(--crit-soft);color:var(--crit);flex-wrap:wrap;align-items:center}.state.error>.icon{color:var(--crit);margin:0}.state.error .button{margin-left:auto}.unavailable-state{border-style:solid;border-color:var(--line);background:repeating-linear-gradient(135deg, var(--surface-2) 0 8px, var(--surface-3) 8px 9px);color:var(--ink-2)}.state.loading{border-style:solid;border-color:var(--line);align-items:center}.empty-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:28px;display:grid}.empty-hero h2{margin-bottom:6px;font-size:1.2rem}.empty-hero p{color:var(--ink-2);max-width:64ch}.empty-hero .row{margin-top:14px}.spinner{border:2px solid var(--petrol-soft);border-top-color:var(--petrol);border-radius:50%;flex:none;width:15px;height:15px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-page{gap:var(--gap);display:grid}.skeleton{background:linear-gradient(90deg, var(--surface-3) 0%, #f6f5f1 40%, var(--surface-3) 80%);border-radius:var(--r-md);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton.kpis{height:104px}.skeleton.block{height:300px}.skeleton.table{height:220px}.skeleton.short{height:120px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.table-wrap{position:relative;overflow-x:auto}.table-wrap.scroll{overscroll-behavior:contain;border-top:1px solid var(--line);overflow:auto}.table-wrap.scroll thead th{z-index:2;position:sticky;top:0}.table-wrap.scroll.sticky-first thead th:first-child{z-index:3}.table-wrap.sticky-first thead th:first-child{background:var(--surface-2)}.table-wrap.sticky-first td:first-child,.table-wrap.sticky-first th:first-child{background:inherit;z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 12px}thead th{color:var(--ink-2);background:var(--surface-2);white-space:nowrap;border-bottom-color:var(--line-strong);font-size:.78rem;font-weight:620}thead th:first-child,tbody td:first-child,tbody th:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}.card:not(.flush) table th:first-child,.card:not(.flush) table td:first-child{padding-left:10px}.card:not(.flush) table th:last-child,.card:not(.flush) table td:last-child{padding-right:10px}tbody tr{background:var(--surface)}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody tr.clickable{cursor:pointer;transition:background var(--ease)}tbody tr.clickable:hover{background:var(--surface-2)}tbody tr.clickable:focus-visible{outline:2px solid var(--petrol);outline-offset:-2px;border-radius:0}tbody tr.selected,tbody tr.selected:hover{background:var(--lime-wash)}tbody tr.selected td:first-child{box-shadow:inset 4px 0 0 var(--lime-mark)}.th-sort{all:unset;cursor:pointer;border-radius:4px;align-items:center;gap:4px;display:inline-flex}.th-sort .icon{color:var(--line-strong)}.th-sort:hover .icon,th[aria-sort] .th-sort .icon{color:var(--petrol)}.th-sort:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}th.num .th-sort{flex-direction:row-reverse}.compact td,.compact th{padding:6px 10px}.mini-table th[scope=row]{color:var(--ink-2);white-space:nowrap;font-weight:500}.row-sub{color:var(--muted);margin-top:1px;font-size:.8rem}.heatmap{font-size:.78rem}.heatmap td.cell{text-align:center;font-variant-numeric:tabular-nums;border:2px solid var(--surface);border-radius:4px;min-width:38px;padding:6px 4px}.heatmap td.cell-na{background:repeating-linear-gradient(135deg, var(--surface-2) 0 4px, var(--surface-3) 4px 6px);border:2px solid var(--surface)}.heatmap th[scope=row]{white-space:nowrap;font-weight:500}.heatmap td,.heatmap th{border-bottom:0}.heat-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.heat-scale{background:linear-gradient(90deg,#e3f1f3,#008a9e 60%,#064650);border-radius:3px;width:120px;height:10px}.heat-na{background:repeating-linear-gradient(135deg, var(--surface-2) 0 3px, var(--line-strong) 3px 4px);border-radius:2px;width:14px;height:10px}.chart{gap:8px;margin:0;display:grid}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.chart-title{color:var(--ink);font-size:.86rem;font-weight:620}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:2px;flex:none;width:14px;height:3px}.swatch.box{border-radius:3px;width:10px;height:10px}.swatch.dashed{border-top:3px dashed;height:0;background:0 0!important}.chart-tooltip{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);min-width:150px;padding:9px 11px;font-size:.8rem}.chart-tooltip-title{color:var(--ink);margin-bottom:5px;font-weight:650}.chart-tooltip ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.chart-tooltip li{color:var(--ink-2);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.chart-tooltip li strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.chart-tooltip .tooltip-note{color:var(--muted);margin-top:5px}.chart-plot{min-width:0}.chart-plot .recharts-surface:focus{outline:none}.recharts-cartesian-axis-tick text{font-variant-numeric:tabular-nums}.funnel{gap:4px;margin:0;padding:0;list-style:none;display:grid}.funnel li{gap:4px;display:grid}.funnel-label{justify-content:space-between;align-items:baseline;gap:8px;font-size:.85rem;display:flex}.funnel-step{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:6px}.funnel-track{background:var(--surface-3);border-radius:4px;height:12px}.funnel-bar{background:var(--series-1);border-radius:4px;min-width:2px;height:100%}.funnel-drop{color:var(--muted);align-items:center;gap:4px;padding:2px 0 4px 18px;font-size:.76rem;display:flex}.signal-list{margin:0;padding:0;list-style:none;display:grid}.signal-list>li{border-top:1px solid var(--line);gap:4px;padding:11px 0;display:grid}.signal-list>li:first-child{border-top:0;padding-top:0}.signal-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.signal-head a{font-weight:650}.signal-reasons{gap:3px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.signal-reasons li{color:var(--warn);align-items:flex-start;gap:6px;display:flex}.signal-reasons .icon{margin-top:3px}.signals{gap:12px;margin:0;padding:0;list-style:none;display:grid}.signals li{grid-template-columns:22px 1fr;gap:8px;font-size:.88rem;display:grid}.signal-icon{border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.signal-flag .signal-icon{color:var(--warn);background:var(--warn-soft)}.signal-ok .signal-icon{color:var(--good);background:var(--good-soft)}.signal-insufficient_data .signal-icon{color:var(--muted);background:var(--surface-3)}.counter-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin:0;display:grid}.counter-list dt{color:var(--ink-2);font-size:.8rem}.counter-list dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.35rem;font-weight:620}.detail{gap:var(--gap);scroll-margin-top:90px;display:grid}.detail-head{flex-wrap:wrap;align-items:center;gap:12px;padding-top:6px;display:flex}.detail-head h2{font-size:1.35rem}.detail-list{grid-template-columns:max-content minmax(0,1fr);gap:8px 14px;margin:0;font-size:.875rem;display:grid}.detail-list dt{color:var(--muted);font-weight:600}.detail-list dd{min-width:0;margin:0}.events-layout{gap:var(--gap);grid-template-columns:minmax(0,3fr) minmax(320px,2fr);align-items:start;display:grid}.events-layout .detail-panel{max-height:calc(100vh - 100px);position:sticky;top:84px;overflow:auto}.pager{justify-content:flex-end;align-items:center;gap:10px;padding:10px 20px 14px;display:flex}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;align-items:flex-end;gap:12px 18px;padding:12px 16px;display:flex}.toolbar .check{cursor:pointer;align-items:center;gap:8px;min-height:34px;font-size:.88rem;display:inline-flex}.toolbar .hint{color:var(--muted);align-self:center;font-size:.8rem}.input-icon{align-items:center;display:flex;position:relative}.input-icon .icon{color:var(--muted);pointer-events:none;position:absolute;left:9px}.input-icon input{padding-left:30px}.button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;min-height:36px;transition:background var(--ease), border-color var(--ease), color var(--ease);justify-content:center;align-items:center;gap:7px;padding:6px 13px;font-size:.87rem;font-weight:620;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-2);border-color:var(--ink-2);color:var(--ink)}.button.small{min-height:30px;padding:3px 10px;font-size:.82rem}.button.primary{background:var(--petrol);border-color:var(--petrol);color:#fff}.button.primary:hover{background:var(--petrol-strong);border-color:var(--petrol-strong);color:#fff}.button.ghost{color:var(--petrol);background:0 0;border-color:#0000}.button.ghost:hover{background:var(--petrol-soft)}.button.danger{color:var(--crit);border-color:var(--crit-line)}.button.danger:hover{background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}.button.danger.solid{background:var(--crit);border-color:var(--crit);color:#fff}.button:disabled{opacity:.5;cursor:not-allowed}.button .spinner{border-color:currentColor #fff6 #fff6;width:13px;height:13px}.button:not(.primary) .spinner{border-color:var(--petrol-soft);border-top-color:var(--petrol)}.link-button{all:unset;color:var(--petrol);cursor:pointer;text-underline-offset:.18em;font-weight:620;text-decoration:underline;text-decoration-thickness:1px}.link-button:hover{color:var(--petrol-strong)}.link-button:focus-visible{outline:2px solid var(--petrol);outline-offset:2px;border-radius:3px}.form{gap:14px;display:grid}.form label{color:var(--ink-2);gap:4px;font-size:.82rem;font-weight:600;display:grid}.form .help-text{color:var(--muted);font-size:.8rem;font-weight:400}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.feedback{align-items:flex-start;gap:8px;margin:0;font-size:.87rem;display:flex}.feedback .icon{margin-top:2px}.feedback.success{color:var(--good)}.feedback.error{color:var(--crit)}.secret-once{background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-md);gap:8px;margin:14px 0;padding:14px;display:grid}.secret{background:var(--surface);padding:7px 9px;font-size:.92rem;display:block}.danger-zone{border-color:var(--crit-line)}.danger-zone .card-header h2{color:var(--crit)}.confirm-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.confirm-inline span{color:var(--crit);font-size:.82rem}.section-title{font-size:1.2rem}.login{grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100vh;display:grid}.login-side{background:var(--graphite-950);color:var(--on-graphite-2);flex-direction:column;justify-content:space-between;gap:32px;padding:40px;display:flex;position:relative;overflow:hidden}.login-side .brand{padding:0;font-size:1.2rem}.login-claim{font-family:var(--font-display);letter-spacing:-.025em;color:var(--on-graphite);max-width:14ch;font-size:clamp(1.8rem,1.2rem + 2vw,2.7rem);font-weight:600;line-height:1.08}.login-bars{opacity:.9;position:absolute;bottom:0;right:-10px}.login-foot{color:var(--on-graphite-muted);max-width:40ch;font-size:.82rem;position:relative}.login-main{align-content:center;place-items:center;max-width:none;padding:32px 20px;display:grid}.login-card{gap:16px;width:min(380px,100%);display:grid}.login-card h1{font-size:1.7rem}.login-card label{color:var(--ink-2);gap:5px;font-size:.85rem;font-weight:600;display:grid}.login-card input{min-height:42px;font-size:.95rem}.login-card .button{min-height:44px;font-size:.95rem}.form-error{color:var(--crit);background:var(--crit-soft);border:1px solid var(--crit-line);border-radius:var(--r-sm);gap:8px;padding:9px 11px;font-size:.86rem;display:flex}.form-error .icon{margin-top:2px}.boot{place-items:center;min-height:100vh;padding:20px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.skeleton{background:var(--surface-3);animation:none}.spinner{border-top-color:var(--petrol);border-right-color:var(--petrol);animation:none}}@media (pointer:coarse){select,input:not([type=checkbox]),.button{min-height:44px}.segmented button{min-height:40px}.side-link{min-height:44px}.icon-button,.help-button{min-width:40px;min-height:40px}}.menu-toggle{display:none!important}@media (max-width:1240px){.grid-3-2{grid-template-columns:1fr}.events-layout{grid-template-columns:minmax(0,1fr)}.events-layout .detail-panel{max-height:none;position:static}}@media (max-width:1100px){.grid-2{grid-template-columns:1fr}.context{flex-basis:100%}}@media (max-width:900px){.shell{background:var(--paper);grid-template-columns:1fr}.sidebar{visibility:hidden;width:272px;transition:transform .18s cubic-bezier(.2,0,0,1);position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 0 40px #00000040}.sidebar.open{visibility:visible;transform:none}.menu-toggle{display:inline-grid!important}.backdrop{z-index:15;background:#15181c66;border:0;padding:0;position:fixed;inset:0}.topbar,.ribbon{padding-left:16px;padding-right:16px}main{padding:18px 16px 48px}}@media (max-width:720px){.env-segmented{display:none}.filters-toggle{justify-content:space-between;width:100%;display:inline-flex!important}.filters-toggle .filters-summary{color:var(--muted);text-overflow:ellipsis;font-weight:500;overflow:hidden}.filters.collapsed{display:none}.env-select{display:block}.filters{grid-template-columns:1fr 1fr;width:100%;display:grid}.filters .field.wide{grid-column:1/-1}.filters select,.filters input{width:100%;min-width:0}.range-inputs{grid-template-columns:1fr auto 1fr;display:grid}.topbar{position:static}.empty-hero{grid-template-columns:1fr;padding:20px}.empty-hero svg{width:96px;height:auto}h1{font-size:1.6rem}.page-question{font-size:1rem}.kpi-value{font-size:1.6rem}.login{grid-template-rows:auto 1fr;grid-template-columns:1fr}.login-side{padding:22px 20px}.login-claim,.login-bars,.login-foot{display:none}}@media (max-width:480px){.kpi-strip{grid-template-columns:1fr 1fr}.kpi{padding:12px 14px}.card{padding:14px 14px 16px}.card.flush>.card-header{padding:14px 14px 10px}thead th:first-child,tbody td:first-child,tbody th:first-child{padding-left:14px}th:last-child,td:last-child{padding-right:14px}}td code,th code{white-space:nowrap;overflow-wrap:normal}.detail-list code,.secret{white-space:normal;overflow-wrap:anywhere}.counter-list .sample{font-family:var(--font-ui);margin-left:4px;font-size:.75rem;font-weight:400}.inline-field{align-items:center;gap:8px;display:flex}.series-picker{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.series-chip{border:1px solid var(--line-strong);background:var(--surface);max-width:100%;min-height:30px;color:var(--muted);font:inherit;cursor:pointer;transition:border-color var(--ease), background var(--ease);border-radius:999px;align-items:center;gap:7px;padding:3px 10px;font-size:.8rem;display:inline-flex}.series-chip .swatch{border:1.5px dashed var(--line-strong);background:0 0;border-radius:3px;width:10px;height:10px}.series-chip[aria-pressed=true]{color:var(--ink);border-color:var(--petrol-line);background:var(--petrol-soft)}.series-chip[aria-pressed=true] .swatch{border:0}.series-chip:hover:not(:disabled){border-color:var(--petrol)}.series-chip:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}.series-chip:disabled{cursor:not-allowed;opacity:.55}.series-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.game-cell{align-items:center;gap:10px;min-width:190px;max-width:280px;display:flex}.game-cell>svg{flex:none}.game-link{overflow-wrap:anywhere;align-items:center;gap:4px;font-weight:650;display:inline-flex}.game-cell .tags{flex-wrap:wrap;gap:4px;display:flex}.game-cell .tags:empty{display:none}.portfolio-table td.num .row-sub{white-space:nowrap}.rate-cell{flex-direction:column;align-items:flex-end;gap:3px;display:inline-flex}.portfolio-signal .signal-head{align-items:center}.signal-title{align-items:center;gap:5px;font-weight:600;display:inline-flex}.signal-evidence{color:var(--ink-2);max-width:90ch;font-size:.85rem}.signal-link{align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;font-size:.85rem;font-weight:600;display:inline-flex}@media (pointer:coarse){.series-chip{min-height:40px}}
