#star-map-launch[hidden],#star-map[hidden]{display:none!important}
#star-map-launch{position:fixed;z-index:30;right:88px;top:18px;padding:10px 20px;border:1px solid #ffda84;border-radius:12px;background:linear-gradient(#ffe7a0,#edac49);color:#302414;font:bold 18px Arial;cursor:pointer}
#star-map{position:fixed;inset:0;z-index:99990;color:#edf5ff;background:#070e20;font:16px Arial,sans-serif;display:flex;flex-direction:column;isolation:isolate}
#star-map *{box-sizing:border-box}#star-map button,#star-map select{font:inherit;color:inherit;border:1px solid #44627e;border-radius:12px;background:#12233c;padding:10px 16px;cursor:pointer;min-height:44px}
#star-map button:focus-visible,#star-map select:focus-visible,#star-map .sm-viewport:focus-visible{outline:3px solid #a0ffed;outline-offset:3px}
#star-map button:hover{border-color:#ffe095}#star-map button:disabled{opacity:.55;cursor:default}
.sm-header{display:flex;align-items:center;gap:22px;padding:16px 24px;border-bottom:1px solid #2e4360;background:#091326;flex-wrap:wrap}
.sm-brand{font-size:15px;font-weight:800;letter-spacing:.07em}.sm-brand b{display:block;color:#ffcf6c;font-size:20px;letter-spacing:.03em}.sm-header h1{margin:0;font-size:clamp(22px,2.6vw,38px);flex:1}.sm-wallet{color:#ffdd87;font-weight:bold;white-space:nowrap}
.sm-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;flex:1;min-height:0;gap:14px;padding:16px}
.sm-map{position:relative;min-width:0;min-height:0;border:1px solid #263b5a;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 65% 70%,#60326a88,transparent 55%),radial-gradient(ellipse at 22% 30%,#24569a88,transparent 65%),#090f27}
.sm-map:before{content:'';position:absolute;inset:0;opacity:.6;background-image:radial-gradient(1px 1px at 22px 35px,#e8f5ff 80%,transparent),radial-gradient(2px 2px at 133px 94px,#86baed 50%,transparent),radial-gradient(1px 1px at 73px 162px,#dabef2 80%,transparent);background-size:191px 173px,317px 293px,239px 229px;pointer-events:none}
.sm-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.sm-viewport:active{cursor:grabbing}
.sm-world{position:absolute;width:2240px;height:1320px;transform-origin:0 0;will-change:transform}
.sm-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sm-routes path{fill:none;stroke:#73d9e3;stroke-width:2;stroke-dasharray:5 12;opacity:.5}
#star-map .sm-planet{position:absolute;width:210px;height:248px;margin:-124px 0 0 -105px;background:none;border:0;padding:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;isolation:isolate}
.sm-sphere{display:block;width:200px;height:200px;flex-shrink:0;background-image:url('assets/star-map/planets.webp');background-size:400% 400%;background-repeat:no-repeat;filter:drop-shadow(0 5px 18px #020914);pointer-events:none}
.sm-planet strong{font-size:21px;text-shadow:0 2px 8px #000;background:#081329b8;border-radius:9px;padding:3px 12px;max-width:230px;white-space:nowrap}
.sm-planet small{font-size:16px;color:#ffdb7b;text-shadow:0 2px 4px #000;padding-top:4px}
.sm-planet[aria-pressed=true]:before{content:'';position:absolute;top:8px;width:188px;height:188px;border:2px solid #ffdc88;border-radius:50%;box-shadow:0 0 28px #ffc65c55;z-index:-1}
.sm-planet.locked .sm-sphere{filter:grayscale(.8) brightness(.43)}.sm-planet.locked strong{color:#94a1bb}
.sm-marker{position:absolute;top:0;right:-12px;font:bold 12px Arial;color:#ffdb9c;background:#251c24;border:1px solid #e3a458;border-radius:8px;padding:6px 8px;white-space:nowrap}.sm-marker.new{background:#ffda7a;color:#34270a;top:160px;right:-5px}
.sm-map-toolbar{position:absolute;left:16px;top:14px;right:16px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;align-items:flex-start}.sm-map-toolbar>*{pointer-events:auto}.sm-map-toolbar select{max-width:220px;width:48%;background:#0b192eea!important}.sm-controls{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sm-controls button{background:#0b192eea!important}
.sm-legend{position:absolute;left:20px;bottom:16px;pointer-events:none;font-size:12px;color:#bed3e7;line-height:1.8;background:#071327b8;border-radius:8px;padding:6px 10px}.sm-legend span{color:#ffcf7c}.sm-legend .sm-hint{color:#96b0ca}
.sm-detail{overflow:auto;background:linear-gradient(145deg,#17273c,#091425);border:1px solid #3b536a;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;min-height:0;scrollbar-width:thin}
.sm-kicker{font-size:12px;font-weight:bold;color:#f9bd70;letter-spacing:.08em}.sm-detail h2{font-size:30px;margin:0}.sm-detail .sm-sphere{align-self:center;width:230px;height:230px;max-width:100%;margin:-6px 0}.sm-story{font-size:15px;line-height:1.55;color:#c7d9eb;margin:0}.sm-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.sm-stats div{background:#0713259e;border:1px solid #2a3f58;border-radius:10px;padding:10px}.sm-stats dt{font-size:12px;color:#a9bdd0}.sm-stats dd{font-weight:bold;font-size:20px;margin:6px 0 0;color:#ffe29a}.sm-status{color:#a6dfe0;font-size:14px;line-height:1.5;margin:0}
#star-map .sm-select{margin-top:auto;flex-shrink:0;background:linear-gradient(#ffe6a3,#edac49);color:#302315;border-color:#ffe6a3;font-weight:800;min-height:54px}
@media(max-width:760px){#star-map-launch{right:76px;font-size:16px;padding:10px 14px}.sm-header{gap:10px;padding:10px 12px}.sm-brand{display:none}.sm-header h1{font-size:20px}.sm-wallet{font-size:13px}.sm-layout{grid-template-columns:1fr;grid-template-rows:minmax(200px,1fr) minmax(180px,36%);gap:8px;padding:8px}.sm-detail{padding:12px 16px;display:grid;grid-template-columns:1fr auto;align-content:start;gap:8px 12px;border-radius:14px}.sm-detail .sm-sphere{display:none}.sm-detail h2{font-size:24px}.sm-kicker{grid-column:1/-1;font-size:10px}.sm-story{grid-column:1/-1;font-size:13px}.sm-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:4px}.sm-stats div{padding:6px}.sm-stats dt{font-size:10px}.sm-stats dd{font-size:15px;margin-top:4px}.sm-status{grid-column:1/-1;font-size:12px}#star-map .sm-select{grid-column:1/-1;min-height:44px}.sm-map-toolbar{left:8px;right:8px;top:8px}.sm-map-toolbar select{font-size:12px!important;max-width:160px}.sm-controls{gap:3px}.sm-controls button{padding:8px!important;min-width:40px;font-size:13px!important}.sm-legend{left:8px;bottom:8px;font-size:10px;padding:3px 6px}.sm-hint{display:none}}
@media(max-height:520px) and (min-width:761px){.sm-header{padding:8px 16px}.sm-detail .sm-sphere{width:110px;height:110px}.sm-detail{padding:14px;gap:8px}.sm-detail h2{font-size:24px}.sm-layout{padding:8px}.sm-story{font-size:13px}}

.sm-map{background:linear-gradient(#08102333,#080d2266),url("assets/star-map/nebula.webp") center/cover}.sm-map:before{opacity:.15}
@media(min-width:761px) and (max-height:800px){.sm-detail .sm-sphere{width:150px;height:150px}.sm-detail{gap:9px;padding:18px}.sm-story{font-size:13px}.sm-stats div{padding:7px}.sm-detail h2{font-size:27px}.sm-status{font-size:12px}}

.sm-planet strong{font-size:max(21px,calc(14px / var(--sm-zoom,1)))}.sm-planet small{font-size:max(16px,calc(11px / var(--sm-zoom,1)))}.sm-marker{font-size:max(12px,calc(9px / var(--sm-zoom,1)))}

/* The desktop chart is an overview, not a draggable canvas. */
#star-map[data-navigation=fixed] .sm-viewport{cursor:default;touch-action:auto}
#star-map[data-navigation=fixed] .sm-controls{display:none}
#star-map-launch{left:50%;right:auto;top:108px;transform:translateX(-50%);min-width:220px;min-height:48px;font-size:20px;box-shadow:0 4px 22px #ffbc4844}
@media(max-height:600px){#star-map-launch{top:90px;min-height:40px;font-size:18px;padding:8px 20px}}
