:root{color-scheme:dark;--bg:#0c171d;--panel:#14252cf2;--line:#2e454e;--text:#e9eee7;--muted:#8fa8ac;--amber:#edc180;--mint:#8ed6bd;--blue:#8dbcd8}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:13px 'Segoe UI',sans-serif;overflow:hidden}button,select,input{font:inherit}button{background:#20363e;border:1px solid #36505a;border-radius:7px;color:var(--text);padding:10px 14px;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}button:hover:not(:disabled){background:#2c4851;border-color:#78999e;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.primary{background:var(--amber);color:#17272d;border-color:var(--amber);font-weight:650}.primary:hover:not(:disabled){background:#ffe0a4;border-color:#ffe0a4}.quiet{background:transparent;border-color:#2e454e}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--mint);box-shadow:0 0 12px #8ed6bd88;border-radius:50%;margin-right:9px}.wordmark{font-size:25px;letter-spacing:5px;font-weight:700;display:flex;align-items:center;gap:14px}.logo{color:var(--amber);font-size:33px}.edition{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:500;margin-left:12px}.title-screen{height:100dvh;padding:30px 4.5vw;display:flex;flex-direction:column;background:radial-gradient(ellipse at 78% 45%,#203b40 0,transparent 62%),#0d1c22;position:relative}.title-screen[hidden],#game-shell[hidden]{display:none}.menu-top,.menu-bottom{display:flex;justify-content:space-between;align-items:center}.title-layout{display:grid;grid-template-columns:.9fr 1.15fr;align-items:center;gap:5vw;flex:1}.title-copy{padding:30px 0}.title-copy h1{font-size:clamp(42px,5.7vw,88px);font-weight:500;letter-spacing:-3px;line-height:1.06;margin:24px 0}.title-copy h1 em{font-style:normal;color:var(--amber)}.title-copy>p{max-width:365px;font-size:16px;line-height:1.8;color:var(--muted)}.menu-buttons{display:flex;flex-direction:column;gap:10px;max-width:360px;margin-top:28px}.menu-buttons button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:15px 18px}.menu-buttons button span{font-size:10px;font-weight:400;color:var(--muted)}.menu-buttons .large{font-size:17px;padding:18px}.menu-buttons .large span{font-size:24px;color:#263b3d}.menu-note{font-size:10px;color:var(--muted);margin-top:22px}.menu-bottom{font-size:9px;letter-spacing:1.4px;color:#6f9099}.title-visual{border:1px solid #36525b;border-radius:17px;background:#14293188;box-shadow:0 30px 80px #0003;overflow:hidden;transform:rotate(-2deg)}.art-label,.art-caption{display:flex;justify-content:space-between;align-items:center;padding:20px 22px}.badge{font-size:8px;letter-spacing:1.3px;border:1px solid #41616a;padding:6px 8px;border-radius:4px;color:#a6c9c7}.art-caption{font-size:8px;letter-spacing:1px;color:var(--muted);border-top:1px solid #2e454e}.art-caption span:last-child{font-size:7px}#title-art{display:block;width:100%;height:370px}header{height:70px;display:flex;align-items:center;gap:22px;padding:0 22px;border-bottom:1px solid var(--line);background:#102128;position:relative;z-index:2}header .wordmark{font-size:21px;background:transparent;border:0;padding:0;color:var(--amber);white-space:nowrap}.sector{font-size:9px;letter-spacing:1.4px;color:#b8cdcb;margin-right:auto}.sector span{display:block;font-size:8px;color:var(--muted);margin-top:6px}.stat small{font-size:8px;color:var(--muted);letter-spacing:1px;display:block;margin-bottom:3px}.stat b{font-size:17px;font-weight:550;font-variant-numeric:tabular-nums}.stat:nth-of-type(2) b{color:var(--amber)}.header-buttons{display:flex;gap:5px}.header-buttons button{padding:9px 12px}kbd{font:9px 'Segoe UI',sans-serif;border:1px solid #52666d;padding:2px 4px;border-radius:3px;color:#b9cdce;margin-left:4px}#research-button{color:var(--mint);position:relative}#research-ready{display:none;width:7px;height:7px;background:var(--amber);border-radius:50%;position:absolute;right:4px;top:4px}main{position:relative;height:calc(100dvh - 70px)}#world{display:block;width:100%;height:100%;touch-action:none}.sector-chip{position:absolute;top:20px;left:22px;font-size:9px;letter-spacing:1.5px;background:#13252bcc;padding:10px 13px;border:1px solid #304951;border-radius:5px;pointer-events:none}#right-panels{position:absolute;right:18px;top:18px;width:290px;max-height:calc(100% - 195px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#456168 transparent}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:12px;box-shadow:0 7px 20px #0002}.panel h2{font-size:20px;font-weight:550;letter-spacing:-.5px;margin:10px 0}.panel p,p{color:var(--muted);line-height:1.7}.panel p{font-size:12px}.tutorial{border-color:#59745d;background:linear-gradient(135deg,#213c38f5,#172c32f5)}.tutorial .eyebrow{color:var(--mint)}.tutorial .tutorial-top{display:flex;justify-content:space-between;align-items:center}.tutorial .step-count{color:#acd3c2;font-size:10px}.tutorial .tip{font-size:10px;background:#0c1d2399;border-radius:5px;padding:10px;line-height:1.6;color:#b9cbca}.tutorial .button-row{margin-top:13px}.tutorial button{font-size:11px;padding:8px 12px}.tutorial button.skip{background:transparent;border:0;font-size:9px;color:#97b3af;padding-left:0}.step-dots{display:flex;gap:3px;margin-top:14px}.step-dots i{height:3px;flex:1;background:#3b5559}.step-dots i.done{background:var(--mint)}.req{margin-top:13px}.req-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.track{height:4px;border-radius:3px;background:#2e454e;overflow:hidden}.track i{height:100%;display:block;background:var(--amber);transition:width .3s}.reward{font-size:10px;color:var(--amber);margin-top:15px}.row{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:6px 0;color:var(--muted)}.row b{color:var(--text);font-weight:500}.status-pill{font-size:10px;display:inline-block;padding:5px 8px;border-radius:5px;background:#243a3f;color:var(--mint);margin:5px 0}.status-pill.bad{color:#f3a27e;background:#493b32}select{width:100%;padding:10px;background:#203740;color:var(--text);border:1px solid #45606a;border-radius:5px}#inspector .button-row{margin-top:12px}#inspector button{font-size:10px;padding:8px 10px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.small{font-size:11px;color:var(--muted)}.map-controls{position:absolute;left:20px;bottom:190px;display:flex;gap:5px;align-items:center}.map-controls button{font-size:13px;background:#172c34dd}.map-controls button.active{border-color:var(--amber);color:var(--amber)}#coords{font-size:9px;margin-left:7px;color:var(--muted)}.dock{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;background:#10232aee;border:1px solid #3c545b;border-radius:13px;padding:8px;box-shadow:0 15px 40px #0006;max-width:96vw;width:550px}.dock-top,.dock-bottom{display:flex;justify-content:space-between;align-items:center}.categories{display:flex;gap:3px}.categories button{font-size:10px;padding:8px 12px;border:0;background:transparent;color:var(--muted)}.categories button.active{background:#30433c;color:var(--amber)}.rotation button{padding:6px 8px;background:transparent;border:0;font-size:10px;color:var(--amber)}#toolbar{display:flex;gap:6px;margin:8px 0}.tool{height:77px;position:relative;flex:1;display:flex;align-items:center;gap:3px;flex-direction:column;padding:5px;background:#1d333c;border-color:#2a444e}.tool img{width:35px;height:35px;object-fit:contain}.tool .name{font-size:10px}.tool .cost{font-size:9px;color:var(--muted)}.tool kbd{position:absolute;left:4px;top:5px;font-size:8px;border:0;margin:0;padding:0}.tool.active{border-color:var(--amber);background:#42493b}.tool.locked{filter:saturate(.25);opacity:.55}.dock-bottom{font-size:8px;color:var(--muted);padding:4px;gap:12px}.dock-bottom kbd{font-size:7px;border:0;padding:0;margin-left:6px}.dock-bottom span:last-child{white-space:nowrap}#hover-info{position:absolute;left:22px;bottom:238px;font-size:10px;pointer-events:none;background:#10232bdc;padding:8px 12px;border-radius:5px;color:var(--muted);display:none}#toast{position:fixed;z-index:20;top:86px;left:50%;transform:translate(-50%,-10px);background:#dfc18a;color:#203238;border:1px solid #ffe1ad;border-radius:8px;padding:14px 24px;max-width:500px;box-shadow:0 10px 40px #0005;opacity:0;pointer-events:none;transition:.25s;font-size:12px;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:#152932;color:var(--text);border:1px solid #47636b;border-radius:15px;padding:30px;width:min(620px,94vw);max-height:90dvh;box-shadow:0 25px 100px #0008;scrollbar-width:thin}dialog::backdrop{background:#061218bd;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head h2{font-size:32px;font-weight:500;letter-spacing:-1px;margin:8px 0}.dialog-head>button{font-size:21px;padding:4px 12px}.slider-label{display:flex;align-items:center;gap:20px;margin:25px 0;font-size:13px}.slider-label input{flex:1;accent-color:var(--amber)}.slider-label output{font-size:11px;min-width:36px;color:var(--amber)}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;margin:20px 0}.check-label input{accent-color:var(--amber)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}h3{font-size:13px;font-weight:600}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}.guide-grid h3{color:var(--amber)}.guide-grid p{font-size:12px}#guide-dialog{width:min(810px,94vw)}.research-dialog{width:min(1020px,96vw)}.research-dialog>p{font-size:12px}#research-wallet{font-size:12px;color:var(--amber);margin-bottom:20px}#tech-tree{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;position:relative}.tech-card{background:#1c333d;border:1px solid #38545e;border-radius:9px;padding:17px;position:relative}.tech-card[data-tech="foundation"],.tech-card[data-tech="smelting"],.tech-card[data-tech="electronics"],.tech-card[data-tech="industry"]{grid-column:2}.tech-card[data-tech="routing"]{grid-column:1}.tech-card[data-tech="automation"]{grid-column:2}.tech-card[data-tech="solar"]{grid-column:3}.tech-card:not(:first-child):before{content:'↓';position:absolute;top:-19px;left:50%;color:#6d9b9b;z-index:1}.tech-card.unlocked{border-color:#518c76;background:#213d3b}.tech-card.available{border-color:var(--amber);box-shadow:0 0 20px #edc1800a}.tech-card .eyebrow{font-size:8px;letter-spacing:1.1px}.tech-card h3{font-size:16px;margin:9px 0}.tech-card p{font-size:10px;line-height:1.5}.tech-card .unlock{color:#a5d6c5;font-size:10px;min-height:28px}.tech-card button{width:100%;font-size:10px;padding:9px;margin-top:10px}.tech-needs{font-size:9px;color:var(--muted);line-height:1.9}.tech-needs .met{color:var(--mint)}.tech-parent{font-size:8px;color:#809da5;border-top:1px solid #3a5158;padding-top:8px;margin-top:8px}.tech-card.unlocked .tech-needs{display:none}#victory-dialog{text-align:center;padding:45px}#victory-dialog h1{font-size:39px;letter-spacing:-1px;font-weight:500;line-height:1.2}#victory-stats{display:flex;justify-content:center;gap:25px;margin:25px 0;color:var(--amber)}
@media(max-width:1050px){header{gap:12px;padding:0 14px}.sector{display:none}header .wordmark{margin-right:auto}.stat b{font-size:14px}#right-panels{width:250px}.panel{padding:16px}.title-screen{padding:25px 4vw}.edition{display:none}.title-copy h1{font-size:58px}.title-layout{gap:3vw}.art-caption span:last-child{display:none}#title-art{height:340px}.dock{left:calc(50% - 70px);width:480px}.dock-bottom span:last-child{display:none}}
@media(max-width:750px){.title-layout{grid-template-columns:1fr .8fr}.title-copy h1{font-size:45px}.title-copy>p{font-size:13px}.title-copy .eyebrow{font-size:8px}.title-visual{transform:none}.art-label{padding:12px}.art-label .eyebrow{font-size:7px}.badge{display:none}.art-caption{padding:12px;font-size:7px}.menu-bottom{font-size:7px}.menu-note{font-size:8px}header{height:60px;gap:8px}.energy{display:none}header .wordmark{font-size:17px;letter-spacing:2px}.header-buttons button{padding:8px}#research-button{font-size:11px;padding:8px}#research-button kbd{display:none}main{height:calc(100dvh - 60px)}#right-panels{width:218px;right:10px;top:12px;max-height:calc(100% - 190px)}.panel h2{font-size:17px}.panel p{font-size:11px}.dock{left:50%;width:460px;bottom:10px}.sector-chip{left:12px;font-size:7px}.map-controls{left:12px;bottom:185px}.map-controls button{padding:8px}#coords{display:none}.tech-card{padding:12px}#tech-tree{gap:12px}.research-dialog{padding:20px}.tech-card h3{font-size:13px}}
@media(max-width:530px){.title-layout{display:block}.title-copy{padding:20px 0}.title-copy h1{font-size:49px;margin:15px 0}.title-visual{display:none}.title-copy>p{max-width:300px}.menu-buttons{margin-top:20px}.wordmark{font-size:23px}.menu-top>button{font-size:10px;padding:8px}.stat small{font-size:7px}.header-buttons #speed{display:none}.stat b{font-size:12px}header .wordmark{font-size:15px}#right-panels{width:185px}.panel{padding:12px}.sector-chip{display:none}.dock{width:96vw}.guide-grid{grid-template-columns:1fr}.tech-card{grid-column:auto!important}.tech-card:before{display:none}#tech-tree{grid-template-columns:1fr}.dialog-head h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.tech-links{position:absolute;inset:0;pointer-events:none;z-index:0}.tech-card{z-index:1}.tech-card:not(:first-child):before{display:none}@media(max-width:530px){.tech-links{display:none}}

/* Expanded production and research. */
#toolbar{overflow-x:auto}.tool{min-width:62px} [data-tech="ceramics"]{grid-column:1;grid-row:4}[data-tech="bridging"]{grid-column:3;grid-row:4}[data-tech="alloys"]{grid-column:1;grid-row:6}[data-tech="microelectronics"]{grid-column:3;grid-row:6}[data-tech="aerospace"]{grid-column:2;grid-row:7}

@media(max-width:530px){.tech-card{grid-row:auto!important}}

#stats-dialog{width:min(750px,95vw)}.stats-scroll{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:12px}.stats-table th,.stats-table td{padding:12px 8px;text-align:right;border-bottom:1px solid #34515a;white-space:nowrap}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.stats-table th{color:var(--muted);font-weight:500}.stats-table i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:9px}.stats-cards{display:flex;gap:10px;margin:18px 0}.stats-cards span{flex:1;padding:12px;background:#203c44;border-radius:7px;font-size:10px;color:var(--muted)}.stats-cards b{display:block;color:var(--amber);font-size:20px;margin-bottom:5px}#stats-button{padding:8px 11px}
