:root{color-scheme:dark;--bg:#071322;--panel:#10243a;--panel2:#0b1d31;--stroke:#2a4866;--ink:#eaf4ff;--muted:#9cb3cd;--cyan:#42d7f5;--violet:#9b76ff;--jade:#4bd7a8;--amber:#ffc96b;--danger:#ff6c7d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 67% 9%,#173355 0,transparent 35%),#071322;color:var(--ink);min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a0eaff;outline-offset:3px}button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.3)}[hidden],.game-view[hidden],.overlay[hidden],.notice[hidden]{display:none!important}a{color:#c2efff}.skip-link{position:absolute;z-index:30;top:-60px;left:18px;background:var(--cyan);padding:12px 18px;color:#06111e}.skip-link:focus{top:10px}
.app-shell{max-width:1920px;margin:auto;min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 28px;background:linear-gradient(100deg,#060e1e,#0e2339 55%,#061322);border-bottom:1px solid #274865;min-height:77px}.identity{display:flex;gap:15px;align-items:center;min-width:0}.brand-sigil{height:47px;width:47px;flex:none;border:1px solid #86ddfa;border-radius:16px;display:grid;place-items:center;color:var(--cyan);font-size:32px;transform:rotate(-12deg);background:radial-gradient(circle,#19466c,#0b1732);box-shadow:0 0 32px #25baf53d}.brand-copy{display:grid;gap:5px}.brand-copy strong{font-size:17px;letter-spacing:.09em;white-space:nowrap}.brand-copy small{font-size:10px;letter-spacing:.17em;color:#8fbed7;white-space:nowrap}.turn-head{text-align:center;display:grid;gap:3px;font-size:12px;font-weight:700;letter-spacing:.07em}.session-tag{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.09em}.top-actions{display:flex;gap:9px}.quiet{border:1px solid #2d516f;color:#cae7f8;border-radius:10px;background:#17314b;padding:11px 15px;white-space:nowrap}.quiet:hover{background:#254e72}
.resources{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid #294460;background:#0b2035}.resource{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;padding:14px 10px;border-right:1px solid #25445e}.resource:last-child{border:0}.resource>div{display:grid;gap:2px;min-width:0}.resource small,.overline{font-size:10px;letter-spacing:.15em;font-weight:800;color:#9cc5e1}.resource strong{font-size:20px;letter-spacing:.02em}.rate{color:#58dfa9;font-size:11px}.rate.negative{color:var(--danger)}.symbol{font-size:30px;text-shadow:0 0 18px currentColor}.energy{color:#ffe676}.ore{color:#6be0ff}.food{color:#74e9ad}.science{color:#bca3ff}.people{color:#7cbdff}.unity{color:#92e8d4}
.layout{display:grid;grid-template-columns:minmax(230px,255px) minmax(0,1fr) minmax(270px,310px);gap:14px;padding:15px;flex:1;min-width:0}.left-rail,.right-rail,.workspace{min-width:0}.left-rail,.right-rail{display:flex;flex-direction:column;gap:12px}.world-mini{display:flex;align-items:center;gap:12px;padding:13px;background:linear-gradient(135deg,#183754,#10243b);border:1px solid #315776;border-radius:13px}.world-mini strong{font-size:12px;letter-spacing:.07em}.world-mini small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.mini-world{height:43px;width:43px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#bbebdd 1%,#5eacb2 18%,#235f8c 36%,#173957 62%,#082438 80%);box-shadow:0 0 18px #37c0eb63}
.nav-group{display:grid;gap:6px;padding:8px 0}.view-button{display:flex;align-items:center;gap:13px;width:100%;border:1px solid transparent;background:transparent;color:#c9dfed;text-align:left;padding:14px;border-radius:10px;font-weight:700}.view-button>span{font-size:20px}.view-button small{margin-left:auto;font-size:10px;color:#8aa6bf}.view-button.active{border-color:#459bc8;background:linear-gradient(90deg,#14517b,#173551);color:white;box-shadow:inset 3px 0 #64e1fe}.view-button:hover{background-color:#173650}
.panel{border:1px solid #2d4d6a;background:linear-gradient(155deg,#112941ed,#0a1d30ed);border-radius:13px;padding:17px;box-shadow:0 15px 35px #02081733}.rail-goal{border-color:#356480}.rail-goal h2{font-size:19px;line-height:1.3;margin:11px 0 9px}.rail-goal p,.civilization-card small{font-size:12px;color:#acc1d4;line-height:1.6}.mission-checklist{display:grid;gap:12px;margin-top:16px}.mission-line{display:flex;gap:9px;color:#b2c4d3;font-size:12px}.mission-line span:first-child{color:#86b4db;font-size:17px;line-height:12px}.mission-line.done span:first-child{color:var(--jade)}.status-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:13px 0;color:#bfd5e8}.status-line strong{color:white}.stability-track{height:6px;background:#1c3f55;border-radius:10px;margin:17px 0 10px;overflow:hidden}.stability-track span{height:100%;display:block;background:linear-gradient(90deg,#3ed3a1,#94fbd9);border-radius:10px;transition:width .3s}
.workspace{display:flex;flex-direction:column;gap:12px}.scene-head{min-height:105px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 13px 4px}.scene-head h1{font-size:clamp(21px,2.2vw,35px);letter-spacing:-.04em;margin:6px 0}.scene-head p:not(.overline){color:#b2cadc;font-size:13px;margin:0}.orbit-badge{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px;letter-spacing:.12em;color:#9de4e9}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--jade);box-shadow:0 0 10px var(--jade)}.game-view{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1}
.world-canvas,.map-canvas{position:relative;overflow:hidden;min-height:420px;aspect-ratio:1.83;border-radius:14px;border:1px solid #3b708a;background:linear-gradient(#041128,#153f60);box-shadow:0 22px 70px #01071691,inset 0 0 50px #061a36}.world-art{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.scene-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#020914aa 0%,transparent 20%,transparent 72%,#02132360),linear-gradient(0deg,#061627dd,transparent 27%,transparent 80%,#06162790)}
.scene-tag{position:absolute;display:grid;gap:3px;font-size:11px;font-weight:800;padding:9px 14px;border:1px solid #67d9ed9e;border-radius:8px;background:#081c30d9;box-shadow:0 0 22px #49c9ed44;pointer-events:none;letter-spacing:.05em}.scene-tag small{font-weight:400;color:#b3d2e2;letter-spacing:0}.tag-glyph{position:absolute;left:-26px;top:7px;font-size:22px;color:#87efff}.tag-one{left:44%;top:39%}.tag-two{left:21%;top:54%}.tag-three{left:64%;top:73%}.scene-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;position:absolute;bottom:0;left:0;right:0;padding:15px 21px}.location-chip{font-size:11px;color:#bff7ff;letter-spacing:.12em;font-weight:800}.location-chip b{color:#52b6cb}.location-caption{font-size:11px;color:#c8deec}
.action-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;background:linear-gradient(90deg,#102945,#102038);border:1px solid #2a4c6b;border-radius:12px}.strip-intro{display:grid;gap:5px;min-width:165px;margin-right:auto}.strip-intro strong{font-size:12px}.action{padding:14px 15px;border-radius:9px;color:white;font-weight:800;font-size:11px;letter-spacing:.035em;border:1px solid #6fcff0;background:linear-gradient(#1176a2,#094267);box-shadow:inset 0 1px #ffffff45,0 0 16px #0b92cc30;white-space:nowrap}.action:hover:not(:disabled){filter:brightness(1.15)}.action span{font-size:19px;vertical-align:-1px;margin-right:5px}.action.violet{border-color:#ad91ff;background:linear-gradient(#6144a7,#32225d)}.action.jade{border-color:#6ee4b1;background:linear-gradient(#1c936c,#15513e)}
.logbar{display:flex;align-items:center;gap:13px;margin-top:auto;padding:12px 15px;background:#0b2136;border:1px solid #365a79;border-radius:12px}.log-icon{font-size:23px;color:var(--cyan)}.logbar>div{display:grid;gap:4px;flex:1;min-width:0}.logbar small{font-size:10px;color:#84bfd6;letter-spacing:.13em}.logbar span:last-child{font-size:12px;color:#d2e7f4}.end-turn{background:linear-gradient(120deg,#7251d6,#452b93);border:1px solid #b49dff;border-radius:9px;color:white;font-size:12px;font-weight:800;padding:15px 20px;white-space:nowrap;box-shadow:0 0 20px #734ddb50}
.inspector h2{font-size:21px;margin:12px 0 9px}.inspector p{font-size:12px;color:#b2cbdc;line-height:1.6;margin:0 0 15px}.data-line,.district-row{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:10px 0;border-top:1px solid #29465f;font-size:12px;color:#a7c2d5}.data-line strong,.district-row strong{color:#f0faff}.queue-panel .overline,.mission-log .overline{margin-bottom:9px}.small-action{width:100%;border:1px solid #438cb1;border-radius:9px;color:#c8f1ff;padding:11px;background:#144165;margin-top:12px;text-align:left;font-size:12px;font-weight:800}.small-action span{display:block;color:#add0e5;font-size:11px;margin-top:4px}.small-action:hover:not(:disabled){background:#21618c}.mission-log ol{margin:12px 0 0;padding:0;list-style:none}.mission-log li{font-size:11px;color:#c3d6e6;padding:9px 0;border-top:1px solid #29465f;line-height:1.5}.log-cycle{color:#67d4e8;font-weight:800}.fiction-note{font-size:11px;line-height:1.6;color:#8da8bf;margin:0 5px 12px}
.map-canvas{min-height:475px;background:radial-gradient(ellipse at 50% 50%,#7b4fa1 0,#2e2c71 12%,#12274d 27%,#06152f 58%,#030914 100%)}.map-grid{position:absolute;inset:-25%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 70px,#8dcbff17 72px 73px,transparent 74px 115px),linear-gradient(35deg,transparent 47%,#88ccff16 49%,transparent 51%);opacity:.7}.galaxy-nebula{position:absolute;inset:3% 15%;border-radius:50%;transform:rotate(-28deg);background:radial-gradient(ellipse,#fff1ca 0,#f2b2a9 7%,#835ca0 13%,transparent 36%),conic-gradient(from 15deg,#7a98e200,#a071ce66,#3aa2f544,#ffdfb050,#665ac766,#3b7ad522,#7a98e200);filter:blur(14px);opacity:.77}.routes{position:absolute;inset:0;width:100%;height:100%}.systems{position:absolute;inset:0}.star-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:8px;background:none;border:0;color:#edfcff;min-width:90px}.star-dot{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#fff;box-shadow:0 0 0 7px #43dfff22,0 0 28px #73e9ff;background:radial-gradient(circle at 35% 35%,#f4fff9,#80d4fa 24%,#2476be 55%,#0a224c);border:2px solid #90ecff}.star-node.unknown .star-dot{background:radial-gradient(circle,#9d80ff,#453271 55%,#111a44);border-color:#8e71cd;box-shadow:0 0 24px #775bd4}.star-node.chosen .star-dot{outline:3px solid var(--amber);outline-offset:4px}.star-label{padding:5px 10px;background:#061727d9;border-radius:7px;font-size:11px;white-space:nowrap;border:1px solid #315779}.map-note{position:absolute;left:20px;bottom:18px;color:#b6f0fa;font-weight:800;font-size:11px;letter-spacing:.13em}.map-note span{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px;color:#accbe0}
.council-scene{min-height:470px;flex:1;padding:50px clamp(22px,6vw,70px);position:relative;overflow:hidden;border:1px solid #4a587e;border-radius:15px;background:radial-gradient(ellipse at 45% -30%,#53448c,#152741 49%,#0b172c 90%)}.council-scene:before{content:"";position:absolute;width:390px;height:390px;right:-90px;top:-200px;border:35px solid #83a5fc13;border-radius:50%;box-shadow:0 0 100px #986fd433}.council-orbit{font-size:60px;color:#a7c8ff;text-shadow:0 0 40px #9d8dff;line-height:1.2}.council-scene h2{font-size:clamp(28px,3vw,47px);letter-spacing:-.04em;max-width:600px;margin:14px 0}.council-scene p{color:#c8c9e9;max-width:580px;line-height:1.7}.council-status{padding:15px;border-radius:12px;background:#121e3c;border:1px solid #58699d;color:#eff6ff;max-width:760px;margin:22px 0;line-height:1.5}.council-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-card{display:grid;gap:12px;align-content:start;min-height:170px;text-align:left;color:white;border:1px solid #7299c1;border-radius:13px;padding:20px;background:linear-gradient(160deg,#21385a,#171d37)}.choice-card:hover{border-color:#9eeaff;background:linear-gradient(160deg,#2a5276,#202345)}.choice-card strong{font-size:17px}.choice-card span{font-size:12px;line-height:1.5;color:#c9e2f0}.choice-card small{font-size:11px;color:#80ead5}
.site-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;font-size:11px;color:#8fa9c1;padding:17px 25px;border-top:1px solid #223e58}.site-footer a{color:#b7e8fc;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:auto;padding:20px;background:radial-gradient(ellipse at 50% 30%,#173a65a8,#020610f5 68%);backdrop-filter:blur(10px)}.start-panel,.end-panel{position:relative;width:min(790px,100%);background:linear-gradient(130deg,#112c4cf7,#0b1732fa 70%);border:1px solid #528bb0;border-radius:25px;padding:clamp(25px,4.3vw,52px);box-shadow:0 0 120px #3f7bf03d,0 30px 120px #000a;max-height:95vh;overflow:auto}.start-orbit{position:absolute;right:42px;top:22px;color:#b0f3ff;font-size:54px;text-shadow:0 0 35px #5bf3ff}.start-panel h2,.end-panel h2{font-size:clamp(30px,4vw,50px);max-width:620px;margin:14px 0;line-height:1.12;letter-spacing:-.05em}.start-panel>p,.end-panel>p{max-width:610px;color:#bed6e8;font-size:14px;line-height:1.7}.trait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:27px 0 20px}.trait-option{display:grid;align-content:start;gap:9px;min-height:143px;text-align:left;padding:17px;background:#102640;border:1px solid #2b5a79;border-radius:12px;color:#e4f5ff}.trait-option.selected{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),inset 0 0 30px #27c6fc14;background:#16466a}.trait-option strong{font-size:17px}.trait-option span{font-size:12px;line-height:1.4;color:#b7cfe3}.trait-option small{color:var(--jade);font-weight:800}.seed-field{display:grid;gap:8px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#b5d9ec;max-width:210px}.seed-field input{color:white;background:#081b31;border:1px solid #427aa1;border-radius:9px;padding:11px;font-size:16px}.start-cta{width:100%;border:1px solid #90f0ff;border-radius:12px;color:#fff;background:linear-gradient(110deg,#136d9a,#3269a9);padding:17px;margin-top:22px;font-size:14px;font-weight:900;letter-spacing:.07em;box-shadow:0 0 30px #1ad3f037}.start-cta:hover{filter:brightness(1.15)}.start-foot{font-size:11px!important;text-align:center;max-width:none!important}.end-stat{padding:20px;margin-top:18px;border:1px solid #507b9e;border-radius:12px;color:#aafae2;background:#163d57}.notice{position:fixed;z-index:35;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(640px,90vw);color:#effdff;background:#173b56;border:1px solid #72cbea;box-shadow:0 16px 30px #0008;border-radius:10px;padding:15px 20px;text-align:center;font-size:13px}
@media(max-width:1350px){.layout{grid-template-columns:210px minmax(0,1fr) 250px;gap:10px;padding:10px}.topbar{padding:15px}.resource{gap:7px;padding:12px 6px}.resource strong{font-size:17px}.symbol{font-size:23px}.action-strip{justify-content:stretch}.action{flex:1}.strip-intro{flex:1 1 100%}.scene-tag{font-size:9px}}
@media(max-width:1080px){.layout{grid-template-columns:190px minmax(0,1fr)}.right-rail{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.right-rail .mission-log,.right-rail .fiction-note{grid-column:1/-1}.resources{grid-template-columns:repeat(3,minmax(0,1fr))}.resource:nth-child(3){border-right:0}.resource:nth-child(-n+3){border-bottom:1px solid #25445e}.brand-copy small{display:none}.turn-head{display:none}.world-canvas,.map-canvas{min-height:360px}}
@media(max-width:720px){.topbar{flex-wrap:wrap;padding:12px;gap:12px}.identity{flex:1}.brand-sigil{height:38px;width:38px;font-size:27px}.brand-copy strong{font-size:13px;letter-spacing:.07em}.top-actions{width:100%;justify-content:flex-end}.quiet{font-size:12px;padding:9px 12px}.resources{grid-template-columns:repeat(3,minmax(0,1fr))}.resource{justify-content:flex-start;gap:7px;padding:9px}.resource small{font-size:9px}.resource strong{font-size:15px}.resource .rate{font-size:9px}.symbol{font-size:22px}.layout{display:flex;flex-direction:column;padding:8px;gap:9px}.left-rail{display:contents}.world-mini,.rail-goal,.civilization-card{display:none}.nav-group{order:-1;display:flex;gap:5px;padding:0}.view-button{flex:1;justify-content:center;gap:6px;padding:13px 6px;background:#10253c;border:1px solid #233f59;font-size:12px}.view-button small{display:none}.view-button>span{font-size:17px}.workspace{order:0}.right-rail{order:2;display:grid;grid-template-columns:1fr 1fr;gap:8px}.scene-head{min-height:96px;padding:9px 5px}.scene-head h1{font-size:24px}.scene-head p:not(.overline){font-size:11px}.orbit-badge{display:none}.world-canvas,.map-canvas{min-height:295px;aspect-ratio:1.25}.world-art{object-fit:cover;left:-27%;width:148%;max-width:none}.scene-tag{font-size:8px;padding:6px 8px}.tag-glyph{display:none}.tag-one{left:50%;top:39%}.tag-two{left:18%;top:53%}.tag-three{left:60%;top:76%}.scene-tag small{font-size:8px}.scene-bottom{padding:10px}.location-caption{display:none}.action-strip{padding:8px;gap:7px}.strip-intro{display:none}.action{font-size:10px;padding:12px 6px;white-space:normal;line-height:1.4}.action span{display:none}.logbar{flex-wrap:wrap;padding:10px}.logbar>div{flex:1 1 calc(100% - 45px)}.end-turn{width:100%;padding:13px}.panel{padding:13px}.inspector h2{font-size:16px}.right-rail .inspector,.right-rail .queue-panel{min-width:0}.fiction-note{padding:0 8px}.map-canvas{min-height:330px}.star-node{min-width:68px}.star-label{font-size:9px;padding:4px 6px}.star-dot{height:27px;width:27px;font-size:13px}.council-scene{min-height:360px;padding:24px 17px}.council-choices{grid-template-columns:1fr}.choice-card{min-height:80px;padding:15px}.council-scene h2{font-size:28px}.site-footer{padding:16px 10px;font-size:10px}.start-panel{padding:24px;max-height:96vh}.start-orbit{font-size:25px;right:15px;top:12px}.trait-grid{grid-template-columns:1fr;gap:8px;margin:15px 0}.trait-option{min-height:0;padding:12px;gap:5px}.trait-option strong{font-size:14px}.trait-option span,.trait-option small{font-size:11px}.start-panel h2{font-size:29px}.start-panel>p{font-size:12px}}
@media(max-width:390px){.brand-copy strong{font-size:11px}.brand-copy small{display:none}.resource strong{font-size:13px}.resource small{font-size:8px}.symbol{font-size:18px}.right-rail{grid-template-columns:1fr}.scene-tag{display:none}.world-canvas{min-height:260px}.action{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
