.workspace{grid-template-columns:minmax(0,1fr) 370px;height:min(800px,calc(100vh - 200px));min-height:620px}.map{background-color:#0c1526}.maphead{background:#101a2ed9;padding:9px 12px;left:12px;top:12px;border:1px solid #344760}.worldlabel{fill:#c0d8ee;font:700 16px 'Space Mono';letter-spacing:2px;text-anchor:middle;opacity:.8;paint-order:stroke;stroke:#0c1526;stroke-width:3px;pointer-events:none}.planet{cursor:pointer}.planet-globe{opacity:.25;image-rendering:pixelated;transition:opacity .2s}.planet-outline{stroke:#5f7898;stroke-width:1.2;opacity:.45}.planet:hover .planet-globe,.planet:focus .planet-globe{opacity:.4}.planet.selected .planet-globe{opacity:.45}.planet.selected .planet-outline{stroke:#f1c37b;stroke-width:2.5;opacity:.9}.node-avatar{image-rendering:pixelated}.node .halo{stroke:#899fbd;fill:#15243e}.node .label{font-size:18px;stroke-width:5px}.node:focus{outline:none}.node:focus .halo{stroke:#f9c677;stroke-width:4}.edge{stroke:#789bc8;stroke-width:2;opacity:.55;pointer-events:none}.edge.hot{stroke:#f9c779;stroke-width:3;opacity:1}.edge-hit{stroke:transparent;stroke-width:18;cursor:pointer}.edgegroup:hover .edge,.edgegroup:focus .edge{stroke:#f8d294;opacity:1;stroke-width:4}.edgegroup:focus{outline:none}.graph-tip{position:absolute;bottom:58px;left:20px;max-width:calc(100% - 40px);background:#213653ed;border:1px solid #7590b3;color:#f7d494;padding:10px 13px;font-size:14px;pointer-events:none}.legend{position:absolute;right:20px;top:20px;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#a7b9d1;font:11px 'Space Mono';background:#101a2ebf;padding:8px}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:inline-block;width:22px;height:1px;border-top:1px solid #8098b8}.legend i.dotted{border-top-style:dashed}.hintline{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:12px;color:#8fa6c6;line-height:1.5}.hintline p{margin:0}.search-status{color:#e8c180}.paneltop{font-size:12px}.inner{padding:22px}.portrait{height:180px;background:#0e182b;margin:16px 0 20px;border:1px solid #496383;overflow:hidden}.portrait:after{pointer-events:none;inset:8px;border-color:#98b5d780}.avatar{object-fit:cover;image-rendering:pixelated}.portrait .avatar{width:180px;height:180px}.panel h2{font-size:25px;overflow-wrap:anywhere}.alias{font-size:12px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}.alias-match{font-size:14px;background:#3f3b2b;border:1px solid #9e8148;color:#f1d7a8;padding:8px;line-height:1.5}.desc{font-size:16px;line-height:1.6}.desc.compact{margin:8px 0 20px}.section{font-size:12px;margin-top:20px}.badge{font-size:12px;line-height:1.4}.worldbadge{cursor:pointer;color:#f3d296;background:#253452;border:1px solid #6b6d65}.worldbadge:hover{border-color:#edc079}.relationship{border:1px solid #3b5274;background:#192844;margin:8px 0}.relationship summary{display:flex;align-items:center;gap:10px;list-style:none;padding:10px;cursor:pointer;font-size:15px}.relationship summary::-webkit-details-marker{display:none}.relationship summary img{image-rendering:pixelated;object-fit:cover;flex-shrink:0;border:1px solid #5a7190}.relationship summary small{display:block;color:#a2b7d2;font-size:12px;margin-top:3px}.relationship .expand{margin-left:auto;font:20px 'Space Mono';color:#d9bb80}.relationship[open] .expand{transform:rotate(45deg)}.relationship[open]{border-color:#8797a8}.relationship-body{padding:2px 13px 14px;border-top:1px solid #3b5274}.relation-description{font-size:16px;line-height:1.65;color:#d4deed;margin:16px 0}.relation-book{font:12px 'Space Mono';color:#e1bd83;border-left:2px solid #d4b279;padding-left:9px;margin-bottom:12px;line-height:1.5}.sources{font-size:12px;color:#a5b5cf;line-height:1.7;overflow-wrap:anywhere}.sources a{color:#abcfee}.sources.standalone{border-top:1px solid #354b6e;padding-top:15px;margin-top:22px}.relation-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.relation-actions button,.textbutton{background:none;border:none;color:#f0c27b;padding:0;text-align:left;cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:3px}.relation-actions button{padding:7px 9px;background:#263d5f;border:1px solid #587396;text-decoration:none}.spoiler-note{color:#a5b8d3;font-size:13px;line-height:1.6;padding:10px;background:#101a2b;border-left:2px solid #637c9f}.hidden-links{background:#29334a;border:1px dashed #8a7a5c;color:#e5c68e;font-size:14px;width:100%;padding:11px;margin-top:10px;cursor:pointer}.pair{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:8px;margin:24px 0}.pair button{background:none;color:#f0f4f9;border:none;padding:0;cursor:pointer;text-align:center}.pair .avatar{width:100%;height:auto;aspect-ratio:1;border:1px solid #6480a7}.pair button span{display:block;font-size:16px;margin-top:9px}.pair-link{color:#f5c777;text-align:center;font-size:25px}.relationship-title{text-transform:capitalize;font-size:23px!important}.spoiler-badge{display:inline-block;border:1px solid #977b4c;color:#e5c080;padding:5px 8px;font:11px 'Space Mono';margin-top:12px}.planet-portrait{display:grid;place-items:center;height:200px;margin:18px 0;background:#0c1526;border:1px solid #3c5478;overflow:hidden}.planet-portrait img{height:200px;width:200px;object-fit:contain;image-rendering:pixelated}.scale-note{border:1px solid #435978;background:#101b30;padding:13px;margin:15px 0;color:#a8bdd8;line-height:1.6}.scale-note strong{font:12px 'Space Mono';color:#ecc787}.scale-note p{font-size:14px;margin:8px 0}.scale-note small{font-size:12px}.action{width:100%;background:#314466;border:1px solid #8398b4;padding:11px;color:#f4dbac;font-size:14px;cursor:pointer}.action:hover{border-color:#f6ce8a}.world-residents{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.resident{display:flex;align-items:center;gap:8px;text-align:left;background:#203350;border:1px solid #475f82;color:#e8effa;font-size:14px;padding:7px;cursor:pointer}.resident img{image-rendering:pixelated}.empty-star{font-size:35px;color:#cfac76}.footer{font-size:12px}.footer a{color:#a9c7e7}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #f4ca80;outline-offset:3px}.spoil input{width:16px;height:16px}.spoil{font-size:12px}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.legend{display:none}.hintline{font-size:11px}.inner{padding:18px}}@media(max-width:980px){.workspace{grid-template-columns:1fr;min-height:0;height:auto}.map{height:590px}.panel{max-height:none;min-height:350px}.inner{max-width:700px;margin:auto}.portrait{height:180px}.footer{flex-direction:column}.hintline{display:block}.hintline p{margin-bottom:4px}}@media(max-width:600px){.map{height:530px}.maphead{padding:8px;top:10px;left:10px}.maphead small{font-size:11px}.maphead strong{font-size:12px}.hint{display:none}.hintline{font-size:11px}.toolbar{grid-template-columns:1fr 1fr}.spoil{font-size:13px}.panel h2{font-size:24px}.graph-tip{font-size:12px;left:12px;bottom:60px}.world-residents{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.node .label{font-size:22px}.maphead strong{letter-spacing:.3px}@media(max-width:600px){.node .label{font-size:25px}.maphead{pointer-events:none}.hintline{font-size:12px}}
.taxonomy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;margin-bottom:10px}.taxonomy button{color:#efc47f}.event-banner{padding:12px 16px;border:1px solid #bd975e;background:#352e30;font:12px 'Space Mono',monospace;margin:12px 0;color:#ffd48b}.event-banner button{float:right;background:transparent;color:#ffd48b;border:0;text-decoration:underline}.tag-note{font-size:11px;color:#a8b8d0;line-height:1.5}.dense .label{opacity:0}.dense:hover .label,.dense.selected .label,.dense:focus .label{opacity:1}.node:focus{outline:none}.node:focus .halo{stroke:#f9c677;stroke-width:4}.timeline-section{margin-top:24px;padding:24px;border:1px solid #415272;background:#111b30}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.timeline-heading h2{font:700 23px 'Space Mono',monospace;margin:8px 0}.eyebrow{font:11px 'Space Mono',monospace;letter-spacing:1px;color:#efc47f;margin:0}.timeline-note,.catalog-note{color:#aebed5;font-size:12px;line-height:1.6}.timeline-scroll{overflow-x:auto;padding:12px 0 20px;scrollbar-color:#6d819f #132139}.timeline{display:flex;min-width:1700px}.timeline-era{flex:1;min-width:240px}.timeline-era h3{position:relative;font:12px 'Space Mono',monospace;color:#f5ce87;padding:0 14px 20px;margin:0;border-bottom:2px solid #6b7e9b}.timeline-era h3:after{content:'';width:9px;height:9px;position:absolute;bottom:-6px;left:16px;background:#f5ce87;box-shadow:0 0 0 4px #15233b}.era-events{padding:22px 10px 0;border-left:1px dashed #344866;margin-left:19px}.timeline-event{position:relative;display:flex;gap:9px;width:100%;text-align:left;border:1px solid #354c6c;background:#1b2b46;color:#e9eff8;margin-bottom:9px;padding:10px;font-size:12px;line-height:1.4;min-height:56px}.timeline-event:hover,.timeline-event:focus,.timeline-event.active{border-color:#f5ce87;background:#2f3544;outline:none}.timeline-event.active{box-shadow:inset 3px 0 #f5ce87}.timeline-event small{display:block;color:#9eb4d0;font-size:10px;margin-top:3px}.event-dot{flex:none;width:7px;height:7px;background:#7ebfd4;margin-top:5px}.interplanetary .event-dot{background:#df9edf}.event-detail{border-top:1px solid #354967;padding-top:20px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px;color:#c5d3e7;line-height:1.6;min-height:70px}.event-detail h3{font:700 20px 'Space Mono',monospace;color:#edf1f9;margin:10px 0}.event-detail p{font-size:14px}.event-cast{display:flex;align-content:start;gap:6px;flex-wrap:wrap}.event-cast .eyebrow{width:100%;margin-bottom:5px}.event-cast button{display:flex;align-items:center;gap:7px;padding:5px 8px;background:#1b2b46;border:1px solid #3b5273;color:#d8e7f7;font-size:12px}.event-cast img{image-rendering:pixelated}.catalog-note{margin-top:22px;color:#849bb9}.workspace{height:650px;min-height:540px}.planet-globe{opacity:.24}.planet:hover .planet-globe,.planet.selected .planet-globe{opacity:.4}.worldlabel{font-size:18px}button:focus-visible{outline:2px solid #f5ce87;outline-offset:3px}@media(max-width:980px){.workspace{height:auto}.taxonomy{grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail{grid-template-columns:1fr}}@media(max-width:600px){.timeline-section{padding:16px}.timeline-heading h2{font-size:18px}.taxonomy .control{font-size:12px}.event-banner{font-size:10px}.timeline-heading{align-items:start}.timeline-heading button{font-size:11px}.timeline-era{min-width:220px}}

.graph[data-dense="false"] .dense .label{opacity:1}

.catalog{margin-top:16px;border-top:1px solid #354967;padding-top:16px;color:#b8c9df;font-size:13px}.catalog summary{cursor:pointer;color:#efc47f}.book-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.book-catalog>div{padding:12px;background:#182840;border:1px solid #354967}.book-catalog button{background:none;border:0;padding:0;color:#e2edf9;text-align:left}.book-catalog small{display:block;margin:6px 0;font-size:11px;color:#9cb1cf}.book-catalog a{font-size:11px}@media(max-width:800px){.book-catalog{grid-template-columns:1fr 1fr}}@media(max-width:500px){.book-catalog{grid-template-columns:1fr}}

/* World-aware UI; only color changes, no animation loop or moving geometry. */
@property --atlas-bg{syntax:"<color>";inherits:true;initial-value:#0a1020;}
@property --atlas-map{syntax:"<color>";inherits:true;initial-value:#0c1526;}
@property --atlas-surface{syntax:"<color>";inherits:true;initial-value:#141e34;}
@property --atlas-raised{syntax:"<color>";inherits:true;initial-value:#213252;}
@property --atlas-border{syntax:"<color>";inherits:true;initial-value:#415272;}
@property --atlas-accent{syntax:"<color>";inherits:true;initial-value:#f1c275;}
@property --atlas-accent-b{syntax:"<color>";inherits:true;initial-value:#9cbfe4;}
@property --atlas-muted{syntax:"<color>";inherits:true;initial-value:#a5b5d0;}
@property --atlas-grid{syntax:"<color>";inherits:true;initial-value:#293953;}
@property --atlas-glow{syntax:"<color>";inherits:true;initial-value:#1c2946;}
:root{transition:--atlas-bg 320ms ease-out,--atlas-map 320ms ease-out,--atlas-surface 320ms ease-out,--atlas-raised 320ms ease-out,--atlas-border 320ms ease-out,--atlas-accent 320ms ease-out,--atlas-accent-b 320ms ease-out,--atlas-muted 320ms ease-out,--atlas-grid 320ms ease-out,--atlas-glow 320ms ease-out;background:var(--atlas-bg)}
body{background:var(--atlas-bg)}body:before,body:after{content:'';position:fixed;pointer-events:none;z-index:0;width:70vw;height:70vh;top:-20vh;background:radial-gradient(ellipse,var(--atlas-glow),transparent 68%)}body:before{left:-25vw}body:after{right:-25vw;background:radial-gradient(ellipse,color-mix(in srgb,var(--atlas-accent-b) 16%,var(--atlas-bg)),transparent 68%)}.shell{position:relative;z-index:1}
.map{background-color:var(--atlas-map);background-image:linear-gradient(var(--atlas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--atlas-grid) 1px,transparent 1px)}.map,.panel,.timeline-section{border-color:var(--atlas-border)}.panel,.timeline-section{background:var(--atlas-surface)}.control,.spoil,.badge,.relationship,.relation,.resident,.event-cast button,.timeline-event,.book-catalog>div{background:var(--atlas-raised);border-color:var(--atlas-border)}.maphead,.mapfoot,.graph-tip,.scale-note,.spoiler-note,.planet-portrait,.portrait{background:var(--atlas-map);border-color:var(--atlas-border)}.zoom button,.action,.relation-actions button{background:var(--atlas-raised);border-color:var(--atlas-border)}.edition{color:var(--atlas-accent);border-color:var(--atlas-border);max-width:420px;font-size:11px}.sigil{background:transparent}.maphead small,.paneltop,.eyebrow,.taxonomy button,.timeline-era h3,.catalog summary,.worldbadge,.alias,.pair-link,.relationship .expand,.relation-book,.scale-note strong,.action,.hidden-links,.textbutton,.relation-actions button,.search-status{color:var(--atlas-accent)}.timeline-era h3:after{background:var(--atlas-accent);box-shadow:0 0 0 4px var(--atlas-surface)}.hintline,.sub,.edition,.section,.sources,.footer,.timeline-note,.catalog-note,.tag-note,.timeline-event small,.relationship summary small,.book-catalog small{color:var(--atlas-muted)}a,.sources a,.footer a{color:var(--atlas-accent-b)}.badge{color:#e6edf6}.node .halo{fill:var(--atlas-raised);stroke:var(--atlas-border)}.node:hover .halo,.node.selected .halo,.node:focus .halo{stroke:var(--atlas-accent)}.edge{stroke:var(--atlas-accent-b)}.edge.hot,.edgegroup:hover .edge,.edgegroup:focus .edge{stroke:var(--atlas-accent)}.node .label,.worldlabel{stroke:var(--atlas-map)}.worldlabel{fill:var(--atlas-muted)}.timeline-era h3,.era-events,.event-detail,.catalog,.sources.standalone,.relationship-body{border-color:var(--atlas-border)}.timeline-event:hover,.timeline-event:focus,.timeline-event.active{border-color:var(--atlas-accent);background:var(--atlas-map)}.timeline-event.active{box-shadow:inset 3px 0 var(--atlas-accent)}.event-banner,.alias-match{background:var(--atlas-raised);border-color:var(--atlas-accent);color:var(--atlas-accent)}.event-banner button{color:var(--atlas-accent)}.relation-book{border-color:var(--atlas-accent)}.hidden-links,.spoiler-badge{background:var(--atlas-raised);border-color:var(--atlas-border);color:var(--atlas-accent)}.control:focus,button:focus-visible,summary:focus-visible,a:focus-visible{outline-color:var(--atlas-accent)}.spoil input{accent-color:var(--atlas-accent)}
.panel{background:linear-gradient(145deg,color-mix(in srgb,var(--atlas-accent) 9%,var(--atlas-surface)),var(--atlas-surface) 45%,color-mix(in srgb,var(--atlas-accent-b) 9%,var(--atlas-surface)))}:root[data-hybrid="true"] .pair-link{background:linear-gradient(135deg,var(--atlas-accent),var(--atlas-accent-b));background-clip:text;color:transparent}
@media(prefers-reduced-motion:reduce){:root{transition:none}}

:root{--atlas-bg:#0a1020;--atlas-map:#0c1526;--atlas-surface:#141e34;--atlas-raised:#213252;--atlas-border:#415272;--atlas-accent:#f1c275;--atlas-accent-b:#9cbfe4;--atlas-muted:#a5b5d0;--atlas-grid:#293953;--atlas-glow:#1c2946}

@media(max-width:600px){.sigil{width:42px;height:42px}.brand{gap:11px}}
/* Cutout portraits float directly over each world's surface. */
.node .halo{fill:transparent;stroke:transparent}.node:hover .halo,.node.selected .halo,.node:focus .halo{fill:transparent;stroke:var(--atlas-accent)}.portrait{background:transparent;border-color:transparent}.portrait:after{display:none}.pair .avatar,.relationship summary img{border-color:transparent;background:transparent}.avatar,.node-avatar,.resident img,.event-cast img{background:transparent}
.discovery-tools{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:12px 0}.path-finder{flex:1;border:1px solid var(--atlas-border);padding:12px;background:var(--atlas-surface)}.path-finder summary{cursor:pointer;color:var(--atlas-accent);font-size:14px}#path-form{display:flex;align-items:end;gap:8px;margin-top:12px}#path-form label{flex:1;font-size:14px;min-width:0}#path-form input{display:block;width:100%;margin-top:6px}.path-note,.share-status{font-size:14px;color:var(--atlas-muted);line-height:1.5}.share-status:empty{display:none}.share-actions{display:flex;flex-wrap:wrap;gap:6px}.path-chain{display:grid;gap:8px;margin:20px 0}.path-step{display:flex;align-items:center;gap:10px;background:var(--atlas-raised);border:1px solid var(--atlas-border);color:inherit;padding:8px;text-align:left;width:100%}.path-step img{width:50px;height:50px;image-rendering:pixelated}.path-connection{padding:5px 12px;color:var(--atlas-accent);font-size:14px}.path-connection button{background:none;border:0;color:inherit;text-align:left;cursor:pointer}.card-preview{width:100%;height:auto;border:1px solid var(--atlas-border);margin-top:16px}.link-fallback{width:100%}@media(max-width:980px){.discovery-tools{flex-direction:column}.path-finder{width:100%}.share-actions{width:100%}.share-actions .control{flex:1;font-size:14px}}@media(max-width:600px){#path-form{flex-wrap:wrap}#path-form label{flex-basis:45%}#path-form button{width:100%}.share-actions{display:grid;grid-template-columns:1fr 1fr}.share-actions button:last-child{grid-column:1/-1}}

.share-actions a.control{text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center}.share-actions a.control:hover{border-color:var(--atlas-accent)}@media(max-width:600px){.share-actions a.control:last-child{grid-column:1/-1}}
