/* CompareGeeks BRIDGE v3 (2026-09-22) — light paper, spreadsheet gridlines, cockpit split view. Self-hosted Inter + JetBrains Mono.
   Laws kept: 158 served-bytes escapes · 159 tooltip portal · 160 sticky needs the page (or ONE) scroller · 161 lock on html ·
   162 grid sums · 163 text-overflow on block · 164 cascade tail = narrowest media LAST · 165 slider track pointer-events none.
   Layout modes: ≥1200 desktop split (rail | sheet | detail docked ≥1701); ≤1199 SHEET MODE = the main pane is the one scroller,
   header row sticky, Machine + CG Value columns frozen at the left, the rest scrolls sideways (Excel freeze panes). */
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-700-normal.woff2) format('woff2')}
:root{--paper:#F5F7FA;--surface:#fff;--ink:#0F172A;--line:#E2E8F0;--line2:#CBD5E1;--muted:#5B6776;--acc:#067A52;--accbg:#0A9B68;--acc-soft:#E6F6EF;--cg-tint:#EEF9F3;--amber:#D97706;--sel:#EEF6FF;--sans:'Inter',ui-sans-serif,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--top:52px}
*{box-sizing:border-box}html{overflow-x:clip;color-scheme:light}
body{margin:0;background:var(--paper);color:var(--ink);font:13.5px/1.45 var(--sans);-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer;color:inherit}a{color:inherit}kbd{font:11px var(--mono);background:var(--line);border-radius:4px;padding:1px 5px;color:var(--ink)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
.ic{display:inline-flex;width:14px;height:14px;vertical-align:-2px;margin-inline-end:4px;flex:none}.ic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.xbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0;color:var(--ink)}.xbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.xbtn:hover{border-color:var(--line2);background:var(--paper)}
/* ===== status header ===== */
.status{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:6px 18px;min-height:52px;white-space:nowrap;flex-wrap:wrap}
@media(max-width:1400px){.status #fdesc,.status .st:nth-of-type(2){display:none}}
.brand{font-weight:700;font-size:16px;text-decoration:none;letter-spacing:-.01em;flex:none}.brand b{color:var(--acc)}
.lanes{display:flex;gap:2px;flex:none}.lanes a{padding:6px 10px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:500}.lanes a.on{background:var(--acc-soft);color:var(--acc)}.lanes a:hover{color:var(--ink)}
.st{color:var(--muted);font-size:12.5px}.st b{color:var(--ink);font-family:var(--mono)}
.qline{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--paper);min-height:36px;min-width:260px;flex:1 1 260px;max-width:620px}
.qline span{color:var(--acc);font-family:var(--mono)}.qline input{flex:1;min-width:0;border:0;background:none;font:inherit;outline:none}.qline:focus-within{border-color:var(--accbg)}.qline.bad{border-color:#DC2626}
.qerr{color:#DC2626;font-size:12px;white-space:normal}.qerr:empty{display:none}
/* ===== layout ===== */
.layout{display:grid;grid-template-columns:268px minmax(0,1fr) 400px;min-height:calc(100dvh - var(--top))}
.rail{border-inline-end:1px solid var(--line);background:var(--surface);padding:10px 12px 30px;position:sticky;top:var(--top);height:calc(100dvh - var(--top));overflow:auto}
.rail:focus{outline:none}.rail .rclose{display:none}
.rail .reset{width:100%;margin-top:12px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}
/* compact slider rows (v3): icon · label · live range, then the dual track */
.sliders{padding:0 0 6px;border-bottom:1px solid var(--line);margin-bottom:6px}
.sl{padding:3px 2px 2px}.sl.off{display:none}
.sll{display:flex;align-items:center;gap:6px;font-size:11.5px;min-height:20px}.sll b{font-weight:600;color:var(--ink);white-space:nowrap}.sll .ic{width:15px;height:15px;color:var(--muted);cursor:help;margin:0}.sll .ic svg{width:15px;height:15px}
.slv{margin-inline-start:auto;font-family:var(--mono);font-size:10.5px;color:var(--muted);white-space:nowrap}.slv.set{color:var(--acc);font-weight:700}
.dual{position:relative;height:22px;--lo:0%;--hi:100%}
.dual::before{content:"";position:absolute;inset-inline:0;top:9px;height:4px;border-radius:2px;background:var(--line);pointer-events:none}
.dual::after{content:"";position:absolute;top:9px;height:4px;border-radius:2px;background:var(--accbg);left:var(--lo);right:calc(100% - var(--hi));pointer-events:none}
.dual input{position:absolute;inset-inline:0;top:0;width:100%;height:22px;margin:0;background:none;-webkit-appearance:none;appearance:none;pointer-events:none}
.dual input::-webkit-slider-runnable-track{background:transparent}.dual input::-moz-range-track{background:transparent}.dual input:focus-visible{outline:none}
/* thumb v3: a grip tab — rounded rectangle with a centre notch, not a circle */
.dual input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:20px;margin-top:1px;border-radius:4px;background:linear-gradient(var(--accbg),var(--accbg)) center/2px 8px no-repeat,#fff;border:2px solid var(--accbg);box-shadow:0 1px 3px rgba(15,23,42,.3);pointer-events:auto;cursor:ew-resize}
.dual input::-moz-range-thumb{width:8px;height:16px;border-radius:4px;background:linear-gradient(var(--accbg),var(--accbg)) center/2px 8px no-repeat,#fff;border:2px solid var(--accbg);box-shadow:0 1px 3px rgba(15,23,42,.3);pointer-events:auto;cursor:ew-resize}
.dual input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--ink);outline-offset:2px}.dual input:focus-visible::-moz-range-thumb{outline:2px solid var(--ink);outline-offset:2px}
/* chip groups */
.fg{margin:0;border-bottom:1px solid var(--line);padding-bottom:4px}.fg:last-of-type{border-bottom:0}.fg summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:30px;color:var(--muted);font:600 11px var(--sans);letter-spacing:.02em;user-select:none}.fg summary::-webkit-details-marker{display:none}
.fg summary::before,.fg summary::after{content:"";flex:1;height:1px;background:var(--line)}.fg summary .ic{order:1;width:14px;height:14px;flex:none;cursor:help;margin:0}.fg summary .t{order:2}.fg summary::before{order:0}.fg summary::after{order:3}
.fg[open] summary{color:var(--ink)}.fg summary:hover .t{color:var(--acc)}.fg summary:focus-visible{outline:2px solid var(--accbg);outline-offset:2px;border-radius:6px}.fgb{padding:2px 0 6px}.fg.off{display:none}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.fc{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 6px 0 6px;min-height:26px;font-size:11.5px;font-weight:500;color:var(--ink);cursor:pointer;line-height:1}
.fc i{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--muted);background:var(--paper);border-radius:999px;padding:2px 5px}
.fc.on{background:var(--acc-soft);border-color:var(--acc);color:var(--acc)}.fc.on i{background:#fff;color:var(--acc)}.fc:disabled{opacity:.4;cursor:default}.fc:hover:not(:disabled):not(.on){border-color:var(--line2)}.fc:focus-visible{outline:2px solid var(--accbg);outline-offset:2px}
.fc .fi{width:16px;height:12px}.fc .pmini{display:inline-flex;align-items:center;height:14px}.fc .pmini img{height:14px;max-width:44px;object-fit:contain}.fc .pmini .mono-tile{height:14px!important;width:26px!important;font-size:8px!important;border-radius:3px}
.fc .vm{display:inline-flex;align-items:center}.fc .vm img{height:9px;width:auto}.fc.loc{padding:0 5px;gap:3px;font-family:var(--mono);font-size:11px}.fc.loc i{padding:2px 4px}
.railhead,.railfoot{display:none}.mrail{display:none}
/* ===== main ===== */
.main{padding:14px 16px 40px;min-width:0}
.mbar{display:none}
.tabs{display:flex;gap:6px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 14px;min-height:38px;text-decoration:none;font-weight:600;color:var(--muted)}.tab i{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tab.on i{color:#C9D3E0}.tab:hover:not(.on){border-color:var(--line2);color:var(--ink)}
.hero{margin:0 0 12px}.hero h1{margin:0 0 4px;font-size:22px;letter-spacing:-.02em;font-weight:700;line-height:1.2}.hero p{margin:0;color:var(--muted);font-size:13px;max-width:70ch}
.deals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.deals:empty{display:none}
.deal{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"k k dl" "v m m" "v s s";gap:2px 12px;align-items:center;text-decoration:none;cursor:pointer;text-align:start;font:inherit;min-height:44px}
.deal .k{grid-area:k;color:var(--muted);font-size:11.5px;display:flex;align-items:center}.deal .k .ic{color:var(--acc)}.deal .dl{grid-area:dl;display:flex;align-items:center;justify-content:flex-end}.deal .dl img{height:18px;max-width:84px;object-fit:contain}.deal .dl .mono-tile{height:18px!important;width:40px!important;font-size:9px!important}
.deal .v{grid-area:v;font:700 26px/1 var(--mono);color:var(--acc);align-self:start}.deal .m{grid-area:m;font-weight:600;line-height:1.25;display:flex;align-items:center;gap:6px;min-width:0}.deal .m .vch{height:11px}
.deal .s{grid-area:s;color:var(--muted);font-size:11.5px;display:flex;flex-wrap:wrap;gap:2px 10px}.deal .s span{display:inline-flex;align-items:center;white-space:nowrap}.deal .s .ic{width:12px;height:12px}.deal .s .ic svg{width:12px;height:12px}
.deal:hover{border-color:var(--line2)}.deal:focus-visible{outline:2px solid var(--accbg);outline-offset:2px}
.chips#chips{margin:0 0 10px;gap:6px}.chips#chips:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--acc-soft);color:var(--acc);border-radius:999px;padding:0 10px;font-size:12px;font-weight:500;border:0;min-height:28px}
/* ===== the sheet: ONE grid for header and rows, gridlines, one cell class per column ===== */
.tbl{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:clip;--cols:56px minmax(150px,2fr) 50px minmax(80px,.9fr) 54px 62px 58px 76px 62px 78px 84px 56px 78px}
@media(min-width:1500px) and (max-width:1700px),(min-width:1900px){.tbl{--cols:72px minmax(190px,2fr) 56px minmax(92px,.9fr) 66px 72px 68px 84px 70px 78px 96px 68px 92px}}
.hd,.row{display:grid;grid-template-columns:var(--cols);gap:0;align-items:stretch;padding:0}
.hd>*,.row>span{min-width:0;padding:6px 8px;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hd>*:last-child,.row>span:last-child{border-inline-end:0}
.hd{position:sticky;top:var(--top);z-index:10;background:var(--surface);border-bottom:1px solid var(--line);min-height:40px;font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.01em}
.hd>*{overflow:hidden;min-height:40px;flex-direction:row;align-items:center;gap:0;background:none;border-block:0;border-inline-start:0;color:inherit;font:inherit;text-align:start;border-radius:0}
.hd .ht{white-space:normal;line-height:1.15;overflow-wrap:normal;hyphens:none;word-break:keep-all}
@media(max-width:1499px){.hd>*{flex-direction:column;align-items:flex-start;gap:1px;padding-block:4px}.hd .ic{margin:0}.hd .ht{font-size:10px}.hd button.on::after{margin:0}}
.hd button:hover,.hd button.on{color:var(--ink)}.hd button.on::after{content:"↓";font-family:var(--mono);font-size:10px;margin-inline-start:3px}
.hd .cgv,.row .cgv{background:var(--cg-tint);align-items:center;justify-content:center;text-align:center}.hd .cgv{color:var(--acc)}
.row{min-height:56px;border-bottom:1px solid var(--line);cursor:pointer;outline:none;font-size:13px;background:var(--surface)}
.row:last-child{border-bottom:0}.row:hover{background:var(--paper)}.row.sel{background:var(--sel);box-shadow:inset 3px 0 0 var(--accbg)}.row:focus-visible{box-shadow:inset 3px 0 0 var(--accbg),inset 0 0 0 1px var(--line2)}
.row.oos{opacity:.72}
.row .logo{align-items:center;justify-content:center}.logo img,.logo .mono-tile{max-width:100%}.plogo{max-width:100%;max-height:100%;object-fit:contain}
.mono-tile{display:inline-flex;align-items:center;justify-content:center;background:var(--b);color:#fff;border-radius:6px;font:700 12px var(--mono);letter-spacing:.06em}
.mach .l1{display:flex;align-items:center;gap:7px;min-width:0;width:100%}.mach .name{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;text-decoration:none}.mach .name:hover{text-decoration:underline}
.mach .l2{display:flex;align-items:center;width:100%;color:var(--muted);font-size:12px;min-width:0}.mach .l2t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mach .l2 b{color:var(--ink);font-weight:500}.mach .mlogo{display:none}
.vch{height:11px;width:auto;flex:none}
.cgn{font:700 15px var(--mono);border:0;background:none;padding:2px 6px;border-radius:8px;cursor:help;line-height:1.2}
.cgv.hi .cgn{color:var(--acc)}.cgv.mid .cgn{color:#1F4E9A}.cgv.lo .cgn{color:var(--muted)}.cgn.na{color:#8A94A6;cursor:default}.cgn:focus-visible{outline:2px solid var(--accbg);outline-offset:2px}
.price{gap:2px}.price b{font:700 14px var(--mono);white-space:nowrap}.price b small{font:400 11px var(--sans);color:var(--muted);margin-inline-start:2px}.price .nat{font:400 10.5px var(--sans);color:var(--muted)}
.spark{display:block;color:#94A3B8}.spark.dn{color:var(--acc)}.spark.up{color:var(--amber)}
.sz{font-family:var(--mono);font-weight:600;font-size:12px;white-space:nowrap}.ty{color:var(--muted);font-size:11.5px;line-height:1.25;overflow-wrap:normal;overflow:hidden}.ty.na,.sz.na{color:#6B7684}
.ty em{font-style:normal;font-weight:600;color:var(--ink);font-size:10.5px;background:var(--acc-soft);padding:0 4px;border-radius:4px;display:block;margin:2px 0 0;width:max-content}
.stk{display:flex;flex-direction:column;line-height:1.25}.stk b{font-weight:600;font-size:12px;white-space:nowrap}.stk small{font-size:10.5px;color:var(--muted);white-space:nowrap}.stk.in b{color:var(--acc)}.stk.out b{color:#B42318}.stk.unk b{color:var(--muted)}.stk b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-end:5px;background:currentColor}
.flagrow{display:inline-flex;gap:3px;align-items:center;flex-wrap:nowrap}.fi{width:18px;height:13px;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.12)}.fl.more{display:inline-block;font:600 10.5px var(--mono);color:var(--muted);flex:none;line-height:1}.flagrow.na{color:#6B7684}
.row .act{flex-direction:row;align-items:center;justify-content:flex-end;gap:4px}
.go{background:var(--ink);color:#fff;border:0;border-radius:9px;padding:0 9px;min-height:34px;font-weight:600;font-size:12.5px;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}.go:hover{background:#1e293b}
.ib{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;padding:0;flex:none}.ib.on{color:var(--acc);border-color:var(--acc);background:var(--acc-soft)}
.more{display:block;width:100%;border:0;border-top:1px solid var(--line);background:var(--surface);padding:12px;font-weight:600;color:var(--acc);min-height:46px}
.empty{padding:28px 16px;color:var(--muted)}.empty button{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--acc);padding:4px 10px;min-height:32px;margin-top:6px}
.foot{color:var(--muted);font-size:12px;margin:12px 0 0;line-height:1.6}.foot a{color:var(--acc)}
.nojs{background:var(--acc-soft);border-radius:10px;padding:10px 12px;font-size:13px;margin:0 0 10px}
/* ===== detail pane ===== */
.detail{border-inline-start:1px solid var(--line);background:var(--surface);padding:14px 16px 16px;position:sticky;top:var(--top);height:calc(100dvh - var(--top));overflow:auto}
.dclose{display:none;position:absolute;top:10px;inset-inline-end:12px;z-index:2;width:34px;height:34px}
.detail .dh{margin-bottom:10px;padding-inline-end:0}.detail.on .dh .sub,.detail .dh .sub{padding-inline-end:44px}.detail .sub{display:flex;align-items:center;gap:8px;color:var(--muted);margin:0 0 6px;font-size:12.5px;min-width:0}.detail .smlogo{display:inline-flex;align-items:center;flex:none}.detail .smlogo img{height:20px;max-width:88px;object-fit:contain}.detail .smlogo .mono-tile{height:20px!important;width:44px!important;font-size:9px!important}
.detail h2{margin:0;font:600 17px/1.3 var(--sans);display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.detail h2 .vch{height:13px;flex:none}
.detail .cpuline{margin:6px 0 0;color:var(--muted);font-size:12.5px;display:block;line-height:1.5}.detail .cpuline .ic{color:var(--ink)}
.ic.info{width:14px;height:14px;color:var(--muted);cursor:help;vertical-align:-3px;margin:0 0 0 2px}.ic.info svg{width:14px;height:14px}
.gauge{display:flex;align-items:center;gap:14px;border-radius:10px;padding:0}
.gauge svg{width:140px;height:80px;flex:none}.gauge .gv{font:700 32px/1 var(--mono);color:var(--acc)}.gauge .gl{color:var(--muted);font-size:11.5px;margin-top:4px}
.gauge button{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--acc);padding:0 8px;min-height:32px;font-size:12px;margin-top:8px}
.cgx{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;background:var(--surface)}.cgx h3{margin:0 0 8px;font:600 13px var(--sans);display:flex;align-items:center}
.parts{margin:10px 0 4px}.prow{display:grid;grid-template-columns:92px 1fr 96px;gap:8px;align-items:center;min-height:24px;font-size:12px}.prow .pl{color:var(--ink);font-weight:500}.prow .pl small{color:var(--muted);font-weight:400}.prow .pb{position:relative;height:10px;background:var(--line);border-radius:5px;overflow:hidden}.prow .pb i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--accbg);border-radius:5px}.prow.dn .pb i{background:#E0A23C}.prow .pb .mid{position:absolute;inset-block:-2px;inset-inline-start:50%;width:2px;background:var(--ink)}.prow .pv{font-family:var(--mono);font-size:11.5px;color:var(--ink);text-align:end;white-space:nowrap}.prow.na .pv{color:var(--muted)}.pnote{color:var(--muted);font-size:10.5px;margin:4px 0 0;line-height:1.5;display:block}
.cpuf{color:var(--muted);font-size:10.5px;line-height:1.5;margin:6px 0 0;display:block}.cpuf b{color:var(--ink);margin-inline-end:4px}
.map{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--paper)}.map svg{width:100%;height:auto;display:block}.map .cap{color:var(--muted);font-size:12px;margin:6px 2px 0;line-height:1.45}.map .cap b{color:var(--ink)}
.specs{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0}.specs dt{color:var(--muted);font-size:12px;display:flex;align-items:center}.specs dd{margin:0;font-weight:500;min-width:0}
.sites{display:flex;flex-direction:column;gap:3px}.site{display:inline-flex;align-items:center;gap:6px;font-weight:500}.site small{color:var(--muted);font-weight:400}.site .fi{flex:none}
.hint{color:var(--muted);font-size:12px;margin-top:12px;line-height:1.5}.hint a{color:var(--acc)}
/* ONE peel button (v3): the code sits under a folded corner, barely visible; hover peels the corner further */
.cta{display:flex;flex-direction:column;align-items:center;margin:12px 0}
.peel{position:relative;display:block;width:min(100%,360px);height:46px;border-radius:12px;overflow:hidden;background:#FFF1E0;text-decoration:none;isolation:isolate;--c:24px}
.peel .under{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:0 12px 0 0;z-index:0}
.peel .cpn{font:700 11px var(--mono);letter-spacing:.08em;color:#EFCBA3;white-space:nowrap;transform:translateY(8px)}
.peel .face{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 28px 0 16px;background:#FF8C28;color:#fff;font:700 14px var(--sans);letter-spacing:-.01em;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%);transition:clip-path .35s cubic-bezier(.16,1,.3,1)}
.peel .ptxt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.peel .fold{position:absolute;right:0;bottom:0;z-index:2;width:var(--c);height:var(--c);background:linear-gradient(to top right,#D9701C 50%,rgba(0,0,0,0) 50.5%);filter:drop-shadow(-2px -2px 3px rgba(0,0,0,.22));transition:width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1)}
.peel:hover,.peel:focus-visible{--c:64px}.peel:hover .cpn,.peel:focus-visible .cpn{color:#D9A268}.peel:focus-visible{outline:2px solid var(--accbg);outline-offset:3px}
@media(pointer:coarse){.peel{--c:44px}}
@media(prefers-reduced-motion:reduce){.peel .face,.peel .fold,.detail{transition:none}}
/* ===== tooltip + sheet ===== */
#cgtip{position:fixed;z-index:80;width:min(400px,calc(100vw - 16px));background:var(--ink);color:#F8FAFC;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.5;box-shadow:0 20px 50px rgba(15,23,42,.35);pointer-events:none}
#cgtip[hidden]{display:none}#cgtip p{margin:0}#cgtip hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:10px 0}#cgtip .own{display:block;margin-top:4px;color:#7EE2B8}#cgtip .tip-link{display:block;margin-top:10px;color:#7EE2B8;font-size:12px}#cgtip.plain{width:min(320px,calc(100vw - 16px))}
#cgtip .tiphead b{font:700 16px var(--mono)}.revs{display:flex;flex-direction:column;gap:4px;margin:8px 0 4px}.rev{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:baseline;font-size:12px}.rev .rs{font-weight:600}.rev b{font:700 14px var(--mono)}.rev b small{font:400 10px var(--mono);opacity:.75}.rev .rn,.rev .rd{font-size:10.5px;opacity:.75}.rev .rd{text-align:end}#cgtip .parts{margin:10px 0 8px}#cgtip .prow{font-size:11.5px;min-height:22px;grid-template-columns:78px 1fr 96px}#cgtip .prow .pv{white-space:nowrap}#cgtip .prow .pl{color:#F8FAFC}#cgtip .prow .pl small{color:#A5B4C8}#cgtip .prow .pb{background:rgba(255,255,255,.16)}#cgtip .prow .pb i{background:#7EE2B8}#cgtip .prow.dn .pb i{background:#F8C77E}#cgtip .prow .pb .mid{background:#fff}#cgtip .prow .pv{color:#E2E8F0}#cgtip .cpuf{color:#CBD5E1;margin:0 0 4px}#cgtip .cpuf b{color:#fff}
.wbar{display:flex;gap:2px;margin:8px 0 6px;height:30px;border-radius:6px;overflow:hidden}.wbar span{display:flex;flex-direction:column;justify-content:center;padding:0 6px;font:600 10px/1.2 var(--sans);color:#0B1220;background:#7EE2B8;min-width:0;white-space:nowrap;overflow:hidden}.wbar span:nth-child(2){background:#A7ECD1}.wbar span:nth-child(3){background:#CDF3E3}.wbar span:nth-child(4){background:#E6F6EF}.wbar b{font:700 11px var(--mono)}.wnote{font-size:12px;opacity:.85}
#cgsheet{position:fixed;inset:0;z-index:90;display:none}#cgsheet.on{display:block}#cgsheet .sh-bg{position:absolute;inset:0;background:rgba(15,23,42,.45)}
#cgsheet .sh{position:absolute;inset-inline:0;bottom:0;background:var(--surface);border-radius:18px 18px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom,0px));max-height:80dvh;overflow:auto}
#cgsheet .sh-x{position:absolute;top:12px;inset-inline-end:14px;width:44px;height:44px}
#cgsheet .sh-body{padding-top:36px}#cgsheet .sh-body p{margin:0}#cgsheet .sh-body hr{border:0;border-top:1px solid var(--line);margin:12px 0}#cgsheet .own{display:block;margin-top:6px;color:var(--acc);font-weight:600}#cgsheet .tip-link{display:block;margin-top:12px;color:var(--acc);font-weight:600}#cgsheet .tiphead b{font:700 18px var(--mono)}#cgsheet .cpuf{margin:8px 0}
html.sheet-open{overflow:hidden}
/* ===== footer ===== */
.cgfoot{border-top:1px solid var(--line);background:var(--surface);padding:22px 18px 32px;color:var(--muted);font-size:12.5px;line-height:1.6}.cgfoot a{color:var(--acc)}.cgfoot .cols{display:flex;gap:28px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.cgfoot .cols div{min-width:180px}.cgfoot b{color:var(--ink);display:block;margin-bottom:4px}
/* ===== responsive: detail drawer below 1701 ===== */
@media(max-width:1700px){
  .layout{grid-template-columns:256px minmax(0,1fr)}
  .detail{position:fixed;inset:var(--top) 0 0 auto;width:min(420px,100vw);height:auto;transform:translateX(105%);transition:transform .25s;z-index:40;box-shadow:-20px 0 50px rgba(15,23,42,.15);padding-top:14px}.detail.on{transform:none}.dclose{display:inline-flex}
}
/* ===== SHEET MODE ≤1199 (tablet + phone): the main pane is the one scroller; frozen panes; no cards ===== */
@media(max-width:1199px){
  .lanes,.status .st{display:none}.qline{min-width:0;flex:1}.qerr{flex-basis:100%}.brand{font-size:15px}
  .mrail{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600;flex:none}.mrail .ic{margin:0}.mrail i{font-style:normal;font-family:var(--mono);font-size:11px;background:var(--acc);color:#fff;border-radius:999px;padding:1px 6px}.mrail i:empty{display:none}
  .layout{display:block;min-height:0}
  .rail{position:fixed;inset:var(--top) auto 0 0;width:min(380px,100vw);z-index:60;height:auto;transform:translateX(-105%);transition:transform .22s;padding:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:20px 0 50px rgba(15,23,42,.15)}.rail.on{transform:none}
  .railhead{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:15px;flex:none}.railhead .ic{width:16px;height:16px;margin:0}.railhead .xbtn{margin-inline-start:auto;width:44px;height:44px}
  .railbody{flex:1;overflow:auto;padding:8px 12px 16px;min-height:0}
  .railfoot{display:block;flex:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}.rail .rclose{display:block;width:100%;min-height:48px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:600}
  html.rail-open{overflow:hidden}html.rail-open .main{overflow:hidden}
  .main{height:calc(100dvh - var(--top));overflow:auto;padding:0 0 24px;overscroll-behavior:contain;scroll-padding-top:56px}
  .mbody{display:flex;flex-direction:column;width:max-content;min-width:100%}
  .mbody>*{position:sticky;left:0;width:100%;max-width:100vw}
  .mbody>.tbl{position:static;width:max-content;min-width:100%;max-width:none}
  .mbar{display:flex;gap:8px;align-items:center;position:sticky;top:0;left:0;z-index:25;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 12px}.mbar label{color:var(--muted);font-size:12px;flex:none}.mbar select{flex:1;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:inherit;font-weight:600;padding:0 10px}
  .tabs{padding:10px 12px 0;margin:0 0 8px}.hero{padding:0 12px;margin:0 0 8px}.hero h1{font-size:18px}.hero p{font-size:12px}
  .deals{display:flex;gap:8px;overflow-x:auto;padding:0 12px 4px;margin:0 0 8px;scrollbar-width:none}.deals::-webkit-scrollbar{display:none}.deal{flex:0 0 min(300px,82vw)}
  .chips#chips{padding:0 12px;margin:0 0 8px}.foot{padding:0 12px}.nojs{margin:0 12px 8px}
  .tbl{border-radius:0;border-inline:0;--cols:0px 190px 52px 88px 62px 70px 64px 86px 66px 76px 96px 66px 90px}
  .hd{top:56px}
  .hd .logo,.row .logo{padding:0;border:0;overflow:hidden}
  .hd .mach,.row .mach{position:sticky;left:0;z-index:3;background:var(--surface)}.hd .cgv,.row .cgv{position:sticky;left:190px;z-index:3;box-shadow:4px 0 8px -4px rgba(15,23,42,.18)}
  .row:hover .mach{background:var(--paper)}.row.sel .mach{background:var(--sel)}.row.sel{box-shadow:none}.row.sel .mach{box-shadow:inset 3px 0 0 var(--accbg)}
  .mach .mlogo{display:inline-flex;align-items:center;margin-inline-end:5px;vertical-align:-2px;position:relative}.mach .mlogo::before{content:"";position:absolute;inset:-14px -10px}.mach .mlogo img{height:12px;max-width:40px;object-fit:contain}.mach .mlogo .mono-tile{height:12px!important;width:24px!important;font-size:7px!important;border-radius:3px}
  .mach .name{pointer-events:none}
  .act .go{min-height:40px}.ib{width:40px;height:40px}.cgn{font-size:16px;min-height:40px;width:100%}.row .cgv{align-items:stretch;justify-content:center;padding:0}.cgn{min-height:56px}.fc{min-height:36px}.tab{min-height:44px}.xbtn{width:44px;height:44px}.gauge button{min-height:44px}
  .cgfoot{display:none}
}
@media(max-width:820px){
  .rail{width:100vw;box-shadow:none}.detail{padding-top:14px}
  .status{gap:8px 10px;padding:6px 12px}.qline{flex-basis:100%;order:5;min-height:38px}.mrail{margin-inline-start:auto}
  .tbl{--cols:0px 170px 48px 86px 60px 68px 62px 84px 64px 74px 94px 64px 88px}
  .hd .cgv,.row .cgv{left:170px}
  .mach .name{font-size:13px}.mach .l2{font-size:11px}
  .detail{position:fixed;inset:0;width:100vw;height:100dvh;transform:translateY(105%);transition:transform .25s;z-index:70;padding-top:14px}.detail.on{transform:none}.dclose{top:12px;width:44px;height:44px}
  #cgsheet .sh-x{width:48px;height:48px}
}
