:root{--bg: #000000;--panel: #060606;--line: #3a3a3a;--line-soft: #222222;--ink: #e8e8e8;--ink-dim: #8a8a8a;--ink-faint: #5a5a5a;--hi: #ffffff;--warn: #ff3b30;--warn-dim: #a02019;--mono: "SFMono-Regular", "JetBrains Mono", "Menlo", "Consolas", "Liberation Mono", monospace;--fs: 13px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;max-width:100%;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:var(--fs);line-height:1.45;-webkit-font-smoothing:antialiased}html,body{overflow:hidden}button{font-family:var(--mono);font-size:var(--fs);color:var(--ink);background:transparent;border:1px solid var(--line);padding:3px 10px;cursor:pointer;letter-spacing:.02em;text-transform:uppercase}button:hover:not(:disabled){border-color:var(--hi);color:var(--hi)}button:disabled{color:var(--ink-faint);border-color:var(--line-soft);cursor:default}button.warn{border-color:var(--warn-dim);color:var(--warn)}button.warn:hover:not(:disabled){border-color:var(--warn)}select,input{font-family:var(--mono);font-size:var(--fs);color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:2px 6px}a{color:var(--ink);text-decoration:underline dotted var(--line)}.app{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr;grid-template-areas:"meters" "globe" "log";height:100%;gap:1px;background:var(--line-soft)}.meters{grid-area:meters}.stage{grid-area:globe;position:relative;isolation:isolate;background:var(--bg);min-height:0;min-width:0;overflow:hidden}.side{grid-area:side;background:var(--panel);overflow:hidden;display:flex;flex-direction:column;min-height:0}.log{grid-area:log;background:var(--panel);height:190px;overflow:hidden}.meters{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--panel);border-bottom:1px solid var(--line-soft)}.meters .brand{display:flex;flex-direction:column;justify-content:center;padding:6px 14px;border-right:1px solid var(--line-soft)}.meters .brand .title{color:var(--hi);letter-spacing:.18em;font-size:12px}.meters .brand .sub{color:var(--ink-faint);font-size:10px;letter-spacing:.1em}.meter{display:flex;flex-direction:column;justify-content:center;padding:6px 14px;min-width:92px;border-right:1px solid var(--line-soft)}.meter .k{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.meter .v{color:var(--ink);font-size:15px}.meter .v.warn{color:var(--warn)}.meter .bar{height:3px;margin-top:3px;background:var(--line-soft);position:relative}.meter .bar>i{position:absolute;left:0;top:0;bottom:0;background:var(--ink-dim)}.meter .bar>i.warn{background:var(--warn)}.timectl{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px}.timectl .spacer{width:8px}.timedate{display:flex;align-items:center;margin-left:4px;padding-left:10px;border-left:1px solid var(--line-soft)}.timedate .v{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.timedate .v .complete{color:var(--hi);letter-spacing:.08em}.timedate .v .lost{color:var(--warn);letter-spacing:.08em}.speedctl{display:flex;align-items:center;gap:5px}.speedctl button{min-width:26px;text-align:center;padding:3px 6px}.speedctl .playpause{min-width:30px}.speedctl .playpause.running{border-color:var(--hi);color:var(--hi)}.speedbars{display:inline-flex;align-items:flex-end;gap:2px;height:16px;padding:0 2px}.speedbars>i{width:4px;background:var(--line);align-self:stretch}.speedbars>i:nth-child(1){height:40%;align-self:flex-end}.speedbars>i:nth-child(2){height:55%;align-self:flex-end}.speedbars>i:nth-child(3){height:70%;align-self:flex-end}.speedbars>i:nth-child(4){height:85%;align-self:flex-end}.speedbars>i:nth-child(5){height:100%;align-self:flex-end}.speedbars>i.on{background:var(--hi)}.speedbars.paused>i.on{background:var(--ink-dim)}.stage .hint{position:absolute;left:10px;bottom:8px;color:var(--ink-faint);font-size:10px;letter-spacing:.06em;pointer-events:none}.stage .legend{position:absolute;right:10px;top:10px;text-align:right;color:var(--ink-faint);font-size:10px;pointer-events:none;line-height:1.6}.stage .legend .swatch{display:inline-block;width:8px;height:8px;margin-left:6px;vertical-align:middle;border:1px solid var(--line)}.marker-label{color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.04em;white-space:nowrap;transform:translate(8px,-50%);pointer-events:none;text-shadow:0 0 4px #000,0 0 4px #000}.marker-label.warn{color:var(--warn)}.site-pin{position:relative;width:0;height:0;pointer-events:auto;cursor:pointer}.site-pin .pin-mark{position:absolute;left:-13px;top:-34px;display:block;filter:drop-shadow(0 0 3px #000) drop-shadow(0 0 2px #000)}.site-pin .pin-body{fill:#0a0a0a;stroke:var(--hi);stroke-width:1.6}.site-pin .pin-glyph{fill:none;stroke:var(--hi);stroke-width:1.5;stroke-linecap:round}.site-pin .pin-name{position:absolute;left:12px;top:-21px;transform:translateY(-50%);white-space:nowrap;color:var(--ink);font-size:11px;letter-spacing:.04em;text-shadow:0 0 4px #000,0 0 4px #000}.site-pin.warn .pin-body,.site-pin.warn .pin-glyph{stroke:var(--warn)}.site-pin.warn .pin-name{color:var(--warn)}.landmark-label{font-family:var(--mono);font-style:italic;text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--ink);white-space:nowrap;text-shadow:0 0 5px #000,0 0 4px #000,0 0 3px #000;pointer-events:none;-webkit-user-select:none;user-select:none}.landmark-label.t1{letter-spacing:.24em}.landmark-label.t3{font-size:10px;letter-spacing:.12em}.moon-label{font-family:var(--mono);text-transform:uppercase;font-size:10px;letter-spacing:.18em;color:var(--ink);white-space:nowrap;text-shadow:0 0 5px #000,0 0 4px #000,0 0 3px #000;transform:translate(11px,-50%);cursor:pointer;-webkit-user-select:none;user-select:none}.moon-label:hover{color:#cfe0f2}.tabs{display:flex;border-bottom:1px solid var(--line-soft);flex:0 0 auto}.tabs button{flex:1;border:none;border-right:1px solid var(--line-soft);padding:7px 0;color:var(--ink-dim);background:transparent;border-radius:0}.tabs button:last-child{border-right:none}.tabs button.active{color:var(--hi);background:#101010}.tabs button:hover{color:var(--ink)}.panel{overflow-y:auto;padding:8px 10px;flex:1 1 auto}.panel h3{margin:0 0 6px;color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:400}.row{display:flex;align-items:baseline;gap:8px;padding:3px 4px;border-bottom:1px solid var(--line-soft);cursor:pointer}.row:hover{background:#0e0e0e}.row.head{cursor:default;color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}.row .name{flex:1;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .dim{color:var(--ink-dim)}.row .num{font-variant-numeric:tabular-nums}.row.selected{background:#141414}.tag{color:var(--ink-faint);font-size:10px;letter-spacing:.04em}.warn{color:var(--warn)}.mono-num{font-variant-numeric:tabular-nums}.vals{color:var(--ink-dim);font-size:11px}.log .logscroll{height:100%;overflow-y:auto;padding:6px 10px}.log h3{margin:0;padding:5px 10px;color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel)}.logline{display:flex;gap:8px;padding:1px 0;align-items:baseline}.logline .glyph{width:12px;text-align:center;color:var(--ink-faint);flex:0 0 auto}.logline .glyph.milestone{color:var(--hi)}.logline .glyph.incident{color:var(--warn)}.logline .date{color:var(--ink-faint);font-size:10px;flex:0 0 auto}.logline .txt{color:var(--ink-dim)}.logline.milestone .txt{color:var(--ink)}.logline.incident .txt{color:var(--warn)}.log h3.logtoggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.log h3.logtoggle:hover{color:var(--ink-dim)}.log .logcaret{display:inline-block;width:9px;transition:transform .12s ease;color:var(--ink-dim);font-size:8px}.log .logcaret.open{transform:rotate(90deg)}.log.collapsed{height:auto}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;z-index:20}.drawer{margin-left:auto;width:460px;max-width:92vw;height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;animation:slidein .14s ease-out}@keyframes slidein{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer .dhead,.site-window .dhead{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.drawer .dhead .dtitle,.site-window .dhead .dtitle{flex:1;color:var(--hi);font-size:15px;letter-spacing:.04em}.drawer .dbody{padding:12px 14px;overflow-y:auto}.site-window .dbody{padding:12px 14px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal{margin:auto;width:720px;max-width:94vw;max-height:88vh;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}.modal .mhead{padding:12px 16px;border-bottom:1px solid var(--line-soft)}.modal .mhead .mtitle{color:var(--hi);letter-spacing:.12em}.modal .mhead .msub{color:var(--ink-faint);font-size:11px}.modal .mbody{padding:8px 16px 16px;overflow-y:auto}.close{border:1px solid var(--line);padding:1px 8px;line-height:1.3}.eventdialog{width:420px;max-width:92vw;align-items:center;text-align:center;padding:24px 22px;gap:0}.eventdialog .eglyph{width:88px;height:88px;margin:0 auto 14px;color:var(--warn)}.eventdialog .eglyph svg{width:100%;height:100%}.eventdialog .etitle{color:var(--hi);font-size:13px;letter-spacing:.12em;margin-bottom:8px}.eventdialog .etext{color:var(--ink);font-size:13px;line-height:1.5;margin-bottom:16px}.eventdialog .econsequences{width:100%;text-align:left;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:10px 4px;margin:0 0 18px}.eventdialog .eoptions:empty{display:none}.eventdialog .ack{border-color:var(--warn-dim);color:var(--warn);padding:6px 26px}.eventdialog .ack:hover{border-color:var(--warn)}.kv{display:grid;grid-template-columns:116px 1fr;gap:2px 10px;margin:8px 0}.kv .k{color:var(--ink-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.kv .v{color:var(--ink)}.section{margin-top:14px}.section>.stitle{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line-soft);padding-bottom:3px;margin-bottom:5px}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.data th{text-align:right;color:var(--ink-faint);font-weight:400;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-bottom:1px solid var(--line-soft)}table.data th:first-child,table.data td:first-child{text-align:left}table.data td{padding:2px 6px;border-bottom:1px solid var(--line-soft);color:var(--ink);text-align:right}table.data td.dim{color:var(--ink-dim)}table.data td.warn{color:var(--warn)}table.data tr:hover td{background:#0e0e0e}.form-row{display:flex;align-items:center;gap:8px;margin:8px 0}.form-row label{color:var(--ink-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em;width:88px}.form-row select{flex:1}.preview{margin:10px 0;padding:8px 10px;border:1px solid var(--line-soft);font-size:12px;color:var(--ink-dim)}.preview .cost{color:var(--ink);font-size:15px}.preview.bad{border-color:var(--warn-dim)}.preview.bad .cost{color:var(--warn)}.formula{color:var(--ink-faint);font-size:11px}.notice{padding:6px 10px;margin:8px 0;border:1px solid var(--line-soft);color:var(--ink-dim);font-size:12px}.notice.warn{border-color:var(--warn-dim);color:var(--warn)}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);letter-spacing:.2em}.chip{display:inline-block;border:1px solid var(--line-soft);padding:0 5px;margin-right:4px;color:var(--ink-dim);font-size:10px}.chip.player{border-color:var(--line);color:var(--ink)}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.founder-card{border:1px solid var(--line-soft);padding:8px 10px;cursor:pointer}.founder-card:hover{border-color:var(--hi);background:#0e0e0e}.founder-card .fname{color:var(--hi)}.founder-card .fmeta{color:var(--ink-dim);font-size:11px;margin-top:3px}@media (max-width: 820px){.log{height:150px}}@media (max-width: 560px){:root{--fs: 12px}.meter{min-width:78px;padding:5px 10px}.log{height:128px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-soft)}::-webkit-scrollbar-thumb:hover{background:var(--line)}.meters{position:relative;z-index:200}.tip{position:relative;display:inline-block}.tip.meter{display:flex}.tip-bubble{position:absolute;z-index:100;display:none;width:max-content;max-width:230px;background:#0c0c0c;border:1px solid var(--line);color:var(--ink-dim);font-size:11px;line-height:1.45;letter-spacing:normal;text-transform:none;text-align:left;padding:6px 9px;white-space:normal;pointer-events:none;box-shadow:0 4px 14px #0009}.tip:hover>.tip-bubble{display:block}.tip-bubble.bottom{top:100%;left:0;margin-top:5px}.tip-bubble.top{bottom:100%;left:0;margin-bottom:5px}.tip-bubble.left{right:100%;top:0;margin-right:7px}.tip-bubble b{color:var(--ink)}.timectl .tip-bubble.bottom,.side .tip-bubble.bottom{left:auto;right:0}.tip-axis{margin:3px 0}.tip-axis b{color:var(--ink)}.tip-blurb{color:var(--ink-faint)}.tabs .tip{flex:1;display:flex}.tabs .tip>button{flex:1}.info{color:var(--ink-faint);cursor:help;font-size:11px}.vbtrack{position:relative;height:8px;background:var(--line-soft);display:inline-block;vertical-align:middle}.vbcenter{position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;background:var(--line)}.vbfill{position:absolute;top:1px;bottom:1px;background:var(--ink-dim)}.vbars.full .vbrow{display:grid;grid-template-columns:62px 88px 74px 36px;align-items:center;gap:6px;padding:1px 0}.vbars.full .vbtrack{width:88px}.vbars.full .vbpole{font-size:10px;color:var(--ink-faint);white-space:nowrap}.vbars.full .vbpole.neg{text-align:right}.vbars.full .vbpole.pos{text-align:left}.vbars.full .vbpole.on{color:var(--ink)}.vbars.full .vbnum{font-size:10px;color:var(--ink-dim);text-align:right;font-variant-numeric:tabular-nums}.vbars.compact{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;cursor:help}.vbmini{display:inline-flex;align-items:center;gap:4px}.vbmini .vbtrack{width:24px;height:6px}.vbword{font-size:10px;color:var(--ink-dim)}.abtrack{position:relative;height:8px;background:var(--line-soft);display:inline-block;vertical-align:middle}.abtrack>i{position:absolute;left:0;top:0;bottom:0;background:var(--ink-dim)}.abil.full .abrow{display:grid;grid-template-columns:96px 1fr 20px;align-items:center;gap:8px;padding:1px 0}.abname{font-size:11px;color:var(--ink-faint);cursor:help;border-bottom:1px dotted var(--line-soft)}.abil.full .abnum{font-size:11px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.abil.compact{display:inline-flex;gap:6px;align-items:flex-end;cursor:help}.abpip{display:inline-flex;flex-direction:column;align-items:center;gap:1px}.abpip .ablabel{font-size:9px;color:var(--ink-faint)}.abpip .abtrack{width:20px;height:4px}.castrow{align-items:flex-start}.castrow .name{display:flex;flex-direction:column;gap:3px;white-space:normal;overflow:visible}.castvals{margin-top:1px}.castright{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.castright .num{color:var(--ink);font-variant-numeric:tabular-nums}.conseq-wrap{margin:10px 0}.conseq-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:3px}.conseq{border:1px solid var(--line-soft);padding:7px 9px;font-size:12px}.conseq-effs{display:flex;flex-wrap:wrap;gap:4px 12px}.conseq-effs .eff{color:var(--ink)}.conseq-effs .arrow{color:var(--ink-dim)}.conseq-meta{color:var(--ink-faint);font-size:11px;margin-top:5px;line-height:1.5}.tip-bubble .conseq{margin-top:5px;border-color:var(--line-soft)}.gloss-steps{margin:0;padding-left:18px;color:var(--ink-dim)}.gloss-steps li{margin:5px 0}.gloss-steps b{color:var(--ink)}.axis-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}.axchip{font-size:10px;color:var(--ink-faint)}.axchip b{color:var(--ink-dim)}.founder-card .vbars.full{margin-top:6px}.founder-card .abil.full{margin-top:4px}.site-window{grid-area:globe;justify-self:end;align-self:start;margin:10px;width:300px;max-width:min(300px,72vw);max-height:calc(100% - 20px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 34px #0000008c;z-index:5;overflow:hidden}.sitevitals{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-soft);border-bottom:1px solid var(--line-soft)}.sitevitals .vital{flex:1 1 auto;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 4px;background:var(--panel)}.sitevitals .vital .vk{color:var(--ink-faint);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.sitevitals .vital .vv{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.sitevitals .vital.warn .vv{color:var(--warn)}.sitevitals .vital.warn .vk{color:var(--warn-dim)}.site-window table.data td.instout{max-width:0;width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-window .dbody>.section:first-child{margin-top:0}.collapse>.chead{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line-soft);padding-bottom:3px;margin-bottom:5px}.collapse>.chead:hover{color:var(--ink)}.collapse .caret{display:inline-block;width:9px;transition:transform .12s ease;color:var(--ink-dim)}.collapse.open .caret{transform:rotate(90deg)}.collapse .ccount{margin-left:auto;color:var(--ink-dim)}.icon-slot{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-dim)}.icon-slot svg{width:20px;height:20px}.laborbar{display:flex;justify-content:space-between;font-size:11px;color:var(--ink);padding:2px 0 6px;border-bottom:1px solid var(--line-soft)}.laborbar b{color:var(--hi)}.laborbar .dim{color:var(--ink-dim)}.laborbar .crewsplit{display:flex;gap:8px}.laborbar .crewsplit .warn{color:var(--warn)}.powerline{display:flex;justify-content:space-between;font-size:11px;color:var(--ink);padding:2px 6px 4px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.powerline .dim{color:var(--ink-dim)}.powerline .warn{color:var(--warn)}.actlist{display:flex;flex-direction:column;gap:5px;margin-top:4px}.actbtn{display:flex;flex-direction:row;align-items:center;gap:8px;text-align:left;width:100%;padding:6px 8px}.actbtn .acttext{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.actbtn .actline{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px}.actbtn .acttrail{color:var(--ink-dim);font-size:10px;white-space:nowrap}.actbtn .actsub{font-size:10px;color:var(--ink-faint)}.direction .tier1{display:flex;gap:8px;margin-bottom:8px}.direction .tshare{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;border:1px solid var(--line-soft)}.direction .tshare>span{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.stepper{display:inline-flex;align-items:center;gap:6px}.stepper button{padding:0 6px;line-height:18px;min-width:18px}.stepper b{min-width:12px;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.direction .warnings{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.warnbadge{color:var(--warn);border-left:2px solid var(--warn-dim);padding-left:6px;font-size:11px}.direction .graph{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.taskrow{display:flex;align-items:center;gap:7px;font-size:11px}.tkind{width:46px;color:var(--ink-faint);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.tname{flex:1;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbar{display:inline-flex;gap:2px}.tbar .cell{width:9px;height:9px;border:1px solid var(--line-soft)}.tbar .cell.q{background:var(--ink);border-color:var(--ink)}.tbar .cell.c{background:var(--ink-dim);border-color:var(--ink-dim)}.tbar .cell.u{background:var(--warn);border-color:var(--warn)}.tbar .cell.empty{background:transparent}.teff{width:66px;text-align:right;font-variant-numeric:tabular-nums}.graphlegend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:2px 0 8px}.graphlegend span{display:inline-flex;align-items:center;gap:5px;color:var(--ink-faint);font-size:10px}.graphlegend .cell{width:9px;height:9px;border:1px solid var(--line-soft);display:inline-block}.graphlegend .cell.q{background:var(--ink);border-color:var(--ink)}.graphlegend .cell.c{background:var(--ink-dim);border-color:var(--ink-dim)}.graphlegend .cell.u{background:var(--warn);border-color:var(--warn)}.graphlegend .cell.empty{background:transparent}.priolist,.buildqueue{margin-top:6px;padding-top:6px;border-top:1px solid var(--line-soft)}.prohead{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.prorow,.qrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0;font-size:12px}.qbtns{display:inline-flex;gap:4px}.qbtns button{padding:0 6px;line-height:18px}.planet-panel{position:absolute;left:10px;top:10px;z-index:4;width:148px;padding:6px 8px 8px;background:#0a0a0ad1;border:1px solid var(--line);font-size:11px}.planet-panel .pphead{color:var(--ink-faint);font-size:10px;letter-spacing:.14em;margin-bottom:4px}.planet-panel .pprow{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:2px 4px;background:none;border:1px solid transparent;color:var(--ink-dim);font:inherit;cursor:pointer}.planet-panel .pprow:hover{color:var(--ink)}.planet-panel .pprow.active{border-color:var(--line);color:var(--hi);background:#101010}.planet-panel .ppswatch{width:14px;height:7px;border:1px solid var(--line-soft);flex:0 0 auto}.planet-panel .pplegend{margin-top:6px}.planet-panel .ppbar{height:7px;border:1px solid var(--line-soft)}.planet-panel .pprange{display:flex;justify-content:space-between;color:var(--ink-faint);font-size:10px;margin-top:2px}.planet-panel .ppref{margin-top:6px;padding-top:5px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:3px 6px}.planet-panel .ppref span{color:#3c3c3c;font-size:9px;letter-spacing:.04em}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:#131313;color:var(--ink)}.rowgear{color:var(--ink-dim)}table.data tr.clickable:hover .rowgear{color:var(--hi)}.building-card{position:fixed;z-index:12;width:300px;max-width:92vw;max-height:78vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 34px #0000008c;overflow:hidden}.card-head{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line-soft);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.card-head:active{cursor:grabbing}.card-title{flex:1;color:var(--hi);font-size:13px;letter-spacing:.04em}.card-sub{color:var(--ink-faint);letter-spacing:.02em}.card-close{cursor:pointer}.card-body{padding:12px 14px;overflow-y:auto}.cardkv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline}.cardkv .k{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.cardkv .v{font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.cardkv .v.warn{color:var(--warn)}.mixlist{display:flex;flex-direction:column;gap:12px}.mixrow{display:flex;flex-direction:column;gap:3px}.mixtop{display:flex;align-items:baseline;justify-content:space-between}.mixname{color:var(--ink);font-size:13px}.mixval{font-size:11px;font-variant-numeric:tabular-nums}.mixslider{width:100%;accent-color:var(--hi);cursor:pointer}.mixabund{height:4px;background:var(--line-soft);position:relative}.mixabund>i{position:absolute;left:0;top:0;bottom:0;background:var(--ink-dim)}.mixnote{font-size:12px;line-height:1.5}.mixfoot{font-size:10px;line-height:1.5;margin-top:2px;border-top:1px solid var(--line-soft);padding-top:8px}.planet-panel .ppsource{color:var(--ink-faint);font-size:9px;letter-spacing:.04em;margin-top:3px}.planet-panel .ppband{display:flex;align-items:center;gap:6px;padding:1px 0}.planet-panel .ppchip{width:14px;height:8px;border:1px solid var(--line-soft);flex:0 0 auto}.planet-panel .ppbandlabel{color:var(--ink-dim);font-size:10px;font-variant-numeric:tabular-nums}.planet-panel .pphead{display:block;width:100%;text-align:left;padding:0;background:none;border:none;font:inherit;cursor:pointer}.planet-panel .pphead:hover{color:var(--ink)}.planet-panel .ppcaret{display:inline-block;width:11px;transition:transform .12s ease;color:var(--ink-dim);font-size:8px}.planet-panel .ppcaret.open{transform:rotate(90deg)}.planet-panel .ppactive{color:var(--ink-dim);text-transform:lowercase;letter-spacing:.04em}.planet-panel.collapsed{width:auto;padding:5px 9px}.planet-panel.collapsed .pphead{margin-bottom:0}
