:root{color-scheme:dark;--bg:#15171b;--panel:#1e2229;--text:#eef0f3;--muted:#abb4c0;--line:#3b424d;--accent:#ffd37f;--input:#111318;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-underline-offset:3px}header{border-bottom:1px solid var(--line)}.wrap,main{max-width:1280px;margin:auto;padding:20px 28px}header .wrap{display:flex;align-items:center;gap:44px;padding-block:16px}.brand{color:var(--text);font-size:22px;font-weight:700;text-decoration:none;white-space:nowrap}.brand small{display:block;font-size:13px;color:var(--muted);font-weight:400}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;color:#fff}h1{font-size:30px;margin:10px 0 12px;font-weight:650}h2{font-size:23px;margin:27px 0 10px}p{max-width:88ch}button,input,select{font:inherit;color:inherit;background:var(--input);border:1px solid #747d8a;border-radius:4px;padding:8px 11px}button{cursor:pointer;background:#2c313a}button:hover{background:#414957}button:disabled{opacity:.45;cursor:default}input[type=checkbox]{width:18px;height:18px;margin:0 8px 0 0;accent-color:var(--accent);flex:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}label{display:block}.controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:18px 0}.controls label input,.controls label select{display:block;margin-top:5px}.controls input[type=search]{width:290px}.controls select{max-width:380px}.controls>.check{padding-bottom:8px}.check{display:flex;align-items:center;gap:2px}.sub,.source,small{font-size:14px;color:var(--muted)}small{display:block}.identity{display:flex;align-items:center;gap:10px;font-weight:600}.game-icon{object-fit:contain;image-rendering:pixelated;flex:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{color:var(--muted);font-weight:550;background:var(--panel)}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}td:first-child{min-width:170px}td p{margin:8px 0}td ul{padding-left:18px;margin:8px 0}.requirements{min-width:240px}.plan-link{display:block;margin-top:8px}.targets{display:flex;gap:10px;flex-wrap:wrap}.target{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:7px 10px;background:var(--panel)}.target button{border:0;background:none;padding:3px 5px}.actions{display:flex;gap:12px;align-items:center;margin:12px 0;flex-wrap:wrap}.empty{padding:12px 16px;background:var(--panel);border-left:3px solid var(--accent)}.budget input{width:110px}.budget td,.budget th{vertical-align:middle}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.missing{font-weight:650;color:var(--accent)}.objective{display:flex;gap:8px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.objective input{margin-top:3px}.objective.done span{color:var(--muted)}.step{border-bottom:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px}.step-main{display:flex;align-items:start;gap:12px}.step-name{font-weight:650}.step-num{color:var(--muted);font-size:14px;width:28px;flex:none}.step details{margin-top:7px}.step .cost{color:var(--muted);font-size:14px}.paid-table{margin:12px 0}.paid-table input{width:100px}.paid-table td{min-width:0;padding:8px}.help{margin:18px 0;border:1px solid var(--line);padding:8px 14px}.help p{margin:10px 0}summary{cursor:pointer;padding:6px 0;color:var(--accent)}tr:target{background:#353127;outline:2px solid var(--accent)}[hidden]{display:none!important}.pager{display:flex;align-items:center;gap:16px;margin:16px 0}.source{margin-top:30px}footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;padding:24px 28px;font-size:14px}.skip{position:absolute;left:-999px;top:4px}.skip:focus{left:12px;background:var(--input);padding:10px;z-index:10}#catalogue td:first-child{width:30%}#catalogue td:last-child{min-width:145px}#sectors td:first-child{width:30%}#sectors td:last-child{width:36%}#sectors small{margin-bottom:7px}@media(max-width:950px){header .wrap{gap:18px;align-items:start;flex-direction:column}.controls select{max-width:300px}}@media(max-width:640px){.wrap,main{padding:16px}h1{font-size:26px}nav{gap:13px;font-size:14px}.controls label{flex:1;min-width:145px}.controls input[type=search],.controls select{width:100%;max-width:100%}.controls>.check{min-width:100%;padding:4px 0}th,td{padding:10px;font-size:14px}.budget input{width:85px}.step{grid-template-columns:1fr;gap:8px}.step>.check{margin-left:40px}.requirements{min-width:200px}.budget td:first-child{min-width:140px}.budget th{min-width:85px}}
/* Factory planning retains readable source rates at desktop table widths. */
#production-lines table { min-width: 700px; }
#factories { min-width: 700px; }
#factories td:first-child { min-width: 210px; }
#factories td { min-width: 140px; }
.production-number { width: 5rem; min-width: 4rem; padding: .45rem; }
.material-flow { display: block; margin: .25rem 0; }
.flow-need { color: #ffd47c; }
.flow-surplus { color: #9de4be; }
#production-lines small { display: block; margin-top: .4rem; }
.wiki-workspace #factories .ws-row-actions label { min-height: 32px; padding: 4px 0; color: var(--text); cursor: pointer; }
.wiki-workspace #factories .ws-row-actions label span { font-size: 13px !important; }
.wiki-workspace #factories .ws-row-actions button { font-size: 13px; min-height: 32px; }
#extraction-catalogue { min-width: 760px; }
#extraction-catalogue td:first-child { width: 32%; min-width: 215px; }
#extraction-catalogue td:nth-child(2) { width: 29%; }
#extraction-catalogue td { min-width: 135px; }
#rate-calculator { border: 1px solid var(--line); padding: 18px 22px; margin: 24px 0; background: var(--panel); }
#rate-calculator h2 { margin-top: 0; }
.wiki-workspace #rate-calculator .controls { border: 0; background: transparent; padding: 0; }
.extraction-calculator-grid { display: grid; grid-template-columns: minmax(280px,.9fr) minmax(360px,1.1fr); gap: 30px; }
#rate-calculator .sub { color: #c0cad1; }
.extraction-calculator-grid .extraction-totals { grid-template-columns: 1fr; gap: 0; }
.extraction-calculator-grid .extraction-totals h3 { margin-top: 12px; }
#rate-calculator input[type=number] { width: 8rem; }
.extraction-output { display: flex; align-items: center; gap: 14px; padding-top: 12px; }
.extraction-output img { object-fit: contain; image-rendering: pixelated; }
.extraction-output strong { display: block; font-size: 24px; color: var(--accent); }
.extraction-output span { display: block; color: var(--muted); }
.extraction-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border-top: 1px solid var(--line); }
.extraction-totals h3 { font-size: 17px; margin-bottom: 8px; }
.extraction-totals ul { padding-left: 20px; }
.terrain-help { width: 100%; font-size: 14px; }
.wiki-workspace #extraction-catalogue .ws-row-actions label { min-height: 32px; padding: 4px 0; color: var(--text); cursor: pointer; }
.wiki-workspace #extraction-catalogue .ws-row-actions label span { font-size: 13px !important; }
.wiki-workspace #extraction-catalogue .ws-row-actions button { font-size: 13px; min-height: 32px; }
@media(max-width:640px) { #rate-calculator { padding: 14px; } .extraction-totals { grid-template-columns: 1fr; gap: 0; } .extraction-output strong { font-size: 20px; } }
@media(max-width:1050px) { .extraction-calculator-grid { grid-template-columns: 1fr; gap: 0; } }

#power-settings:empty{display:none}.fuel-options{padding-left:1.2em}.fuel-options li+li{margin-top:.65em}.power-warning{border-left:3px solid #eeb965;padding-left:.8em}

.unit-budget-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}.unit-summary{padding:20px;background:var(--panel,#20242d);border:1px solid var(--line,#414650);border-radius:8px;align-self:start}.unit-summary p:first-child{margin-top:0}@media(max-width:760px){.unit-budget-grid{grid-template-columns:1fr}}
