:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-chrome:#0b0d10;--surface-0:#0f1114;--surface-1:#15181c;--surface-2:#1b1f24;--surface-3:#22262c;--bg:var(--surface-0);--bg-subtle:var(--surface-1);--ink:#e8eaed;--ink-2:#a4abb6;--ink-3:#868e9a;--ink-4:#666d78;--on-ink:#0f1114;--line:#ffffff14;--line-strong:#ffffff1f;--line-input:#666d78;--brand:#4daaff;--brand-a40:#4daaff66;--brand-a06:#4daaff0f;--brand-a08:#4daaff14;--accent:#5cb3ff;--kraft:#d9a06a;--hover:#ffffff0a;--active:#ffffff0d;--selected:var(--brand-a08);--good:#34c38f;--good-tint:#152d28;--warn:#f88828;--warn-dot:#f88828;--warn-tint:#342417;--bad:#f0575b;--bad-tint:#331c1f;--muted:#868e9a;--muted-tint:#222529;--bar-blue:#4daaff;--bar-orange:#f88828;--bar-green:#2fa866;--series-1:#4daaff;--series-2:#9aa7ff;--series-3:#5fc9c2;--series-4:#c9a6f2;--series-5:#868e9a;--scrim:#0009;--font:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fw-body:400;--fw-label:520;--fw-value:590;--track-tight:-.01em;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:28px;--fs-36:36px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:28px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-pill:999px;--ease:cubic-bezier(.2, .7, .3, 1);--t-fast:.15s;--t-drawer:.24s;--t-drawer-out:.18s;--t-ring:.3s;--side-w:240px;--rail-w:56px;--inset:8px;--content-max:1440px;--page-pad:32px;--topbar-h:60px;--row-h:40px;--row-h-compact:32px;--chart-h:180px;--chart-h-drawer:320px}@media (width<=767px){:root{--page-pad:16px}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-chrome:#f7f8fa;--surface-0:#fff;--surface-1:#f7f8fa;--surface-2:#fff;--surface-3:#fff;--ink:#111418;--ink-2:#4a515c;--ink-3:#646b76;--ink-4:#8a919c;--on-ink:#fff;--line:#e6e8ec;--line-strong:#d3d7de;--line-input:#8a919c;--accent:#0a72d6;--kraft:#c98a4b;--hover:#1114180a;--active:#1114180d;--good:#157a42;--good-tint:#e8f5ee;--warn:#a85a08;--warn-dot:#d0700a;--warn-tint:#fff3e6;--bad:#c42b30;--bad-tint:#fdecec;--muted:#646b76;--muted-tint:#f1f2f4;--bar-orange:#f88828;--bar-green:#1e8e4f;--series-1:#2f8fe8;--series-2:#6a78e0;--series-3:#2ba39b;--series-4:#a276d6;--series-5:#8a919c;--scrim:#11141852}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--surface-chrome);color:var(--ink);font-family:var(--font);font-size:var(--fs-14);font-weight:var(--fw-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.45}body{min-height:100vh;overflow-x:hidden}#root{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block}h1,h2,h3,h4{font-weight:var(--fw-value);letter-spacing:var(--track-tight);line-height:1.25}h1{font-size:var(--fs-20)}h2{font-size:var(--fs-16)}h3{font-size:var(--fs-14)}code,kbd,.mono{font-family:var(--mono);font-size:.92em}b,strong{font-weight:var(--fw-value)}::selection{background:var(--brand-a40)}.num,table,.tabular{font-variant-numeric:tabular-nums}:focus{outline:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-xs)}[id]{scroll-margin-top:calc(var(--topbar-h) + 8px)}.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}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.t-good{color:var(--good)}.t-warn{color:var(--warn)}.t-bad{color:var(--bad)}.t-neutral{color:var(--ink-2)}.dim{opacity:.55;transition:opacity var(--t-fast) var(--ease)}body.noscroll{overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-chrome:#fff;--surface-0:#fff;--surface-1:#f7f8fa;--surface-2:#fff;--surface-3:#fff;--ink:#111418;--ink-2:#4a515c;--ink-3:#646b76;--line:#e6e8ec;--line-strong:#d3d7de;--line-input:#8a919c;--good:#157a42;--warn:#a85a08;--bad:#c42b30;--good-tint:#e8f5ee;--warn-tint:#fff3e6;--bad-tint:#fdecec;--muted-tint:#f1f2f4}.kbd,.keycap,.side,.mobilebar,.ph-controls{display:none!important}}.wordmark{line-height:1.1;font-weight:var(--fw-value);letter-spacing:-.015em;flex-direction:column;display:inline-flex}.wm-name{color:var(--ink)}.wm-fit{color:var(--brand)}.wm-product{font-size:12px;font-weight:var(--fw-label);color:var(--ink-3);letter-spacing:var(--track-tight);margin-top:3px}.brand-lockup{align-items:center;gap:10px;display:inline-flex}.mark{flex:none}.btn{border-radius:var(--r-sm);height:32px;font-size:var(--fs-13);font-weight:var(--fw-label);letter-spacing:var(--track-tight);white-space:nowrap;color:var(--ink);border:1px solid var(--line-input);transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 12px;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover);text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.45}.btn:disabled:hover{background:0 0}.btn svg{flex:none}.btn-sm{height:28px;font-size:var(--fs-12);padding:0 10px}.btn-primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink);border-radius:var(--r-pill);padding:0 16px}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-primary:disabled:hover{background:var(--ink)}.btn-primary.btn-sm{padding:0 12px}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);color:var(--ink)}.btn-ghost:disabled:hover{background:0 0}.btn-destructive{color:var(--bad);border-color:var(--line-input);background:0 0}.btn-destructive:hover{background:var(--bad-tint);border-color:var(--bad)}.btn-icon{width:32px;padding:0}.btn-icon.btn-sm{width:28px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.control{background:var(--surface-1);border:1px solid var(--line-input);border-radius:var(--r-sm);min-width:0;height:32px;color:var(--ink);font-size:var(--fs-13);transition:border-color var(--t-fast) var(--ease);align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:relative}.control:hover{border-color:var(--ink-3)}.control:focus-within{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px}:is(.control:has(input:focus:not(:focus-visible)),.control:has(select:focus:not(:focus-visible))){outline:none}.control.is-invalid{border-color:var(--bad)}.control.is-disabled{opacity:.55}.control-sm{height:28px;font-size:var(--fs-12)}.control input,.control select{min-width:0;height:100%;color:inherit;font-size:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;flex:1}.control select option{background:var(--surface-3);color:var(--ink)}.control input::placeholder{color:var(--ink-3)}.control input[type=search]::-webkit-search-cancel-button{display:none}.control-ic,.control-affix{color:var(--ink-3);flex:none}.control-select{padding-right:30px}.control-select select{appearance:none;cursor:pointer;padding-right:2px}.control-chev{color:var(--ink-3);pointer-events:none;position:absolute;right:8px}.textarea{resize:vertical;background:var(--surface-1);border:1px solid var(--line-input);border-radius:var(--r-sm);width:100%;min-height:80px;color:var(--ink);font-size:var(--fs-13);padding:8px 10px}.textarea:focus-visible{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field .control,.field .textarea{width:100%}.field-wrap{flex-direction:column;gap:6px;display:flex}.field-lrow{align-items:center;gap:4px;min-height:16px;display:flex}.field-l{font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--track-tight);color:var(--ink-2)}.field-err{font-size:var(--fs-12);color:var(--bad)}.infotip{vertical-align:middle;border-radius:var(--r-pill);width:18px;height:18px;color:var(--ink-3);transition:color var(--t-fast) var(--ease);z-index:2;flex:none;justify-content:center;align-items:center;margin:-2px 0;display:inline-flex;position:relative}.infotip:hover,.infotip:focus-visible,.infotip.is-open{color:var(--ink-2)}.infotip:focus-visible{outline-offset:0}.tip-pop{z-index:90;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-md);width:max-content;max-width:min(280px,100vw - 16px);color:var(--ink);font-size:var(--fs-13);text-align:left;white-space:normal;line-height:1.4;font-weight:var(--fw-body);letter-spacing:0;pointer-events:auto;padding:10px 12px;position:fixed}.tip-pop.is-pinned{border-color:var(--line-input)}.tip-term{font-weight:var(--fw-value);font-size:var(--fs-13);color:var(--ink);margin-bottom:2px}.tip-def{color:var(--ink-2)}.tip-formula{border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:8px;padding-top:8px}.tip-meta{font-size:var(--fs-12);color:var(--ink-3);flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tip-target{color:var(--ink);font-weight:var(--fw-label)}.mlabel{align-items:center;gap:4px;display:inline-flex}.popover{z-index:90;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-md);max-width:calc(100vw - 16px);color:var(--ink);padding:14px 16px;position:fixed}.popover:focus{outline:none}.pill{border-radius:var(--r-pill);height:22px;font-size:var(--fs-12);font-weight:var(--fw-label);white-space:nowrap;color:var(--ink);background:var(--muted-tint);align-items:center;gap:6px;padding:0 8px;line-height:1;display:inline-flex}.pill-dot{background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.pill-good{background:var(--good-tint);color:var(--good)}.pill-good .pill-dot{background:var(--good)}.pill-warn{background:var(--warn-tint);color:var(--warn)}.pill-warn .pill-dot{background:var(--warn-dot)}.pill-bad{background:var(--bad-tint);color:var(--bad)}.pill-bad .pill-dot{background:var(--bad)}.pill-muted{background:var(--muted-tint);color:var(--ink-2)}.pill-muted .pill-dot{background:var(--muted)}.pill-info{background:var(--surface-1);color:var(--ink-2);border:1px solid var(--line)}.pill-info .pill-dot{background:var(--accent)}.pill-neutral{background:var(--surface-1);color:var(--ink-2);border:1px solid var(--line)}.pill-outline{color:var(--ink-2);border:1px solid var(--line-strong);background:0 0}.spill{border-radius:var(--r-pill);height:22px;font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--track-tight);white-space:nowrap;border:1px solid;align-items:center;gap:5px;padding:0 8px 0 7px;line-height:1;display:inline-flex}.spill svg{flex:none}.spill-good{color:var(--good);background:var(--good-tint);border-color:color-mix(in srgb, var(--good) 35%, transparent)}.spill-warn{color:var(--warn);background:var(--warn-tint);border-color:color-mix(in srgb, var(--warn-dot) 35%, transparent)}.spill-bad{color:var(--bad);background:var(--bad-tint);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.spill-muted{color:var(--ink-2);background:var(--muted-tint);border-color:color-mix(in srgb, var(--muted) 35%, transparent)}.spill-compact{justify-content:center;width:22px;padding:0}.delivery{font-size:var(--fs-12);color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.delivery-dot{background:var(--ink-4);border-radius:50%;flex:none;width:6px;height:6px}.delivery.is-active .delivery-dot{background:var(--ink-3)}.fresh{font-size:var(--fs-12);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.fresh-dot{background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.fresh-live .fresh-dot{background:var(--good)}.fresh-stale .fresh-dot{background:var(--warn-dot)}.fresh-error .fresh-dot{background:var(--bad)}.fresh-error .fresh-t{color:var(--bad)}.fresh-retry{color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-label);align-items:center;gap:4px;display:inline-flex}.count{border-radius:var(--r-pill);background:var(--surface-1);border:1px solid var(--line);min-width:20px;height:18px;font-size:11px;font-weight:var(--fw-label);color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.count-flag{background:var(--bad-tint);color:var(--bad);border-color:#0000}.keycaps{flex:none;gap:3px;display:inline-flex}.keycap,.kbd{min-width:16px;height:16px;font-family:var(--font);font-size:11px;font-weight:var(--fw-label);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-xs);flex:none;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:inline-flex}.score{flex-direction:column;flex:none;align-items:center;gap:4px;display:inline-flex}.score-btn{cursor:pointer;border-radius:var(--r-sm);padding:0}.score-btn:hover .score-track{stroke:var(--line-input)}.score-ring{display:inline-block;position:relative}.score-ring svg{position:absolute;inset:0}.score-track{stroke:var(--line-strong);transition:stroke var(--t-fast) var(--ease)}.score-arc{stroke:var(--muted);animation:ring-draw var(--t-ring) var(--ease) both}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-c)}}.tone-good .score-arc{stroke:var(--good)}.tone-warn .score-arc{stroke:var(--warn-dot)}.tone-bad .score-arc{stroke:var(--bad)}.score-in{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.score-num{font-weight:var(--fw-value);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.tone-muted .score-num{color:var(--ink-3)}.score-word{font-size:12px;font-weight:var(--fw-label);color:var(--ink-2);line-height:1}.score-96 .score-word{margin-top:4px}.sx{font-variant-numeric:tabular-nums;flex-direction:column;gap:10px;display:flex}.sx-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sx-title{font-size:var(--fs-13);font-weight:var(--fw-value)}.sx-score{font-size:var(--fs-20);font-weight:var(--fw-value);letter-spacing:-.02em}.sx-score small{font-size:var(--fs-13);font-weight:var(--fw-label);color:var(--ink-2);letter-spacing:0}.sx-rows{flex-direction:column;gap:8px;list-style:none;display:flex}.sx-row{font-size:var(--fs-12);grid-template-columns:1fr auto;grid-template-areas:"l p""bar bar""v v";gap:3px 8px;display:grid}.sx-l{color:var(--ink);font-weight:var(--fw-label);grid-area:l}.sx-p{color:var(--ink);font-weight:var(--fw-value);text-align:right;grid-area:p}.sx-p small{color:var(--ink-3);font-weight:var(--fw-body)}.sx-v{color:var(--ink-3);grid-area:v}.sx-bar{border-radius:var(--r-pill);background:var(--line-strong);grid-area:bar;height:4px;display:block;overflow:hidden}.sx-bar i{background:var(--brand);border-radius:var(--r-pill);height:100%;display:block}.sx-row.is-band .sx-bar{display:none}.sx-row.is-band .sx-l{color:var(--ink-2);font-weight:var(--fw-body)}.sx-gap{font-size:var(--fs-13);color:var(--ink-2)}.sx-note{font-size:var(--fs-12);color:var(--ink-3);border-top:1px solid var(--line);padding-top:8px}.macro{align-items:stretch;row-gap:var(--s3);flex-wrap:wrap;display:flex}.macro-item{padding:0 var(--s4);border-left:1px solid var(--line);flex-direction:column;gap:2px;min-width:0;display:flex}.macro-item:first-child,.macro-item.is-row-start{border-left:0;padding-left:0}.macro-v{font-weight:var(--fw-value);letter-spacing:-.015em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;line-height:1.15}.macro-l{font-size:var(--fs-12);color:var(--ink-2);font-weight:var(--fw-label);letter-spacing:var(--track-tight);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.macro-sm .macro-v{font-size:var(--fs-16)}.macro-sm .macro-item{padding:0 var(--s3)}.macro-sm .macro-item:first-child{padding-left:0}.macro-md .macro-v{font-size:var(--fs-20)}.macro-lg .macro-v{font-size:var(--fs-28)}.macro-d{margin-top:2px}.macro .t-good{color:var(--good)}.macro .t-bad{color:var(--bad)}.macro .t-warn{color:var(--warn)}.delta{font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.delta-v{font-weight:var(--fw-label);color:var(--ink-2)}.delta-v.t-good{color:var(--good)}.delta-v.t-bad{color:var(--bad)}.delta-v.t-neutral{color:var(--ink-2)}.delta-cmp{color:var(--ink-3)}.kpis{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.kpi{padding:var(--s4) var(--s5);text-align:left;border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:4px;min-width:0;margin-left:-1px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.kpi.is-selectable{cursor:pointer;transition:background-color var(--t-fast) var(--ease)}.kpi.is-selectable:hover{background:var(--hover)}.kpi.is-active{background:var(--surface-2)}.kpi.is-active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.kpi.is-active .kpi-l{color:var(--ink)}.kpi-hit{z-index:1;border-radius:0;position:absolute;inset:0}.kpi-hit:focus-visible{outline-offset:-2px}.kpi.is-selectable>:not(.kpi-hit){pointer-events:none}.kpi .infotip{pointer-events:auto}.kpi-l{font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--track-tight);color:var(--ink-2);align-items:center;gap:4px;display:inline-flex}.kpi-tag{font-size:11px;font-weight:var(--fw-label);color:var(--ink-3);border:1px solid var(--line-strong);border-radius:4px;padding:0 4px;line-height:16px}.kpi-v{font-size:var(--fs-28);font-weight:var(--fw-value);letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.12}.kpi-vrow{justify-content:space-between;align-items:flex-end;gap:8px;width:100%;display:flex}.kpi-spark{margin-bottom:6px}@container (width<=215px){.kpi-vrow{flex-direction:column;align-items:flex-start;gap:2px}.kpi-spark{margin-bottom:0}}.kpi-foot{align-items:center;gap:10px;min-height:18px;display:flex}.kpi-sub{font-size:var(--fs-12);color:var(--ink-3)}.kpi-card{flex-direction:column;gap:4px;display:flex}.facts{border:1px solid var(--ink);background:var(--surface-2);color:var(--ink);font-variant-numeric:tabular-nums;max-width:440px;padding:10px 12px 8px}.facts-title{letter-spacing:-.01em;padding-top:2px;font-size:20px;font-weight:700;line-height:1.1}:root:not([data-theme=light]) .facts-title{border-top:2px solid var(--kraft);padding-top:6px}.facts-serving{font-size:var(--fs-13);justify-content:space-between;gap:12px;margin-top:4px;display:flex}.facts hr{background:var(--ink);border:0;margin:4px 0}.facts-rule-8{height:8px}.facts-rule-4{height:4px}.facts-amount{font-size:var(--fs-12);font-weight:var(--fw-value)}.facts-hero{font-size:var(--fs-16);font-weight:var(--fw-value);justify-content:space-between;align-items:baseline;display:flex}.facts-hero-v{font-size:var(--fs-20);font-weight:700}.facts-row{border-top:1px solid var(--line-input);font-size:var(--fs-13);grid-template-columns:1fr auto 72px;align-items:baseline;gap:8px;padding:4px 0;display:grid}.facts-head{font-size:var(--fs-12);font-weight:var(--fw-value);border-top:0;padding-top:0}.facts-row.is-bold,.facts-row.is-bold .facts-l{font-weight:700}.facts-row.is-indent .facts-l{padding-left:16px}.facts-v,.facts-p{text-align:right;white-space:nowrap}.facts-p{font-weight:var(--fw-value)}.facts-foot{margin-top:4px;font-size:11px;line-height:1.4}.threebar{flex-direction:column;gap:8px;display:flex}.tb-row{font-size:var(--fs-13);grid-template-columns:48px 1fr 32px;align-items:center;gap:12px;display:grid}.tb-word{color:var(--ink-2);font-weight:var(--fw-label)}.tb-n{text-align:right;font-weight:var(--fw-value);font-variant-numeric:tabular-nums}.tb-track{height:8px;display:block}.tb-track i{border-radius:var(--r-pill);height:100%;display:block}.threebar-signal .tb-scale i{background:var(--good)}.threebar-signal .tb-hold i{background:var(--warn-dot)}.threebar-signal .tb-cut i{background:var(--bad)}.threebar-logo .tb-scale i{background:var(--bar-blue)}.threebar-logo .tb-hold i{background:var(--bar-orange)}.threebar-logo .tb-cut i{background:var(--bar-green)}.pbadge{background:var(--surface-2);border:1px solid var(--line-strong);font-size:11px;font-weight:var(--fw-value);color:var(--ink-2);letter-spacing:-.02em;border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.pbadge-16{border-radius:4px;width:16px;height:16px;font-size:9px}.pbadge-20{width:20px;height:20px}.pbadge-24{border-radius:6px;width:24px;height:24px;font-size:12px}.thumb{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink-3);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.tabs{gap:var(--s5);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.tab{height:40px;font-size:var(--fs-14);font-weight:var(--fw-label);color:var(--ink-2);white-space:nowrap;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 2px;display:inline-flex}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.tab:disabled{opacity:.5}.seg{background:var(--surface-1);border:1px solid var(--line-input);border-radius:var(--r-sm);gap:2px;padding:2px;display:inline-flex}.seg-opt{height:26px;font-size:var(--fs-13);font-weight:var(--fw-label);color:var(--ink-2);white-space:nowrap;transition:color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.seg-opt:hover{color:var(--ink)}.seg-opt.is-active{background:var(--surface-3);border-color:var(--line-strong);color:var(--ink)}.seg-sm .seg-opt{height:22px;font-size:var(--fs-12);padding:0 8px}.svt{gap:var(--s6);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.svt-tab{white-space:nowrap;height:40px;font-size:var(--fs-13);font-weight:var(--fw-label);color:var(--ink-2);transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 2px;display:inline-flex}.svt-tab:hover{color:var(--ink)}.svt-tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.svt-count{border-radius:var(--r-pill);min-width:22px;height:18px;font-size:11px;font-weight:var(--fw-value);font-variant-numeric:tabular-nums;background:var(--muted-tint);color:var(--ink-2);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.svt-count.tone-good{background:var(--good-tint);color:var(--good)}.svt-count.tone-warn{background:var(--warn-tint);color:var(--warn)}.svt-count.tone-bad{background:var(--bad-tint);color:var(--bad)}.dt{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-0);overflow:auto}.dt table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-13)}.dt th{z-index:3;background:var(--surface-1);border-bottom:1px solid var(--line);height:36px;font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--track-tight);color:var(--ink-2);white-space:nowrap;text-align:left;padding:0 12px;position:sticky;top:0}.dt-grouped th{vertical-align:bottom;height:46px;padding-bottom:8px}.dt-grp{color:var(--ink-3);margin-bottom:5px;font-size:11px;line-height:1;display:block}.dt-hc{align-items:center;gap:4px;display:inline-flex}.dt-hc.is-right{justify-content:flex-end}.dt td{height:var(--row-h);white-space:nowrap;vertical-align:middle;color:var(--ink);padding:0 12px}.dt-compact td{height:var(--row-h-compact)}.dt-compact th{height:32px}.dt-compact.dt-grouped th{height:42px}.dt .dt-divide{border-left:1px solid var(--line-input)}.dt .num{font-variant-numeric:tabular-nums}.dt tbody tr{transition:background-color var(--t-fast) var(--ease)}.dt tbody tr:hover{background:var(--hover)}.dt tr.is-click{cursor:pointer}.dt tr.is-selected{background:var(--selected)}.dt tr.is-selected td:first-child{position:relative}.dt tr.is-selected td:first-child:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.dt tr.is-click:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:0}.dt tfoot td{background:var(--surface-1);border-top:1px solid var(--line);font-weight:var(--fw-value);position:sticky;bottom:0}.dt-sort{font:inherit;color:inherit;height:100%;letter-spacing:inherit;align-items:center;gap:4px;display:inline-flex}.dt-sort svg{color:var(--ink-4)}.dt-sort:hover,.dt-sort.is-active,.dt-sort.is-active svg{color:var(--ink)}.dt td.is-editable:hover,.dt td .cell-edit:hover{outline:1px solid var(--line-input);outline-offset:-3px}.dt .t-good{color:var(--good)}.dt .t-bad{color:var(--bad)}.dt .t-warn{color:var(--warn)}.dt .est{color:var(--ink-3);margin-left:3px;font-size:11px}.scrim{z-index:50;background:var(--scrim);animation:fade-in var(--t-drawer) var(--ease);display:flex;position:fixed;inset:0}.scrim.is-closing{animation:fade-out var(--t-drawer-out) var(--ease) forwards}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.scrim-modal{padding:var(--s4);justify-content:center;align-items:center}.scrim-drawer{justify-content:flex-end}.modal{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-md);flex-direction:column;width:100%;max-height:calc(100vh - 32px);display:flex;overflow:hidden}.drawer{background:var(--surface-2);border-left:1px solid var(--line-strong);max-width:100%;height:100%;animation:drawer-in var(--t-drawer) var(--ease);flex-direction:column;display:flex}.drawer.is-closing{animation:drawer-out var(--t-drawer-out) var(--ease) forwards}@keyframes drawer-in{0%{opacity:0;transform:translate(32px)}}@keyframes drawer-out{to{opacity:0;transform:translate(32px)}}.overlay-head{align-items:flex-start;gap:var(--s2);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex}.overlay-head h2{font-size:var(--fs-16);font-weight:var(--fw-value);flex:1;min-width:0;padding-top:5px}.overlay-title{flex:1;min-width:0}.overlay-title h2{padding-top:5px}.overlay-sub{font-size:var(--fs-13);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.overlay-body{padding:var(--s5);flex:1;overflow:auto}.overlay-foot{justify-content:flex-end;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);border-top:1px solid var(--line);background:var(--surface-2);display:flex}.modal:focus,.drawer:focus{outline:none}@media (width<=767px){.drawer{width:100%!important}.scrim-modal{align-items:flex-end;padding:0}.modal{border-radius:var(--r-md) var(--r-md) 0 0;max-width:100%!important}}.pop-anchor{position:relative}.pop{z-index:40;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:220px;padding:4px;position:absolute;top:calc(100% + 4px)}.pop-label{font-size:var(--fs-12);font-weight:var(--fw-label);color:var(--ink-3);padding:6px 8px 4px}.pop-empty{font-size:var(--fs-13);color:var(--ink-3);padding:10px 8px}.menu-item{text-align:left;width:100%;min-height:32px;font-size:var(--fs-13);color:var(--ink-2);border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.menu-item:hover,.menu-item.is-active{background:var(--hover);color:var(--ink)}.menu-item.is-active{font-weight:var(--fw-label)}.scrim-palette{padding:12vh var(--s4) var(--s4);justify-content:center;align-items:flex-start}.palette{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;width:100%;max-width:600px;max-height:70vh;display:flex;overflow:hidden}.palette-in{border-bottom:1px solid var(--line);height:52px;color:var(--ink-3);align-items:center;gap:10px;padding:0 16px;display:flex}.palette-in input{min-width:0;height:100%;color:var(--ink);font-size:var(--fs-16);background:0 0;border:0;outline:0;flex:1}.palette-in input::placeholder{color:var(--ink-3)}.palette-list{flex:1;padding:6px;overflow:auto}.palette-group+.palette-group{margin-top:6px}.palette-label{font-size:11px;font-weight:var(--fw-label);color:var(--ink-3);letter-spacing:.01em;padding:8px 10px 4px}.palette-item{border-radius:var(--r-sm);min-height:36px;font-size:var(--fs-13);color:var(--ink-2);cursor:pointer;align-items:center;gap:10px;padding:6px 10px;display:flex}.palette-item.is-active{background:var(--hover);color:var(--ink)}:root[data-theme=light] .palette-item.is-active{background:var(--surface-1)}.palette-ic{width:20px;color:var(--ink-3);flex:none;justify-content:center;display:inline-flex}.palette-item.is-active .palette-ic{color:var(--accent)}.palette-t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-t small{color:var(--ink-3);font-size:var(--fs-12);margin-left:8px}.palette-keys{gap:4px;display:inline-flex}.palette-empty{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:32px 16px;display:flex}.palette-empty b{font-size:var(--fs-14);font-weight:var(--fw-label);color:var(--ink)}.palette-empty span{font-size:var(--fs-13);color:var(--ink-3)}.palette-foot{border-top:1px solid var(--line);color:var(--ink-3);gap:16px;padding:8px 16px;font-size:11px;display:flex}.palette-foot span{align-items:center;gap:4px;display:inline-flex}@media (width<=767px){.scrim-palette{padding:8px}.palette{max-height:80vh}.palette-foot{display:none}}.callout{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-1);min-width:0;display:flex}.callout-good{border-left-color:var(--good);background:var(--good-tint)}.callout-warn{border-left-color:var(--warn-dot);background:var(--warn-tint)}.callout-bad{border-left-color:var(--bad);background:var(--bad-tint)}.callout-text{flex:1;min-width:0}.callout-title{font-size:var(--fs-14);font-weight:var(--fw-value);color:var(--ink);align-items:center;gap:4px;display:flex}.callout-detail{font-size:var(--fs-13);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.callout-action{flex:none}.callout .infotip{color:var(--ink-2)}.toast{z-index:80;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line-strong);max-width:calc(100vw - 32px);color:var(--ink);font-size:var(--fs-13);font-weight:var(--fw-label);opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);align-items:center;gap:8px;padding:10px 14px;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,8px)}:root[data-theme=light] .toast{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.toast.is-on{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast-dot{background:var(--brand);border-radius:50%;flex:none;width:6px;height:6px}.toast-good .toast-dot{background:var(--good)}.toast-bad .toast-dot{background:var(--bad)}.skel{background:var(--surface-1);opacity:0;animation:1ms linear .2s forwards skel-in;display:block}@keyframes skel-in{to{opacity:1}}.skel-rows{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.skel-row{align-items:center;gap:24px;padding:0 12px;display:flex}.skel-row .skel{background:var(--surface-2)}.empty{justify-content:center;align-items:center;gap:var(--s3);padding:var(--s6);text-align:center;border:1px dashed var(--line-input);border-radius:var(--r-md);flex-direction:column;display:flex}.empty-ic{color:var(--ink-3)}.empty-copy{flex-direction:column;gap:2px;display:flex}.empty-text{font-size:var(--fs-14);font-weight:var(--fw-label);color:var(--ink);max-width:52ch}.empty-cap{font-size:var(--fs-13);color:var(--ink-3);max-width:52ch}.chart{width:100%}.chart canvas{display:block}.trend{flex-direction:column;gap:8px;min-width:0;display:flex}.legend{font-size:var(--fs-12);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;list-style:none;display:flex}.legend li{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.legend-sw{border-top:2px solid;flex:none;width:14px;height:0;display:inline-block}.legend-sw.is-dashed{border-top-style:dashed}.legend-sw.is-dotted{border-top:1.5px dotted}.legend-sw.is-area{background:currentColor;border:0;border-radius:2px;width:10px;height:10px}.legend-sw.is-other{background:var(--ink-4)}.spark{flex:none;overflow:visible}.spark-line{fill:none;stroke:var(--ink-3);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark-base{stroke:var(--ink-4);stroke-width:1px;stroke-dasharray:1 2.5}.spark-dot{fill:var(--ink-3)}.spark.tone-good .spark-dot{fill:var(--good)}.spark.tone-warn .spark-dot{fill:var(--warn-dot)}.spark.tone-bad .spark-dot{fill:var(--bad)}.sd{flex-direction:column;gap:6px;min-width:0;display:flex}.sd-plot{border-bottom:1px solid var(--line-input);align-items:stretch;gap:10px;display:flex}.sd-new{flex:0 0 44px;display:flex}.sd-bins{flex:1;gap:2px;min-width:0;display:flex}.sd-col{flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.sd-col i{background:var(--muted);border-radius:2px 2px 0 0;width:100%;display:block}button.sd-col{cursor:pointer}button.sd-col:hover i{opacity:.8}.sd-col.tone-good i{background:var(--good)}.sd-col.tone-warn i{background:var(--warn-dot)}.sd-col.tone-bad i{background:var(--bad)}.sd-col.tone-muted i{background:var(--ink-4)}.sd-axis{font-size:var(--fs-12);color:var(--ink-3);gap:10px;display:flex}.sd-axis .sd-bins{gap:0}.sd-word,.sd-band{white-space:nowrap;text-overflow:ellipsis;flex-direction:column;gap:1px;line-height:1.3;display:flex;overflow:hidden}.sd-band{border-left:1px solid var(--line-strong);flex-basis:0;min-width:0;padding-left:6px}.sd-band:first-child{border-left:0;padding-left:0}.sd-axis b{color:var(--ink);font-weight:var(--fw-value)}.sd-band.tone-good b{color:var(--good)}.sd-band.tone-warn b{color:var(--warn)}.sd-band.tone-bad b{color:var(--bad)}.pace{flex-direction:column;gap:6px;min-width:0;display:flex}.pace-head{font-size:var(--fs-12);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pace-l{color:var(--ink-2);font-weight:var(--fw-label);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pace-v{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.pace-v b{color:var(--ink);font-weight:var(--fw-value)}.pace-track{border-radius:var(--r-pill);background:var(--line-strong);height:8px;position:relative}.pace-sm .pace-track{height:4px}.pace-fill{background:var(--kraft);border-radius:var(--r-pill);position:absolute;top:0;bottom:0;left:0}.pace-over{background:var(--bad);border-radius:0 var(--r-pill) var(--r-pill) 0;position:absolute;top:0;bottom:0}.pace-fill,.pace-over,.pace-tick,.pace-fc{font-style:normal}.pace-tick{background:var(--ink-4);width:1px;position:absolute;top:-3px;bottom:-3px;transform:translate(-.5px)}.pace-tick.is-full{background:var(--ink-2)}.pace-sm .pace-tick{top:-2px;bottom:-2px}.pace-fc{border-left:2px dotted var(--ink);width:0;position:absolute;top:-4px;bottom:-4px;transform:translate(-1px)}.pace-fc.is-over{border-left-color:var(--bad)}.pace-up .pace-over{background:var(--good)}.pace-up .pace-fc.is-over{border-left-color:var(--good)}.pace-scale{height:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10px;position:relative}.pace-scale span{line-height:12px;position:absolute;top:0;transform:translate(-50%)}.pace-scale span:last-child{transform:translate(-100%)}.pace-sm .pace-scale{display:none}.pace-cap{font-size:var(--fs-12);color:var(--ink-3)}.share{flex-direction:column;gap:10px;min-width:0;display:flex}.share-bar{border-radius:3px;gap:2px;height:10px;display:flex;overflow:hidden}.share-bar i{min-width:3px;display:block}.share-bar i.is-other{background:var(--ink-4)}.share-legend{font-size:var(--fs-12);color:var(--ink-2);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 16px;list-style:none;display:grid}.share-legend li{align-items:center;gap:6px;min-width:0;display:flex}.share-l{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.share-legend b{color:var(--ink);font-weight:var(--fw-value);font-variant-numeric:tabular-nums}.share-v{color:var(--ink-3);font-variant-numeric:tabular-nums}.wf{min-width:0;display:flex}.wf-plot{flex:1;align-items:stretch;gap:0;min-width:0;padding-top:18px;display:flex}.wf-col{flex-direction:column;flex:1;min-width:0;display:flex}.wf-area{border-bottom:1px solid var(--line-input);flex:1;position:relative}.wf-bar{border-radius:2px;font-style:normal;position:absolute;left:12%;right:12%}.wf-bar.is-total{background:var(--brand)}.wf-bar.is-down{background:var(--ink-4)}.wf-bar.is-up{background:var(--good)}.wf-v{font-size:11px;font-weight:var(--fw-value);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;padding-bottom:3px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.wf-bar.is-down .wf-v{color:var(--ink-2)}.wf-link{border-top:1px dotted var(--ink-4);z-index:0;height:0;position:absolute;left:88%;right:-12%}.wf-l{color:var(--ink-3);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:6px 2px 0;font-size:11px;overflow:hidden}.funnel{flex-direction:column;gap:8px;min-width:0;display:flex}.fn-row{font-size:var(--fs-13);grid-template-columns:minmax(96px,160px) 1fr 56px 52px;align-items:center;gap:10px;display:grid}.fn-l{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fn-track{height:14px;display:block}.fn-track i{background:var(--brand);border-radius:2px;height:100%;display:block}.fn-v{text-align:right;font-weight:var(--fw-value);font-variant-numeric:tabular-nums}.fn-r{text-align:right;font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums}.fn-track.is-row{background:var(--surface-1);border-radius:2px}.fn-r.is-weak{color:var(--ink);font-weight:var(--fw-value)}@media (width<=767px){.fn-row{grid-template-columns:88px 1fr 48px 44px;gap:8px}}.multiples{gap:var(--s4);grid-template-columns:repeat(auto-fit, minmax(max(200px, calc((100% - 2 * var(--s4)) / 3)), 1fr));display:grid}.multiple{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-0);flex-direction:column;gap:10px;min-width:0;display:flex}.multiple-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.multiple-title{font-size:var(--fs-12);font-weight:var(--fw-label);color:var(--ink-2);flex-basis:100%;align-items:center;gap:4px;display:inline-flex}.multiple-v{font-size:var(--fs-20);font-weight:var(--fw-value);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ph{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.ph-main{min-width:0}.ph-titlerow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ph-1 .ph-title{font-size:var(--fs-20);font-weight:var(--fw-value)}.ph-2 .ph-title{font-size:var(--fs-16);font-weight:var(--fw-value)}.ph-3 .ph-title{font-size:var(--fs-14);font-weight:var(--fw-value)}.ph-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-0);padding:var(--s5);min-width:0}.panel-flush{padding:0}.panel-flush>.dt{border:0;border-radius:0}.panel-head{margin-bottom:var(--s4)}.panel-flush>.panel-head{padding:var(--s4) var(--s5) 0}.avatar{background:var(--surface-2);border:1px solid var(--line-strong);width:28px;height:28px;font-size:11px;font-weight:var(--fw-value);color:var(--ink-2);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.drawer .facts{max-width:none}.app{background:var(--surface-chrome);min-height:100vh;display:flex}.side{height:100vh;width:var(--side-w);background:var(--surface-chrome);transition:width var(--t-drawer) var(--ease);flex-direction:column;flex:none;padding:28px 0;display:flex;position:sticky;top:0}.side-brand{justify-content:space-between;align-items:center;gap:8px;min-height:32px;margin-bottom:28px;padding:0 12px 0 20px;display:flex}.side-railbtn{color:var(--ink-3)}.side-mark{display:inline-flex}.side-scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex:1;gap:24px;min-height:0;padding:0 12px;display:flex;overflow:hidden auto}.side-scroll:hover{scrollbar-color:var(--ink-4) transparent}.side-label{width:100%;height:20px;font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--track-tight);color:var(--ink-3);border-radius:var(--r-xs);align-items:center;gap:4px;margin-bottom:6px;padding:0 8px;display:flex}.side-label svg{opacity:0;transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease)}.side-label:hover{color:var(--ink-2)}.side-label:hover svg,.side-label:focus-visible svg,.side-group.is-folded .side-label svg{opacity:1}.side-group.is-folded .side-label svg{transform:rotate(-90deg)}.side-group.is-folded .side-label{margin-bottom:0}.side-nav{flex-direction:column;gap:2px;display:flex}.side-item{border-radius:var(--r-sm);height:36px;color:var(--ink-2);font-size:var(--fs-13);font-weight:var(--fw-label);letter-spacing:var(--track-tight);transition:background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex;position:relative}.side-item:hover{color:var(--ink);background:var(--hover);text-decoration:none}.side-item svg{color:var(--ink-3);transition:color var(--t-fast) var(--ease);flex:none}.side-item:hover svg{color:var(--ink-2)}.side-item.is-active{background:var(--active);color:var(--ink)}.side-item.is-active svg{color:var(--accent)}.side-item:focus-visible{outline-offset:-2px}.side-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-item .count{border-color:var(--line-strong);background:0 0}.side-item .count-flag{background:var(--bad-tint);border-color:#0000}.side-flag{background:var(--bad);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:9px}.pacing{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);background:0 0;flex-direction:column;gap:6px;margin:16px 12px 0;padding:12px;display:flex}.pacing:hover{border-color:var(--line-strong);background:var(--hover)}.pacing .pace-l{color:var(--ink);font-size:var(--fs-12)}.pacing .pace-head{flex-direction:column;gap:2px}.pacing-mini{border-radius:var(--r-pill);background:var(--line-strong);align-items:flex-end;width:6px;height:36px;margin:0 auto;display:flex;overflow:hidden}.pacing-mini i{background:var(--kraft);width:100%;display:block}.side-user{align-items:center;gap:var(--s2);min-height:32px;margin-top:12px;padding:0 12px 0 20px;display:flex}.side-who{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.side-who b{font-size:var(--fs-13);font-weight:var(--fw-value);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-who span{font-size:var(--fs-12);color:var(--ink-3)}.side-userbtn{color:var(--ink-3)}@media (height<=960px) and (width>=1024px){.side-scroll{gap:16px}.side-label{margin-bottom:4px}.side-nav{gap:1px}.pacing{margin-top:8px;padding:10px 12px}.pacing .pace-cap{display:none}}.side.is-rail{width:var(--rail-w)}.side.is-rail .side-brand{flex-direction:column;gap:12px;padding:0}.side.is-rail .side-scroll{gap:16px;padding:0 10px}.side.is-rail .side-label{background:var(--line);color:#0000;pointer-events:none;justify-content:center;height:1px;margin:0 6px 10px;padding:0;overflow:hidden}.side.is-rail .side-group:first-child .side-label{display:none}.side.is-rail .side-item{justify-content:center;padding:0}.side.is-rail .side-text,.side.is-rail .side-item .count{display:none}.side.is-rail .pacing{margin:16px 10px 0;padding:10px 0}.side.is-rail .side-user{flex-direction:column;gap:4px;padding:0}.side.is-rail .side-who{display:none}.rail-tip{z-index:95;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);height:28px;font-size:var(--fs-12);font-weight:var(--fw-label);color:var(--ink);white-space:nowrap;pointer-events:none;align-items:center;gap:10px;padding:0 10px;display:inline-flex;position:fixed}.rail-tip-k{gap:3px;display:inline-flex}.mobilebar,.side-scrim{display:none}.canvas{min-width:0;margin:var(--inset) var(--inset) var(--inset) 0;height:calc(100vh - 2 * var(--inset));background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;flex:1;display:flex;overflow:auto}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--s4);min-height:var(--topbar-h);padding:12px var(--page-pad);background:var(--surface-0);border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:var(--s3);min-width:0;display:flex}.topbar-title h1{font-size:var(--fs-20);font-weight:var(--fw-value);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-controls{align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.topbar-actions{display:contents}.topbar-actions:empty{display:none}.range-btn .range-sub{color:var(--ink-3);font-weight:var(--fw-body)}.range-pop{grid-template-columns:160px 200px;gap:4px;padding:4px;display:grid;right:0}.range-presets{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding-right:4px;display:flex}.range-custom{gap:var(--s2);flex-direction:column;padding:4px 8px 8px;display:flex}.range-custom .control{width:100%}.platform-filter{align-items:center;display:inline-flex;position:relative}.platform-filter .pf-badge{z-index:1;pointer-events:none;position:absolute;left:8px}.platform-filter .control.has-badge{padding-left:30px}.platform-filter .control{min-width:132px}.compare .control{min-width:0}.kbtn{border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--surface-1);min-width:150px;height:32px;color:var(--ink-3);font-size:var(--fs-13);transition:border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);align-items:center;gap:8px;padding:0 6px 0 10px;display:inline-flex}.kbtn:hover{border-color:var(--ink-3);color:var(--ink-2)}.kbtn-t{text-align:left;flex:1}.kbtn.is-compact{justify-content:center;width:32px;min-width:0;padding:0}.sync{font-size:var(--fs-12);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.sync-dot{background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.sync-dot.tone-good{background:var(--good)}.sync-dot.tone-warn{background:var(--warn-dot)}.sync-dot.tone-bad{background:var(--bad)}.page{width:100%;max-width:var(--content-max);padding:var(--s6) var(--page-pad) var(--s16)}.view{gap:var(--s6);flex-direction:column;min-width:0;display:flex}.boot{justify-content:center;align-items:center;gap:var(--s2);background:var(--surface-chrome);min-height:100vh;display:flex}.boot-text{font-size:var(--fs-13);color:var(--ink-3);margin-left:var(--s3);padding-left:var(--s3);border-left:1px solid var(--line)}@media (width<=1439px){.range-btn .range-sub{display:none}}@media (width<=1279px){.kbtn{min-width:0}.kbtn .kbtn-t{display:none}}@media (width<=1023px){.app{flex-direction:column}.mobilebar{z-index:30;align-items:center;gap:var(--s2);height:52px;padding:0 var(--s3);background:var(--surface-chrome);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.mobilebar-end{margin-left:auto}.side,.side.is-rail{z-index:60;height:100%;width:min(var(--side-w), 86vw);visibility:hidden;border-right:1px solid var(--line-strong);transition:transform var(--t-drawer) var(--ease), visibility 0s linear var(--t-drawer);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.side.is-open{visibility:visible;transition:transform var(--t-drawer) var(--ease);transform:none}.side-railbtn{display:none}.side-scrim{z-index:55;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-drawer) var(--ease);display:block;position:fixed;inset:0}.side-scrim.is-open{opacity:1;pointer-events:auto}.canvas{border:0;border-radius:0;height:auto;margin:0;overflow:visible}.topbar{top:52px}.app.is-rail .side-text{display:inline}}@media (width<=767px){.topbar{align-items:stretch;gap:var(--s3);padding-top:var(--s3);padding-bottom:var(--s3);flex-direction:column}.topbar-controls{justify-content:flex-start}.topbar-controls .kbtn,.compare{display:none}.platform-filter .control{min-width:0}.range-pop{grid-template-columns:1fr;width:calc(100vw - 32px);left:0;right:auto}.range-presets{border-right:0;border-bottom:1px solid var(--line);padding:0 0 4px}.page{padding-top:var(--s4)}}.login{justify-content:center;align-items:center;gap:var(--s5);min-height:100vh;padding:var(--s4);background:var(--surface-chrome);flex-direction:column;display:flex}.login-card{width:100%;max-width:380px;padding:var(--s8);background:var(--surface-1);border:1px solid var(--line);border-radius:12px}.login-brand{margin-bottom:var(--s8);align-items:center;gap:10px;display:flex}.login-steps{margin-bottom:var(--s5);gap:4px;display:flex}.login-steps i{border-radius:var(--r-pill);background:var(--line-strong);flex:1;height:2px}.login-steps i.is-on{background:var(--brand)}.login-form{gap:var(--s2);flex-direction:column;display:flex}.login-form h1{font-size:var(--fs-20);font-weight:var(--fw-value);margin-bottom:var(--s3)}.login-sub{font-size:var(--fs-13);color:var(--ink-2);margin:-8px 0 var(--s3)}.login-sub b{color:var(--ink);font-weight:var(--fw-label)}.login-form .control{background:var(--surface-0);width:100%;height:40px}.login-otp input{font-family:var(--mono);letter-spacing:.3em;font-size:18px}.login-otp input::placeholder{font-family:var(--font);font-size:var(--fs-14);letter-spacing:0}.login-submit{width:100%;height:40px;margin-top:var(--s3);font-size:var(--fs-14)}.login-row{justify-content:space-between;gap:var(--s2);margin-top:var(--s2);margin-left:-10px;margin-right:-10px;display:flex}.login-foot{font-size:var(--fs-12);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}@media (width<=767px){.login{padding-top:var(--s12);justify-content:flex-start}.login-card{padding:var(--s6) var(--s5)}}.btn.pri{background:var(--ink);color:var(--on-ink);border-color:var(--ink);border-radius:var(--r-pill);padding:0 16px}.btn.pri:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.ic{background:0 0;border-color:#0000;width:32px;padding:0}.btn.sm{height:28px;font-size:var(--fs-12);padding:0 10px}.btn .i{flex:none}.legacy-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.ph-desc,.field-hint{display:none}.gallery{background:var(--surface-0);min-height:100vh}.gal-head{z-index:20;align-items:center;gap:var(--s4);padding:var(--s3) var(--page-pad);background:var(--surface-chrome);border-bottom:1px solid var(--line);font-size:var(--fs-13);flex-wrap:wrap;display:flex;position:sticky;top:0}.gal-title{font-weight:var(--fw-value);padding-left:var(--s4);border-left:1px solid var(--line)}.gal-nav{gap:var(--s3);flex-wrap:wrap;display:flex}.gal-nav a{color:var(--ink-2)}.gal-nav a:hover{color:var(--ink);text-decoration:none}.gal-main{max-width:1200px;padding:var(--s8) var(--page-pad) var(--s16);gap:var(--s12);flex-direction:column;margin:0 auto;display:flex}.gal-section{gap:var(--s4);flex-direction:column;scroll-margin-top:72px;display:flex}.gal-body{gap:var(--s5);flex-direction:column;display:flex}.gal-row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.gal-gap{margin-top:var(--s4)}.gal-sep{background:var(--line);width:1px;margin:0 var(--s2);align-self:stretch}.gal-stack{gap:var(--s3);flex-direction:column;display:flex}.gal-grid{gap:var(--s4);display:grid}.gal-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start}.gal-grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.gal-name{align-items:center;gap:var(--s2);display:inline-flex}.gal-name-t{flex-direction:column;line-height:1.25;display:inline-flex}.gal-hint{font-size:var(--fs-12);color:var(--ink-3);align-items:center;gap:4px;display:inline-flex}.gallery .facts{max-width:none}@media (width<=767px){.gal-nav{display:none}.gal-main{gap:var(--s10)}}
