:root{color-scheme:dark;--bg: #06080f;--ink: 6, 8, 15;--line: rgba(140, 160, 200, .16);--line-strong: rgba(160, 180, 220, .34);--text: #e8ecf4;--muted: #b3bdd0;--faint: #98a5bc;--gold: #f0b858;--gold-dim: rgba(240, 184, 88, .16);--gold-faint: rgba(240, 184, 88, .07);--blue: #6eb6ff;--ok: #7bd389;--display: "Outfit", ui-sans-serif, system-ui, sans-serif;--body: "Manrope", ui-sans-serif, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--rail: 320px;--deck-h: 178px;--edge: 22px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--body)}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg)}#gl{display:block;width:100%;height:100%}#gl.over-glint{cursor:pointer}#gl:focus-visible{outline-offset:-3px}#app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 48%,transparent 55%,rgba(2,3,8,.6) 100%)}#app:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--ink),.94),rgba(var(--ink),.78) 72%,transparent) left / calc(var(--rail) + 36px) 100% no-repeat,linear-gradient(270deg,rgba(var(--ink),.94),rgba(var(--ink),.78) 72%,transparent) right / calc(var(--rail) + 36px) 100% no-repeat;transition:opacity 1.6s ease}#app.arriving:before{opacity:0;transition:none}#app.charting:before{visibility:hidden}.frame{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:2;pointer-events:none;--t: var(--line-strong);background:linear-gradient(var(--t),var(--t)) left top / 14px 1px no-repeat,linear-gradient(var(--t),var(--t)) left top / 1px 14px no-repeat,linear-gradient(var(--t),var(--t)) right top / 14px 1px no-repeat,linear-gradient(var(--t),var(--t)) right top / 1px 14px no-repeat,linear-gradient(var(--t),var(--t)) left bottom / 14px 1px no-repeat,linear-gradient(var(--t),var(--t)) left bottom / 1px 14px no-repeat,linear-gradient(var(--t),var(--t)) right bottom / 14px 1px no-repeat,linear-gradient(var(--t),var(--t)) right bottom / 1px 14px no-repeat}.k,.lbl{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.hud{position:absolute;inset:var(--edge) var(--edge) auto var(--edge);z-index:3;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;text-shadow:0 1px 10px rgba(var(--ink),1),0 0 4px rgba(var(--ink),.9)}.hud-sys{display:grid;gap:3px}.hud-sys b{font:500 17px/1 var(--display);letter-spacing:.08em;color:var(--text)}.hud-sys #hud-star{font:400 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hud-warn{pointer-events:auto;justify-self:start;margin-top:6px;padding:2px 0;text-align:left;font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-dim)}.hud-warn:before{content:"⚠ "}.hud-warn:hover{border-bottom-color:var(--gold)}@media (min-width: 901px){#app:has(.hud-warn:not([hidden])) .rail-l{top:112px}}.hud-map{pointer-events:auto;display:grid;gap:3px;justify-items:end;text-align:right;padding:2px 0}.hud-map .k{transition:color .2s}.hud-legacy{font:400 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.hud-map:hover .hud-legacy{color:var(--gold);border-bottom-color:var(--gold-dim)}.hud-right{display:grid;gap:8px;justify-items:end}.hud-help{pointer-events:auto;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:2px 0;transition:color .2s}.hud-help:hover{color:var(--gold)}.hud-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px;align-items:baseline}.hud-sep{font:400 11px var(--mono);color:var(--faint);opacity:.6}.hud-sound{min-width:7.5ch;text-align:right}.hud-sound.muted{color:var(--muted)}.panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;--sheet: 0}.panel>*{pointer-events:auto}.panel,.hud,.frame{transition:opacity 1.6s ease}#app.arriving .panel,#app.arriving .hud,#app.arriving .frame{opacity:0;transition:none}.arc{position:absolute;top:18px;left:50%;transform:translate(-50%);width:min(600px,52vw);display:grid;gap:7px}.arc-line{position:relative;height:1px;background:var(--line)}.arc-line:before,.arc-line:after{content:"";position:absolute;top:-3px;width:1px;height:7px;background:var(--line-strong)}.arc-line:before{left:0}.arc-line:after{right:0}.arc-fill{position:absolute;left:0;top:0;height:1px;width:0;background:var(--gold);opacity:.8;transition:width .4s linear}.arc-now{position:absolute;top:-3px;left:0;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px 2px #f0b85873;transition:left .4s linear}.arc-names{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none}.arc-names li{text-align:center;font:500 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);transition:color .4s}.arc-names li.past{color:var(--muted)}.arc-names li.now{color:var(--c);text-shadow:0 0 12px color-mix(in srgb,var(--c) 40%,transparent)}.arc-ship{position:absolute;right:-18px;top:-6px;font:400 11px var(--mono);color:var(--faint)}.arc-ship.on{color:var(--gold)}.banners{position:absolute;top:58px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;width:min(600px,calc(100vw - 2 * var(--rail) - 32px))}.event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:baseline;padding:10px 14px;border-top:1px solid var(--gold-dim);background:rgba(var(--ink),.92)}.event:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold-dim)}.event-bar{position:absolute;left:0;bottom:0;height:1px;width:var(--p, 100%);background:var(--gold)}.event-name{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.event-blurb{grid-column:1 / -1;font:400 12px/1.5 var(--body);color:var(--muted)}.event-left{grid-column:2;grid-row:1;font:400 11px var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.event-act{grid-column:1 / -1;justify-self:start;font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:normal;text-align:left;padding:5px 0;border-bottom:1px solid var(--gold-dim);transition:color .2s,border-color .2s}.event-act:hover:not(:disabled){border-bottom-color:var(--gold)}.event-act:disabled{color:var(--faint);border-bottom-color:transparent}.event-act.done{color:var(--muted)}.event-act:focus-visible{outline-offset:2px}.rail{position:absolute;top:86px;bottom:calc(var(--deck-h) + 12px);width:var(--rail);padding:0 0 12px var(--edge);display:flex;flex-direction:column;gap:18px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overscroll-behavior:contain}.rail::-webkit-scrollbar{width:3px}.rail::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.rail>*{flex-shrink:0}.rail-l{left:0;padding-right:10px}.rail-r{right:0;padding:0 var(--edge) 12px 0;gap:16px}.rail h2{margin:0;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);display:flex;justify-content:space-between;align-items:baseline;gap:10px}.rail h2:after{content:"";flex:1;height:1px;background:var(--line);align-self:center}.rail h2>:last-child:not(:first-child){order:3}.era{display:grid;gap:6px}.era-num{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.era-name{font:300 34px/1 var(--display);letter-spacing:.01em;color:var(--text)}.era-name b{font-weight:500;color:var(--c, var(--gold))}.era-tag{margin:0;font:400 13px/1.6 var(--body);color:var(--muted);max-width:32ch}.next-step{display:grid;gap:6px;padding:10px 12px 10px 14px;border-left:2px solid var(--gold);background:linear-gradient(90deg,var(--gold-faint),transparent)}.next-step .k{color:var(--gold);font-size:11px}.next-step strong{font:500 16px/1.25 var(--display)}.next-step p{margin:0;font:400 13px/1.6 var(--body);color:var(--muted)}.next-action{justify-self:start;padding:5px 0;font:500 11px/1.5 var(--mono);color:var(--gold);text-align:left;border-bottom:1px solid var(--gold-dim)}.next-action:hover{border-color:var(--gold)}.gate{display:grid;gap:10px}.gate.open .cond{color:var(--ok)}.cond{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:baseline;font:400 13px/1.4 var(--mono);color:var(--muted);padding-bottom:9px}.cond:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}.cond-k{grid-column:1 / -1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cond-v{color:var(--text);font-variant-numeric:tabular-nums}.cond-w{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.cond.ok .cond-v,.cond.ok .cond-w{color:var(--ok)}.cond.ok .cond-w:after{content:" ✓"}.cond .bar{position:absolute;left:0;bottom:0;height:1px;width:calc(var(--p) * 100%);background:var(--gold)}.cond.ok .bar{background:var(--ok)}.gate-note{font:400 12px/1.5 var(--body);color:var(--muted)}.gate-note.busy{color:var(--gold)}.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:10px}.res{display:grid;gap:5px;min-width:0;padding:0 0 9px;border-bottom:1px solid var(--line)}.res-k{font-size:11px;letter-spacing:.1em}.res-v{font:400 28px/1.2 var(--mono);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.res-r{font:400 11px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.res.goal-resource{border-bottom-color:var(--gold-dim)}.res.goal-resource .res-k,.res.goal-resource .res-r{color:var(--gold)}#income-clock{color:var(--faint);font-size:11px;letter-spacing:.02em;text-transform:none}.industry-nav{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:1fr 1fr;padding-bottom:8px;background:rgba(var(--ink),.96);border-bottom:1px solid var(--line)}.industry-nav button{padding:8px 10px;font:500 14px var(--display);text-align:left;color:var(--muted);border-bottom:2px solid transparent}.industry-nav button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold);background:var(--gold-faint)}.industry-nav button:hover{color:var(--text)}#works-ready{font:400 11px var(--mono);color:var(--gold);white-space:nowrap}.section-note{margin:0 0 14px;font:400 13px/1.6 var(--body);color:var(--muted)}.history-fold{margin-top:12px}.history-fold summary{display:flex;align-items:center;gap:12px;padding:11px 0;border-block:1px solid var(--line);list-style:none;cursor:pointer;font:400 11px/1.4 var(--mono);color:var(--muted)}.history-fold summary::-webkit-details-marker{display:none}.history-fold summary:before{content:"›";color:var(--gold);font-size:16px;transition:transform .15s}.history-fold[open]>summary:before{transform:rotate(90deg)}.history-fold summary span{margin-left:auto;font-size:11px;color:var(--faint)}.history-fold summary:hover{color:var(--text)}.history-fold>.blds,.history-fold>.chron{margin-top:10px}#chron-wrap{margin-top:0}.chron{margin:0;padding:0;list-style:none;display:grid}.chron li{display:grid;grid-template-columns:58px 1fr;gap:0 10px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line)}.chron-t{font:400 11px var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.chron-x{font:400 11px/1.45 var(--body);color:var(--muted)}.rail .chron li:first-child .chron-x{color:var(--text)}.world-chron{display:grid;margin-top:2px}.world-chron .chron li{padding:3px 0;grid-template-columns:52px 1fr}.chron-fold summary{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);cursor:pointer;padding:3px 0;list-style:none;border-bottom:1px solid var(--line)}.chron-fold summary::-webkit-details-marker{display:none}.chron-fold summary:before{content:"+ "}.chron-fold[open] summary:before{content:"− "}.chron-fold summary:hover{color:var(--muted)}.chron-fold summary:focus-visible{outline:1px solid var(--gold);outline-offset:2px}.seg{display:flex;gap:2px}.seg button{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);min-width:28px;min-height:32px;padding:4px 6px;border-bottom:1px solid transparent}.seg button:hover{color:var(--muted)}.seg button.on{color:var(--gold);border-bottom-color:var(--gold)}.blds{position:relative;display:grid;gap:5px;margin:0;padding:0;list-style:none}.blds:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(140px circle at var(--mx, -999px) var(--my, -999px),rgba(240,184,88,.09),transparent 70%)}.blds:hover:before{opacity:1}.bld{position:relative;display:grid;gap:3px;width:100%;min-width:0;text-align:left;padding:8px 8px 9px 10px;border-left:1px solid var(--line);transition:border-color .15s,background-color .15s}.bld:hover:not(:disabled){border-left-color:var(--gold);background:var(--gold-faint)}.bld:active:not(:disabled){background:var(--gold-dim)}.blds li{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto}.auto{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:0 7px;border-left:1px solid var(--line);transition:color .15s,border-color .15s,background-color .15s}.auto:hover{color:var(--muted)}.auto[aria-pressed=true]{color:var(--gold);border-left-color:var(--gold);background:var(--gold-faint)}.bld-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}.bld-row>*{min-width:0}.bld:not(.work) .bld-row{flex-wrap:wrap;gap:5px 10px}.bld:not(.work) .bld-name{flex-basis:100%}.bld-rate{flex:1}.bld-name{font:600 14px/1.45 var(--body);color:var(--text);letter-spacing:.01em}.bld-count{font:400 11px var(--mono);color:var(--gold);font-variant-numeric:tabular-nums}.bld-name .bld-count{margin-left:6px}.bld-rate{min-width:0;font:400 11px/1.6 var(--mono);color:var(--muted);white-space:normal;overflow-wrap:anywhere}.bld-cost{font:400 12px/1.5 var(--mono);color:var(--text);font-variant-numeric:tabular-nums;white-space:normal}.bld-bar{position:absolute;left:-1px;bottom:0;top:0;width:1px;background:var(--gold);transform-origin:bottom;transform:scaleY(var(--p, 0));opacity:.9}.bld.poor .bld-name,.bld.poor .bld-cost{color:var(--muted)}.bld.locked{border-left-style:dashed}.bld.locked .bld-name{color:var(--muted)}.bld.locked .bld-cost{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.bld.locked .bld-bar{display:none}.bld.can .bld-bar{background:var(--gold);box-shadow:0 0 6px #f0b85899}.bld.recommended{border-left-color:var(--gold);background:var(--gold-faint)}.bld-gain{font:400 12px/1.6 var(--mono);color:var(--text)}.bld-gain.bonus{color:var(--gold)}.bld-milestone{position:relative;padding:3px 0 6px;font:400 11px/1.4 var(--mono);color:var(--faint)}.bld-milestone:before,.bld-milestone:after{content:"";position:absolute;left:0;bottom:0;height:2px}.bld-milestone:before{width:100%;background:var(--line)}.bld-milestone:after{width:calc(var(--p, 0) * 100%);background:var(--gold);opacity:.65}.bld.building .bld-count{color:var(--gold)}.bld.building .bld-bar{background:var(--gold);box-shadow:0 0 6px #f0b85899;transition:transform .5s linear}.works{grid-template-columns:1fr;gap:5px}.work .bld-row{flex-wrap:wrap;gap:4px 10px}.work .bld-rate{flex-basis:100%;white-space:normal;line-height:1.6;overflow:visible}.work.locked .bld-rate{display:none}.work .bld-cost{font-size:11px}.work-choice{font:400 11px/1.5 var(--body);color:var(--faint);margin-top:3px}.work.can{border-left-color:var(--gold)}.auto{width:36px;padding:5px 3px;font-size:10px;line-height:1.7;letter-spacing:.05em;white-space:normal;text-align:center}.bld.forgone{border-left-style:dashed}.bld.forgone .bld-name{color:var(--muted)}.bld.forgone .bld-cost{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.bld.forgone .bld-bar{display:none}.bld.done{border-left-color:var(--ok)}.bld.done .bld-count{color:var(--ok)}.bld.done .bld-cost{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.bld.done .bld-bar{background:var(--ok)}.rail-foot{margin-top:auto;display:grid;gap:10px;padding:12px 0}.rail-foot .link{text-align:left;padding:8px 0;font-size:11px}.depart{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:12px 14px;border:1px solid var(--gold);text-align:center;transition:background-color .15s;box-shadow:0 0 24px #f0b8581f}.depart:hover{background:var(--gold-dim)}.depart{position:relative;overflow:hidden}.depart:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(100deg,transparent 30%,rgba(240,184,88,.28) 50%,transparent 70%);animation:shine 3.2s ease-in-out infinite}@keyframes shine{0%,55%{transform:translate(-100%)}to{transform:translate(100%)}}.link{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:right}.link:hover{color:var(--muted)}.deck{position:absolute;left:0;right:0;bottom:0;height:var(--deck-h);padding:18px var(--edge) 14px;display:grid;grid-template-columns:repeat(4,1fr) minmax(96px,.5fr);gap:0 22px;background:linear-gradient(0deg,rgba(var(--ink),.85),rgba(var(--ink),.5) 60%,transparent);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overscroll-behavior:contain}.dial{display:grid;grid-template-rows:auto 26px minmax(34px,auto) auto;gap:7px;min-width:0;align-content:start}.dial-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.dial-head label,.dial-head .lbl{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.dial .val{font:400 13px var(--mono);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.dial .val small{color:var(--faint);font-size:11px;margin-left:3px}.dial .val .to,.dial.moving .val{color:var(--gold)}.dial-note{font:400 11px/1.5 var(--mono);color:var(--muted);white-space:normal;min-height:17px;overflow-wrap:anywhere}.dial.moving .dial-note{color:var(--muted)}.dial.derived .val{color:var(--gold);font-size:15px}.dial.derived .dial-note.ok{color:var(--ok)}.dial .dial-note.warn{color:var(--gold)}.dial-target-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.dial-target-row>label{font:400 11px var(--mono);color:var(--faint)}.target-field{display:flex;align-items:center;gap:4px;min-width:0;border-bottom:1px solid var(--line-strong);background:rgba(var(--ink),.45)}.target-field input{min-width:0;width:70px;height:34px;padding:4px 6px;font:400 12px var(--mono);color:var(--gold);background:none;border:0;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.target-field input::-webkit-inner-spin-button,.target-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.target-field>span{padding-right:6px;font:400 11px var(--mono);color:var(--faint)}.target-field:focus-within{border-color:var(--gold)}.target-field input:disabled{color:var(--faint);cursor:not-allowed}.dial-stop{margin-left:auto;padding:6px 2px;font:400 11px var(--mono);color:var(--muted);border-bottom:1px solid var(--line)}.dial-stop:hover{color:var(--gold);border-color:var(--gold)}.temperature-help{align-self:center;font:400 11px/1.5 var(--body);color:var(--faint)}.dial.derived .val{font-size:19px}.dial.locked .track:before{background:repeating-linear-gradient(90deg,var(--line-strong) 0 4px,transparent 4px 8px)}.dial.locked .track .tgt{display:none}.dial.locked .track .cur{filter:grayscale(1) brightness(.7)}.dial.locked .track input[type=range]{cursor:not-allowed}.dial.locked .val{color:var(--muted)}.dial.locked .dial-note{color:var(--gold)}.track{position:relative;height:26px}.track>i{pointer-events:none}.track-blank:before{display:none}.track:before{content:"";position:absolute;left:0;right:0;top:13px;height:1px;background:var(--line-strong)}.track .win{position:absolute;top:9px;height:9px;left:calc(var(--a) * 100%);width:calc((var(--b) - var(--a)) * 100%);background:var(--gold-faint);border-left:1px solid var(--gold-dim);border-right:1px solid var(--gold-dim)}.track .win.met{background:#7bd3891a;border-color:#7bd38959}.track .ask{position:absolute;top:6px;height:15px;left:calc(var(--a) * 100%);width:calc((var(--b) - var(--a)) * 100%);background:repeating-linear-gradient(135deg,var(--gold) 0 1px,transparent 1px 5px);opacity:.6;border-left:1px solid var(--gold);border-right:1px solid var(--gold)}.track .span{position:absolute;top:13px;height:1px;left:calc(min(var(--a),var(--b))*100%);width:calc(abs(var(--a) - var(--b))*100%);background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px 6px)}.track:after{content:"";position:absolute;left:0;right:0;top:11px;height:5px;pointer-events:none;background:linear-gradient(var(--line-strong),var(--line-strong)) 0 0 / 1px 5px no-repeat,linear-gradient(var(--line),var(--line)) 25% 0 / 1px 3px no-repeat,linear-gradient(var(--line),var(--line)) 50% 0 / 1px 5px no-repeat,linear-gradient(var(--line),var(--line)) 75% 0 / 1px 3px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) 100% 0 / 1px 5px no-repeat}.track-blank:after{display:none}.track .cur{position:absolute;top:6px;width:14px;height:14px;margin-left:-7px;left:calc(var(--p) * 100%);--body: #cfd5e2;--sea: #2f7fc0;--lit: 32% 30%;background:var(--body);border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(var(--ink),.9)}.track .cur:before,.track .cur:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.track .cur:after{background:radial-gradient(circle at var(--lit),rgba(255,255,255,.55) 0,rgba(255,255,255,0) 30%,rgba(4,6,12,.12) 52%,rgba(4,6,12,.88) 100%)}.track .sun{position:absolute;left:0;top:9px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:radial-gradient(circle,#fff6d6 0,var(--gold) 40%,rgba(240,184,88,0) 72%);box-shadow:0 0 6px 1px #f0b85873}.dial[data-dial=orbitRadius] .cur{--lit: 16% 50%;--body: color-mix(in srgb, color-mix(in srgb, #cfd5e2, #ff8a3c calc(var(--hot, 0) * 100%)), #bfe6ff calc(var(--cold, 0) * 100%))}.dial[data-dial=rotationHours] .cur:before{background:repeating-linear-gradient(90deg,rgba(4,6,12,.55) 0 1px,transparent 1px 7px);animation:spin var(--spin, 6s) linear infinite}@keyframes spin{to{background-position-x:14px}}.dial[data-dial=waterFraction] .cur{background:linear-gradient(0deg,var(--sea) calc(var(--water, 0) * 100%),var(--body) 0)}.dial[data-dial=atmosphereBar] .cur{box-shadow:0 0 0 2px rgba(var(--ink),.9),0 0 calc(2px + var(--air, 0) * 10px) calc(var(--air, 0) * 3px) rgb(110 182 255 / calc(.2 + var(--air, 0) * .6))}.dial.moving .track .cur{outline:1px solid var(--gold-dim);outline-offset:2px}.dial.moving.up .track .cur{filter:drop-shadow(-5px 0 2px rgba(240,184,88,.5))}.dial.moving.down .track .cur{filter:drop-shadow(5px 0 2px rgba(240,184,88,.5))}.dial.disturbed .track .cur{outline:1px dashed var(--gold);animation:knocked 1.6s ease-in-out infinite}@keyframes knocked{0%,to{outline-color:var(--gold)}50%{outline-color:var(--gold-dim)}}.track .tgt{position:absolute;top:4px;width:18px;height:18px;margin-left:-9px;left:calc(var(--p) * 100%);border:1px dashed var(--gold);border-radius:50%;opacity:0;transition:opacity .2s}.dial.moving .track .tgt,.track:hover .tgt{opacity:1}.track input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;-moz-appearance:none;appearance:none}.track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:26px}.track input[type=range]::-moz-range-thumb{width:22px;height:26px;border:0}.track:has(input:focus-visible):before{background:var(--blue)}.track:has(input:focus-visible) .cur{box-shadow:0 0 0 2px var(--blue)}.dev{position:absolute;left:var(--edge);bottom:calc(var(--deck-h) + 4px);z-index:4;display:grid;gap:8px;justify-items:start}.dev-toggle{font:400 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.dev-toggle.on{color:var(--gold)}.dev-tray{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:min(420px,60vw);padding:8px 10px;background:rgba(var(--ink),.85);border:1px dashed var(--line);font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.dev-tray input[type=range]{flex:1;min-width:120px;accent-color:var(--gold);height:18px;margin:0}.dev-tray button{padding:3px 7px;border:1px solid var(--line);color:var(--muted)}.dev-tray button.on{color:var(--gold);border-color:var(--gold)}.toast{position:absolute;bottom:calc(var(--deck-h) + 10px);left:50%;transform:translate(-50%,8px);z-index:9;width:max-content;max-width:min(560px,calc(100vw - 32px));font:400 12px/1.6 var(--mono);letter-spacing:.02em;color:var(--text);text-align:center;padding:8px 14px;background:rgba(var(--ink),.9);border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);opacity:0;pointer-events:none;transition:opacity .6s ease,transform .6s ease}.toast.show{opacity:1;transform:translate(-50%)}#app:has(>.map:not([hidden])) .toast{visibility:hidden}.map{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;background:var(--bg)}.map-gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.map-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto auto auto 1fr;overflow:hidden;padding:var(--edge) var(--edge) 0}.galaxy{position:relative;height:clamp(250px,38vh,460px);flex:none;margin-top:14px}.galaxy canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.map-title{display:grid;gap:3px}.map-title b{font:300 22px/1 var(--display);letter-spacing:.03em;color:var(--text)}.map-title b[tabindex]:focus-visible{outline:none;text-decoration:underline 1px var(--gold);text-underline-offset:7px}.map-close{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:4px 0}.map-close:hover{color:var(--gold)}.map h2{margin:0;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);display:flex;align-items:baseline;gap:10px}.map h2:after{content:"";flex:1;height:1px;background:var(--line);align-self:center}.map h2>span{order:3;color:var(--gold);letter-spacing:.08em}.map-lead{margin:0;font:400 12px/1.5 var(--body);color:var(--muted);max-width:60ch}.map-depart{display:grid;gap:12px;padding:22px 0 8px}.cands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cand{display:grid;gap:5px;text-align:left;padding:12px 14px;border-left:1px solid var(--line);transition:border-color .15s,background-color .15s}.cand:hover{background:var(--gold-faint)}.cand.on{border-left-color:var(--gold);background:var(--gold-faint)}.cand b{font:500 16px/1 var(--display);letter-spacing:.06em;color:var(--text)}.cand-star{font:400 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.cand-kind{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c)}.cand-trait{margin-top:6px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.cand p{margin:2px 0 0;font:400 11.5px/1.45 var(--body);color:var(--muted)}.charters,.carry{display:grid;gap:8px}.charter-row,.carry-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px}.charter{display:grid;gap:3px;text-align:left;padding:8px 12px;border-left:1px solid var(--line);transition:border-color .15s,background-color .15s}.charter:hover{background:var(--gold-faint)}.charter.on{border-left-color:var(--gold);background:var(--gold-faint)}.charter b{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.charter.on b{color:var(--gold)}.charter span{font:400 11.5px/1.45 var(--body);color:var(--muted)}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.opt{display:grid;gap:5px;text-align:left;padding:12px 14px;border:1px solid var(--gold-dim);transition:background-color .15s,border-color .15s}.opt:hover{background:var(--gold-dim);border-color:var(--gold)}.opt b{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.opt span{font:400 11.5px/1.45 var(--body);color:var(--muted)}.map-body{display:grid;grid-template-columns:1fr var(--rail);gap:32px;min-height:0;padding-top:22px}.world.flash{outline:1px solid var(--gold);outline-offset:6px;animation:flash .6s ease-out forwards}@keyframes flash{0%{outline-color:var(--gold)}to{outline-color:transparent}}.worlds{display:grid;grid-template-rows:auto 1fr;gap:14px;min-height:0}.world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px 16px;align-content:start;overflow-y:auto;padding-bottom:40px;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 40px),transparent)}.world-grid::-webkit-scrollbar{display:none}.world{display:grid;gap:10px}.globe{position:relative;aspect-ratio:1;width:100%;cursor:grab;touch-action:none}.globe.drag{cursor:grabbing}.world.colony .globe:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;pointer-events:none;border:1px solid rgba(240,184,88,.35);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25;transform:scale(.98)}50%{opacity:.8;transform:scale(1.02)}}.world.here .globe:after{content:"";position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;pointer-events:none;border:1px dashed var(--line-strong)}.world-meta{display:grid;gap:4px;padding:0 2px}.world-name{font:500 15px/1 var(--display);letter-spacing:.06em;color:var(--text)}.world-sys{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.world-status{font:400 11px/1.4 var(--body);color:var(--faint)}.world.colony .world-status{color:var(--gold)}.world.here .world-status{color:var(--text)}.world-legacy,.world-works{font:400 11px var(--mono);letter-spacing:.06em;color:var(--faint)}.world-works:before{content:"works · ";color:var(--muted)}.world-visit{justify-self:start;margin-top:4px;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding:6px 0 2px;border-bottom:1px solid var(--gold-dim);transition:border-color .15s}.world-visit:hover{border-bottom-color:var(--gold)}.hist{display:grid;grid-template-columns:repeat(6,8px) 1fr;gap:3px;align-items:end;height:18px;margin-top:2px}.hist i{height:calc(4px + var(--h) * 14px);background:var(--c);opacity:.7}.hist span{font:400 11px var(--mono);color:var(--faint);padding-left:6px;align-self:center;font-variant-numeric:tabular-nums}.perks{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;scrollbar-width:none;padding-bottom:30px}.perks::-webkit-scrollbar{display:none}.perk-list{margin:0;padding:0 0 18px;list-style:none;display:grid;gap:2px}.perk{position:relative;display:grid;gap:3px;width:100%;text-align:left;padding:8px 8px 9px 10px;border-left:1px solid var(--line);transition:border-color .15s,background-color .15s}.perk:hover:not(:disabled){border-left-color:var(--gold);background:var(--gold-faint)}.perk-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.perk-name{font:500 12.5px var(--body);color:var(--text)}.perk-lvl{font:400 11px var(--mono);letter-spacing:.2em;color:var(--gold)}.perk-eff{font:400 11px var(--mono);color:var(--faint);letter-spacing:.02em}.perk-cost{font:400 11px var(--mono);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.perk-bar{position:absolute;left:-1px;bottom:0;top:0;width:1px;background:var(--gold);transform-origin:bottom;transform:scaleY(var(--p, 0));opacity:.9}.perk:disabled .perk-name,.perk:disabled .perk-cost{color:var(--muted)}.perk.maxed .perk-cost{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.code{display:grid;gap:10px;padding-bottom:30px}.code-row{display:flex;gap:18px}.code-btn{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:4px 0}.code-btn:hover{color:var(--gold)}.code-box{width:100%;box-sizing:border-box;margin:0;padding:6px 8px;resize:vertical;display:block;font:400 11px/1.5 var(--mono);color:var(--muted);background:transparent;border:0;border-left:1px solid var(--line);overflow-wrap:anywhere}.code-box::placeholder{color:var(--faint)}.code-box:focus{border-left-color:var(--gold);outline:none}.code-box:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.code-note{margin:0;min-height:13px;font:400 11px var(--mono);letter-spacing:.04em;color:var(--faint)}.perk.maxed .perk-bar{display:none}.perk.can .perk-bar{box-shadow:0 0 6px #f0b85899}.chart{bottom:var(--deck-h);background:rgba(var(--ink),.92)}.chart-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden;padding:var(--edge) var(--edge) 0}.chart-body{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;min-height:0;padding-top:12px}.plan-view{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:10px;min-height:0}.plan-box{position:relative;min-height:0}.plan-box canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.chart-key{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none;font:400 11.5px var(--mono);letter-spacing:.06em;color:var(--muted)}.chart-key li{display:flex;align-items:center;gap:8px}.chart-key i{width:22px;height:0;border-top:2px solid var(--text)}.chart-key .key-tgt{border-top:2px dashed var(--gold)}.chart-key .key-course{border-top:2px dotted var(--ok)}.chart-key .key-hz{height:8px;border:0;background:#6eb6ff38}.chart-key .key-band{height:8px;border:1px solid var(--gold);background:repeating-linear-gradient(45deg,rgba(240,184,88,.5) 0 1px,transparent 1px 5px)}.chart-hint{margin:0 0 14px;font:400 12.5px/1.5 var(--body);color:var(--muted);max-width:70ch}.course-rail{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:12px;min-height:0;padding-bottom:16px}.course-rail .map-lead{font-size:13.5px;color:var(--text)}.course{display:grid;gap:14px;align-content:start;overflow-y:auto;scrollbar-width:none;padding-bottom:24px}.course::-webkit-scrollbar{display:none}.crow{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:0 0 12px;border-bottom:1px solid var(--line)}.crow-k{font:500 15px var(--display);letter-spacing:.02em;color:var(--text)}.crow-s{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);white-space:nowrap}.crow.ok .crow-s{color:var(--ok)}.crow-v{grid-column:1 / -1;font:400 12.5px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.crow-n{grid-column:1 / -1;margin:2px 0 0;font:400 13px/1.5 var(--body);color:var(--text)}.crow .bar{position:absolute;left:0;bottom:-1px;height:2px;width:calc(var(--p) * 100%);background:var(--gold)}.crow.ok .bar{background:var(--ok)}.chart-link{text-align:left}#app.charting .arc,#app.charting .event,#app.charting .rail,#app.charting .hud,#app.charting .frame,#app.charting .dev,#app.charting .tabs{visibility:hidden}.guide,.finale,.away,.settings{background:rgba(var(--ink),.94)}.figures{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px 28px;margin:0;width:100%}.figures div{display:grid;gap:4px}.figures dt{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.figures dd{margin:0;font:500 18px var(--display);letter-spacing:.02em;color:var(--gold)}.finale-on{margin:0;font:400 13px/1.55 var(--body);color:var(--text)}.away-notes{margin:0;padding:0;list-style:none;display:grid;gap:8px;font:400 13px/1.55 var(--body);color:var(--text)}.away-notes li{display:grid;grid-template-columns:14px 1fr;gap:10px}.away-notes li:before{content:"·";color:var(--gold)}.away-log{display:grid;gap:8px;width:100%}.settings-body{gap:30px}.setting{display:grid;gap:12px;width:100%}.setting h2{margin:0;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.setting-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.setting-row label{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.setting-row input[type=range]{width:100%;accent-color:var(--gold);height:22px;margin:0}.setting-val{font:400 12px var(--mono);color:var(--text);font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px}.choice{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;padding:8px 12px;border-left:1px solid var(--line);cursor:pointer;transition:border-color .15s,background-color .15s}.choice:hover,.choice:has(input:checked){background:var(--gold-faint)}.choice:has(input:checked){border-left-color:var(--gold)}.choice:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}.choice input{grid-row:1 / 3;align-self:start;margin:3px 0 0;accent-color:var(--gold)}.choice b{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.choice:has(input:checked) b{color:var(--gold)}.choice span{grid-column:2;font:400 11.5px/1.45 var(--body);color:var(--muted)}.choice.check{justify-self:start}.setting-note{margin:0;font:400 12px/1.5 var(--body);color:var(--gold)}.setting-actions{display:flex;gap:14px;flex-wrap:wrap}.records{display:grid;gap:12px;padding-bottom:30px}.records .figures{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px 18px}.records .figures dd{font-size:15px}.trophies{margin:0;padding:0;list-style:none;display:grid;gap:2px}.trophy{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 8px 8px 10px;border-left:1px solid var(--line)}.trophy b{font:500 12.5px var(--body);color:var(--text)}.trophy span{grid-column:1 / -1;font:400 11px/1.45 var(--body);color:var(--muted)}.trophy .trophy-legacy{grid-column:2;grid-row:1;font:400 11px var(--mono);color:var(--gold);white-space:nowrap}.trophy.on{border-left-color:var(--gold)}.trophy:not(.on) b{color:var(--muted)}.trophy:not(.on) .trophy-legacy{color:var(--faint)}.plates{display:grid;gap:10px;padding-bottom:36px}.album{margin:0;padding:0;list-style:none;display:grid;gap:2px}.plate{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 8px 9px 10px;border-left:1px solid var(--gold-dim)}.plate b{font:500 12.5px var(--body);color:var(--text)}.plate-where{grid-column:1 / -1;font:400 11px/1.45 var(--body);color:var(--muted)}.plate-when{grid-column:2;grid-row:1;font:400 11px var(--mono);color:var(--faint);white-space:nowrap}.plate .world-visit{grid-row:3;margin-top:2px}.plate-drop{grid-column:2;grid-row:3;align-self:end;font:400 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:6px 0 2px}.plate-drop:hover{color:var(--text)}.plate.empty{grid-template-columns:1fr;border-left-color:var(--line);font:400 11.5px/1.5 var(--body);color:var(--muted)}.subjects summary{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:4px 0}.subjects summary:hover{color:var(--gold)}.subjects summary span{color:var(--faint);margin-left:10px;letter-spacing:.04em}.subjects .trophies{margin-top:8px}.guide-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden;padding:var(--edge) var(--edge) 0}.guide-body{display:grid;gap:26px;align-content:start;justify-items:start;max-width:62ch;margin:0 auto;padding:8vh 0 40px;overflow-y:auto;scrollbar-width:none}.guide-body::-webkit-scrollbar{display:none}.guide-body .map-lead{font-size:14px;color:var(--text);max-width:none}.steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:18px}.steps li{display:grid;grid-template-columns:28px 1fr;gap:2px 14px;counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);grid-row:1 / 3;padding-top:3px;font:400 11px var(--mono);letter-spacing:.1em;color:var(--gold)}.steps b{font:500 16px var(--display);letter-spacing:.02em;color:var(--text)}.steps p{margin:0;font:400 13px/1.55 var(--body);color:var(--muted)}.guide-go{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:10px 18px;border:1px solid var(--gold-dim);transition:border-color .2s,background .2s}.guide-go:hover{border-color:var(--gold);background:var(--gold-faint)}.menu{background:none;pointer-events:none;transition:opacity .7s ease}.menu.leaving{opacity:0}.menu-frame{position:absolute;inset:0 auto 0 0;width:44%;pointer-events:auto;display:grid;align-content:center;justify-items:start;gap:40px;padding:var(--edge) var(--edge) var(--edge) max(var(--edge),7vw);background:linear-gradient(90deg,rgba(var(--ink),.92),rgba(var(--ink),.8) 62%,transparent);overflow-y:auto;scrollbar-width:none}.menu-frame::-webkit-scrollbar{display:none}.menu-title{display:grid;gap:10px}.menu-title .k{color:var(--muted)}.menu-title h1{margin:0;font:300 clamp(40px,6vw,72px)/1 var(--display);letter-spacing:.06em;color:var(--text)}.menu-status{display:grid;gap:8px;margin:0;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.menu-status:after{content:"";width:120px;height:1px;background:var(--gold);opacity:.7;animation:menu-load 1.6s ease-in-out infinite alternate}@keyframes menu-load{0%{transform:scaleX(.2);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.menu-status.measured:after{animation:none;transform:scaleX(var(--load, 0));transform-origin:left;transition:transform .25s ease-out}.menu-actions{display:grid;width:min(100%,54ch)}.menu-act{display:grid;gap:4px;text-align:left;padding:13px 14px;border-left:1px solid var(--line);transition:border-color .15s,background-color .15s}.menu-act:hover,.menu-act[aria-expanded=true]{border-left-color:var(--gold);background:var(--gold-faint)}.menu-act b{font:500 18px/1 var(--display);letter-spacing:.04em;color:var(--text);transition:color .15s}.menu-act:hover b{color:var(--gold)}.menu-act{position:relative}#menu-continue:not([hidden]),#menu-continue[hidden]+#menu-new{margin-bottom:12px;padding-block:18px;padding-right:40px;background:var(--gold-faint);border-left:2px solid var(--gold)}#menu-continue:not([hidden]):after,#menu-continue[hidden]+#menu-new:after{content:"→";position:absolute;right:14px;top:19px;color:var(--gold)}.menu-act span{font:400 11.5px/1.5 var(--mono);letter-spacing:.06em;color:var(--muted)}#menu-continue b{color:var(--gold)}.menu-code{display:grid;gap:10px;padding:10px 14px 16px;border-left:1px solid var(--gold);background:var(--gold-faint)}.menu-code textarea{width:100%;resize:vertical;font:400 11.5px/1.5 var(--mono);color:var(--text);background:rgba(var(--ink),.6);border:1px solid var(--line);padding:8px;word-break:break-all}.menu-code-row{display:flex;align-items:center;gap:14px}.menu-code-status{font:400 11.5px var(--mono);letter-spacing:.06em;color:var(--muted)}.menu-foot{display:grid;gap:14px;margin:0;max-width:46ch;font:400 11px/1.5 var(--body);color:var(--faint)}.menu-foot p{margin:0}.menu-studio{display:flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.menu-studio:before{content:"";width:22px;height:1px;background:var(--gold);opacity:.7}#app.menu-open .panel,#app.menu-open .hud,#app.menu-open .frame,#app.menu-open .toast{visibility:hidden}#app.menu-open:before{visibility:hidden}.visit{background:none;pointer-events:none}.visit-frame{position:absolute;inset:0 auto 0 0;width:36%;pointer-events:auto;display:grid;align-content:center;gap:26px;padding:var(--edge) var(--edge) var(--edge) max(var(--edge),4vw);background:linear-gradient(90deg,rgba(var(--ink),.93),rgba(var(--ink),.8) 62%,transparent);overflow-y:auto;scrollbar-width:none;animation:visit-in 1.4s ease both}.visit-frame::-webkit-scrollbar{display:none}@keyframes visit-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.visit-name{font:300 clamp(30px,3.6vw,52px)/1 var(--display);letter-spacing:.06em;color:var(--text)}.visit-name:focus-visible{outline:none;text-decoration:underline 1px var(--gold);text-underline-offset:8px}.visit-body{display:grid;gap:10px;max-width:48ch}.visit-status{margin:4px 0 2px;font:400 13px/1.55 var(--body);color:var(--text)}.visit-body .hist{margin:2px 0}.visit-chron{max-height:34vh;overflow-y:auto;scrollbar-width:none;padding-right:6px;margin-top:4px;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 24px),transparent)}.visit-chron::-webkit-scrollbar{display:none}.visit-foot{margin:0;max-width:46ch;font:400 11px/1.5 var(--body);color:var(--faint)}#app.visiting .panel,#app.visiting .hud,#app.visiting .frame,#app.visiting .toast{visibility:hidden}#app.visiting:before{visibility:hidden}#app.saver .panel,#app.saver .hud,#app.saver .frame,#app.saver .toast{visibility:hidden}#app:not(.saver) .watch-reticle{display:none}#app.saver:before{visibility:hidden}.saver-exit{position:absolute;right:var(--edge);bottom:var(--edge);z-index:4;pointer-events:auto;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:8px 2px;opacity:.5;transition:opacity .3s,color .2s;text-shadow:0 1px 10px rgba(var(--ink),1),0 0 4px rgba(var(--ink),.9)}.saver-exit:hover,.saver-exit:focus-visible{opacity:1;color:var(--gold)}.watch-shoot{right:auto;left:var(--edge)}.plate-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:0;background:#fffcf480}.plate-flash.shot{animation:plate-flash .34s ease-out}@keyframes plate-flash{0%{opacity:.85}to{opacity:0}}.watch{position:absolute;left:0;right:0;bottom:var(--edge);z-index:4;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;text-align:center;padding:0 var(--edge)}.watch-caption{margin:0;font:300 14px/1.5 var(--display);color:var(--text);min-height:1.5em;text-shadow:0 1px 12px rgba(var(--ink),1),0 0 5px rgba(var(--ink),.95)}.watch-hint{margin:0;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);opacity:0;transition:opacity .5s;text-shadow:0 1px 10px rgba(var(--ink),1),0 0 4px rgba(var(--ink),.9)}.watch.busy .watch-hint{opacity:1;transition-duration:.15s}.watch-aperture{margin:0;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-shadow:0 1px 10px rgba(var(--ink),1),0 0 4px rgba(var(--ink),.9)}.watch-reticle{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;z-index:4;pointer-events:none;opacity:.35;transition:opacity .3s}.watch-reticle:before,.watch-reticle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(currentColor,currentColor) left center / 22px 1px no-repeat,linear-gradient(currentColor,currentColor) right center / 22px 1px no-repeat;width:76px;height:76px;color:var(--text)}.watch-reticle:after{background:linear-gradient(currentColor,currentColor) center top / 1px 22px no-repeat,linear-gradient(currentColor,currentColor) center bottom / 1px 22px no-repeat}.watch-reticle.near{opacity:.6}.watch-reticle.on{opacity:1;color:var(--gold)}#gl.watching{cursor:grab}#gl.watching:active{cursor:grabbing}.tabs{display:none}@media (min-width: 901px) and (max-width: 1180px){:root{--rail: 284px;--deck-h: 204px}.deck{gap:0 16px}}@media (max-width: 900px){:root{--deck-h: 150px;--edge: 16px}.panel{--sheet: 1}#app:before{display:none}.hud-sys b{font-size:14px}.hud-sys{min-width:0;max-width:58%}.hud-right{min-width:0;max-width:42%;gap:3px}.hud-map{min-width:0;max-width:100%;gap:3px}.hud-sys #hud-star,.hud-legacy{font-size:11px;letter-spacing:.06em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-more{display:none}.hud-warn{margin-top:2px;padding:0;font-size:10.5px;letter-spacing:.04em;width:max-content;max-width:calc(100vw - 2 * var(--edge));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app:has(.hud-warn:not([hidden])) .arc{top:94px}#app:has(.hud-warn:not([hidden])) .banners{top:136px}.hud-help{font-size:11px;letter-spacing:.06em;padding:0;white-space:nowrap}.hud-links{flex-wrap:nowrap;gap:0 6px}.hud-sound{min-width:0}.guide-body{gap:20px;padding:3vh 0 28px}.steps{gap:14px}.arc{width:calc(100vw - 50px);left:calc(50% - 9px);top:74px}.arc-names li{font-size:8px;letter-spacing:.1em}.banners{top:116px;width:calc(100vw - 32px)}.event{row-gap:5px}.event-act{white-space:normal;text-align:left;line-height:1.5}.event-blurb{grid-column:1 / -1}.event-act{grid-column:1 / -1;justify-self:start}.rail,.deck{top:auto;bottom:calc(44px + env(safe-area-inset-bottom,0px));left:0;right:0;width:auto;height:auto;max-height:42vh;padding:14px var(--edge) 10px;background:linear-gradient(0deg,rgba(var(--ink),.92),rgba(var(--ink),.75) 70%,transparent)}.deck{grid-template-columns:1fr 1fr;gap:10px 20px;overflow-y:auto}.target-field input{width:55px;min-height:32px}.dial-target-row{gap:6px}.dial-stop{min-height:32px}.dial.derived{grid-column:1 / -1;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.dial.derived .track-blank{display:none}.dial.derived .temperature-help{justify-self:end}.dial.derived .dial-note{grid-column:1 / -1}.panel:not([data-tab=world]) .rail-l,.panel:not([data-tab=industry]) .rail-r,.panel:not([data-tab=dials]) .deck{display:none}.era-name{font-size:26px}.next-step{gap:5px;padding:10px 12px}.industry-nav{top:-14px;padding-top:6px}.ledger{gap:8px 18px}.res{gap:3px;padding-bottom:6px}.bld{padding:11px 10px 12px 12px}.seg button{min-height:32px;min-width:36px}.auto{min-width:44px}.rail-foot{position:static;margin-top:6px;padding-bottom:10px;background:none}.works{grid-template-columns:1fr;gap:2px}.dial-note{white-space:normal;height:auto;min-height:13px}.dev{top:98px;right:var(--edge);left:auto;bottom:auto;justify-items:end}.toast{bottom:50%}.tabs{position:absolute;left:0;right:0;bottom:0;height:calc(44px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:flex;z-index:4;background:rgba(var(--ink),.95);border-top:1px solid var(--line)}.tabs button{flex:1;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);border-top:1px solid transparent;margin-top:-1px}.tabs button.on{color:var(--gold);border-top-color:var(--gold)}.map-frame{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:40px}.map-body{display:flex;flex-direction:column;gap:26px;min-height:auto}.worlds,.perks{grid-template-rows:none;min-height:auto}.world-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));overflow:visible;-webkit-mask-image:none;mask-image:none;padding-bottom:0}.galaxy{height:230px}.perk-list{overflow:visible}.cands,.options{grid-template-columns:1fr}.chart{bottom:0}.chart-frame{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:40px}.chart-body{display:flex;flex-direction:column;gap:22px;min-height:auto}.plan-view{grid-template-rows:none}.plan-box{aspect-ratio:1;max-height:46vh}.chart-hint{display:none}.course-rail{grid-template-rows:none}.course{overflow:visible}.menu-frame{inset:auto 0 0 0;width:auto;height:58%;gap:22px;padding:0 var(--edge) 28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background:linear-gradient(0deg,rgba(var(--ink),.96) 55%,rgba(var(--ink),.7) 80%,transparent)}.menu-frame>:first-child{margin-top:auto}.menu-frame>*{flex-shrink:0}.menu-title h1{font-size:34px}.menu-act{padding:10px 12px}.menu-act b{font-size:15px}.visit-frame{inset:auto 0 0 0;width:auto;height:54%;gap:16px;align-content:end;padding:0 var(--edge) 24px;background:linear-gradient(0deg,rgba(var(--ink),.96) 55%,rgba(var(--ink),.7) 82%,transparent)}.visit-name{font-size:28px}.visit-chron{max-height:18vh}}@media (prefers-reduced-motion: reduce){.history-fold summary:before{transition:none}.toast,.arc-fill,.arc-now,.arc-names li,.bld,.auto,.track .tgt,.depart,.blds:before,.perk,.cand,.opt,.panel,.hud,.frame,.menu,.menu-act,.world-visit,.choice,.watch-hint{transition:none}.depart:after,.world.colony .globe:after,.track .cur:before,.world.flash,.menu-status:after,.dial.disturbed .track .cur,.visit-frame{animation:none}.watch-reticle{transition:none}.plate-flash.shot{animation:none}}html[data-reduce-motion] .history-fold summary:before,html[data-reduce-motion] .blds:before{transition:none}html[data-reduce-motion] :is(.toast,.arc-fill,.arc-now,.arc-names li,.bld,.auto,.track .tgt,.depart,.perk,.cand,.opt,.panel,.hud,.frame,.menu,.menu-act,.world-visit,.choice,.watch-hint){transition:none}html[data-reduce-motion] .depart:after,html[data-reduce-motion] .world.colony .globe:after,html[data-reduce-motion] .track .cur:before,html[data-reduce-motion] .menu-status:after{animation:none}html[data-reduce-motion] :is(.world.flash,.dial.disturbed .track .cur,.visit-frame,.plate-flash.shot){animation:none}html[data-reduce-motion] .watch-reticle{transition:none}.ri{display:inline-block;width:1em;height:1em;vertical-align:-.14em;margin-right:.3em;flex:none}.rt{white-space:nowrap}.res-k .ri{width:14px;height:14px;vertical-align:-3px;margin-right:5px}.cond-k .ri,.figures dt .ri{width:13px;height:13px;vertical-align:-3px;margin-right:5px}.crow-k .ri{width:15px;height:15px;vertical-align:-2px}.toast .ri,.event-act .ri{opacity:.85}
