body{width:1280px;margin:0;word-break:keep-all;font-size:14px;color:var(--ink);background:var(--ground)}
.mono{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute)}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.s{width:13px;height:13px;stroke-width:2.5}
/* card annotation strip (outside the screen) */
.cardhd{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.cardhd b{font-size:16px;font-weight:700}
.cardhd .note{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ex{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-mute);border:1px dashed var(--ink-mute);border-radius:4px;padding:0 5px;line-height:15px;white-space:nowrap;letter-spacing:0;text-transform:none}
.ex.r{color:var(--brand-700);border:0;background:color-mix(in srgb,var(--brand-700) 10%,transparent);line-height:17px}
.ex.q{color:#fff;background:var(--ink);border:0;line-height:17px}
/* shell (card 03) */
.hdr{background:var(--brand-900);box-shadow:0 2px 12px rgba(5,28,24,.18);position:relative}
.hdr .bar{display:flex;align-items:center;height:64px;padding:0 24px}
.hdr img{height:28px;width:auto;display:block}
.nav{display:flex;height:64px;margin-left:32px}
.nav a{display:flex;align-items:center;padding:0 12px;font-size:14px;color:rgba(255,255,255,.7);font-weight:500;text-decoration:none}
.rt{margin-left:auto;display:flex;gap:8px}.rt span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8)}
.band{background:color-mix(in srgb,var(--secondary) 60%,transparent);display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px}
.crumb{display:flex;gap:6px;font-size:12px;font-weight:500;color:var(--ink-mute)}.crumb b{color:var(--ink);font-weight:600}
.band h1{margin:0;font-size:30px;font-weight:700;line-height:1.2}
.page{max-width:1200px;margin:0 auto;padding:24px 16px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}
.rc{background:var(--surface);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:28px}
/* controls (card 04) */
.seg{display:inline-flex;gap:4px;background:var(--secondary);border-radius:16px;padding:6px;align-self:flex-start}
.seg span{border-radius:16.8px;padding:8px 16px;font-size:14px;font-weight:500;color:var(--ink-soft);border:1px solid transparent}
.seg span.on{background:#fff;border-color:var(--line);box-shadow:0 1px 3px rgba(0,0,0,.1);color:var(--brand-700);font-weight:600}
.seg.sm{padding:4px}.seg.sm span{border-radius:12px;padding:4px 12px;font-size:13px}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--surface);color:var(--ink-mute);font-size:14px;font-weight:500;align-self:flex-start;box-sizing:border-box}
.act{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:16.8px;background:var(--secondary);color:var(--ink-soft);font-size:14px;font-weight:700;box-sizing:border-box;text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);padding:6px 12px;font-size:14px;font-weight:500;white-space:nowrap}
.chip.on{border-color:var(--brand-700);background:var(--secondary);color:var(--brand-700)}
.fg{display:flex;align-items:center;gap:8px}.fg>.t{font-size:12px;font-weight:500;color:var(--ink-mute)}
.tip{background:var(--ink);color:#fff;border-radius:16.8px;padding:10px 14px;font-size:13px;line-height:1.375;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);white-space:nowrap;font-variant-numeric:tabular-nums}
/* section heading */
.sh{display:flex;align-items:center;gap:6px;margin:0 0 12px}.sh b{font-size:15px;font-weight:700}.sh .ic{color:var(--ink-mute)}.sh .end{margin-left:auto;display:flex;align-items:center;gap:10px}
/* surfaces (card 06) */
.bc{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-sizing:border-box}
.bc.hv{background:color-mix(in srgb,var(--secondary) 60%,#fff)}
/* badges · marks (card 05, D-04) */
.cb{display:inline-flex;align-items:center;max-width:100%;background:var(--secondary);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;justify-self:start;box-sizing:border-box}
.brand{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--brand-700) 10%,transparent);color:var(--brand-700);border-radius:9.6px;padding:2px 8px;font-size:12px;font-weight:600}
.tx{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.35}
.tx .m{font-size:9px}
.tx.lg{font-size:14px;gap:4px}.tx.lg .m{font-size:10px}.tx.lg .ic{width:15px;height:15px}.tx.lg .dot{width:7px;height:7px}
.bull{color:var(--signal-bull)}.bear{color:var(--signal-bear)}.neu{color:var(--signal-neutral)}.hz{color:var(--ink-soft);font-weight:500}.mid{color:var(--line);font-weight:400}
.dot{width:6px;height:6px;border-radius:50%;flex:none;display:inline-block;background:var(--brand-700)}
.sp-bar{width:12px;height:6px;border-radius:3px;background:var(--signal-split);flex:none;display:inline-block}
.th{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500;color:var(--ink-soft);white-space:nowrap;line-height:1.35}
.th .g{color:var(--ink-mute)}.th .n{color:var(--ink);font-weight:600}.th .sep{width:1px;height:10px;background:var(--line)}.th b{font-weight:700;font-variant-numeric:tabular-nums}
.ds{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ds span{display:inline-flex;gap:3px;align-items:center}.ds .m{font-size:9px}.ds i{font-style:normal;color:var(--line)}
.ds.lg{font-size:18px;font-weight:700;gap:12px}.ds.lg .m{font-size:12px}
/* numbers + label tiles */
.tiles{display:flex;align-items:stretch}
.tile{display:flex;flex-direction:column;gap:2px;padding:0 20px;border-left:1px solid var(--line)}.tile:first-child{border-left:0;padding-left:0}
.tile b{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.tile b small{font-size:14px;font-weight:600;margin-left:1px}
.tile span{font-size:12px;color:var(--ink-mute)}
.tile.mute b{font-size:14px;font-weight:600;color:var(--ink-mute);line-height:27px}
/* rows · table (card 07) */
.thd{display:grid;background:var(--secondary);font-size:12px;font-weight:500;color:var(--ink-mute);padding:9px 16px;border-radius:9.6px 9.6px 0 0}
.trow{display:grid;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.date{font-size:13px;color:var(--ink-mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.ttl{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev{font-family:var(--font-mono);font-size:11px;color:var(--brand-700);white-space:nowrap}
.ann{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--font-mono);font-size:10px;color:var(--ink-mute)}.ann b{color:var(--ink-soft);font-weight:600}
