:root{--bg:#05070d;--panel:#0e131ef0;--panel-border:#8ca0c82e;--text:#e6ebf5;--muted:#9aa6bd;--accent:#ffd36b;--evidence:#7fd1ff;--reconstruction:#f2a63a;--procedural:#ea44bf;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);font:13px/1.45 var(--font);margin:0;overflow:hidden}#app{flex-direction:column;display:flex;position:fixed;inset:0}.loading,.fatal{color:var(--muted);text-align:center;max-width:36rem;margin:auto;padding:1rem}.fatal h1{color:var(--text);font-size:1.3rem}button{font:inherit;color:inherit}.stage{flex:1;min-height:0;position:relative;overflow:hidden}canvas.globe{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}canvas.globe:active{cursor:grabbing}.topbar{pointer-events:none;align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;padding:6px 10px;display:flex}.brand strong{letter-spacing:.02em;font-size:14px}.brand span{color:var(--muted);font-size:11px}.search{width:min(340px,40vw);position:relative}.search input{border:1px solid var(--panel-border);background:var(--panel);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:9px 12px}.search input:focus{outline:2px solid var(--accent);outline-offset:1px}.search ul{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;max-height:50vh;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.search li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:8px;padding:6px 8px;display:flex}.search li.active,.search li:hover{background:#ffffff14}.search li small{color:var(--muted)}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;max-width:50vw;margin-left:auto;display:flex}.toolbar button{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:8px;padding:7px 11px}.toolbar button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.toolbar .build{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;flex-basis:100%;font-size:11px}.toolbar .alt-group{border:1px solid var(--panel-border);background:var(--panel);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:12px;display:flex}.toolbar .alt-group select{border:1px solid var(--panel-border);max-width:210px;color:var(--text);font:inherit;background:#0f1420;border-radius:6px;padding:3px 4px}.legend{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;flex-basis:100%;gap:3px;padding:8px 10px;font-size:12px;display:grid}.legend .sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.sw.evidence{background:var(--evidence)}.sw.reconstruction{background:repeating-linear-gradient(45deg, var(--reconstruction) 0 3px, transparent 3px 6px);border:1px solid var(--reconstruction)}.sw.procedural{background:var(--procedural)}.sw.derived{border:1.5px dashed var(--text)}.sw.unknown{background:#1c2333;border:1px solid #52607c}.markers{pointer-events:none;position:absolute;inset:0}.territory-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.territory-label{letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;opacity:.82;text-shadow:0 1px 3px #000,0 0 8px #000000b3;will-change:transform;font-size:14px;font-weight:700;position:absolute;top:0;left:0}.territory-label.selected{opacity:1;text-underline-offset:4px;text-decoration:underline}.city-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.city-label{color:#f4efe2;font:inherit;white-space:nowrap;text-shadow:0 1px 2px #000000e6;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);will-change:transform;background:#0a0c1280;border:0;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;top:0;left:0}.city-label.major{letter-spacing:.02em;background:#0a0c129e;font-size:14px;font-weight:600}.city-label.generated{color:#d9d4c6}.city-label.selected{color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.city-label:hover{background:#0a0c12d9}.credits.in-city{opacity:.75;max-width:min(58%,100% - 300px);font-size:10px}.citybar{background:var(--panel);border:1px solid var(--panel-border);color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;right:16px}.citybar input[type=range]{width:110px;accent-color:var(--accent)}.citybar button{border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:3px 8px}.city-help{border:1px solid var(--panel-border);cursor:help;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.city-enter{border:1px solid var(--accent);color:var(--accent);font:inherit;cursor:pointer;background:#0a0c12cc;border-radius:18px;padding:7px 14px;font-size:13px;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}canvas.globe.in-city{cursor:grab}.inspect .here p{margin:0 0 6px}.inspect .written{color:var(--muted);margin:4px 0 0;font-size:12px}.credits{max-width:calc(100% - 32px);color:var(--muted);text-shadow:0 1px 2px #000;pointer-events:none;font-size:11px;position:absolute;bottom:6px;left:16px}.marker{pointer-events:none;cursor:pointer;white-space:nowrap;will-change:transform;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex;position:absolute;top:0;left:0}.marker .dot,.marker .label{pointer-events:auto}.marker .dot{background:var(--evidence);border:2px solid #0a0e18;border-radius:50%;flex:none;width:12px;height:12px;margin:-6px 0 0 -6px;box-shadow:0 0 0 1.5px #ffffffbf}.marker .label{color:var(--text);text-shadow:0 1px 2px #000;background:#080c16c7;border-radius:4px;margin-top:-6px;padding:1px 6px;font-size:12px}.marker.fossil .dot{background:#9be38a}.marker.event .dot{background:#ff7a59;border-radius:2px;transform:rotate(45deg)}.marker.lip .dot{background:#ff9f43}.marker.structure .dot{background:#c8a2ff}.marker.range .dot{background:#f6f1e7;border-radius:2px}.marker.selected .dot{box-shadow:0 0 0 3px var(--accent)}.marker.selected .label{color:var(--accent)}.marker:focus-visible{outline:none}.marker:focus-visible .label{outline:2px solid var(--accent)}.marker.derived .dot{border-style:dashed;border-color:#fff}body.evidence .marker.proposed .label:after{content:" · proposed";color:var(--muted)}body.evidence .marker.basis-reconstruction .dot{box-shadow:0 0 0 2.5px var(--reconstruction)}body.evidence .marker.basis-projection .dot,body.evidence .marker.basis-procedural .dot{box-shadow:0 0 0 2.5px var(--procedural)}.inspect{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;width:min(400px,100vw - 32px);padding:0 16px 16px;position:absolute;top:76px;bottom:12px;right:16px;overflow:auto}body.evidence .inspect{top:184px}.inspect header{background:var(--panel);justify-content:space-between;align-items:center;padding:14px 0 8px;display:flex;position:sticky;top:0}.inspect h2{margin:0;font-size:17px}.inspect h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 6px;font-size:11px}.inspect h4{margin:10px 0 4px;font-size:13px}.inspect .close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:22px;line-height:1}.inspect .meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inspect .kind{color:var(--muted)}.inspect .summary{margin:10px 0 0}.inspect p{margin:4px 0}.inspect .big{font-size:20px;font-weight:600}.inspect .muted,.inspect .cite,.inspect .author,.inspect .method,.inspect .verified{color:var(--muted)}.inspect .note{color:#c9d2e3;font-style:italic}.inspect blockquote{border-left:2px solid var(--panel-border);color:#c9d2e3;margin:4px 0;padding:2px 8px;font-size:12px}.inspect ul,.inspect ol{margin:4px 0;padding-left:18px}.inspect code{color:var(--muted);font-size:11px}.badge{border:1px solid var(--panel-border);color:var(--muted);border-radius:10px;padding:1px 6px;font-size:11px;display:inline-block}.badge.basis-evidence{color:var(--evidence);border-color:var(--evidence)}.badge.basis-reconstruction{color:var(--reconstruction);border-color:var(--reconstruction)}.badge.basis-procedural{color:var(--procedural);border-color:var(--procedural)}.badge.status-proposed{color:#ffd36b;border-color:#ffd36b80}.claim{background:#ffffff08;border-radius:6px;margin:4px 0;padding:6px 8px}.claim label{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.claim .value{font-weight:600}.claim-meta{flex-wrap:wrap;gap:4px;margin-top:3px;font-size:11px;display:flex}.claim.rank-deprecated .value{-webkit-text-decoration:line-through #fff6;text-decoration:line-through #fff6}.claim.inconsistent{border-left:2px solid #ff7a59}.conflict{color:#ffb4a0}.sources li{margin-bottom:8px}.sources a{color:var(--evidence);word-break:break-all}.timebar{border-top:1px solid var(--panel-border);background:#0c101a;flex:none}.timebar-controls{align-items:center;gap:8px;padding:6px 12px 2px;display:flex}.timebar-controls button{border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0a;border-radius:6px;min-width:30px;padding:4px 8px}.tb-readout{font-variant-numeric:tabular-nums}.tb-readout strong{color:var(--accent);font-size:14px}.tb-readout span{color:var(--muted);margin-left:6px}.tb-spacer{flex:1}.tb-strip{position:relative}.tb-canvas{cursor:ew-resize;touch-action:none;width:100%;display:block}.tb-tip{background:var(--panel);border:1px solid var(--panel-border);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:6px;max-width:320px;padding:4px 8px;font-size:12px;position:absolute;bottom:calc(100% + 4px);overflow:hidden}.planet{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;gap:2px;min-width:210px;padding:6px;display:grid;position:absolute;top:76px;left:16px}.planet-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;gap:12px;padding:3px 6px;font-size:12px;display:flex}.planet-row:hover{background:#ffffff0f}.planet-title{color:var(--muted)}.planet-value{font-variant-numeric:tabular-nums}.planet-row.empty .planet-value{color:var(--muted)}.planet-row[hidden]{display:none}.planet-row.planet-phase .planet-value,.planet-row.planet-ice .planet-value{font-variant-numeric:normal;text-align:right}body.evidence .planet-row.projection .planet-value{color:var(--procedural)}.notice{background:var(--panel);border:1px solid var(--panel-border);max-width:min(560px,100% - 32px);color:var(--muted);text-align:center;pointer-events:none;border-radius:8px;padding:6px 12px;font-size:12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@media (max-width:640px){.topbar{flex-wrap:wrap;padding:8px 16px}.brand{display:none}.search{order:3;width:100%}.toolbar{max-width:none}.inspect{width:auto;height:55vh;top:auto;left:16px;right:16px}.planet{min-width:0;top:auto;bottom:28px;left:16px}}
