:root{--bg: #fff;--fg: #1a1d21;--muted: #49545f;--line: #dde3ea;--card: #f7f9fb;--up: #d32029;--down: #1257b8;--flat: #5b6773;--warn: #8a5a00;--warnbg: #fff6e0;--danger: #b3261e;--dangerbg: #fdeceb;--accent: #1f4e9c;--accentbg: #e8f0fd;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--brand: #2962ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.6;font-size:15px;word-break:keep-all;overflow-wrap:break-word}a{color:var(--accent)}.wrap{max-width:1240px;margin:0 auto;padding:20px 20px 72px}h1{font-size:23px;margin:4px 0 2px;letter-spacing:-.01em}h2{font-size:17px;margin:32px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--fg)}h3{font-size:14px;margin:20px 0 6px;color:var(--muted)}.topbar{background:var(--bg);color:var(--fg)}.topbar-inner{max-width:1240px;margin:0 auto;padding:14px 20px 0;border-bottom:2px solid var(--fg)}.mast{display:flex;align-items:center;gap:12px;min-height:34px}.brand{display:flex;align-items:center;gap:10px;flex:none;min-width:0;color:var(--fg)}.brand-home{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border-radius:6px}.brand-home:focus-visible,.brand-by:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.brand-chip{width:28px;height:28px;flex:none;align-self:center;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--brand);color:#fff;font-size:16px;font-weight:900;line-height:1;-webkit-user-select:none;user-select:none}.brand-name{font-weight:900;font-size:26px;letter-spacing:-.03em;line-height:1;white-space:nowrap}.brand-by{display:inline-flex;align-items:baseline;gap:3px;align-self:flex-end;padding-bottom:2px;font-weight:400;font-size:12.5px;color:var(--muted);white-space:nowrap;text-decoration:underline dotted rgba(26,29,33,.35);text-underline-offset:3px;border-radius:4px}.brand-by:hover{color:var(--fg);text-decoration:underline solid currentColor}.ext{font-size:.85em;line-height:1;opacity:.8}nav.tabs{display:flex;align-items:stretch;gap:22px;margin-top:8px;min-width:0}nav.tabs a{position:relative;display:flex;align-items:center;padding:4px 0 9px;font-size:14.5px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}nav.tabs a:hover{color:var(--fg)}nav.tabs a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}nav.tabs a.active{color:var(--fg);font-weight:700}nav.tabs a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brand)}.topbar-asof{margin-left:auto;flex:none;display:flex;align-items:center;gap:8px}.topbar-asof .dot{width:7px;height:7px;border-radius:50%;background:#2fa870;flex:none}.topbar-asof .dot.sample{background:var(--warn)}.topbar-asof .asof-date{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.topbar-asof .asof-tiny{display:none;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.topbar-asof .asof-kst{font-size:12px;color:var(--muted);white-space:nowrap}.layout-btn{font:inherit;font-size:11px;line-height:1;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.layout-btn:hover{color:var(--fg);border-color:var(--fg)}.layout-btn:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.banner{background:var(--warnbg);border:1px solid #e6c98a;border-left:5px solid var(--warn);padding:12px 15px;border-radius:5px;margin:14px 0;font-size:13.5px;color:#5c3d00}.banner.danger{background:var(--dangerbg);border-color:#e8b4b0;border-left-color:var(--danger);color:#7a1a15}.banner.info{background:var(--accentbg);border-color:#b9cdf0;border-left-color:var(--accent);color:#163a75}.banner b{font-weight:700}.meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12.5px;color:var(--muted);padding:10px 0 8px;border-bottom:1px solid var(--line);margin-bottom:6px}.meta span b{color:var(--fg);font-weight:600}.note{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:13px 15px;margin:12px 0}.note p{margin:6px 0}.small{font-size:12.5px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.card{border:1px solid var(--line);border-radius:6px;padding:11px 13px;background:var(--card)}.card .k{font-size:12.5px;color:var(--muted)}.card .v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:3px}.card .sub{font-size:12.5px;color:var(--muted);margin-top:2px}.threads{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;margin:12px 0}.thread-cause{font-size:13.5px;font-weight:700}.thread-cause .pill{margin-left:6px;vertical-align:1px}.up{color:var(--up)}.down{color:var(--down)}table.obs td.num.up,table.obs td.num.down{font-weight:600}table.obs .gap{border-left:1px dashed var(--line)}table.obs tr.head td{border-top:1px solid var(--fg)}table.obs tr.kid td.tk{padding-left:24px;font-weight:600}table.obs tr.kid td.tk:before{content:"";position:absolute;left:13px;top:4px;bottom:4px;border-left:1px solid var(--line)}table.obs td.tk{min-width:88px}table.obs td.num .rk{display:block;margin-top:1px;font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}.pill{margin-left:6px;vertical-align:1px}.threads .card p,.threads .card ul{margin:6px 0 0}.threads .card ul{padding-left:18px}.frame-card{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:12px 14px;margin:12px 0;background:var(--card)}.frame-card p{margin:6px 0;font-size:13.5px}.frame-card h4{font-size:13px;color:var(--muted);margin:14px 0 5px}.frame-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.frame-head b{font-size:15px}.frame-head small{color:var(--muted);font-size:12px}details.fold{margin:8px 0}details.fold>summary{cursor:pointer;font-size:12.5px;color:var(--accent)}details.fold ul{margin:6px 0 0;padding-left:18px}details.fold li{margin:3px 0}.ref{display:inline-block;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--accentbg);color:var(--accent);border-radius:4px;padding:0 5px;margin-right:4px}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:13px;margin:8px 0}th,td{border:0;border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{border-bottom:2px solid #c6cfd9;background:transparent;font-weight:700;font-size:12.5px;color:var(--muted);white-space:nowrap}th.grp{position:relative;text-align:left;padding-left:8px;border-left:0;border-bottom-color:transparent}th.grp:after{content:"";position:absolute;left:8px;right:12px;bottom:3px;height:2px;border-radius:1px;background:var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:nth-child(2n){background:#fcfdfe}tbody tr:hover td{background:#f2f6fb}tr.group th{background:#eef2f6;color:var(--fg);font-size:12.5px}.tk{font-weight:700;white-space:nowrap}.tk small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}.st{font-weight:700;white-space:nowrap}.st-up{color:var(--up)}.st-down{color:var(--down)}.st-flat{color:var(--flat)}.st-held{color:var(--warn)}.st-abs{color:#98a2ad}.pill{display:inline-block;font-size:11.5px;padding:1px 7px;border-radius:9px;background:#eef2f6;color:var(--muted);margin:2px 3px 0 0;white-space:nowrap}.pill.w{background:var(--dangerbg);color:var(--danger)}.pill.c{background:var(--accentbg);color:var(--accent)}.aux{display:block;font-size:12.5px;color:var(--muted);font-weight:400}.empty{border:1px dashed var(--line);border-radius:8px;background:var(--card);padding:26px 22px;margin:16px 0;text-align:center;color:var(--muted)}.empty h3{color:var(--fg);font-size:15px;margin:0 0 6px}.empty p{margin:5px 0;font-size:13.5px}.empty ul{display:inline-block;text-align:left;font-size:13px;margin:8px 0 0}.heat-pop{position:absolute;transform:translate(-50%,calc(-100% - 6px));z-index:4;pointer-events:none;white-space:nowrap;padding:5px 9px;border-radius:5px;background:var(--fg);color:#fff;font-size:11.5px;font-variant-numeric:tabular-nums;box-shadow:0 3px 12px #00000038}.heat-pop.below{transform:translate(-50%,6px)}.heat-pop .d{margin-left:7px;opacity:.7}.heat-pop .v{display:block;margin-top:2px;font-weight:700}.heat-pop .r{display:block;margin-top:1px;font-size:10.5px;opacity:.78}.heat-pop .list{display:block;margin-top:3px}.heat-pop .list>span{display:block;font-size:11px;font-variant-numeric:tabular-nums}.heat-pop .list em{font-family:var(--font-mono);font-style:normal;font-weight:700;margin-right:4px}.heat-pop .list .more{opacity:.7}.heat-row.kid .heat-label{padding-left:11px;opacity:.86}.heat-fam+.heat-fam{margin-top:10px}.heat{position:relative;display:grid;gap:2px;overflow-x:auto;padding-bottom:6px}.heat-row{display:flex;align-items:stretch;gap:2px}.heat-label{flex:0 0 132px;position:sticky;left:0;z-index:1;background:var(--bg);font-size:12.5px;padding:2px 6px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--line)}.heat-cell{flex:0 0 19px;height:23px;border-radius:3px;background:#f0f3f6}.heat-cell.none{background:repeating-linear-gradient(45deg,#f4f6f8,#f4f6f8 3px,#e8ecf1 3px,#e8ecf1 6px)}.heat-axis{display:flex;gap:2px;font-size:11.5px;color:var(--muted);margin-top:3px;min-height:15px}.heat-axis .heat-label{border-right:none}.heat-axis .tick{position:relative;flex:0 0 19px;min-width:0}.heat-axis .tick>span{position:absolute;top:0;left:0;white-space:nowrap}.heat-axis .tick.last>span{left:auto;right:0}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted);margin:10px 0;align-items:center}.legend .swatch{display:inline-block;width:13px;height:13px;border-radius:2px;margin-right:5px;vertical-align:-2px}.controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:12px 0;font-size:13px}.controls label{color:var(--muted);margin-right:6px}select,button.toggle{font:inherit;font-size:13px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--fg)}button.toggle{cursor:pointer}button.toggle.mini{padding:0 6px;font-size:11.5px;line-height:1.5}button.toggle.on{background:var(--accentbg);border-color:#b9cdf0;color:var(--accent);font-weight:600}footer.page-footer{margin-top:44px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}footer.page-footer p{margin:6px 0}footer.page-footer b{color:var(--fg)}.overview{--pos: var(--up);--neg: var(--down);max-width:760px}.overview .pos{color:var(--pos)}.overview .neg{color:var(--neg)}.overview .flat{color:var(--flat)}.ov-head{padding-bottom:12px;border-bottom:3px solid var(--fg)}.ov-stamp{font-size:11.5px;letter-spacing:.02em;color:var(--muted)}.ov-title{font-size:27px;font-weight:800;letter-spacing:-.02em;margin:4px 0 3px}.ov-sub{font-size:12.5px;color:var(--muted)}.ov-sub a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--line)}.ov-sub a:hover{color:var(--fg);border-bottom-color:currentColor}.ov-index{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.ov-idx{border:1px solid var(--fg);border-radius:4px;padding:8px 10px;background:var(--bg)}.ov-idx .il{font-size:10.5px;color:var(--muted);white-space:nowrap}.ov-idx .iv{font-family:var(--font-mono);font-size:19px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.ov-idx .ic{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}button.ov-idx,button.ov-cell{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;-webkit-tap-highlight-color:transparent}button.ov-idx:hover,button.ov-idx[aria-expanded=true]{background:#f4f6f8}button.ov-cell{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0}button.ov-cell:hover,button.ov-cell[aria-expanded=true]{background:#f4f6f8}button.ov-idx:focus-visible,button.ov-cell:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ov-peek{position:absolute;z-index:45;background:var(--bg);border:1px solid var(--fg);border-radius:4px;padding:8px 10px 6px;box-shadow:0 8px 24px #141e2829}.ov-peek .pchart{margin-top:0}.ov-peek .pk-close{font:inherit;font-size:11.5px;margin-top:6px;padding:3px 10px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--fg);cursor:pointer}.ov-peek .pk-close:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ov-peek-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2052;z-index:44}.ov-peek.sheet{position:fixed;left:0;right:0;bottom:0;width:auto;border:0;border-radius:16px 16px 0 0;padding:6px 18px 28px;box-shadow:0 -8px 30px #141e282e}.ov-peek.sheet .pk-handle{width:36px;height:4px;border-radius:2px;background:#c6cdd5;margin:4px auto 10px}.ov-idxnote{margin:6px 0 0;color:var(--muted)}.ov-sec{display:flex;align-items:baseline;gap:8px;margin:26px 0 6px;padding-bottom:5px;border-bottom:2px solid var(--fg)}.ov-sec .no{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--warn)}.ov-sec h2{font-size:16px;font-weight:800;letter-spacing:-.01em;margin:0;border:0;padding:0}.ov-sec .ov-note{margin-left:auto;font-size:10.5px;color:var(--muted);white-space:nowrap}.ov-group{margin-top:10px}.ov-group .gl{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;padding:4px 0 2px}.ov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.ov-cell{display:grid;grid-template-columns:1fr auto;column-gap:6px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.ov-cell .rn{grid-row:1;font-size:11.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-cell .v{grid-row:1;font-family:var(--font-mono);font-size:12.5px;font-weight:600;white-space:nowrap}.ov-cell .fl{grid-column:1;grid-row:2;min-width:0;overflow:hidden;white-space:nowrap}.ov-cell .c{grid-column:2;grid-row:2;font-family:var(--font-mono);font-size:10.5px;text-align:right;white-space:nowrap}.ov-cell .stale{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:0 3px;margin-right:3px;white-space:nowrap}.ov-brief{margin:18px 0 4px}.ov-briefdate{font-size:10.5px;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.ov-brief p{font-size:14.5px;line-height:1.8;margin:0 0 10px;max-width:40em;letter-spacing:-.005em}.ov-brief p:last-child{margin-bottom:0}.ov-brief-empty p{font-family:inherit;color:var(--muted)}.ov-jump{color:inherit;text-decoration:none;border-bottom:1px solid var(--accent);box-shadow:inset 0 -1px 0 var(--accentbg)}.ov-jump:hover,.ov-jump:focus-visible{background:var(--accentbg);color:var(--accent)}.ov-briefjump{font-size:12.5px!important;color:var(--muted);margin-top:2px!important}.ov-mid{margin-top:6px}.ov-midrow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:3px 0;border-top:1px solid var(--line);font-size:11.5px;color:inherit;text-decoration:none}a.ov-midrow:hover{background:var(--card)}.ov-midrow b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-midrow .nm{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-midrow .v{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.ov-fold{margin-top:12px;border:1px solid var(--line);border-radius:5px;padding:8px 11px;background:var(--card)}.ov-fold>summary{cursor:pointer;font-size:12px;font-weight:600}.ov-derived{margin-top:10px;font-size:11.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px}.ov-derived b{color:var(--fg)}.ov-bars{margin-top:10px}.ov-bar{display:grid;grid-template-columns:minmax(108px,1.3fr) minmax(70px,1.4fr) minmax(96px,auto);gap:8px;align-items:center;padding:4px 0;color:inherit;text-decoration:none;border-radius:4px}a.ov-bar:hover{background:var(--card)}a.ov-bar:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ov-bar .bt{min-width:0;font-size:12px}.ov-bar .bt b{font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-bar .bl{display:block;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-bar .bg{position:relative;height:12px;background:var(--card);border-radius:2px}.ov-bar .bg:before{content:"";position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;background:var(--line)}.ov-bar .fill{position:absolute;top:2px;bottom:2px;border-radius:2px}.ov-bar .fill.pos{background:var(--pos)}.ov-bar .fill.neg{background:var(--neg)}.ov-bar .bv{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.ov-bar .bv .rs{display:block;font-size:10px;font-weight:400;color:var(--muted)}.ov-bar .bv .rs .one{white-space:nowrap}.ov-bar .bv .rk{margin-left:3px}.ov-zero{display:flex;justify-content:center;font-size:10px;color:var(--muted);padding:3px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:4px 0}.ov-frame{border:1px solid var(--line);border-radius:6px;padding:11px 12px;margin-top:10px;background:var(--card);scroll-margin-top:14px}.ov-frame:focus{outline:2px solid var(--accent);outline-offset:2px}.ov-frame .fh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.ov-frame .fh b{font-size:14.5px;font-weight:800}.ov-frame .fh .aux{font-size:10.5px;color:var(--muted)}.ov-frame .ft{margin:8px 0 0}.ov-frame .ft p{font-size:13.5px;line-height:1.75;margin:0 0 8px;max-width:40em}.ov-frame .ft p:last-child{margin-bottom:0}.ov-frame .ft-none{margin:8px 0 0;color:var(--muted)}.ov-grade{display:flex;gap:8px;margin-top:14px;padding-left:9px;border-left:3px solid var(--warn)}.ov-grade .k{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap;padding-top:3px}.ov-grade p{font-size:12.5px;line-height:1.7;margin:0 0 6px;color:var(--muted)}.ov-grade p:last-child{margin-bottom:0}.ov-frame .fcounter{display:flex;gap:8px;margin-top:8px;padding-left:8px;border-left:2px solid var(--line)}.ov-frame .fcounter .k{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap;padding-top:2px}.ov-frame .fcounter p{font-size:12.5px;line-height:1.7;margin:0 0 6px;color:var(--muted)}.ov-frame .fcounter p:last-child{margin-bottom:0}.ov-frame .fwhy{font-size:12px;line-height:1.7;margin:6px 0 0;color:var(--muted)}.ov-foot{margin-top:26px;padding-top:9px;border-top:1px solid var(--line)}@media(min-width:560px){.ov-title{font-size:34px}.ov-brief p{font-size:15.5px}.ov-grid{grid-template-columns:repeat(2,1fr)}.ov-bar{grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) minmax(110px,auto)}}@media(max-width:1023px){.topbar-inner{padding:12px 14px 0}}@media(max-width:719px){.topbar-inner{padding:10px 14px}.brand-name{font-size:22px}}@media(max-width:559px){.topbar-asof .asof-kst,.topbar-asof .asof-date{display:none}.topbar-asof .asof-tiny{display:inline}.brand-name{font-size:20px}.brand-by{font-size:11.5px;padding:6px 0}}@media(max-width:359px){.topbar-inner{padding:10px}.brand,.brand-home{gap:6px}.brand-by{display:none}}.sec-title{display:flex;align-items:center;gap:7px}.sec-title h2{flex:1}.help{position:relative;flex:0 0 auto}.help>summary{list-style:none;cursor:pointer;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:11px;font-weight:700;line-height:18px;text-align:center;-webkit-user-select:none;user-select:none}.help>summary::-webkit-details-marker{display:none}.help>summary:hover,.help[open]>summary{border-color:var(--fg);color:var(--fg)}.help>summary:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.help-body{position:absolute;right:0;top:26px;z-index:5;width:min(21rem,calc(100vw - 32px));background:var(--card);border:1px solid var(--fg);border-radius:6px;padding:11px 13px;box-shadow:0 6px 20px #00000021}.help-term{font-size:12px;line-height:1.65;margin:0 0 8px;color:var(--muted)}.help-term:last-child{margin-bottom:0}.help-term b{color:var(--fg);font-weight:700}.metric-pick{display:flex;gap:5px;overflow-x:auto;padding:2px 0 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.metric-pick::-webkit-scrollbar{display:none}.metric-pick .toggle{flex:0 0 auto}.scroll.pinned{max-height:72vh;overflow:auto;overscroll-behavior:contain}.scroll.pinned thead th{position:sticky;z-index:2;background:var(--bg);border-bottom:0;box-shadow:inset 0 -1px #c6cfd9}.scroll.pinned thead tr:first-child th{top:0;height:25px}.scroll.pinned thead tr:last-child th{top:25px}.scroll.pinned thead tr:first-child th{box-shadow:none}table.obs tbody tr.head td{background:#eef2f7;font-weight:600}table.obs tbody tr.head td:first-child{box-shadow:inset 3px 0 0 var(--fg)}table.obs th:first-child,table.obs td:first-child{position:sticky;left:0;z-index:1;background:var(--bg)}table.obs thead th:first-child{z-index:3}table.obs tr.members td:first-child{position:static}table.obs td:first-child:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:var(--line)}table.obs tbody tr.rowable{cursor:pointer}table.obs tbody tr.rowable:hover td,table.obs tbody tr.hi td{background:#eaf1fb}table.obs tbody tr.rowable.head:hover td,table.obs tbody tr.head.hi td{background:#dfe8f6}table.obs th.sortable{cursor:pointer}table.obs th.sortable .toggle.sort{white-space:nowrap}table.obs th.sortable .sorthint{margin-left:3px;color:var(--muted);font-size:10px}table.obs th.sortable .toggle.sort.on .sorthint{color:inherit}table.obs th.sortable:hover .toggle.sort{border-color:var(--fg);color:var(--fg)}table.obs td.tk .tkbtn{font-size:inherit}.ripple-defs{position:absolute;width:0;height:0;overflow:hidden}table.obs th.rip,table.obs td.rip{padding-left:6px;padding-right:6px}table.obs td.rip{white-space:nowrap}.ripple{display:inline-flex;align-items:center;gap:6px}.ripple svg{display:block}.ripple.none{color:var(--muted);font-size:11px}.ripple-zero{stroke:var(--line);stroke-width:1;stroke-dasharray:2 2.5}.ripple-line{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.ripple-line.up{stroke:var(--up)}.ripple-line.down{stroke:var(--down)}.ripple-line.flat{stroke:var(--flat)}.ripple-dot.up{fill:var(--up)}.ripple-dot.down{fill:var(--down)}.ripple-dot.flat{fill:var(--flat)}.ripple-total{font-family:var(--font-mono);font-size:11.5px;font-weight:600;min-width:46px;text-align:right;font-variant-numeric:tabular-nums}.ripple-total.up{color:var(--up)}.ripple-total.down{color:var(--down)}.ripple-total.flat{color:var(--muted)}.plot{position:relative;max-width:780px}.expand{max-width:780px}.expand-open{position:relative;flex:0 0 auto;min-height:26px;padding:3px 9px 3px 7px;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:11.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:7px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.expand-open:before{content:"";position:absolute;top:-9px;right:-6px;bottom:-9px;left:-6px}.expand-open svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.expand-open:hover{color:var(--accent);background:var(--accentbg);border-color:#c3d6f5}.expand-open:active{transform:translateY(1px)}.expand-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.expand-open{transition:none}}.expand-sheet{width:min(1160px,96vw);max-width:none;max-height:94vh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);overflow:hidden}.expand-sheet::backdrop{background:#0c10168c}.expand-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.expand-head b{font-size:15px}.expand-close{margin-left:auto;min-height:40px;padding:8px 15px;font:inherit;font-size:13px;font-weight:600;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;cursor:pointer}.expand-close:hover{border-color:var(--muted);background:var(--bg)}.expand-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.expand-body{padding:12px 14px 16px;overflow:auto;max-height:calc(94vh - 66px)}.expand-body .plot{max-width:none}@media(max-width:559px){.expand-sheet{width:100vw;max-height:100vh;border-radius:0;border:none}.expand-body{max-height:calc(100vh - 62px);padding:8px 8px 14px}}.plot-svg{display:block;width:100%;height:auto}.plot-svg text{font-family:inherit}.plot-svg .frame{fill:none;stroke:var(--line);stroke-width:1}.plot-svg .tick{stroke:var(--muted);stroke-width:1;opacity:.4}.plot-svg .qname{font-size:12.5px;font-weight:600;fill:var(--muted)}.plot-svg .axis{stroke:var(--muted);stroke-width:1;opacity:.45}.plot-svg .axnum{font-family:var(--font-mono);font-size:10.5px;fill:var(--muted);opacity:.8}.plot-svg .axtitle{font-size:11.5px;fill:var(--muted)}.plot-svg .dot{stroke:var(--bg);stroke-width:1.5;cursor:pointer}.plot-svg .dot.picked,.plot-svg .spot.picked{stroke:var(--fg);stroke-width:1.8}.plot-svg .dotname{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--fg)}.plot-svg .dotname,.plot-svg .axnum,.plot-svg .endname,.plot-svg .rowspread{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.plot-svg .trail line{stroke:var(--flat);stroke-linecap:round}.plot-svg .trail .trail-from{fill:var(--flat);fill-opacity:.32}.plot-svg .rowline{stroke:var(--line);stroke-width:1;opacity:.7}.plot-svg .rowdate{font-family:var(--font-mono);font-size:12px;font-weight:600;fill:var(--muted)}.plot-svg .rowdate.now{fill:var(--fg)}.plot-svg .rowspan{stroke:var(--line);stroke-width:5;stroke-linecap:round}.plot-svg .spot{stroke:var(--bg);stroke-width:1.2;cursor:pointer}.plot-svg .spot.up{fill:var(--up);fill-opacity:.82}.plot-svg .spot.down{fill:var(--down);fill-opacity:.82}.plot-svg .spot.flat{fill:var(--flat);fill-opacity:.6}.plot-svg .endname{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--muted)}.plot-svg .rowspread{font-family:var(--font-mono);font-size:12.5px;font-weight:600;fill:var(--muted)}.plot-svg .rowspread.now{fill:var(--fg)}@media(max-width:559px){.ripple svg{width:62px}.ripple-total{min-width:42px;font-size:11px}}.ov-cal{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.ov-calrow{background:var(--bg);display:grid;grid-template-columns:124px 96px 1fr;gap:10px;align-items:baseline;padding:9px 12px;font-size:13.5px}.ov-calrow .d{font-family:var(--font-mono);font-size:12.5px;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-calrow .k{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-calrow .t{color:var(--muted)}.ov-calrow .tk{font-family:var(--font-mono);font-size:12px;color:var(--brand);margin-left:8px;font-weight:600}.ov-calmore{background:var(--bg);margin:0;padding:8px 12px}@media(max-width:640px){.ov-calrow{grid-template-columns:1fr auto;row-gap:3px}.ov-calrow .d{grid-column:1;grid-row:1;overflow:visible}.ov-calrow .k{grid-column:2;grid-row:1;text-align:right}.ov-calrow .t{grid-column:1 / -1;grid-row:2}}.frames{max-width:760px}.fr-head{padding-bottom:12px;border-bottom:3px solid var(--fg)}.fr-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.fr-head p{font-size:13px;line-height:1.7;color:var(--muted);margin:0;max-width:40em}.fr-sec{display:flex;align-items:baseline;gap:8px;margin:26px 0 6px;padding-bottom:5px;border-bottom:2px solid var(--fg)}.fr-sec h2{font-size:16px;font-weight:800;letter-spacing:-.01em;margin:0}.fr-sec span{margin-left:auto;font-size:10.5px;color:var(--muted)}.fr-none{font-size:12.5px;color:var(--muted);margin:10px 0 0}.fr-card{border:1px solid var(--line);border-radius:6px;padding:12px 13px;margin-top:10px;background:var(--card)}.fr-card.done{background:var(--bg);border-style:dashed}.fr-card>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.fr-card>header b{font-size:14.5px;font-weight:800;letter-spacing:-.01em}.fr-card .fr-span{margin-left:auto;font-size:10.5px;color:var(--muted);white-space:nowrap}.fr-thesis{font-size:13px;line-height:1.75;margin:8px 0 0;max-width:40em}.fr-story{margin-top:12px;display:grid;gap:11px}.fr-story .k{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted)}.fr-story p{font-size:12.5px;line-height:1.75;margin:5px 0 0;max-width:40em}.fr-story details.fold{margin:0}.fr-story details.fold>summary{font-size:12px;font-weight:700;letter-spacing:.02em}.fr-agree{margin-top:12px}.fr-agree .k{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.fr-agree .avg{margin-left:auto;font-weight:400;font-variant-numeric:tabular-nums}.fr-agree .avg .base{color:var(--muted)}.fr-agree .bars{display:flex;gap:3px;margin-top:7px;overflow-x:auto;padding-bottom:2px}.fr-agree .bar{flex:0 0 auto;width:22px}.fr-agree .track{position:relative;height:46px;background:var(--bg);border:1px solid var(--line);border-radius:3px;display:flex;align-items:flex-end;overflow:hidden}.fr-agree .fill{width:100%}.fr-agree .fill.up{background:var(--up)}.fr-agree .fill.down{background:var(--down)}.fr-agree .mid{position:absolute;left:0;right:0;bottom:50%;border-top:1px dashed var(--flat)}.fr-agree .lb{font-size:9.5px;color:var(--muted);text-align:center;margin-top:3px;font-variant-numeric:tabular-nums}.fr-log{margin-top:12px;padding-left:9px;border-left:3px solid var(--line)}.fr-log .k{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted)}.fr-log p{font-size:12.5px;line-height:1.7;margin:6px 0 0;color:var(--muted)}.fr-log .d{font-weight:700;color:var(--fg);margin-right:7px;font-variant-numeric:tabular-nums}.seg-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0 14px}.seg-row .lbl{font-size:12.5px;color:var(--muted)}.seg-row .metric-pick{padding:0;margin-right:6px}button.linkish{font:inherit;font-size:12.5px;padding:0 2px;border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}table.grp td.tk,table.obs.compact td.tk{min-width:150px}table.grp .fold,table.obs.compact .fold{display:inline-block;width:18px;height:18px;margin-right:6px;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit;font-size:13px;line-height:16px;text-align:center;cursor:pointer;vertical-align:middle}table.grp .fold.none,table.obs.compact .fold.none{border-color:transparent;cursor:default}table.grp tr.kid td.tk,table.obs.compact tr.kid td.tk{padding-left:22px}table.grp tr.kid td.tk:before{display:none}table.grp tr.members td{background:var(--card);padding:8px 10px;white-space:normal}.member-chips{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12px}.member-chips>span{display:inline-flex;gap:4px;align-items:baseline;white-space:nowrap}.member-chips b{font-family:var(--font-mono);font-weight:600}.member-chips em{font-style:normal;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted)}.member-chips em.up{color:var(--up)}.member-chips em.down{color:var(--down)}.theme-members ul{margin:4px 0 0;padding-left:18px;font-size:12.5px}.theme-members li{margin:3px 0}.theme-members li b{font-family:var(--font-mono)}.theme-members .claim{color:var(--muted)}.theme-members a{margin-left:6px;font-size:12px;white-space:nowrap}.pill.flip,.pill.cross{margin-left:6px;background:var(--warnbg);color:var(--warn);border-color:#e8d98a;font-size:11px;vertical-align:middle}.clusters-sec{margin-top:8px}.cluster-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.cluster{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--card)}.cluster-hd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.cluster-tk{margin-top:6px;font-family:var(--font-mono);font-size:12px;line-height:1.7;word-break:break-word}.cluster-tk>span+span:before{content:" · ";color:var(--muted)}.cluster .note{margin:8px 0 0;padding:6px 8px}table.grp tr.members td{-webkit-text-size-adjust:100%;text-size-adjust:100%}.theme-members,.member-chips{position:sticky;left:0;max-width:min(760px,calc(100vw - 32px));box-sizing:border-box}details.fold{margin:10px 0 14px;border-top:1px solid var(--line);padding-top:8px}details.fold>summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none}details.fold>summary:before{content:"▸ ";color:var(--muted)}details[open].fold>summary:before{content:"▾ "}table.compact td.tk{min-width:128px}table.compact th.strip-h{text-align:left;white-space:nowrap}table.compact td.strip-td{padding:4px 8px}.strip{display:inline-flex;gap:2px;vertical-align:middle}.strip>span{display:inline-block;width:13px;height:16px;border-radius:2px;background:#f0f3f6}.strip>span{cursor:default}.strip>span.on{outline:2px solid var(--fg);outline-offset:-1px}.strip-host{position:relative}.strip>span.none{background:repeating-linear-gradient(45deg,#f4f6f8,#f4f6f8 3px,#e8ecf1 3px,#e8ecf1 6px)}.taxis{position:relative;margin-top:6px;max-width:780px}.taxis-bars{display:flex;align-items:flex-end;gap:1px;height:34px;padding:0 2px}.taxis .bar{flex:1 1 0;min-width:2px;background:var(--muted);opacity:.45;border-radius:1px 1px 0 0;cursor:pointer}.taxis .bar:hover{opacity:.8}.taxis .bar.on{background:var(--fg);opacity:1}.taxis .bar.off{opacity:.15;cursor:default}.taxis input[type=range]{display:block;width:100%;margin:2px 0 0;accent-color:var(--fg)}.taxis-foot{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.taxis-foot .cur{color:var(--fg);font-weight:600}.rot-ctl{margin:2px 0 4px}.rot-ctl select{max-width:12em}.sizegrid .metric-pick{margin:4px 0 8px}table.obs.grid td.cellv{font-variant-numeric:tabular-nums;min-width:64px}table.obs.grid td.cellv.thin{color:var(--muted);font-size:11px}table.obs.grid td.cellv.none{background:repeating-linear-gradient(45deg,#f4f6f8,#f4f6f8 3px,#e8ecf1 3px,#e8ecf1 6px)}.mapapp{--map-chrome: #2b3138;--map-card2: #eef2f6;height:calc(100vh - var(--topbar-h, 60px));height:calc(100dvh - var(--topbar-h, 60px));display:flex;flex-direction:column;background:var(--bg);font-size:13px;overflow:hidden}.mapapp.m{height:calc(100vh - var(--topbar-h, 52px) - 56px);height:calc(100dvh - var(--topbar-h, 52px) - 56px)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-tool{min-height:44px;display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);flex:none;background:var(--card);flex-wrap:wrap}.map-tool .spacer{flex:1}.mapapp .seg{display:inline-flex;background:var(--map-card2);border-radius:7px;padding:2px;gap:2px}.mapapp .seg button{font:inherit;padding:5px 9px;border:0;border-radius:5px;background:none;color:var(--muted);font-weight:500;font-size:12.5px;cursor:pointer;white-space:nowrap}.mapapp .seg button.on{background:var(--bg);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #141e2824}.mapapp .seg button:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.mapapp .seg.views button{padding:5px 10px;font-size:13px}.mapapp .ctl{display:flex;align-items:center;gap:6px}.mapapp .ctl .lbl{color:var(--fg);font-size:12px;font-weight:700;margin-right:2px;white-space:nowrap}.mapapp .chips{display:inline-flex;gap:4px}.mapapp .chips button{font:inherit;padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:12px;white-space:nowrap;cursor:pointer}.mapapp .chips button.on{border-color:var(--accent);background:var(--accentbg);color:var(--accent);font-weight:600}.mapapp .chips button:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.mapapp .sel{font:inherit;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:12.5px;padding:0 8px;max-width:10.5em}.mapapp .toggle.mini.on{background:var(--accentbg);border-color:#b9cdf0;color:var(--accent);font-weight:600}.map-search{position:relative}.map-search input{font:inherit;width:140px;height:30px;border:1px solid var(--line);border-radius:6px;padding:0 10px 0 28px;background:var(--bg);font-size:12.5px}.map-search input::placeholder{color:#8a94a0}.map-search svg{position:absolute;left:8px;top:8px;width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2;pointer-events:none}.map-search .drop{position:absolute;top:34px;left:0;width:290px;background:var(--bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #141e2824;z-index:20;padding:4px}.map-search .drop button{font:inherit;display:flex;width:100%;gap:8px;padding:6px 8px;border:0;border-radius:4px;background:none;text-align:left;align-items:baseline;cursor:pointer}.map-search .drop button:hover{background:var(--map-card2)}.map-search .drop .tk{font-family:var(--font-mono);font-weight:600;width:56px;flex:none}.map-search .drop .nm{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-search .drop .none{color:var(--muted);font-size:12px;padding:6px 8px}.map-link{font:inherit;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:12px;color:var(--muted);cursor:pointer}.map-link:hover{color:var(--fg);border-color:var(--fg)}.map-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.map-body{flex:1;min-height:0;display:flex}.map-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.map-canvas{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.map-canvas.tree{display:flex;flex-direction:column}.map-canvas.scroll{overflow:auto}.tmap-wrap{position:relative;flex:1;min-height:0}.tmap-canvas{display:block;cursor:pointer}.map-empty{padding:28px 24px;color:var(--muted);font-size:13.5px;max-width:40em}.map-empty p{margin:0 0 8px}.crumb-bar{flex:none;display:flex;gap:6px;align-items:center;padding:4px 12px;font-size:12px;border-bottom:1px solid var(--line);background:var(--bg)}.crumb-bar button{font:inherit;border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.crumb-bar button.out{margin-left:auto;font-weight:500;color:var(--muted)}.crumb-bar b{font-weight:600}.crumb-bar a{color:var(--accent);font-weight:600;text-decoration:none}.crumb-bar a:hover,.crumb-bar button:hover{text-decoration:underline;text-underline-offset:2px}.crumb-bar a:focus-visible,.crumb-bar button:focus-visible{outline:2px solid var(--fg);outline-offset:1px;border-radius:2px}.crumb-bar>span{color:var(--muted)}.table-wrap{padding:12px 16px 24px}.table-wrap>.small{margin:0 0 8px}.map-panel{width:300px;flex:none;border-left:1px solid var(--line);background:var(--card);overflow-y:auto;overflow-x:hidden;padding:16px 18px}.ro-back{font:inherit;font-size:11px;line-height:1;display:inline-flex;align-items:center;gap:4px;padding:4px 9px 4px 7px;margin:-4px 0 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);cursor:pointer}.ro-back:hover{color:var(--fg);border-color:var(--fg)}.ro-back:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.readout h3,.sum h3{margin:0 0 2px;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.readout .tk,.sum .tk{font-family:var(--font-mono);color:var(--muted);font-size:12.5px}.readout .kv,.sum .kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0;font-size:13px}.readout .kv dt,.sum .kv dt{color:var(--muted)}.readout .kv dd,.sum .kv dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.readout .kv dd.txt{font-family:inherit}.readout .big{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.02em;margin:10px 0 2px}.readout .path{color:var(--muted);font-size:12.5px}.readout .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.readout .acts button{font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:12px;font-weight:500;cursor:pointer}.readout .acts button:hover{border-color:var(--accent);color:var(--accent)}.readout .strip,.sum .strip{display:inline-flex;gap:2px;margin-top:8px}.readout .strip span,.sum .strip span{width:14px;height:16px;border-radius:2px;display:inline-block}.sum h4{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.03em;margin:16px 0 6px}.sum h4:first-child{margin-top:0}.sum h4 .sub{font-weight:400;letter-spacing:0}.sum .list{display:grid;gap:3px}.sum .list button{font:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:4px 6px;border:0;border-radius:4px;background:none;text-align:left;font-size:12.5px;cursor:pointer;min-width:0}.sum .list button>span:first-child{min-width:0;display:flex;gap:6px;align-items:baseline;overflow:hidden}.sum .list .tk{flex:none}.sum .none{color:var(--muted);font-size:12px;margin:2px 6px}.sum .list button:hover{background:var(--map-card2)}.sum .list .tk{color:var(--fg);font-weight:600}.sum .list .nm{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sum .list .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sum .hint,.readout .hint{color:var(--muted);font-size:12px;margin:12px 0 0}.mapapp .up{color:var(--up)}.mapapp .down{color:var(--down)}.map-status{min-height:28px;flex:none;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 14px;color:var(--muted);font-size:11.5px;background:var(--card);white-space:nowrap;overflow:hidden}.map-status b{color:var(--fg);font-weight:600}.map-status .legend{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.map-status .legend .bar{display:inline-flex}.map-status .legend .bar span{width:22px;height:10px;display:inline-block}.map-status .legend .bar span:first-child{border-radius:2px 0 0 2px}.map-status .legend .bar span:last-child{border-radius:0 2px 2px 0}.map-status .legend em{font-style:normal;font-family:var(--font-mono);font-size:11px}.matrix-wrap{min-width:100%}.matrix{border-collapse:separate;border-spacing:0;font-size:12px;width:100%}.matrix th{position:sticky;top:0;z-index:3;background:var(--card);border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;font-weight:600;white-space:nowrap}.matrix th .n{color:var(--muted);font-weight:400;font-family:var(--font-mono);margin-left:6px}.matrix th:first-child{left:0;z-index:4}.matrix td{border-bottom:1px solid var(--line);vertical-align:top;padding:5px 6px}.matrix td.ind{position:sticky;left:0;background:var(--bg);z-index:2;width:170px;max-width:170px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matrix td.ind .n{color:var(--muted);font-family:var(--font-mono);font-size:11px;margin-left:6px;font-weight:400}.matrix tr.sec td{background:var(--map-chrome);color:#f4f6f8;font-weight:700;padding:5px 8px;position:sticky;left:0;z-index:2;font-size:12px;letter-spacing:.01em}.matrix tr.sec td .n{color:#c9d1da;font-family:var(--font-mono);font-weight:400;margin-left:8px}.matrix .cell{display:flex;flex-wrap:wrap;gap:3px;min-width:150px}.matrix .chip{font:inherit;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 5px;border-radius:3px;background:#f0f3f6;color:var(--fg);line-height:1.35;cursor:pointer;border:1px solid transparent}.matrix .chip:hover,.matrix .chip.on{border-color:var(--fg)}.matrix .chip:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.matrix .chip.more{background:transparent;border:1px dashed #b7c0ca;color:var(--muted);font-weight:500;cursor:default}.flow-wrap{padding:8px 12px 12px}.flow-map .plot,.flow-map .expand,.flow-wrap .taxis{max-width:none}.mapapp.m .map-views{flex:none;padding:8px 12px 6px}.mapapp.m .map-views .seg{width:100%;display:flex}.mapapp.m .map-views .seg button{flex:1;padding:6px 0;font-size:13px}.mapapp.m .map-mctl{flex:none;display:flex;gap:8px;padding:2px 12px 8px;overflow-x:auto;scrollbar-width:none;align-items:center}.mapapp.m .map-mctl::-webkit-scrollbar{display:none}.mapapp.m .map-mctl .ctl,.mapapp.m .map-mctl .chips,.mapapp.m .map-mctl .seg{flex:none}.mapapp.m .map-mctl .sel{height:26px;border-radius:999px;font-size:12px}.mapapp.m .map-body{flex-direction:column}.mapapp.m .map-status{gap:10px;padding:0 12px;font-size:11px}.mapapp.m .map-status .legend .bar span{width:14px;height:8px}.mapapp.m .flow-wrap{padding:6px 8px 12px;display:flex;flex-direction:column-reverse}.mapapp.m .flow-wrap .taxis{margin:0 0 8px}.mapapp.m .table-wrap{padding:8px 10px 24px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2052;z-index:40}.sheet-content{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--bg);border-radius:16px 16px 0 0;box-shadow:0 -8px 30px #141e282e;height:100vh;height:100dvh;display:flex;flex-direction:column;outline:none}.sheet-handle{width:36px;height:4px;border-radius:2px;background:#c6cdd5;margin:10px auto 6px;flex:none}.sheet-body{overflow:auto;padding:4px 18px calc(8vh + 28px)}.sheet-body .readout h3{font-size:17px}.sheet-body .readout .big{font-size:30px}.sheet-body .readout .acts button{padding:8px 12px;border-radius:8px;font-size:13px;flex:1}.bnav{position:fixed;left:0;right:0;bottom:0;height:56px;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bnav a{display:grid;place-items:center;gap:2px;font-size:10.5px;color:var(--muted);text-decoration:none;padding-top:6px}.bnav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.bnav a.on{color:var(--accent);font-weight:600}@media(max-width:719px){nav.tabs{display:none}.wrap{padding-bottom:92px}}.cluster-name{font-size:14px}.cluster-name.muted{color:var(--muted);font-weight:500}.cluster-meta{margin-left:auto;white-space:nowrap}.cluster-why{margin:6px 0 4px;font-size:13px;line-height:1.55}.cluster-src{margin:0 0 6px}.cluster-src a{margin-right:6px;font-family:var(--font-mono);font-size:11.5px;text-decoration:none;color:var(--accent)}.clusters-sec .cluster-tk{display:flex;flex-wrap:wrap;gap:3px 9px;line-height:1.5}.clusters-sec .cluster-tk>span+span:before{content:none}.cluster-legend{margin:6px 0 0}.cluster-rip{margin-left:auto;display:inline-flex;min-height:26px}.cluster-ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.cluster-ft .btn{font:inherit;font-size:12px;font-weight:500;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);text-decoration:none}.cluster-ft .btn:hover{border-color:var(--accent);color:var(--accent)}.cluster-ft .btn:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.cluster-ft .cluster-meta{margin-left:0}.fdir{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px}.fdir .k{font-size:10px;font-weight:700;color:var(--muted);margin-right:4px}.fdir a{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:1px 7px;border:1px solid var(--line);border-radius:4px;color:var(--fg);text-decoration:none;background:var(--bg)}.fdir a.up{color:var(--up);border-color:#efb5b9}.fdir a.down{color:var(--down);border-color:#b9cdf0}.fdir a:hover{text-decoration:underline;text-underline-offset:2px}.fdir a:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.mapapp .sel.date{max-width:11em;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.map-status .legend .lbl{color:var(--muted);margin-right:2px}.map-status .note{color:var(--accent)}.sum .period-line{margin:6px 0 0;font-size:12px;color:var(--muted)}.sum .pchart{margin-top:8px}.pchart{margin:10px 0 0}.pchart figcaption{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:2px}.pchart figcaption em{font-style:normal;margin-left:4px}.pchart figcaption .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg)}.pchart svg{display:block;width:100%;height:auto}.pchart .grid{stroke:var(--line);stroke-width:1}.pchart .from{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 2}.pchart .area{fill:#2c343c12}.pchart .line{fill:none;stroke:#2c343c;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.pchart .dot{fill:#2c343c}.pchart .lbl{font-family:var(--font-mono);font-size:10px;fill:var(--muted)}.pchart .lbl.last{fill:var(--fg);font-weight:600}.pchart .ax{font-size:9.5px;fill:var(--muted);text-anchor:middle}.readout .chart-note{margin:10px 0 0}.member-chips>button{font:inherit;display:inline-flex;gap:4px;align-items:baseline;white-space:nowrap;border:0;background:none;padding:0;cursor:pointer;color:inherit}.member-chips>button:hover b,.tkbtn:hover{text-decoration:underline;text-underline-offset:2px}.tkbtn{font:inherit;font-family:var(--font-mono);font-weight:600;border:0;background:none;padding:0;cursor:pointer;color:inherit}.member-chips>button:focus-visible,.tkbtn:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.sum .hint b,.readout .hint b,.table-wrap>.small b{color:var(--fg);font-weight:600}
