:root{color-scheme:dark;font:14px system-ui,sans-serif;background:#10282e;color:#f1dfbd}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:#28484d;border:1px solid #8daca16b;border-radius:10px;min-height:44px;padding:9px 14px;cursor:pointer}button:hover{background:#3a5958}button:focus-visible,a:focus-visible{outline:3px solid #e6c388;outline-offset:2px}button:disabled{opacity:.5;cursor:default}header{height:58px;max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:6px 16px;gap:10px}header a{color:#aec4b8;text-decoration:none;min-height:44px;display:flex;align-items:center;font-size:12px}header b{font-size:20px;letter-spacing:3px}header b span{color:#e5bd7c}nav{display:flex;gap:6px}nav button{min-width:44px}main{height:calc(100dvh - 58px);max-height:1000px;min-height:440px;max-width:1160px;margin:auto;padding:0 12px 8px;display:grid;grid-template-rows:57px minmax(210px,1fr) 34px 122px}.readout{display:flex;align-items:center;justify-content:space-between}.readout small{display:block;font-size:10px;color:#98b6ab;letter-spacing:.08em}.readout h1{font:600 24px Georgia,serif;margin:1px 0}.salvage{color:#e0bd7e;text-align:end;font-size:20px}.salvage small{font-size:10px;margin-top:3px}#scene{position:relative;overflow:hidden;border:1px solid #8ba99860;border-radius:15px;background:#304440}canvas{display:block;width:100%;height:100%;touch-action:none}.objective{position:absolute;inset:10px 66px auto 66px;display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:none}.objective span{background:#0c292de8;border:1px solid #b3b48844;padding:7px 12px;border-radius:9px;font-size:12px;text-align:center;line-height:1.6;max-width:600px}.objective button{display:none;pointer-events:auto;min-width:40px;padding:3px}.map,.zoom{position:absolute;top:10px;min-width:44px;background:#18363bdb;font-size:20px;padding:3px}.map{left:10px}.zoom{right:10px}#hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:88%;font-size:12px;line-height:1.6;text-align:center;border:1px solid #b5b38a66;border-radius:9px;background:#133338e8;padding:6px 13px;pointer-events:none}#hint:empty{display:none}#cover{position:absolute;inset:0;background:#0c262b92;display:grid;place-items:center;padding:16px;backdrop-filter:blur(2px)}#cover[hidden]{display:none}.intro{max-width:420px;padding:25px;background:linear-gradient(145deg,#39564ff2,#173a40f5);border:1px solid #cbb98b88;border-radius:18px;box-shadow:0 20px 60px #061d2588;text-align:center;max-height:100%;overflow:auto}.intro small{font-size:10px;letter-spacing:2px;color:#d8b67b}.intro h2{font:500 39px/1.1 Georgia,serif;margin:13px 0}.intro p{font-size:13px;line-height:1.8;color:#c8d6bf}.intro button{margin:3px}.primary{background:#deb77a;color:#203b3b;border-color:#e9d3a0;font-weight:700}.primary:hover{background:#eac991}.gauges{display:flex;align-items:center;gap:14px;font-size:10px}.gauges label{display:flex;align-items:center;gap:6px;flex:1;max-width:250px}.gauges i{height:5px;background:#2c4847;display:block;flex:1;border-radius:3px;overflow:hidden}.gauges em{height:100%;display:block;background:#a5d0ab}#heat{background:#d6a268}.gauges small{margin-inline-start:auto;color:#aec4ae;font-size:10px}.controls{display:flex;align-items:center;justify-content:space-between;gap:20px;user-select:none}#stick{position:relative;width:120px;height:116px;touch-action:none;flex-shrink:0;cursor:grab}.ring{position:absolute;inset:4px;border:1px solid #a2baa565;border-radius:50%;background:radial-gradient(#3a5e5c,#1b393f);box-shadow:inset 0 0 20px #0b252b88}.thumb{position:absolute;width:48px;height:48px;top:34px;left:36px;border:1px solid #b9c7ab99;border-radius:50%;background:linear-gradient(#66877a,#365957);box-shadow:0 4px 10px #061c2688;pointer-events:none}#stick span{position:absolute;inset:0;display:grid;place-items:center;color:#cfdbb3;pointer-events:none;font-size:22px;opacity:.6}.actions{display:grid;grid-template-columns:1.3fr .8fr 1.2fr;gap:9px;max-width:590px;width:70%}.actions button{height:83px;touch-action:none;padding:7px;box-shadow:0 4px #071e29;background:linear-gradient(#3d5a58,#233e45)}.actions strong{display:block;color:#e9c689;font-size:30px;line-height:1.1}.actions span{display:block;font-size:12px;line-height:1.5;margin-top:4px}.actions button.held{transform:translateY(2px);background:#64806a}.actions button.near{border-color:#e6cb8a;background:#496757}#drill{border-color:#cdb37b}dialog{background:#1d3d42;color:#efdfbd;border:1px solid #96b29c;border-radius:16px;width:min(660px,94vw);max-height:87dvh;padding:18px}dialog::backdrop{background:#061d27cc}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialoghead h2{font-size:21px;margin:0;outline:none}#body{margin-top:15px}.settings{display:grid;gap:14px}.setting{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #94ab8d22;padding:8px 0}.setting input[type=range]{width:45%;accent-color:#d6b57e}.setting input[type=checkbox]{accent-color:#d6b57e;min-width:23px;min-height:23px}.help p{line-height:1.85;font-size:13px}.shop{display:grid;gap:9px}.upgrade{border:1px solid #7d9e8a77;border-radius:12px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;padding:12px;gap:11px}.upgrade .icon{font-size:31px;color:#dbbc7f;text-align:center}.upgrade b{display:block;font-size:15px}.upgrade small{display:block;font-size:12px;line-height:1.6;color:#b6ccba}.mine-map{display:grid;gap:8px}.mine-map div{padding:13px;border:1px solid #71928377;border-radius:9px;display:flex;justify-content:space-between;align-items:center}.mine-map .current{border-color:#dbbf87;background:#375b55}.mine-map small{color:#b6c9af}.results{text-align:center;line-height:1.8}.results strong{font-size:35px;color:#d8c28d}html[dir=rtl] h1,html[dir=rtl] h2{font-family:system-ui,sans-serif}body.low #cover{backdrop-filter:none}@media(max-width:600px){header{height:53px;padding:5px 8px;gap:5px}header a{font-size:10px}header b{font-size:16px;letter-spacing:1.4px}nav{gap:4px}nav button{padding:5px;min-width:40px;min-height:42px}main{height:calc(100dvh - 53px);padding:0 6px 6px;min-height:420px;grid-template-rows:51px minmax(200px,1fr) 31px 116px}.readout h1{font-size:20px}.salvage{font-size:17px}.objective{inset:8px 53px auto}.objective span{font-size:11px;padding:5px 8px}.objective button{display:block}.objective.folded span{display:none}.map,.zoom{top:7px;min-width:40px;min-height:40px}.map{left:6px}.zoom{right:6px}#hint{font-size:11px;bottom:7px;padding:5px 9px}.gauges{gap:8px;font-size:9px}.gauges small{font-size:9px}.controls{gap:8px}#stick{width:104px;height:104px}.thumb{top:28px;left:28px}.actions{gap:5px;width:calc(100% - 110px);grid-template-columns:1.1fr .85fr 1fr}.actions button{height:82px;padding:4px}.actions strong{font-size:27px}.actions span{font-size:10px}.intro{padding:18px 14px}.intro h2{font-size:29px;margin:8px 0}.intro p{font-size:12px;line-height:1.7}.intro small{font-size:9px}.intro button{font-size:12px}.upgrade{grid-template-columns:34px 1fr auto;padding:8px;gap:7px}.upgrade .icon{font-size:24px}.upgrade b{font-size:13px}.upgrade small{font-size:11px}.upgrade button{padding:6px 8px;font-size:12px}}@media(max-height:500px) and (min-width:600px){header{height:43px}main{height:calc(100dvh - 43px);min-height:265px;grid-template-rows:37px minmax(100px,1fr) 23px 74px}.readout h1{font-size:17px}#stick{height:70px;width:74px}.thumb{width:36px;height:36px;top:17px;left:19px}.actions button{height:64px}.actions strong{font-size:22px}.actions span{font-size:10px}.intro{padding:10px 16px}.intro h2{font-size:25px;margin:6px}.intro p{font-size:11px;margin:5px}.intro small{display:none}.objective span{font-size:10px;padding:4px 8px}#hint{font-size:10px;padding:4px 7px}.map,.zoom{top:6px}#scene{border-radius:9px}}
.rig-preview{display:flex;justify-content:center;background:radial-gradient(ellipse,#536f5b66,#112d3300 70%);border-bottom:1px solid #adc39d33;margin-bottom:13px}.rig-preview canvas{width:240px;height:150px;max-width:100%}.chart-key{font-size:11px;color:#b6c8ae;text-align:center;line-height:1.7}.upgrade:has(button:disabled){background:#243d3c33}@media(max-height:600px){.rig-preview{display:none}}
@media(max-width:600px){#stick{width:114px;height:114px}.thumb{top:33px;left:33px}.actions{width:calc(100% - 122px)}.readout small{font-size:8px;letter-spacing:0}.gauges small{max-width:45%;overflow:hidden;white-space:nowrap}.mine-map div button{font-size:11px;min-height:38px;padding:5px 9px}}
.act-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.act-tabs button{font-size:12px;padding:6px}.mine-map div span{flex:1}.mine-map div{gap:10px}
/* The live view shows a project name and four state marks; details are player-opened. */
.objective.compact{inset:10px 108px auto 65px;flex-wrap:wrap;gap:3px}.objective.compact #goal{font-size:11px;padding:4px 9px;line-height:1.5}.objective.compact #workSteps{display:flex;gap:5px;padding:3px 8px;background:#173438e8;border-radius:8px;border:1px solid #829b7b55}.objective.compact #workSteps i{font-style:normal;opacity:.38;font-size:15px}.objective.compact #workSteps i.done{color:#c6dfad;opacity:1}.objective.compact #brief{display:none}.inventory{position:absolute;top:10px;right:60px;min-width:44px;padding:4px;font-size:22px;background:#18363bdb}.work-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:15px;position:sticky;top:-18px;background:#1d3d42;padding:8px 0;z-index:2}.work-tabs button{padding:6px;font-size:20px}.work-tabs button span{display:block;font-size:11px}.project-title{display:flex;align-items:center;gap:15px;border-bottom:1px solid #b6bf9144;padding:7px 0 16px}.project-title h3{margin:0 0 4px;font-size:21px}.project-title small,.short-note{color:#bbcebd;font-size:12px;line-height:1.8}.project-seal{font-size:45px;color:#e0c28b}.project-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.project-steps div{padding:12px 6px;border:1px solid #a2b18d55;border-radius:9px;text-align:center;background:#19363c}.project-steps b,.project-steps span{display:block}.project-steps b{font-size:18px;color:#cbb585;margin-bottom:6px;direction:ltr}.project-steps span{font-size:11px}.project-steps .complete{border-color:#b2d19b;background:#3f6151}.bill{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.material{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid #91a68c55;border-radius:9px;background:#18353b;color:#c4d0bd;min-width:110px;flex:1}.material>b{color:var(--ore);font-size:27px;line-height:1}.material>span{font-size:11px}.material small{display:block;font-size:13px;direction:ltr;text-align:start;margin-top:3px;color:#e2cca1}.material.enough{border-color:#abc99b;background:#395b4b}.stock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stock-grid .material{min-width:0}.factory-status{margin:10px 0;color:#bbd0bb;font-size:12px}.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}.recipe{padding:10px;border:1px solid #7e9d8155;border-radius:12px;background:#17353b}.recipe.available{border-color:#a9c18f}.recipe .material{border:0;padding:2px;background:none}.ingredients{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;margin:12px 0;direction:ltr}.recipe-actions{display:flex;gap:6px}.recipe-actions button:first-child{flex:1}.recipe-actions button{min-height:44px;font-size:12px}.manual-recipes{margin-top:15px}.manual-recipes summary,details summary{padding:12px 0;cursor:pointer;font-size:12px;color:#bfceba}.queue-list{display:grid;gap:6px;margin-bottom:10px}.queue-list>div{display:flex;align-items:center;gap:10px;background:#36564b;border-radius:8px;padding:5px 9px;font-size:12px}.queue-list small{margin-inline-start:auto}.queue-list button{padding:4px 12px;min-width:44px}.back-mine{width:100%;margin-top:16px}.commission{border-top:1px solid #b6bf9155;margin-top:15px}.commission button{width:100%}.upgrade em{font-style:normal;color:#d2bf89;font-size:10px;white-space:nowrap}.visual-help{display:grid;gap:10px}.visual-help>div{display:flex;align-items:center;gap:15px;background:#16343b;border-radius:8px;padding:12px}.visual-help b{font-size:21px;min-width:80px;text-align:center;color:#d8bf89}.visual-help span{font-size:12px}
@media(max-width:600px){.inventory{right:51px;top:7px;min-width:40px;min-height:40px}.objective.compact{inset:7px 94px auto 50px}.objective.compact #goal{font-size:10px;padding:3px 5px}.objective.compact #workSteps{gap:6px;padding:2px 6px}.objective.compact #workSteps i{font-size:12px}.stock-grid{grid-template-columns:repeat(2,1fr)}.recipe-grid{gap:6px}.recipe{padding:7px}.project-title h3{font-size:18px}.material{min-width:95px;padding:7px}.material>b{font-size:23px}.project-steps{gap:4px}.project-steps span{font-size:10px}.project-steps b{font-size:16px}.work-tabs button span{font-size:10px}.gauges small{max-width:50%}}
@media(max-height:500px) and (min-width:600px){.objective.compact{flex-wrap:nowrap;inset:7px 110px auto 65px}.objective.compact #goal{font-size:10px}.objective.compact #workSteps i{font-size:12px}.inventory{top:6px}}
.needs{position:absolute;left:10px;bottom:12px;width:218px;padding:9px 10px;background:#183637ed;border:1px solid #b1ba8d99;border-radius:11px;text-align:start;box-shadow:0 3px 16px #071f2544;min-height:44px}.needs>small{display:block;color:#c5d4bd;font-size:10px;margin-bottom:7px}.needs-items{display:grid;gap:5px}.need-item{display:grid;grid-template-columns:19px 1fr auto;gap:6px;align-items:center;font-size:11px;line-height:1.4}.need-item>b{font-size:17px;text-align:center}.need-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.need-item>em{font-style:normal;color:#e2c997;font-size:11px}.need-item.done>em{color:#c2e0ac}.need-item.making>em{color:#a3c8c1}.needs>strong{display:block;margin-top:7px;padding-top:5px;border-top:1px solid #9eb18c44;font-size:10px;font-weight:500;color:#becdb5}.field-tools{position:absolute;right:10px;bottom:12px;display:grid;gap:6px}.field-tools button{background:#274e4ee8;min-width:48px;padding:6px;font-size:15px}.field-tools button[hidden]{display:none}.tier-input{display:block;color:#d4c49e;font-size:10px}.calibration-help{display:flex;gap:12px;align-items:center;border:1px solid #9ab58b66;border-radius:10px;padding:12px;font-size:12px;line-height:1.7}.calibration-help b{font-size:17px;min-width:65px;direction:ltr}.calibration-help span{color:#c5d1bd}
@media(max-width:600px){.needs{left:6px;bottom:7px;width:154px;padding:7px 8px;border-radius:9px}.needs>small{font-size:9px;margin-bottom:5px}.need-item{font-size:9px;grid-template-columns:16px 1fr auto;gap:4px}.need-item>b{font-size:14px}.need-item>em{font-size:9px}.needs-items{gap:3px}.needs>strong{font-size:9px;margin-top:5px;padding-top:4px}.field-tools{right:6px;bottom:7px}.field-tools button{min-width:44px;min-height:44px;font-size:13px}}
@media(max-height:500px) and (min-width:600px){.needs{width:195px;padding:5px 8px;bottom:5px;max-height:94%;overflow:auto}.needs-items{gap:2px}.needs>small{margin-bottom:3px}.need-item{font-size:10px;line-height:1.1}.need-item>b{font-size:13px}.needs>strong{margin-top:4px;padding-top:3px}}
.modules{padding-bottom:16px;border-bottom:1px solid #a3b49455;margin-bottom:15px}.modules h3{font-size:16px;display:flex;justify-content:space-between;align-items:center}.modules h3 small{direction:ltr;color:#c7d4af;font-size:12px}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.module{border:1px solid #809e8255;border-radius:11px;padding:11px;background:#18373c}.module.equipped{border-color:#c9d9a7;background:#355c4e}.module>b{font-size:13px}.module>small{display:block;font-size:11px;line-height:1.7;margin:7px 0;color:#c5d2ba}.module button{min-height:44px;font-size:11px;padding:6px 13px}.module div{text-align:end}@media(max-width:600px){.module{padding:8px}.module>b{font-size:11px}.module>small{font-size:10px}}
/* v108: a smaller manufacturing summary, retaining the whole-card touch target. */
.needs{width:182px;padding:7px 8px}.needs>small{font-size:9px;margin-bottom:4px}.needs-items{gap:3px}.need-item{font-size:10px;grid-template-columns:17px 1fr auto;gap:4px}.need-item>b{font-size:15px}.need-item>em{font-size:10px}.needs>strong{margin-top:4px;padding-top:4px;font-size:9px}.act-tabs{grid-template-columns:repeat(5,1fr)}.ore-tier{font-style:normal;color:#d2b78b;margin-inline-start:5px;font-size:10px}
@media(max-width:600px){.needs{width:132px;padding:5px 6px}.needs>small{font-size:9px;margin-bottom:3px}.need-item{font-size:9px;grid-template-columns:14px 1fr auto;gap:3px}.need-item>b{font-size:13px}.need-item>em{font-size:9px}.needs>strong{font-size:9px;margin-top:3px;padding-top:3px}.act-tabs button{font-size:10px;padding:5px 3px}}
@media(max-height:500px) and (min-width:600px){.needs{width:170px;padding:4px 6px}}

.circuit-heading{display:flex;justify-content:space-between;gap:12px}.circuit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:400px;margin:16px auto}.circuit-grid button{padding:0;min-width:0;aspect-ratio:1;touch-action:manipulation;background:#1b3435;border:1px solid #718b7d}.circuit-grid button:disabled{opacity:1}.circuit-grid svg{display:block;width:100%;height:100%}.circuit-grid .powered{box-shadow:inset 0 0 10px #dbb66555}.circuit-select{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.circuit-select button{min-width:40px}#switchyard{margin-top:8px}
