@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.20g3-bbbhdq0_.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2cxlyxah-fd35.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.0mkxydxl0e43d.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1rx9vjatjkdar.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.2kcj5i_8uff48.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.3gdi_th3seg1n.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0gsaq8ukbf34m.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}
@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bitter-cyrillic-ext-600-normal.27hwhxyi17-so.woff2)format("woff2"),url(../media/bitter-cyrillic-ext-600-normal.1zqm1giajpe7j.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bitter-cyrillic-600-normal.1lkbt_d1_7f7s.woff2)format("woff2"),url(../media/bitter-cyrillic-600-normal.3120jf0o3htz-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bitter-vietnamese-600-normal.06oje7wqniidd.woff2)format("woff2"),url(../media/bitter-vietnamese-600-normal.29uj3fsr5vivy.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:Bitter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bitter-latin-ext-600-normal.24ci5rsahzszd.woff2)format("woff2"),url(../media/bitter-latin-ext-600-normal.3i5qhu2884s-y.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:Bitter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bitter-latin-600-normal.151si_90th90a.woff2)format("woff2"),url(../media/bitter-latin-600-normal.0v283h4jaxw9i.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:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-cyrillic-ext-700-normal.1r01hbeuo59r0.woff2)format("woff2"),url(../media/bitter-cyrillic-ext-700-normal.133-rc2ch_lct.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-cyrillic-700-normal.0td0svihp1834.woff2)format("woff2"),url(../media/bitter-cyrillic-700-normal.0zuur5kisbpml.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-vietnamese-700-normal.01kukodtmpbqq.woff2)format("woff2"),url(../media/bitter-vietnamese-700-normal.1r67lzs7k80ot.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:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-latin-ext-700-normal.1pfd8ivvxz5dp.woff2)format("woff2"),url(../media/bitter-latin-ext-700-normal.2lto71kt7hala.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:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-latin-700-normal.3i8g57cqnm8e4.woff2)format("woff2"),url(../media/bitter-latin-700-normal.2t_o14-6wwepk.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{--t-brand:#00acab;--t-brand-ink:#007a79;--t-brand-soft:#e2f4f4;--t-accent:#ff2b5d;--t-accent-soft:#ffe9ee;--t-warn:#ff8e3c;--t-warn-soft:#fff1e5;--t-good:#1f8a5d;--t-good-soft:#e6f4ec;--t-bg:#f7f8f8;--t-card:#fff;--t-line:#e3e5e6;--t-line-strong:#d2d5d7;--t-line-soft:#eef0f1;--t-ink:#323335;--t-ink-strong:#191719;--t-muted:#74777a;--t-s1:4px;--t-s2:8px;--t-s3:12px;--t-s4:16px;--t-s5:24px;--t-s6:32px;--t-s7:48px;--t-r-s:6px;--t-r-m:8px;--t-r-l:12px;--t-font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--t-font-head:"Bitter", Georgia, serif;--t-font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--t-fs-xxs:10.5px;--t-fs-xs:11.5px;--t-fs-s:12.5px;--t-fs-sm:13px;--t-fs-m:14px;--t-fs-l:16px;--t-fs-xl:20px;--t-fs-h1:24px;--t-fs-xxl:26px;--t-off:.5;--t-ctl-s:28px;--t-ctl-m:36px;--t-ctl-l:44px;--t-sidebar:232px;--t-sidebar-min:56px;--t-topbar:52px;--t-content-max:1120px}
:root{--bg:var(--t-bg);--panel:var(--t-card);--ink:var(--t-ink);--muted:var(--t-muted);--line:var(--t-line);--line-soft:var(--t-line-soft);--accent:var(--t-brand);--accent-ink:var(--t-brand-ink);--accent-soft:var(--t-brand-soft);--good:var(--t-good);--good-soft:var(--t-good-soft);--bad:var(--t-accent);--bad-soft:var(--t-accent-soft);--warn:var(--t-warn);--warn-soft:var(--t-warn-soft);--mono:var(--t-font-mono);--sans:var(--t-font);--serif:var(--t-font-head)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);font-size:var(--t-fs-m);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;padding:0 0 64px;line-height:1.45}.wrap{max-width:1320px;margin:0 auto;padding:0 24px}.logo{border-radius:var(--t-r-m);background:radial-gradient(circle at 32% 30%,#38b3c0 0%,var(--accent) 42%,var(--accent-ink) 100%);flex:none;width:38px;height:38px;box-shadow:inset 0 1px #ffffff80,0 6px 14px -6px #0c7c8c99}body:has(.side){padding-left:var(--t-sidebar)}html:has(#side-mini:checked) body:has(.side){padding-left:var(--t-sidebar-min)}.side{width:var(--t-sidebar);z-index:30;background:var(--panel);border-right:1px solid var(--line);flex-direction:column;transition:width .12s;display:flex;position:fixed;top:0;bottom:0;left:0}html:has(#side-mini:checked) .side{width:var(--t-sidebar-min)}.side-brand{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 12px 10px;display:flex}.side-home{color:var(--ink);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.side .logo{border-radius:var(--t-r-m);width:28px;height:28px}.side-name{flex-direction:column;min-width:0;line-height:1.15;display:flex}.side-name b{font-family:var(--serif);font-size:var(--t-fs-m);letter-spacing:-.2px;white-space:nowrap}.side-name i{font-style:normal;font-size:var(--t-fs-xxs);color:var(--muted);white-space:nowrap;font-weight:600}.side-fold{color:var(--muted);cursor:pointer}.side-fold:hover{color:var(--ink)}.side-scroll{flex:1;padding:8px 8px 4px;overflow:hidden auto}.sgroup{padding-bottom:6px}.scap{font-size:var(--t-fs-xxs);color:var(--muted);letter-spacing:.6px;text-transform:uppercase;padding:9px 8px 4px;font-weight:800}.sitem{border-radius:var(--t-r-m);font-size:var(--t-fs-sm);color:var(--ink);white-space:nowrap;align-items:center;gap:10px;margin-bottom:1px;padding:7px 9px;font-weight:600;text-decoration:none;display:flex}.sitem:hover{background:var(--line-soft)}.sitem.on{background:var(--accent-soft);color:var(--accent-ink)}.sitem svg{opacity:.7;flex:none}.sitem.on svg{opacity:1}.sbadge{font-family:var(--mono);font-size:var(--t-fs-xxs);background:var(--bad-soft);color:var(--bad);border-radius:var(--t-r-m);margin-left:auto;padding:1px 7px;font-weight:800}.side-foot{border-top:1px solid var(--line);margin-top:auto;padding:8px}.side-user{align-items:center;gap:9px;padding:8px 9px 2px;display:flex}.ava{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-ink);font-weight:800;font-size:var(--t-fs-s);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.side-who{flex-direction:column;min-width:0;line-height:1.2;display:flex}.side-who b{font-size:var(--t-fs-s);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.side-who i{font-style:normal;font-size:var(--t-fs-xxs);color:var(--muted)}.side-out{font-family:var(--sans);font-size:var(--t-fs-xs);color:var(--muted);border:1px solid var(--line);border-radius:var(--t-r-s);cursor:pointer;background:0 0;margin-left:auto;padding:4px 9px;font-weight:600}.side-out:hover{border-color:var(--bad);color:var(--bad)}.cat-box{border-bottom:1px solid var(--line);padding:6px 10px 2px}.cat-box .scap{padding:2px 0 4px}.cat-switch{border:1px solid var(--line);border-radius:var(--t-r-m);display:flex;overflow:hidden}.cat-switch a{text-align:center;font-size:var(--t-fs-s);color:var(--muted);flex:1;padding:6px 10px;font-weight:600;text-decoration:none}.cat-switch a:hover{color:var(--ink)}.cat-switch a.on{background:var(--accent);color:#fff}html:has(#side-mini:checked) .side-name{display:none}html:has(#side-mini:checked) .sitem span{display:none}html:has(#side-mini:checked) .sbadge{display:none}html:has(#side-mini:checked) .side-who{display:none}html:has(#side-mini:checked) .side-out{display:none}html:has(#side-mini:checked) .cat-box{display:none}html:has(#side-mini:checked) .scap{visibility:hidden;height:10px;padding:0}html:has(#side-mini:checked) .side-brand{padding:12px 8px 10px}html:has(#side-mini:checked) .side-fold svg{transform:rotate(180deg)}html:has(#side-mini:checked) .side-user{padding:8px}.side-cb,.topbar,.side-scrim{display:none}@media (max-width:900px){body:has(.side){padding-left:0}html:has(#side-mini:checked) body:has(.side){padding-left:0}.topbar{z-index:25;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;height:52px;padding:0 14px;display:flex;position:sticky;top:0}.topbar-brand{color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:flex}.topbar-brand .logo{border-radius:var(--t-r-m);width:26px;height:26px}.topbar-brand b{font-family:var(--serif);font-size:var(--t-fs-m)}.side-burger{color:var(--muted);cursor:pointer;border:1px solid var(--line);border-radius:var(--t-r-m);justify-content:center;align-items:center;padding:6px;display:inline-flex}.side-burger:hover{color:var(--ink)}.side{width:var(--t-sidebar);transition:transform .16s;transform:translate(-100%)}html:has(#side-mini:checked) .side{width:var(--t-sidebar);transition:transform .16s;transform:translate(-100%)}.side-cb:checked~.side{transform:none;box-shadow:0 0 40px -10px #00000059}.side-cb:checked~.side-scrim{z-index:28;background:#10182059;display:block;position:fixed;inset:0}.side-fold{display:none}html:has(#side-mini:checked) .side-name{display:revert}html:has(#side-mini:checked) .sitem span{display:revert}html:has(#side-mini:checked) .sbadge{display:revert}html:has(#side-mini:checked) .side-who{display:revert}html:has(#side-mini:checked) .side-out{display:revert}html:has(#side-mini:checked) .cat-box{display:revert}html:has(#side-mini:checked) .scap{visibility:visible;height:auto;padding:9px 8px 4px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;padding-top:26px;display:flex}.page-head h1{font-family:var(--serif);font-size:var(--t-fs-h1);letter-spacing:-.3px;margin:0;font-weight:700}.page-sub{font-size:var(--t-fs-s);color:var(--muted);margin-top:5px}.page-sub b{color:var(--ink);font-weight:600}.page-sub a{color:var(--accent-ink);font-weight:600;text-decoration:none}.page-sub a:hover{text-decoration:underline}.run-warn{color:var(--warn);cursor:help;font-weight:600}.page-actions{align-items:center;gap:10px;display:flex}.sync{align-items:center;gap:10px;display:inline-flex}.syncbtn{font-family:var(--sans);font-size:var(--t-fs-s);color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--t-r-m);cursor:pointer;align-items:center;gap:6px;padding:7px 13px;font-weight:600;display:inline-flex}.syncbtn:hover:not(:disabled){background:var(--accent-ink)}.syncbtn:disabled{opacity:var(--t-off);cursor:default}.syncmsg{font-size:var(--t-fs-xs);color:var(--muted)}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.stack{flex-direction:column;gap:28px;padding-top:22px;display:flex}.panel-body{padding:16px 18px}.panel-link{font-size:var(--t-fs-s);color:var(--accent-ink);margin-left:auto;font-weight:600;text-decoration:none}.panel-link:hover{text-decoration:underline}.legend-pad{padding:16px 18px}.eyebrow{font-size:var(--t-fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px;font-weight:650}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);padding:16px 17px}.kpi .lab{font-size:var(--t-fs-s);color:var(--muted);font-weight:500}.kpi .val{font-family:var(--mono);font-size:var(--t-fs-xxl);letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin-top:9px;font-weight:600}.kpi .note{font-size:var(--t-fs-xs);color:var(--muted);margin-top:5px}.kpi .v{font-family:var(--mono);font-size:var(--t-fs-xxl);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.kpi .v.bad{color:var(--bad)}.kpi .v.good{color:var(--good)}.kpi .v.warn{color:var(--warn)}.kpi .l{font-size:var(--t-fs-s);color:var(--muted);margin-top:6px;line-height:1.35}.kpi.flag .val{color:var(--bad)}.kpi.good .val{color:var(--good)}.kpi-why{font-family:var(--sans);font-size:var(--t-fs-s);color:var(--muted);max-width:76ch;margin:12px 0 0;line-height:1.5}.kpi-why b{color:var(--ink);font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);overflow:hidden}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;display:flex}.panel-head h2{font-size:var(--t-fs-m);margin:0;font-weight:620}.panel-head .hint{font-size:var(--t-fs-s);color:var(--muted)}.seg{border:1px solid var(--line);border-radius:var(--t-r-m);margin-left:auto;display:inline-flex;overflow:hidden}.seg button{font-family:var(--sans);font-size:var(--t-fs-s);background:var(--panel);color:var(--muted);cursor:pointer;border:0;padding:6px 12px}.seg button.on{background:var(--accent);color:#fff;font-weight:550}.scroll{overflow-x:auto}.tscroll{overscroll-behavior:contain;cursor:grab;max-height:calc(100vh - 300px);overflow:auto}.tscroll.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.table-panel.full{z-index:120;border:0;border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;inset:0}.table-panel.full .tscroll{flex:1;max-height:none}.fsbtn{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--muted);cursor:pointer;white-space:nowrap;padding:6px 12px;font-weight:550}.fsbtn:hover{color:var(--accent-ink);border-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:var(--t-fs-sm)}thead th{z-index:2;background:var(--panel);text-align:right;color:var(--muted);font-weight:600;font-size:var(--t-fs-xs);letter-spacing:.01em;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 9px;position:sticky;top:0}thead th:first-child{text-align:left}thead th.sorted{color:var(--accent-ink)}tbody td{border-bottom:1px solid var(--line-soft);text-align:right;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-fs-s);padding:9px}tbody td.model{text-align:left;font-family:var(--sans);letter-spacing:-.1px;font-weight:550}tbody tr:hover{background:#fafbfc}.pin-l,.pin-r{z-index:3;background:var(--panel);position:sticky}tbody tr:hover .pin-l,tbody tr:hover .pin-r{background:#fafbfc}thead th.pin-l,thead th.pin-r{z-index:5}.pin-model{width:300px;min-width:300px;left:0}.mcell{cursor:zoom-in;align-items:flex-start;gap:8px;min-width:0;min-height:52px;display:flex}.mthumb{object-fit:contain;border-radius:var(--t-r-s);border:1px solid var(--line);background:#fff;flex:none;width:34px;height:34px}.mthumb-stub{color:#c4cdd6;background:var(--line-soft);border-style:dashed;justify-content:center;align-items:center;display:inline-flex}.mtext{flex-direction:column;min-width:0;line-height:1.25;display:flex}.mcode{font-weight:600}.mname{font-size:var(--t-fs-xs);color:var(--muted);white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.mcanon{font-size:var(--t-fs-xxs);color:#9aa7b4;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.munlinked{font-size:var(--t-fs-xxs);color:var(--warn);cursor:help;font-weight:600}.mqty{font-size:var(--t-fs-xxs);color:var(--muted)}.mqty.out{color:var(--warn);font-weight:600}.pin-our{width:86px;min-width:86px;box-shadow:1px 0 0 var(--line);left:300px}.pin-mkt{width:92px;min-width:92px;box-shadow:-1px 0 0 var(--line);right:132px}.pin-dev{width:132px;min-width:132px;right:0}@media (max-width:760px){.pin-l,.pin-r{box-shadow:none;position:static}.pin-model{width:auto;min-width:0}}tbody tr:last-child td{border-bottom:0}.ours{color:var(--ink);font-weight:600}.cprice{color:var(--muted)}a.plink{color:inherit;cursor:pointer;border-bottom:1px dotted #0000;text-decoration:none}a.plink:hover{border-bottom-color:currentColor}a.plink:hover .ours{color:var(--accent-ink)}.pk{font-family:var(--sans);font-size:var(--t-fs-xxs);color:#9aa7b4;white-space:nowrap;margin-top:1px;font-weight:500;line-height:1.1;display:block}.stale{color:var(--warn);cursor:help;margin-left:4px;font-weight:800}.approx{color:var(--muted);cursor:help;margin-right:3px;font-weight:700}.mkt{color:var(--ink)}.dash{color:#c4cdd6}.tag{font-family:var(--sans);font-size:var(--t-fs-xxs);background:var(--accent-soft);color:var(--accent-ink);letter-spacing:.02em;vertical-align:middle;border-radius:999px;padding:1px 7px;font-weight:600;display:inline-block}.dev{justify-content:flex-end;align-items:center;gap:6px;min-width:104px;display:inline-flex}.devbar{border-radius:var(--t-r-s);background:var(--line);width:40px;height:6px;position:relative;overflow:hidden}.devbar i{display:block;position:absolute;top:0;bottom:0}.chip{font-family:var(--mono);font-size:var(--t-fs-s);border-radius:var(--t-r-m);text-align:center;min-width:48px;padding:2px 7px;font-weight:600}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.good{background:var(--good-soft);color:var(--good)}.chip.flat{background:var(--line);color:var(--muted)}.chip.world{border:1px dashed var(--line);color:var(--muted);background:0 0;font-weight:600}.tabletools{border-bottom:1px solid var(--line);font-size:var(--t-fs-s);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:9px 18px;display:flex}.tabletools b{color:var(--ink);font-weight:650}.tabletools select{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);margin-left:4px;padding:4px 8px}.pager{border-top:1px solid var(--line);font-size:var(--t-fs-sm);color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:12px 18px;display:flex}.pager b{color:var(--ink)}.pager button{font-family:var(--sans);font-size:var(--t-fs-sm);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);min-width:30px;color:var(--ink);cursor:pointer;padding:5px 9px}.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pager button:disabled{opacity:var(--t-off);cursor:default}.legend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.src{font-size:var(--t-fs-s);color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 9px;display:inline-flex}.src .dot{border-radius:50%;flex:none;width:9px;height:9px}.src.ours{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.src.pending{color:var(--muted);opacity:.85;border-style:dashed}.chartwrap{padding:18px}.chart-legend{font-size:var(--t-fs-s);color:var(--muted);gap:18px;margin:2px 2px 12px;display:flex}.chart-legend b{color:var(--ink);font-weight:600}.ln{align-items:center;gap:7px;display:inline-flex}.ln .sw{border-radius:var(--t-r-s);width:16px;height:3px;display:inline-block}.single-note{font-size:var(--t-fs-s);color:var(--warn);background:var(--warn-soft);border-radius:var(--t-r-m);border:1px solid #ead9b4;margin-top:12px;padding:9px 12px}select.modelpick{font-family:var(--sans);font-size:var(--t-fs-sm);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);padding:6px 10px}.modtools{flex-wrap:wrap;gap:8px;margin-left:auto;display:inline-flex}.modtools select,.modtools input{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);padding:6px 10px}.modtools input{min-width:200px}table.modtable td{text-align:left;font-family:var(--sans);white-space:normal}table.modtable td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}table.modtable td.raw{letter-spacing:-.1px;max-width:420px;font-weight:500}table.modtable td.raw a{color:var(--ink);text-decoration:none}table.modtable td.raw a:hover{color:var(--accent-ink);text-decoration:underline}table.modtable thead th.num{text-align:right}td.pick select{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);max-width:260px;padding:6px 9px}td.acts{white-space:nowrap}td.acts button{font-family:var(--sans);font-size:var(--t-fs-s);border-radius:var(--t-r-m);border:1px solid var(--line);cursor:pointer;margin-right:6px;padding:6px 12px;font-weight:550}td.acts button.ok{background:var(--accent);color:#fff;border-color:var(--accent)}td.acts button.ok:disabled{background:var(--line);color:var(--muted);border-color:var(--line);cursor:not-allowed}td.acts button.skip{background:var(--panel);color:var(--muted)}td.acts button:disabled{cursor:not-allowed;opacity:.7}tr.resolved{background:var(--good-soft)}tr.resolved td{color:var(--muted)}td.donecell{font-family:var(--sans);color:var(--good);font-weight:550}.empty{text-align:center;color:var(--muted);font-size:var(--t-fs-m);padding:40px 18px}.guide{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);padding:18px 20px}.guide h3{font-size:var(--t-fs-sm);color:var(--accent-ink);margin:0 0 6px;font-weight:650}.guide h3:not(:first-child){margin-top:16px}.guide p{font-size:var(--t-fs-sm);color:var(--ink);margin:0;line-height:1.6}.guide ol{margin:8px 0 0;padding-left:20px}.guide li{font-size:var(--t-fs-sm);color:var(--ink);margin-bottom:8px;line-height:1.65}.guide .note{font-size:var(--t-fs-s);color:var(--muted);border-top:1px solid var(--line-soft);margin-top:14px;padding-top:12px}.guide .ib{font-size:var(--t-fs-xs);border-radius:var(--t-r-m);vertical-align:middle;margin:0 2px;padding:1px 8px;font-weight:600;display:inline-block}.guide .ib.ok{background:var(--accent);color:#fff}.guide .ib.skip{background:var(--line-soft);color:var(--muted);border:1px solid var(--line)}.subnav{border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);display:inline-flex;overflow:hidden}.subnav a{font-size:var(--t-fs-sm);color:var(--muted);padding:7px 16px;font-weight:600;text-decoration:none}.subnav a:hover{color:var(--ink)}.subnav a.on{background:var(--accent);color:#fff}.comp-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;display:grid}.comp-card{padding:15px 17px}.comp-dim{opacity:.75}.comp-head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.comp-name{font-size:var(--t-fs-m);letter-spacing:-.1px}.comp-role{font-size:var(--t-fs-xs);color:var(--muted);white-space:nowrap;margin-left:auto}.comp-url{font-size:var(--t-fs-xs);color:var(--accent-ink);margin-top:2px;text-decoration:none;display:inline-block}.comp-url:hover{text-decoration:underline}.st{font-size:var(--t-fs-xxs);letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:2px 9px;font-weight:800;display:inline-block}.st-live{background:var(--good-soft);color:var(--good)}.st-broken,.st-blocked{background:var(--bad-soft);color:var(--bad)}.st-parked{background:var(--warn-soft);color:#b36a20}.st-dropped{background:var(--line-soft);color:var(--muted)}.st-candidate{background:var(--accent-soft);color:var(--accent-ink)}.comp-facts{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:10px 0 2px;display:flex}.comp-facts b{color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.comp-facts b.comp-down{color:var(--good)}.comp-facts b.comp-up{color:var(--bad)}.comp-how{font-size:var(--t-fs-s);color:var(--muted);margin:9px 0 0;line-height:1.55}.comp-verdict{font-size:var(--t-fs-s);border-left:3px solid var(--accent);margin:8px 0 0;padding:2px 0 2px 11px;line-height:1.55}.comp-name-link{font-weight:700;font-size:var(--t-fs-m);letter-spacing:-.1px;color:var(--ink);text-decoration:none}.comp-name-link:hover{color:var(--accent-ink)}.pf-insights{border-left:4px solid var(--accent)}.pf-grid2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px;display:grid}.pf-grid3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 22px;display:grid}.pf-field{min-width:0}.pf-lab{font-size:var(--t-fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:700}.pf-val{font-size:var(--t-fs-sm);line-height:1.55}.pf-empty{color:#b8c2cc;font-style:italic}.pf-excl{flex-wrap:wrap;gap:8px;display:flex}.pf-excl-chip{font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);padding:4px 10px}.pf-excl-chip b{font-family:var(--mono);color:var(--accent-ink);margin-left:4px;font-weight:600}.pf-more{color:var(--muted);border-style:dashed}.pf-form textarea{font:inherit;font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-s);resize:vertical;padding:5px 7px}.skel{border-radius:var(--t-r-m);background:linear-gradient(100deg,var(--line-soft) 40%,#fff 50%,var(--line-soft) 60%);background-size:200% 100%;animation:1.3s ease-in-out infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--line-soft);animation:none}}.skel-side{box-shadow:none}@media (max-width:900px){.skel-side{display:none}}.skel-logo{border-radius:var(--t-r-m);align-self:center;width:32px;height:32px}.skel-line{align-self:center;height:12px}.skel-h1{width:240px;height:24px}.skel-btn{border-radius:var(--t-r-m);width:130px;height:34px}.skel-num{width:60px;height:26px;margin:10px 0 8px}.skel-row{height:15px;margin-bottom:13px}.skel-note{text-align:center;font-size:var(--t-fs-s);color:var(--muted)}.foot{font-size:var(--t-fs-s);color:var(--muted);margin-top:6px;line-height:1.6}.foot code{font-family:var(--mono);background:var(--line-soft);border-radius:var(--t-r-s);font-size:var(--t-fs-xs);padding:1px 5px}a{color:var(--accent-ink)}@media (max-width:640px){.brand h1{font-size:var(--t-fs-l)}.kpi .val{font-size:var(--t-fs-h1)}}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);flex-direction:column;gap:12px;width:100%;max-width:360px;padding:28px 26px;display:flex;box-shadow:0 10px 30px -18px #10202e66}.login-logo{border-radius:var(--t-r-m);background:radial-gradient(circle at 32% 30%,#38b3c0 0%,var(--accent) 42%,var(--accent-ink) 100%);width:44px;height:44px}.login-card h1{font-family:var(--serif);font-size:var(--t-fs-xl);margin:6px 0 0;font-weight:700}.login-sub{font-size:var(--t-fs-s);color:var(--muted);margin-bottom:6px}.login-field{font-size:var(--t-fs-s);color:var(--muted);flex-direction:column;gap:5px;font-weight:600;display:flex}.login-field input{font-family:var(--sans);font-size:var(--t-fs-m);color:var(--ink);border:1px solid var(--line);border-radius:var(--t-r-m);background:#fff;padding:9px 11px}.login-field input:focus{border-color:var(--accent);outline:none}.login-error{font-size:var(--t-fs-s);color:#fff;background:var(--bad);border-radius:var(--t-r-m);padding:7px 11px;font-weight:600}.login-btn{font-family:var(--sans);font-size:var(--t-fs-m);color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--t-r-m);cursor:pointer;margin-top:4px;padding:10px;font-weight:700}.login-btn:hover:not(:disabled){background:var(--accent-ink)}.login-btn:disabled{opacity:var(--t-off);cursor:default}.login-demo{border-top:1px dashed var(--line);flex-direction:column;gap:6px;margin-top:14px;padding-top:14px;display:flex}.login-demo-cap{font-size:var(--t-fs-xs);color:var(--muted);text-align:center;margin-bottom:2px}.login-fill{font-family:var(--sans);font-size:var(--t-fs-s);color:var(--accent-ink);border:1px dashed var(--line);border-radius:var(--t-r-m);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:baseline;gap:8px;padding:8px;font-weight:600;display:flex}.login-fill i{font-style:normal;font-weight:400;font-size:var(--t-fs-xs);color:var(--muted)}.login-fill:hover{border-color:var(--accent);background:var(--accent-soft)}.login-fill:hover i{color:var(--accent-ink)}.admin-wrap{max-width:960px;margin:0 auto;padding:0 24px 48px}.admin-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px 0;display:flex}.admin-brand{font-size:var(--t-fs-m);align-items:center;gap:12px;display:flex}.admin-logo{border-radius:var(--t-r-m);background:radial-gradient(circle at 32% 30%,#38b3c0 0%,var(--accent) 42%,var(--accent-ink) 100%);flex:none;width:34px;height:34px}.admin-user{font-size:var(--t-fs-s);color:var(--muted);margin-top:2px}.admin-logout{font-family:var(--sans);font-size:var(--t-fs-s);color:var(--ink);border:1px solid var(--line);border-radius:var(--t-r-m);cursor:pointer;background:#fff;padding:7px 14px;font-weight:600}.admin-logout:hover{border-color:var(--bad);color:var(--bad)}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);color:var(--ink);padding:16px 18px;text-decoration:none;display:block}a.admin-card:hover{border-color:var(--accent);box-shadow:0 6px 18px -12px #10202e59}.admin-card-t{font-weight:700;font-size:var(--t-fs-m);margin-bottom:4px}.admin-card-d{font-size:var(--t-fs-s);color:var(--muted);line-height:1.5}.admin-card-locked{opacity:.55}.src-sec{margin:0 0 28px}.src-h{font-size:var(--t-fs-l);margin:0 0 6px;font-weight:800}.src-t{border-collapse:collapse;width:100%;font-size:var(--t-fs-sm);margin:10px 0}.src-t th{text-align:left;border-bottom:2px solid var(--line);white-space:nowrap;padding:6px 8px;font-weight:700}.src-t td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.src-off{opacity:.45}.src-url{font-size:var(--t-fs-xs);color:var(--muted)}.src-tag{font-size:var(--t-fs-xxs);background:var(--warn);color:#fff;border-radius:var(--t-r-s);margin-left:6px;padding:1px 5px}.src-cfg{font-size:var(--t-fs-xs);color:var(--muted);word-break:break-all;max-width:280px}.src-btn{font-size:var(--t-fs-xs);border:1px solid var(--line);border-radius:var(--t-r-s);cursor:pointer;background:#fff;margin:2px 4px 2px 0;padding:3px 8px}.src-btn:hover{border-color:var(--accent)}.src-form{border:1px dashed var(--line);border-radius:var(--t-r-m);margin-top:10px;padding:12px}.src-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.src-row label{font-size:var(--t-fs-xs);flex-direction:column;flex:1;gap:3px;min-width:170px;font-weight:600;display:flex}.src-row input,.src-row select{font:inherit;font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-s);padding:5px 7px}.src-json{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--t-fs-xs);border:1px solid var(--line);border-radius:var(--t-r-s);padding:8px}.src-add{background:var(--accent);color:#fff;border-radius:var(--t-r-m);cursor:pointer;border:0;margin-top:8px;padding:7px 14px;font-weight:700}.role-list{flex-direction:column;gap:8px;display:flex}.role-row{border:1px solid var(--line);border-radius:var(--t-r-m);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.role-name{font-size:var(--t-fs-m);align-items:center;gap:8px;font-weight:700;display:flex}.role-tag{font-size:var(--t-fs-xxs);background:var(--line);color:var(--muted);border-radius:var(--t-r-s);padding:1px 6px;font-weight:600}.role-meta{font-size:var(--t-fs-xs);color:var(--muted);margin-top:2px}.role-acts{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.role-new{margin-top:10px}.role-form{margin-top:12px}.perm-tbl{border-collapse:collapse;width:100%;font-size:var(--t-fs-s);margin:10px 0 4px}.perm-tbl th{text-align:center;border-bottom:2px solid var(--line);font-weight:700;font-size:var(--t-fs-xs);white-space:nowrap;padding:6px 8px}.perm-tbl th:first-child{text-align:left}.perm-tbl td{border-bottom:1px solid var(--line);padding:5px 8px}.perm-cell{text-align:center;width:76px}.perm-cell input{cursor:pointer;width:15px;height:15px;accent-color:var(--accent)}.perm-group td{background:var(--soft,#f6f7f9);font-weight:700;font-size:var(--t-fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:5px 8px}.pw-form{align-items:center;gap:4px;display:inline-flex}.pw-form input{font:inherit;font-size:var(--t-fs-xs);border:1px solid var(--line);border-radius:var(--t-r-s);width:110px;padding:3px 6px}.row-off{opacity:.45}.cat-search{font:inherit;font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);min-width:230px;padding:5px 9px}.cat-rule-wrap{white-space:nowrap;align-items:center;margin:0 6px 4px 0;display:inline-flex}.cat-rule{font-size:var(--t-fs-xs);background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--t-r-s);padding:2px 7px;font-family:ui-monospace,Menlo,Consolas,monospace}.cat-rule-off{color:var(--muted);background:0 0;text-decoration:line-through}.cat-x{color:var(--muted);cursor:pointer;font-size:var(--t-fs-sm);background:0 0;border:0;padding:2px 3px;line-height:1}.cat-x:hover{color:var(--bad)}.cat-warn{color:var(--warn);font-weight:600}.mpack{font-family:var(--mono);font-size:var(--t-fs-xxs);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--t-r-s);margin-left:6px;padding:1px 5px;font-weight:600}.en-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.en-grid{grid-template-columns:1fr}}.en-side .panel-body{flex-direction:column;gap:8px;display:flex}.en-comp{color:var(--ink);border:1px solid var(--line);border-radius:var(--t-r-m);padding:9px 11px;text-decoration:none;display:block}.en-comp:hover{border-color:var(--accent)}.en-comp.on{border-color:var(--accent);background:var(--accent-soft)}.en-comp-t{font-size:var(--t-fs-sm);justify-content:space-between;gap:8px;font-weight:600;display:flex}.en-comp-t i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);font-weight:400}.en-comp-m{font-size:var(--t-fs-xs);color:var(--muted);margin-top:4px}.en-bar{background:var(--line);border-radius:var(--t-r-s);height:4px;margin-top:6px;overflow:hidden}.en-bar span{background:var(--accent);height:100%;display:block}.en-t td{white-space:normal;vertical-align:top}.en-model{text-align:left;font-family:var(--sans)}.en-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.en-form select,.en-form input{font:inherit;font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-s);padding:4px 6px}.en-price{width:92px;font-family:var(--mono)}.en-note{width:150px}.en-status{text-align:left;font-family:var(--sans);font-size:var(--t-fs-xs)}.en-ok{color:var(--good);font-weight:600}.en-todo{color:var(--muted)}.en-dev{font-family:var(--mono);font-size:var(--t-fs-xs);margin-top:2px;display:block}.en-dev.up{color:var(--bad)}.en-dev.down{color:var(--good)}.en-done{background:var(--good-soft)}.en-empty{font-size:var(--t-fs-sm);color:var(--muted);margin:0}.mod-help{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);padding:12px 14px}.mod-help-row{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;display:flex}.mod-help-row b{color:var(--ink)}.mod-help-row .src-btn{margin-left:auto}.mod-help-full{border-top:1px solid var(--line-soft);font-size:var(--t-fs-s);color:var(--muted);margin-top:10px;padding-top:10px;line-height:1.6}.mod-help-full p{margin:0 0 8px}.mod-help-full code{font-family:var(--mono);font-size:var(--t-fs-xs);background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--t-r-s);padding:1px 5px}.mod-tokens{font-family:var(--mono);font-size:var(--t-fs-xs);color:var(--muted);margin-top:3px}.mod-ours{font-size:var(--t-fs-xs);color:var(--warn);margin-top:3px}.mod-sugg{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.mod-sugg-btn{font-family:var(--sans);font-size:var(--t-fs-xs);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--t-r-m);cursor:pointer;border:1px solid #0000;align-items:baseline;gap:6px;padding:4px 9px;font-weight:600;display:inline-flex}.mod-sugg-btn:hover:not(:disabled){border-color:var(--accent)}.mod-sugg-btn:disabled{opacity:var(--t-off);cursor:default}.mod-sugg-btn i{font-style:normal;font-size:var(--t-fs-xxs);opacity:.75;font-weight:400}.pr-t td{white-space:normal;vertical-align:top;font-family:var(--mono);font-size:var(--t-fs-s)}.pr-model{font-family:var(--sans);text-align:left}.pr-up{color:var(--bad);font-weight:600}.pr-down{color:var(--good);font-weight:600}.pr-form,.pr-decide{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.pr-form input,.pr-decide input{font:inherit;font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-s);padding:4px 6px}.pr-price{width:88px;font-family:var(--mono)}.pr-why{width:150px;font-family:var(--sans)}.pr-note{font-family:var(--sans);font-size:var(--t-fs-xs);color:var(--muted);margin-top:3px;font-style:italic}.pr-status{text-align:left;font-family:var(--sans)}.pr-badge{font-size:var(--t-fs-xxs);border-radius:var(--t-r-s);padding:2px 7px;font-weight:600;display:inline-block}.pr-draft{background:var(--line);color:var(--muted)}.pr-submitted{background:var(--warn-soft);color:var(--warn)}.pr-approved{background:var(--good-soft);color:var(--good)}.pr-rejected{background:var(--bad-soft);color:var(--bad)}.pr-ok{background:var(--good-soft)}.pr-no{background:var(--bad-soft)}.pr-hint{font-size:var(--t-fs-xs);color:var(--muted);margin:6px 0 0}.rep{max-width:900px;font-size:var(--t-fs-sm);color:var(--ink);margin:0 auto;padding:28px 24px 64px}.rep-actions{font-size:var(--t-fs-s);align-items:center;gap:16px;margin-bottom:20px;display:flex}.rep-actions a{color:var(--accent-ink);font-weight:600;text-decoration:none}.rep-hint{color:var(--muted)}.rep-head{border-bottom:2px solid var(--ink);margin-bottom:22px;padding-bottom:12px}.rep-head h1{font-family:var(--serif);font-size:var(--t-fs-xl);margin:0 0 6px}.rep-sub{font-size:var(--t-fs-s);color:var(--muted)}.rep h2{font-size:var(--t-fs-m);margin:22px 0 8px;font-weight:650}.rep-t{border-collapse:collapse;width:100%;font-size:var(--t-fs-s)}.rep-t td,.rep-t th{border:1px solid var(--line);text-align:left;white-space:normal;padding:5px 8px}.rep-t th{background:var(--bg);font-weight:650}.rep-wide td:nth-child(n+2):nth-child(-n+6){text-align:right;font-family:var(--mono)}.rep-summary{font-size:var(--t-fs-s);color:var(--muted);margin-top:10px;font-style:italic}.rep-foot{border-top:1px solid var(--line);font-size:var(--t-fs-xs);color:var(--muted);margin-top:28px;padding-top:10px}@media print{.no-print{display:none}body{background:#fff;padding:0}.rep{max-width:none;padding:0}.rep-t{page-break-inside:auto}.rep-t tr{page-break-inside:avoid}}.pr-err{font-family:var(--sans);font-size:var(--t-fs-xs);color:var(--bad);flex-basis:100%;margin-top:4px}.pr-err-top{background:var(--bad-soft);border:1px solid var(--bad);border-radius:var(--t-r-m);font-size:var(--t-fs-sm);margin:0;padding:10px 14px}.mpack-guess{font-size:var(--t-fs-xxs);color:var(--warn);font-weight:600;display:block}.reftable{border-collapse:collapse;width:100%;font-size:var(--t-fs-sm)}.reftable thead th{text-align:left;font-size:var(--t-fs-xs);color:var(--muted);border-bottom:1px solid var(--line);cursor:default;white-space:nowrap;padding:9px 10px;font-weight:600;position:static}.reftable th.num,.reftable td.num{text-align:right;white-space:nowrap}.reftable td{border-bottom:1px solid var(--line-soft);vertical-align:top;font-family:var(--sans);font-size:var(--t-fs-sm);padding:8px 10px}.reftable td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-fs-s)}.reftable td.num.zero{color:var(--warn);font-weight:600}.ref-group td{background:var(--bg);font-size:var(--t-fs-xs);color:var(--muted);letter-spacing:.02em;padding:6px 10px;font-weight:600}.ref-off td{opacity:.5}.ref-warn td{background:var(--warn-soft)}.ref-ord{white-space:nowrap;width:52px;padding-right:0}.ref-move{color:var(--muted);cursor:pointer;font-size:var(--t-fs-sm);background:0 0;border:0;padding:0 3px;line-height:1}.ref-move:hover{color:var(--accent-ink)}.ref-move:disabled{opacity:var(--t-off);cursor:default}.ref-name{min-width:280px}.ref-label{text-align:left;font-family:var(--sans);font-size:var(--t-fs-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:block}.ref-label:hover{color:var(--accent-ink)}.ref-sub{font-size:var(--t-fs-xs);color:var(--muted);font-family:var(--mono);display:block}.ref-sub.warn{color:var(--warn);font-weight:600;font-family:var(--sans)}.ref-manual{color:var(--ink);font-weight:600}.ref-hand{font-family:var(--sans);font-style:normal;font-size:var(--t-fs-xxs);color:var(--accent-ink);font-weight:600;display:block}.ref-api{color:#9aa7b4;font-size:var(--t-fs-xs);font-family:var(--sans)}.ref-toggle{border-radius:var(--t-r-m);border:1px solid var(--line);background:var(--line-soft);cursor:pointer;vertical-align:middle;width:32px;height:18px;padding:0;position:relative}.ref-toggle i{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .12s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #10202e40}.ref-toggle.on{background:var(--accent);border-color:var(--accent)}.ref-toggle.on i{left:15px}.ref-toggle:disabled{opacity:var(--t-off);cursor:default}.ref-edit td{background:var(--bg)}.ref-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.ref-form label{font-size:var(--t-fs-xs);color:var(--muted);flex-direction:column;gap:4px;display:flex}.ref-form input,.ref-form select{font-family:var(--sans);font-size:var(--t-fs-sm);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);min-width:150px;padding:6px 8px}.ref-hint{font-size:var(--t-fs-xs);color:var(--muted);max-width:340px}.ref-del{border:1px solid var(--bad);color:var(--bad);cursor:pointer;font-family:var(--sans);font-size:var(--t-fs-s);border-radius:var(--t-r-m);background:0 0;padding:5px 10px}.ref-err{border-radius:var(--t-r-m);background:var(--bad-soft);color:var(--bad);font-size:var(--t-fs-s);margin:10px 18px;padding:9px 12px;font-weight:600}.peek{z-index:200;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);position:fixed;overflow:hidden;box-shadow:0 18px 40px -18px #10202e73}.peek-img{border-bottom:1px solid var(--line-soft);background:#fff;justify-content:center;align-items:center;height:170px;display:flex}.peek-img img{object-fit:contain;max-width:100%;max-height:170px}.peek-stub{color:#9aa7b4;font-size:var(--t-fs-xs);flex-direction:column;align-items:center;gap:8px;display:flex}.peek-stub .mthumb{width:44px;height:44px}.peek-body{flex-direction:column;gap:3px;padding:10px 12px;display:flex}.peek-body b{font-size:var(--t-fs-sm);font-weight:650;line-height:1.3}.peek-canon{font-style:normal;font-family:var(--mono);font-size:var(--t-fs-xxs);color:#9aa7b4}.peek-name{font-size:var(--t-fs-xs);color:var(--muted);line-height:1.35}.peek-meta{font-size:var(--t-fs-xs);color:var(--muted);font-family:var(--mono)}.peek-meta.warn{color:var(--warn);font-weight:600}.cref-sorts{border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px;display:flex}.cref-sorts-lab{font-size:var(--t-fs-xs);color:var(--muted);margin-right:2px;font-weight:600}.cref-sort{font-family:var(--sans);font-size:var(--t-fs-s);cursor:pointer;border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--muted);padding:5px 10px}.cref-sort:hover{color:var(--accent-ink);border-color:var(--accent)}.cref-sort.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.cref-sorts-note{font-size:var(--t-fs-xs);color:var(--muted);margin-left:auto}.cref-cheap{color:var(--bad);font-weight:700}.cref-flags{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;gap:20px;margin:4px 0 10px;display:flex}.cref-flags span{align-items:center;gap:7px;display:inline-flex}.miss-failed{color:var(--warn);cursor:help;font-weight:800}.miss-manual{color:#c4cdd6;cursor:help}.miss-state{font-family:var(--sans);font-size:var(--t-fs-xxs);color:var(--muted);background:var(--line-soft);border-radius:var(--t-r-s);cursor:help;padding:1px 5px;font-weight:600}.xlsbtn{font-family:var(--sans);font-size:var(--t-fs-s);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--t-r-m);white-space:nowrap;padding:5px 11px;font-weight:600;text-decoration:none}.xlsbtn:hover{background:var(--accent);color:#fff}.miss-pack{font-family:var(--sans);font-size:var(--t-fs-xxs);color:#9aa7b4;border:1px dashed var(--line);border-radius:var(--t-r-s);cursor:help;white-space:nowrap;padding:1px 5px;font-weight:600}.rep-auto{border:1px solid var(--line);border-radius:var(--t-r-m);background:#fcfdfe;margin:14px 0 6px;padding:12px 14px}.rep-auto b{font-size:var(--t-fs-sm);margin-bottom:6px;display:block}.rep-auto p{font-size:var(--t-fs-s);margin:0 0 6px;line-height:1.5}.rep-auto p:last-child{margin-bottom:0}.ph-drop{background:var(--panel);border:1px dashed var(--line);border-radius:var(--t-r-l);text-align:center;flex-direction:column;align-items:center;gap:9px;padding:22px 20px;display:flex}.ph-drop input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.ph-pick{font-family:var(--sans);font-size:var(--t-fs-sm);color:#fff;background:var(--accent);border-radius:var(--t-r-m);cursor:pointer;padding:9px 17px;font-weight:600}.ph-pick:hover{background:var(--accent-ink)}.ph-hint{font-size:var(--t-fs-s);color:var(--muted)}.ph-err{font-size:var(--t-fs-sm);color:var(--bad);background:var(--bad-soft);border-radius:var(--t-r-m);border:1px solid #f6c9d6;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 14px;display:flex}.btn-sm{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--t-r-m);cursor:pointer;padding:5px 11px;font-weight:600}.ph-err-pick{font-size:var(--t-fs-s);color:var(--ink);align-items:center;gap:7px;display:inline-flex}.ph-err-pick .ph-col{color:var(--ink)}.ph-bar-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);padding:15px 17px}.ph-bar-head{font-size:var(--t-fs-sm);justify-content:space-between;align-items:baseline;gap:14px;display:flex}.ph-file{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ph-count{font-family:var(--mono);font-size:var(--t-fs-s);color:var(--muted);white-space:nowrap}.ph-bar{background:var(--line-soft);border-radius:999px;height:6px;margin:10px 0 9px;overflow:hidden}.ph-bar i{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.ph-stats{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ph-stats b{color:var(--ink);font-weight:600}.ph-stats b.ok{color:var(--good)}select.ph-col{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);max-width:190px;padding:3px 7px}.ph-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ph-warn{font-size:var(--t-fs-xxs);color:var(--warn-ink,#8a6d3b);margin-top:2px;text-decoration:none;display:block}.ph-pager{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ph-pager b{color:var(--ink);font-weight:600}.ph-pager label{cursor:pointer;color:var(--ink);align-items:center;gap:6px;display:inline-flex}.btn-main{font-family:var(--sans);font-size:var(--t-fs-sm);color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--t-r-m);cursor:pointer;padding:9px 16px;font-weight:600}.btn-main:hover:not(:disabled){background:var(--accent-ink)}.btn-main:disabled{opacity:var(--t-off);cursor:default}.ph-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.ph-cell{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);text-align:left;min-width:0;font-family:var(--sans);cursor:pointer;flex-direction:column;gap:2px;padding:9px;display:flex}.ph-cell:hover{border-color:var(--accent);box-shadow:0 10px 24px -18px #10202eb3}.ph-cell b{font-size:var(--t-fs-xs);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ph-cell i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-height:15px;overflow:hidden}.ph-cell em{font-style:normal;font-family:var(--mono);font-size:var(--t-fs-xxs);color:var(--muted);opacity:.75;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ph-img{border-radius:var(--t-r-m);background:var(--line-soft);justify-content:center;align-items:center;height:78px;margin-bottom:5px;display:flex;overflow:hidden}.ph-img img{object-fit:contain;max-width:100%;max-height:100%}.ph-img.pad img{transform:scale(2)}.ph-card-img.pad{overflow:hidden}.ph-card-img.pad img{transform:scale(1.7)}.ph-img span{font-size:var(--t-fs-xxs);color:var(--muted)}.ph-img .wait{font-size:var(--t-fs-m);letter-spacing:2px}.ph-name{align-items:flex-start;gap:6px;min-width:0;display:flex}.ph-name b{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.25;display:-webkit-box;overflow:hidden}.ph-name .ph-qty{font-family:var(--mono);font-size:var(--t-fs-xxs);border-radius:var(--t-r-s);border:1px solid #0000;flex:none;padding:3px 5px;font-weight:700;line-height:1}.ph-qnum{font-family:var(--mono);border-radius:var(--t-r-s);padding:1px 7px;font-weight:700}.ph-qty.ok,.ph-qnum.ok{background:var(--good-soft);color:var(--good);border-color:#bfe3d2}.ph-qty.low,.ph-qnum.low{background:var(--warn-soft);color:#b36a20;border-color:#ead9b4}.ph-qty.zero,.ph-qnum.zero{background:var(--bad-soft);color:var(--bad);border-color:#ffc9d8}table.ph-log{border-collapse:collapse;width:100%}table.ph-log th{text-align:left;font-size:var(--t-fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 18px;font-weight:600}table.ph-log td{text-align:left;font-size:var(--t-fs-sm);border-bottom:1px solid var(--line-soft);padding:10px 18px}table.ph-log th:first-child,table.ph-log td:first-child{width:100%}table.ph-log tr:last-child td{border-bottom:0}table.ph-log td.dim{color:var(--muted);font-size:var(--t-fs-s);white-space:nowrap}table.ph-log th.num,table.ph-log td.num{text-align:right;font-family:var(--mono);white-space:nowrap}.ph-zoom{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);pointer-events:none;padding:8px;position:fixed;box-shadow:0 24px 50px -26px #10202eb3}.ph-zoom img{object-fit:contain;width:100%;height:100%}.ph-modal{z-index:80;background:#10202e73;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.ph-card{background:var(--panel);border-radius:var(--t-r-l);grid-template-columns:minmax(0,300px) minmax(0,1fr);width:100%;max-width:760px;max-height:90vh;display:grid;position:relative;overflow:auto}.ph-close{font-family:var(--sans);font-size:var(--t-fs-m);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px;line-height:1;position:absolute;top:10px;right:12px}.ph-close:hover{color:var(--ink)}.ph-card-img{background:var(--line-soft);border-radius:var(--t-r-l) 0 0 16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:220px;padding:16px;display:flex}.ph-card-img img{object-fit:contain;max-width:100%;max-height:250px}.ph-card-img img.ph-card-side{opacity:.92;max-height:110px}.ph-card-img span{font-size:var(--t-fs-s);color:var(--muted);text-align:center;padding:0 12px}.ph-card-body{padding:20px 22px 18px}.ph-card-body h3{font-family:var(--serif);font-size:var(--t-fs-xl);margin:0;font-weight:700}.ph-card-sub{font-size:var(--t-fs-s);color:var(--muted);text-transform:capitalize;margin-top:3px}.ph-rows{flex-direction:column;margin-top:14px;display:flex}.ph-row{border-bottom:1px solid var(--line-soft);font-size:var(--t-fs-sm);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.ph-row:last-child{border-bottom:0}.ph-row span{color:var(--muted);flex:none}.ph-row b{text-align:right;font-weight:600}.ph-row code{font-family:var(--mono);font-size:var(--t-fs-s);font-weight:500}.ph-price{background:var(--warn-soft);border-radius:var(--t-r-m);border:1px solid #ead9b4;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.ph-price span{font-size:var(--t-fs-s);color:var(--muted)}.ph-price b{font-size:var(--t-fs-sm);font-weight:600}.ph-price i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);flex-basis:100%}table.sup-t{border-collapse:collapse;table-layout:fixed;width:100%}table.sup-t th{text-align:left;font-size:var(--t-fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-weight:600}table.sup-t td{text-align:left;font-family:var(--sans);font-size:var(--t-fs-sm);border-bottom:1px solid var(--line-soft);vertical-align:top;white-space:normal;padding:11px 14px}table.sup-t tr:last-child td{border-bottom:0}table.sup-t th:first-child{width:30%}table.sup-t th:nth-child(2){width:13%}table.sup-t th:nth-child(3){width:16%}table.sup-t th:nth-child(4){width:15%}table.sup-t th:nth-child(5){width:9%}table.sup-t th:nth-child(6){width:8%}table.sup-t th.act,table.sup-t td.act{width:12%;padding-right:14px}table.sup-t td.dim{color:var(--muted);font-size:var(--t-fs-s)}table.sup-t .chip{white-space:nowrap;font-family:var(--sans);min-width:0;display:inline-block}table.sup-t th.num,table.sup-t td.num{text-align:right;font-family:var(--mono);white-space:nowrap}table.sup-t th.act,table.sup-t td.act{text-align:right;white-space:nowrap}table.sup-t tr.off td{opacity:.45}.sup-note{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);max-width:46ch;margin-top:3px;line-height:1.45;display:block}.sup-improve{font-style:normal;font-size:var(--t-fs-xs);color:#b36a20;max-width:46ch;margin-top:5px;line-height:1.45;display:block}.sup-improve b{font-weight:650}.sup-pct{font-style:normal;font-family:var(--sans);font-size:var(--t-fs-xs);color:var(--muted);display:block}.sup-form{border-top:1px solid var(--line);background:var(--line-soft);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:16px 14px;display:grid}.sup-form label{font-size:var(--t-fs-s);flex-direction:column;gap:4px;min-width:0;display:flex}.sup-form label.wide{grid-column:1/-1}.sup-form label>span{color:var(--muted);font-size:var(--t-fs-xs)}.sup-form input,.sup-form select,.sup-form textarea{font-family:var(--sans);font-size:var(--t-fs-sm);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);padding:7px 9px}.sup-form input:disabled{background:var(--line-soft);color:var(--muted)}.sup-form label>i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);line-height:1.4}.sup-btns{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.sup-add{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:14px;display:flex}.ph-note{background:var(--warn-soft);border-radius:var(--t-r-m);font-size:var(--t-fs-s);color:var(--ink);border:1px solid #ead9b4;padding:10px 13px;line-height:1.5}.ph-colors{background:var(--line-soft);border-radius:var(--t-r-m);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:12px;padding:10px 12px;display:flex}.ph-colors span{font-size:var(--t-fs-s);color:var(--muted)}.ph-colors b{font-size:var(--t-fs-s);flex-basis:100%;font-weight:600}.ph-colors i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);flex-basis:100%;line-height:1.45}.ph-origin{font-size:var(--t-fs-xs);color:var(--muted);margin-top:12px}.ph-origin a{color:var(--accent-ink);font-weight:600;text-decoration:none}.ph-origin a:hover{text-decoration:underline}@media (max-width:640px){.ph-card{grid-template-columns:1fr}.ph-card-img{border-radius:var(--t-r-l) 16px 0 0;min-height:180px}.ph-zoom{display:none}}table.ph-log td a{color:var(--ink);font-weight:600;text-decoration:none}table.ph-log tbody tr:hover{background:var(--line-soft)}table.ph-log tbody tr:hover td a{color:var(--accent-ink)}table.ph-log tbody tr.on{background:var(--accent-soft)}table.ph-log th.act,table.ph-log td.act{text-align:right;width:44px;padding-right:14px}.ph-del{color:var(--muted);border-radius:var(--t-r-m);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:5px;transition:opacity .12s;display:inline-flex}table.ph-log tbody tr:hover .ph-del,.ph-del:focus-visible{opacity:1}.ph-del:hover{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.ph-ask{background:var(--panel);border-radius:var(--t-r-l);width:100%;max-width:440px;padding:22px 24px 18px}.ph-ask h3{font-family:var(--serif);font-size:var(--t-fs-l);margin:0;font-weight:700}.ph-ask-file{font-size:var(--t-fs-sm);flex-direction:column;gap:3px;margin:12px 0 0;font-weight:600;display:flex}.ph-ask-file i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);font-weight:400}.ph-ask-note{font-size:var(--t-fs-s);color:var(--muted);margin:12px 0 0;line-height:1.5}.ph-ask-btns{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.btn-danger{font-family:var(--sans);font-size:var(--t-fs-sm);color:#fff;background:var(--bad);border:1px solid var(--bad);border-radius:var(--t-r-m);cursor:pointer;padding:8px 15px;font-weight:600}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-danger:disabled{opacity:var(--t-off);cursor:default}@media (hover:none){.ph-del{opacity:1}}.thr{font-size:var(--t-fs-s);color:var(--muted);align-items:center;gap:7px;display:inline-flex}.thr input{font-family:var(--mono);font-size:var(--t-fs-sm);text-align:center;border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);width:56px;color:var(--ink);padding:5px 6px}.thr-unit{font-size:var(--t-fs-s)}.thr-note{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted)}.thr-err{font-style:normal;font-size:var(--t-fs-xs);color:var(--bad)}.stock-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:11px 18px;display:flex}.stock-filters a{font-size:var(--t-fs-s);color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:4px 11px;font-weight:600;text-decoration:none}.stock-filters a:hover{color:var(--ink);border-color:var(--border-strong,var(--line))}.stock-filters a.on{background:var(--accent);color:#fff;border-color:var(--accent)}.stock-sep{background:var(--line);align-self:stretch;width:1px;margin:0 3px}.wh{font-family:var(--sans);font-size:var(--t-fs-xxs);letter-spacing:.03em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);border-radius:var(--t-r-s);vertical-align:1px;margin-left:7px;padding:1px 5px;font-weight:700}.stx-wrap{overscroll-behavior-x:contain;overflow-x:auto}table.stx{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--sans)}table.stx th,table.stx td{background:var(--panel);border-bottom:1px solid var(--line-soft);font-size:var(--t-fs-s);white-space:nowrap;text-align:left;line-height:1.35;font-family:var(--sans);font-variant-numeric:normal;padding:7px 10px}table.stx thead th{font-size:var(--t-fs-xxs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);cursor:default;font-weight:650;position:static}table.stx tr.stx-city th{font-size:var(--t-fs-xxs);color:var(--accent-ink);text-align:center;border-bottom:0;padding:9px 10px 2px}table.stx tr.stx-city th.fix{text-align:left}table.stx .fix{z-index:2;position:sticky}table.stx .c-mod{width:250px;min-width:250px;max-width:250px;left:0}table.stx .c-tot{text-align:right;width:64px;min-width:64px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:650;left:250px;box-shadow:6px 0 8px -8px #10202e4d}.stx-name{color:var(--ink);text-overflow:ellipsis;font-weight:650;display:block;overflow:hidden}.stx-sub{font-size:var(--t-fs-xxs);color:var(--muted);text-overflow:ellipsis;display:block;overflow:hidden}.stx-modlink{color:inherit;text-decoration:none;display:block}.stx-modlink:hover .stx-name{color:var(--accent-ink)}.stx-st{text-align:center;text-overflow:ellipsis;width:78px;min-width:78px;max-width:78px;overflow:hidden}.stx-n{text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.stx-n.low{background:var(--warn-soft);color:#8a5200;font-weight:700}.stx-z{text-align:center;font-family:var(--mono);background:var(--bad-soft);color:var(--bad);cursor:help;font-weight:700}.stx-e{text-align:center;color:#cbd4dc}.stx-fill{width:100%;min-width:0;padding:0}table.stx tbody tr:hover td{background:var(--line-soft)}table.stx tbody tr.on td{background:var(--accent-soft)}table.stx tbody tr:last-child td{border-bottom:0}.stx-head-sub{font-size:var(--t-fs-s);color:var(--muted);font-weight:400}.stx-close{font-size:var(--t-fs-s);color:var(--muted);margin-left:auto;font-weight:600;text-decoration:none}.stx-close:hover{color:var(--bad)}.stx-var{font-family:var(--mono);font-variant-numeric:tabular-nums;width:96px}.stx-when{color:var(--muted);width:118px}.stx-was{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;width:60px}.stx-more{font-size:var(--t-fs-s);color:var(--muted);border-top:1px solid var(--line-soft);padding:10px 18px}.stx-search{margin-left:auto}.stx-search input{font-family:var(--sans);font-size:var(--t-fs-s);border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);color:var(--ink);min-width:190px;padding:6px 11px}@media (max-width:760px){table.stx .c-mod{width:164px;min-width:164px;max-width:164px}table.stx .c-tot{left:164px}.stx-search{margin-left:0}}.today{padding-top:20px}.today .sub{color:var(--muted);font-size:var(--t-fs-s);margin:6px 0 0}.sect{font-size:var(--t-fs-xs);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-weight:800}.today-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.exc{background:var(--panel);border:1px solid var(--line);border-radius:var(--t-r-l);color:var(--ink);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;transition:border-color .12s;display:flex}.exc:hover{border-color:var(--accent)}.exc-n{font-family:var(--mono);font-size:var(--t-fs-xxl);color:var(--ink);font-weight:800;line-height:1.1}.exc-n.bad{color:var(--bad)}.exc-n.warn{color:var(--warn)}.exc-l{font-size:var(--t-fs-sm);font-weight:700}.exc-d{font-size:var(--t-fs-s);color:var(--muted);line-height:1.45}.exc-n small{font-family:var(--sans);font-size:var(--t-fs-m);margin-left:2px;font-weight:700}.today-row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:900px){.today-row2{grid-template-columns:1fr}}.today-row2>.panel{flex-direction:column;padding:16px 18px;display:flex}.today .panel h3{font-size:var(--t-fs-m);color:var(--ink);margin:0 0 8px}.today-note{font-size:var(--t-fs-s);color:var(--muted);line-height:1.5}.today-row2 .idx+.today-note{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:10px}.today-quality{border-top:1px solid var(--line);padding-top:12px}.today-row2>.today-cycle{flex-direction:row;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px}.today-empty{font-size:var(--t-fs-s);color:var(--muted);flex-direction:column;flex:1;justify-content:center;gap:12px;max-width:52ch;line-height:1.5;display:flex}.today-empty p{margin:0}.today-links{flex-direction:column;gap:6px;display:flex}.today-links a{color:var(--accent-ink);font-weight:600;text-decoration:none}.today-links a:hover{text-decoration:underline}.today-btn{white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.idx{border-top:1px solid var(--line-soft);font-size:var(--t-fs-sm);align-items:center;gap:10px;padding:7px 0;display:flex}.idx:first-of-type{border-top:none}.idx b{text-overflow:ellipsis;white-space:nowrap;width:112px;font-weight:700;overflow:hidden}.bar{border-radius:var(--t-r-s);background:var(--line-soft);flex:1;height:8px;position:relative;overflow:hidden}.bar i{border-radius:var(--t-r-s);position:absolute;top:0;bottom:0}.bar i.over{background:var(--bad)}.bar i.under{background:var(--good)}.bar u{background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0;left:50%}.idx-v{font-family:var(--mono);text-align:right;width:54px;font-weight:800}.idx-v.bad{color:var(--bad)}.idx-v.good{color:var(--good)}.search{padding-top:20px}.search .sub{color:var(--muted);font-size:var(--t-fs-s);margin:6px 0 0;line-height:1.5}.searchbox{align-items:center;gap:10px;max-width:640px;display:flex}.searchbox-in{height:var(--t-ctl-m);border:1px solid var(--line-strong);border-radius:var(--t-r-m);font-family:var(--sans);font-size:var(--t-fs-sm);background:var(--panel);color:var(--ink);outline:none;flex:1;padding:0 14px}.searchbox-in:focus{border-color:var(--accent)}.search-list{padding:6px}.search-row{border-radius:var(--t-r-m);color:var(--ink);grid-template-columns:1fr auto auto;align-items:baseline;gap:4px 14px;padding:10px 12px;text-decoration:none;display:grid}.search-row:hover{background:var(--line-soft)}.search-row b{font-size:var(--t-fs-sm);font-weight:700}.search-row-sub{font-size:var(--t-fs-s);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.search-row-price{font-family:var(--mono);font-weight:700;font-size:var(--t-fs-sm);grid-area:1/2}.search-row-n{font-size:var(--t-fs-s);color:var(--muted);text-align:right;grid-area:1/3;min-width:78px}.search-more{font-size:var(--t-fs-s);color:var(--muted);padding:8px 12px}.slice{padding:18px 20px}.slice-head{align-items:flex-start;gap:14px;display:flex}.slice-img{object-fit:contain;border:1px solid var(--line);border-radius:var(--t-r-m);background:#fff;flex:none;width:76px;height:76px}.slice-title{font-size:var(--t-fs-l);overflow-wrap:anywhere;font-weight:800}.slice-head>div{min-width:0}.slice-sub{font-size:var(--t-fs-s);color:var(--muted);margin-top:3px;line-height:1.5}.slice-dev{margin-left:auto}.who-list{margin-top:8px}.who{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto 56px;align-items:baseline;gap:4px 12px;padding:8px;display:grid}.who:first-child{border-top:0}.who.ours{background:var(--accent-soft);border-radius:var(--t-r-s);border-top-color:#0000}.who-n{min-width:0;font-size:var(--t-fs-sm);overflow-wrap:anywhere}.who-n a{color:var(--ink)}.who-n small{font-size:var(--t-fs-xs);color:var(--muted);margin-top:2px;line-height:1.4;display:block}.who-p{font-family:var(--mono);font-weight:700;font-size:var(--t-fs-sm);white-space:nowrap;text-align:right}.who-p small{font-family:var(--sans);font-weight:400;font-size:var(--t-fs-xs);color:var(--muted)}.who-d{font-family:var(--mono);font-size:var(--t-fs-s);color:var(--muted);text-align:right;white-space:nowrap}.slice-note{font-size:var(--t-fs-xs);color:var(--muted);padding-left:14px}.slice-missing{font-size:var(--t-fs-s);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.slice-foot{border-top:1px solid var(--line);font-size:var(--t-fs-s);color:var(--muted);margin-top:12px;padding-top:10px;line-height:1.5}.search-empty{padding:18px 20px}.search-empty h3{font-size:var(--t-fs-m);margin:0 0 8px}.search-empty p{font-size:var(--t-fs-sm);color:var(--muted);margin:0;line-height:1.55}.search-brands{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.search-brands .b{font-size:var(--t-fs-s);background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--t-r-s);padding:3px 9px}@media (max-width:700px){.search-row{grid-template-columns:1fr auto}.search-row-n{display:none}.slice-img{width:56px;height:56px}}.frames{padding-top:20px}.frames .sub{color:var(--muted);font-size:var(--t-fs-s);margin:6px 0 0}.frames .sub a{color:var(--accent-ink)}.bpills{flex-wrap:wrap;gap:8px;display:flex}.bpill{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--t-fs-sm);border-radius:999px;align-items:center;gap:8px;padding:6px 13px;text-decoration:none;display:inline-flex}.bpill:hover{border-color:var(--line-strong)}.bpill.on{background:var(--accent);border-color:var(--accent);color:#fff}.bpill b{font-weight:700}.bpill-n{font-family:var(--mono);font-size:var(--t-fs-xs);color:var(--muted)}.bpill.on .bpill-n{color:#ffffffbf}.bpill-i{font-family:var(--mono);font-size:var(--t-fs-xs);font-weight:800}.bpill-i.pos{color:var(--bad)}.bpill-i.neg{color:var(--good)}.bpill-i.none{color:var(--muted)}.bpill.on .bpill-i{color:#fff}.frames-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.frames-bar .searchbox-in{flex:1;min-width:200px;max-width:340px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);font-family:var(--sans);font-size:var(--t-fs-s);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 13px}.chip:hover{color:var(--ink)}.chip.on{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-ink)}.chip b{font-family:var(--mono);font-weight:800}.frames-list{padding:4px}.frow{text-align:left;border-radius:var(--t-r-m);width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr) 96px 96px 74px 62px 92px;align-items:center;gap:10px;padding:8px 10px;display:grid}.frow:hover{background:var(--line-soft)}.frow-head{cursor:default;border-bottom:1px solid var(--line);font-size:var(--t-fs-xs);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-radius:0;padding-top:10px;padding-bottom:10px;font-weight:800}.frow-head:hover{background:0 0}.frow .num{text-align:right}.frow .mid{text-align:center}.lsort{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.lsort:hover{color:var(--ink)}.fthumb{object-fit:contain;border-radius:var(--t-r-s);border:1px solid var(--line);background:#fff;width:44px;height:36px}.fthumb.ph{background:var(--line-soft);border:1px solid var(--line);display:block}.fname{flex-direction:column;gap:2px;min-width:0;display:flex}.fname b{font-size:var(--t-fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.fname i{font-style:normal;font-size:var(--t-fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fname .zero{color:var(--bad)}.frow .price{font-family:var(--mono);font-weight:700;font-size:var(--t-fs-sm)}.frow .sec,.frow .ncomp{font-family:var(--mono);font-size:var(--t-fs-s);color:var(--muted)}.spark{margin-left:auto;display:block}.spark-wide{width:100%;height:64px;margin:8px 0 0}.card-legend{font-size:var(--t-fs-xs);color:var(--muted);align-items:center;gap:7px;margin-top:6px;display:flex}.card-legend i{border-top:2px solid;width:14px;height:0;margin-left:8px;display:inline-block}.card-legend i:first-child{margin-left:0}.card-legend .l-our{color:var(--accent)}.card-legend .l-mkt{color:var(--bad)}.frames-more{border:0;border-top:1px solid var(--line);width:100%;font:inherit;font-size:var(--t-fs-s);color:var(--accent-ink);cursor:pointer;background:0 0;padding:12px;display:block}.frames-more:hover{background:var(--line-soft)}.ovl{z-index:40;background:#10182059;position:fixed;inset:0}.cardpanel{z-index:41;background:var(--panel);border-left:1px solid var(--line);width:min(560px,100%);padding:22px 24px 30px;position:fixed;top:0;bottom:0;right:0;overflow:hidden auto;box-shadow:0 0 60px -20px #0006}.cardclose{border:1px solid var(--line);background:var(--panel);border-radius:var(--t-r-s);cursor:pointer;width:28px;height:28px;color:var(--muted);font-size:var(--t-fs-sm);position:absolute;top:14px;right:16px}.cardclose:hover{color:var(--ink)}.card-our{align-items:center;gap:12px;margin-top:14px;display:flex}.card-our-p{font-family:var(--mono);font-size:var(--t-fs-xl);font-weight:800}.card-diff{color:var(--muted);font-family:var(--mono);font-size:var(--t-fs-s);width:56px}.card-hint{font-size:var(--t-fs-xs);color:var(--muted);margin:-4px 0 2px}.card-actions{align-items:center;gap:10px;margin-top:16px;display:flex}.card-actions .btn-main,.card-actions .btn-sm{align-items:center;text-decoration:none;display:inline-flex}@media (max-width:900px){.frow{grid-template-columns:40px minmax(0,1fr) 84px 68px}.frow>:nth-child(4),.frow>:nth-child(6),.frow>:nth-child(7){display:none}.cardpanel{padding:20px 16px 26px}}.side-search{border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--bg);height:32px;color:var(--muted);align-items:center;gap:7px;margin:10px 10px 2px;padding:0 9px;display:flex}.side-search:focus-within{border-color:var(--accent);background:var(--panel)}.side-search input{min-width:0;font-family:var(--sans);font-size:var(--t-fs-s);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.side-search kbd{font-family:var(--mono);font-size:var(--t-fs-xxs);border:1px solid var(--line);border-radius:var(--t-r-s);background:var(--panel);color:var(--muted);padding:0 4px}.side-search:focus-within kbd{display:none}html:has(#side-mini:checked) .side-search{display:none}@media (max-width:900px){html:has(#side-mini:checked) .side-search{display:flex}}:where(a,button,input,select,textarea,summary,label[for],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--t-r-s)}:where(button,input,select,textarea):disabled{opacity:var(--t-off);cursor:default}.spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;margin-right:7px;animation:.7s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.msg{border-radius:var(--t-r-m);font-size:var(--t-fs-sm);border:1px solid;padding:9px 14px;font-weight:600;line-height:1.45}.msg-ok{background:var(--good-soft);color:var(--good);border-color:#cfe7da}.msg-warn{background:var(--warn-soft);color:#8a5a1a;border-color:#ecd9b8}.msg-bad{background:var(--bad-soft);color:var(--bad);border-color:#f6ccd6}.state{text-align:center;color:var(--muted);padding:34px 22px}.state b{color:var(--ink);font-size:var(--t-fs-m);margin-bottom:6px;font-weight:700;display:block}.state span{font-size:var(--t-fs-s);max-width:52ch;margin:0 auto;line-height:1.5;display:block}.state .btn-main,.state .btn-sm{margin-top:14px;display:inline-flex}table.rep{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--sans)}table.rep th,table.rep td{background:var(--panel);border-bottom:1px solid var(--line-soft);font-size:var(--t-fs-s);text-align:right;white-space:nowrap;line-height:1.35;font-family:var(--mono);font-variant-numeric:tabular-nums;padding:9px 12px}table.rep thead th{font-size:var(--t-fs-xxs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:650;font-family:var(--sans);white-space:nowrap}table.rep th.l,table.rep td.l{text-align:left;font-family:var(--sans);white-space:normal;min-width:220px;max-width:320px}table.rep tbody tr:hover td{background:var(--line-soft)}table.rep .rep-money{color:var(--ink);font-weight:650}table.rep .rep-idle{color:var(--bad)}table.rep .rep-delta{color:var(--muted)}.rep-pack{font-family:var(--mono);font-size:var(--t-fs-xxs);color:var(--muted);background:var(--line-soft);border-radius:var(--t-r-s);margin-left:7px;padding:1px 6px}.rep-of{font-size:var(--t-fs-m);color:var(--muted);font-weight:500}.rep-foot{color:var(--muted);font-size:var(--t-fs-sm);margin:4px 2px 0;line-height:1.55}.view-tabs{background:var(--line);border-radius:var(--t-r-m);gap:2px;padding:2px;display:inline-flex}.view-tabs a{border-radius:var(--t-r-s);font-size:var(--t-fs-sm);color:var(--muted);white-space:nowrap;padding:6px 14px;font-weight:600;text-decoration:none}.view-tabs a.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #1018280f}.rep-why{padding:16px 20px 18px}.rep-why p{font-size:var(--t-fs-sm);color:var(--ink);margin:0 0 10px;line-height:1.6}.rep-why p:last-child{margin-bottom:0}.rep-why-do{color:var(--muted)}.en-search{align-items:center;gap:6px;display:inline-flex}.en-search input{border:1px solid var(--line);border-radius:var(--t-r-m);width:190px;font-size:var(--t-fs-sm);font-family:var(--sans);padding:7px 10px}.en-search button{border:1px solid var(--line);border-radius:var(--t-r-m);background:var(--panel);font-size:var(--t-fs-sm);cursor:pointer;padding:7px 14px;font-weight:600}.en-search button:hover{background:var(--line-soft)}.nowrap{white-space:nowrap}
