body.is-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app{flex:1;grid-template:"top panel""map panel"minmax(0,1fr)"tl panel"/minmax(0,1fr) 400px;min-height:0;font-size:15px;line-height:1.45;display:grid}.app .top{padding:8px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);grid-area:top;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.idx{align-items:center;gap:14px;display:flex}.idx-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:10.5px}.idx-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;min-width:2.1ch;font-size:40px;font-weight:700;line-height:.9}.idx-meta{gap:4px;display:grid}.lvl-name{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:15px;font-weight:600}.delta{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.clock{text-align:right}.clock-date{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.live-badge{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.live-badge:before{content:"";background:var(--dim);border-radius:50%;width:7px;height:7px}.live-badge.on{color:var(--lv5)}.live-badge.on:before{background:var(--lv5);animation:1.6s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.map-wrap{background:var(--sea);grid-area:map;min-height:0;position:relative;overflow:hidden}.map-stage{position:absolute;inset:0}#map{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#map:active{cursor:grabbing}.country{fill:var(--land);stroke:var(--land-line);stroke-width:.6px;vector-effect:non-scaling-stroke}.graticule{fill:none;stroke:#23221b;stroke-width:1px;vector-effect:non-scaling-stroke}.sphere{fill:none;stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.arc{fill:none;stroke-width:1.4px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.marker{cursor:pointer}.marker .frame{stroke-width:1.6px;vector-effect:non-scaling-stroke}.marker text{font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:10px;font-weight:500}.marker.closed{opacity:.45}.marker .pulse{fill:none;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite pulse}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.marker .sel{fill:none;stroke:var(--text);stroke-width:1.4px;display:none}.marker.selected .sel{display:block}.overlay{pointer-events:none;position:absolute}.overlay>*{pointer-events:auto}.layers{flex-wrap:wrap;gap:6px;display:flex;top:12px;left:12px;right:300px}.chip{border:1px solid var(--line-strong);backdrop-filter:blur(3px);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--text);background:#11110dd1;align-items:center;gap:7px;padding:5px 10px 5px 8px;font-size:11px;text-decoration:none;display:inline-flex}.chip .sw{flex:none;width:10px;height:10px;transform:rotate(45deg)}.chip[aria-pressed=false]{color:var(--dim);border-color:var(--line)}.chip[aria-pressed=false] .sw{opacity:.25}.chip .n{color:var(--muted);font-variant-numeric:tabular-nums}.chip.help{color:var(--muted);border-style:dashed}.digest{z-index:3;justify-items:end;width:280px;display:grid;top:12px;right:12px}.digest-toggle{cursor:pointer;background:var(--accent);color:var(--bg);border:1px solid var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:500;display:inline-flex}.digest-toggle[aria-expanded=true]{background:var(--panel);color:var(--accent)}.dg-count{font-variant-numeric:tabular-nums;border-left:1px solid;padding-left:8px}.dg-count:empty{display:none}.digest-body{background:var(--panel);border:1px solid var(--accent);width:100%;margin-top:4px;padding:12px;box-shadow:0 8px 24px #00000073}.coords{font-family:var(--font-mono);color:var(--muted);text-align:right;border:1px solid var(--line);font-variant-numeric:tabular-nums;pointer-events:none;background:#11110dd1;padding:5px 8px;font-size:11px;bottom:12px;right:56px}.nofix{border:1px solid var(--line-strong);background:#11110de6;max-width:min(380px,100% - 90px);padding:8px 10px;bottom:12px;left:12px}.nofix h3{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:0 0 6px;font-size:10.5px;font-weight:500}.nofix ul{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.nofix button{background:var(--panel);border:1px solid var(--line);cursor:pointer;font-family:var(--font-mono);align-items:center;gap:6px;padding:3px 7px;font-size:11px;display:inline-flex}.nofix button.closed{opacity:.5}.nofix button.selected{border-color:var(--text)}.nofix .sw{width:8px;height:8px;transform:rotate(45deg)}.nofix .sv{color:var(--muted)}.zoom{gap:4px;display:grid;bottom:12px;right:12px}.zoom button{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--font-mono);cursor:pointer;background:#11110de6;font-size:16px}.tooltip{pointer-events:none;z-index:5;background:var(--panel);border:1px solid var(--line-strong);max-width:260px;padding:7px 9px;font-size:13px;line-height:1.3;position:absolute}.tooltip .t-meta{font-family:var(--font-mono);color:var(--muted);margin-top:3px;font-size:10.5px}.tl{background:var(--surface);border-top:1px solid var(--line);padding:8px var(--gutter) 6px;grid-area:tl}.tl-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.tl-title{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-right:auto;font-size:10.5px}.app .btn{min-height:28px;padding:0 10px;font-size:11px}.app .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#tl{touch-action:pan-y;cursor:ew-resize;user-select:none;width:100%;height:118px;display:block}.tl-area{fill:url(#idxGrad)}.tl-line{fill:none;stroke:var(--accent);stroke-width:1.5px}.tl-band{stroke:var(--line);stroke-dasharray:2 4}.tl-axis text{font-family:var(--font-mono);fill:var(--muted);font-size:10px}.tl-axis line,.tl-axis path{stroke:var(--line-strong)}.tl-ylab{font-family:var(--font-mono);fill:var(--dim);font-size:9.5px}.period{align-items:center;gap:6px;display:flex}.period label{align-items:center;gap:4px;display:flex}.period span{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:9.5px}.period .sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.period select,.period input{background:var(--panel);border:1px solid var(--line-strong);height:28px;font-family:var(--font-mono);color-scheme:dark;border-radius:0;padding:0 6px;font-size:11.5px}.tl-range{fill:var(--text);opacity:.08}.tl-cursor{stroke:var(--text);stroke-width:1px}.tl-handle{fill:var(--text)}.tl-cursor-lab{font-family:var(--font-mono);fill:var(--bg);font-size:10.5px;font-weight:500}.panel{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;grid-area:panel;min-height:0;display:flex}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.pane-list{border-bottom:1px solid var(--line-strong);flex:0 0 52%}.pane-detail{flex:1 1 0}.pane-list .list,.pane-detail .pane-pad{flex:1;min-height:0;overflow-y:auto}.pane-h{border-bottom:1px solid var(--line);background:var(--panel);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;flex:none;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 16px 9px;font-size:15px;font-weight:600;display:flex}.pane-h .n{font-family:var(--font-mono);color:var(--muted);margin-left:6px;font-size:11px}.pane-detail .pane-h{border-top:2px solid var(--accent)}.pane-pad{padding:14px 16px 18px}.toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 16px;display:grid}.toolbar label{gap:3px;min-width:0;display:grid}.toolbar span{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:9.5px}.toolbar select{background:var(--panel);border:1px solid var(--line-strong);width:100%;min-width:0;height:30px;font-family:var(--font-mono);border-radius:0;padding:0 6px;font-size:11.5px}@media (width>=1280px){.app{grid-template-columns:minmax(0,1fr) 800px}.panel{flex-flow:wrap}.pane-list{border-bottom:0;border-right:1px solid var(--line-strong);flex:0 0 370px;height:calc(100% - 36px)}.pane-detail{flex:1 1 0;height:calc(100% - 36px)}.pane-detail .pane-h{box-shadow:inset 0 2px 0 var(--accent);border-top:0}.panel-foot{flex:0 0 100%}}.list{margin:0;padding:0;list-style:none}.row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:4px minmax(0,1fr) auto;align-items:start;gap:0 12px;width:100%;padding:11px 16px 11px 0;display:grid}.row:hover{background:#26251e}.row.selected{background:#2b2a21}.row .stripe{grid-row:1/span 2;align-self:stretch}.row-title{font-size:14.5px;font-weight:600;line-height:1.3}.row-meta{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;flex-wrap:wrap;grid-column:2/span 2;gap:4px 10px;margin-top:5px;font-size:10.5px;display:flex}.row.closed .row-title{color:var(--muted)}.sevnum{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;font-size:22px;font-weight:700;line-height:1}.sevnum small{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin-top:2px;font-size:9px;font-weight:400;display:block}.empty{color:var(--muted);padding:24px 16px;font-size:14px}.d-cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.d-cat .sw{width:10px;height:10px;transform:rotate(45deg)}.d-catdesc{color:var(--muted);margin:6px 0 0;font-size:13px}.d-title{font-family:var(--font-display);margin:10px 0;font-size:26px;font-weight:700;line-height:1.08}.d-untr{font-family:var(--font-mono);color:var(--dim);margin:-4px 0 10px;font-size:10.5px}.d-facts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 14px;display:grid}.d-facts div{background:var(--panel);min-width:0;padding:7px 9px}.d-facts dt{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:9.5px}.d-facts dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin:2px 0 0;font-size:12.5px}.d-facts dd.big{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1.05}.d-summary{color:var(--text-2);max-width:62ch;margin:0 0 14px}.d-place{font-family:var(--font-mono);color:var(--muted);margin:-4px 0 14px;font-size:11px}.impact{border:1px solid var(--accent);background:#e3915612;margin-bottom:18px;padding:10px 12px}.impact h4,.sec-h{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:10.5px;font-weight:500}.sec-h{color:var(--muted);justify-content:space-between;gap:8px;margin-top:4px;display:flex}.sec-h a{color:var(--tan);text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:13px}.impact p{margin:0 0 8px;font-size:14px}.factors{border-collapse:collapse;width:100%;margin-bottom:18px;font-size:13px}.factors td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 0}.factors td:first-child{width:38%;padding-right:10px}.factors .fl{font-size:13px;font-weight:600}.factors .fw{font-family:var(--font-mono);color:var(--muted);font-size:10px}.factors .fv{gap:3px;margin-bottom:3px;display:flex}.factors .fv i{background:var(--line-strong);width:14px;height:6px;display:block}.factors .fd{color:var(--text-2)}.factors tfoot td{font-family:var(--font-mono);color:var(--muted);border-bottom:0;padding-top:8px;font-size:11px}.log{border-left:1px solid var(--line-strong);margin:0 0 18px;padding:0;list-style:none}.log li{padding:0 0 14px 16px;position:relative}.log li:before{content:"";background:var(--panel);border:1px solid var(--tan);width:9px;height:9px;position:absolute;top:5px;left:-5px;transform:rotate(45deg)}.log li.now:before{background:var(--accent);border-color:var(--accent)}.log li.future{opacity:.35}.log-dtg{font-family:var(--font-mono);color:var(--tan);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.log-dtg .tm{color:var(--muted)}.log p{margin:3px 0 0;font-size:13.5px}.log .lsrc{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:10.5px}.log .lsrc a{color:var(--muted)}.src{counter-reset:s;gap:5px;margin:0;padding:0;list-style:none;display:grid}.src li{overflow-wrap:anywhere;counter-increment:s;font-size:13px}.src li:before{content:"[" counter(s) "] ";font-family:var(--font-mono);color:var(--dim);font-size:11px}.src .unl{color:var(--muted)}.back{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);background:0 0;border:0;margin-bottom:10px;padding:0;font-size:11px;display:none}.panel-foot{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--dim);flex:none;padding:9px 16px;font-size:10.5px}@media (width<=860px){body.is-app{height:auto;display:block;overflow:visible}.app{flex-direction:column;display:flex}.app .top{padding-block:8px}.idx{gap:10px}.idx-value{font-size:32px}.idx-label{display:none}.lvl i{width:11px;height:6px}.lvl-name{font-size:13px}.clock-date{font-size:12px}.map-wrap{flex-direction:column;display:flex;overflow:visible}.map-stage{order:2;height:min(62vw,420px);min-height:200px;position:relative;inset:auto}.overlay.layers,.overlay.nofix,.overlay.digest{max-width:none;position:static}.digest{width:auto;padding:8px var(--gutter) 0;order:1;justify-items:stretch}.digest-toggle{justify-content:center}.digest-body{box-shadow:none}.layers{padding:10px var(--gutter) 4px;order:1}.nofix{margin:4px var(--gutter) 12px;order:3;padding:6px 8px}.coords{display:none}.zoom{grid-auto-flow:column;bottom:8px}.chip{padding:4px 8px 4px 7px;font-size:10px}.chip .lab-long,.tl-hint{display:none}.period{flex-wrap:wrap;flex:100%}.period label{flex:1 1 0;min-width:0}.period label:first-child{flex-basis:100%}.period select,.period input{flex:1;width:100%;min-width:0}#tl{height:104px}.panel{border-left:0;border-top:1px solid var(--line)}.pane,.pane-list,.pane-detail{flex:none}.pane-list .list,.pane-detail .pane-pad{overflow:visible}.pane-detail{scroll-margin-top:calc(var(--header-h) + 50px);border-bottom:1px solid var(--line-strong);order:-1}.pane-list{scroll-margin-top:calc(var(--header-h) + 50px)}.back{display:inline-block}}@media (width>=861px){.chip .lab-short{display:none}}
