@font-face{font-family:Titillium Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/titillium-web-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/titillium-web-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web Fallback;src:local(DejaVu Sans);font-style:normal;font-weight:400;size-adjust:82.825%;ascent-override:136.794%;descent-override:46.846%;line-gap-override:0%}@font-face{font-family:Titillium Web DejaVu;src:local(DejaVu Sans);font-style:normal;font-weight:400;size-adjust:82.825%;ascent-override:136.794%;descent-override:46.846%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Liberation Sans);font-style:normal;font-weight:400;size-adjust:94.437%;ascent-override:119.974%;descent-override:41.086%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Roboto);font-style:normal;font-weight:400;size-adjust:94.644%;ascent-override:119.712%;descent-override:40.996%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Helvetica);font-style:normal;font-weight:400;size-adjust:94.437%;ascent-override:119.974%;descent-override:41.086%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Arial),local(ArialMT);font-style:normal;font-weight:400;size-adjust:94.437%;ascent-override:119.974%;descent-override:41.086%;line-gap-override:0%}@font-face{font-family:Titillium Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/titillium-web-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/titillium-web-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web Fallback;src:local(DejaVu Sans Bold);font-style:normal;font-weight:600;size-adjust:74.71%;ascent-override:151.653%;descent-override:51.934%;line-gap-override:0%}@font-face{font-family:Titillium Web DejaVu;src:local(DejaVu Sans Bold);font-style:normal;font-weight:600;size-adjust:74.71%;ascent-override:151.653%;descent-override:51.934%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Liberation Sans Bold);font-style:normal;font-weight:600;size-adjust:89.379%;ascent-override:126.764%;descent-override:43.411%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Roboto Bold);font-style:normal;font-weight:600;size-adjust:94.88%;ascent-override:119.414%;descent-override:40.894%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Helvetica-Bold);font-style:normal;font-weight:600;size-adjust:89.379%;ascent-override:126.764%;descent-override:43.411%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Arial Bold),local(Arial-BoldMT);font-style:normal;font-weight:600;size-adjust:89.379%;ascent-override:126.764%;descent-override:43.411%;line-gap-override:0%}@font-face{font-family:Titillium Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/titillium-web-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/titillium-web-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web Fallback;src:local(DejaVu Sans Bold);font-style:normal;font-weight:700;size-adjust:75.755%;ascent-override:149.561%;descent-override:51.218%;line-gap-override:0%}@font-face{font-family:Titillium Web DejaVu;src:local(DejaVu Sans Bold);font-style:normal;font-weight:700;size-adjust:75.755%;ascent-override:149.561%;descent-override:51.218%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Liberation Sans Bold);font-style:normal;font-weight:700;size-adjust:90.629%;ascent-override:125.016%;descent-override:42.812%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Roboto Bold);font-style:normal;font-weight:700;size-adjust:96.207%;ascent-override:117.766%;descent-override:40.33%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Helvetica-Bold);font-style:normal;font-weight:700;size-adjust:90.629%;ascent-override:125.016%;descent-override:42.812%;line-gap-override:0%}@font-face{font-family:Titillium Web Fallback;src:local(Arial Bold),local(Arial-BoldMT);font-style:normal;font-weight:700;size-adjust:90.629%;ascent-override:125.016%;descent-override:42.812%;line-gap-override:0%}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-ext-standard-normal.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-standard-normal.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-greek-ext-standard-normal.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-greek-standard-normal.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-vietnamese-standard-normal.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-standard-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-standard-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable Fallback;src:local(DejaVu Serif);font-style:normal;font-weight:200 900;size-adjust:93.109%;ascent-override:126.412%;descent-override:33.08%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Noto Serif);font-style:normal;font-weight:200 900;size-adjust:100.0%;ascent-override:117.7%;descent-override:30.8%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Times New Roman),local(TimesNewRomanPSMT);font-style:normal;font-weight:200 900;size-adjust:118.4%;ascent-override:99.409%;descent-override:26.014%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Georgia),local(Georgia);font-style:normal;font-weight:200 900;size-adjust:107.896%;ascent-override:109.087%;descent-override:28.546%;line-gap-override:0%}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-ext-standard-italic.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-standard-italic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-greek-ext-standard-italic.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-greek-standard-italic.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-vietnamese-standard-italic.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-standard-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-standard-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable Fallback;src:local(DejaVu Serif Italic);font-style:italic;font-weight:200 900;size-adjust:87.688%;ascent-override:134.225%;descent-override:35.124%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Noto Serif Italic);font-style:italic;font-weight:200 900;size-adjust:96.588%;ascent-override:121.857%;descent-override:31.888%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);font-style:italic;font-weight:200 900;size-adjust:110.974%;ascent-override:106.061%;descent-override:27.754%;line-gap-override:0%}@font-face{font-family:Literata Variable Fallback;src:local(Georgia Italic),local(Georgia-Italic);font-style:italic;font-weight:200 900;size-adjust:99.65%;ascent-override:118.113%;descent-override:30.908%;line-gap-override:0%}:root{color-scheme:dark;--factorio-frame:#313031;--factorio-deep:#242324;--factorio-sub:#414040;--factorio-caption:#ffe6c0;--factorio-text:#fff;--factorio-muted:#cfc9bf;--factorio-orange:#faa838;--factorio-orange-glow:#ffa200;--factorio-button:#8e8e8e;--factorio-button-label:#1c1c1c;--factorio-button-hover:#ffbd66;--factorio-confirm:#5eb663;--factorio-back:#e2735f;--factorio-blue:#80cef0;--factorio-font:"Titillium Web", "Titillium Web Fallback", "Titillium Web DejaVu", system-ui, sans-serif;--factorio-glow:0 0 0 1px var(--factorio-orange-glow), 0 0 6px #ffa20088;--factorio-u:4px;--factorio-slot:40px;--factorio-green:#87d88b;--factorio-red:#ff8e8e;--factorio-blueprint:#1c3a5e;--factorio-achievement:#d2fd91;--factorio-tan:#e2cfa6;--factorio-belt:#e3b341;--factorio-ground:#2b261d;--factorio-page:#1d1b18;--factorio-ink:#e6e0d4;--factorio-ink-muted:#b9b2a5;--factorio-link-hover:#b4e4f8;--factorio-rule:#3a3631;--factorio-lamp-shipped:#80cef0;--factorio-lamp-running:#4cff58;--factorio-lamp-rnd:#ff9d1a;--factorio-hazard:#e2ac2a;--factorio-hazard-dark:#1c1a18;--factorio-rail-yellow:#d9a52b;--factorio-rail-shade:#8e6514;--factorio-bar-h:56px;--factorio-col:720px;--factorio-gutter:16px;--factorio-serif:"Literata Variable", "Literata Variable Fallback", Georgia, serif;--factorio-mono:ui-monospace, "DejaVu Sans Mono", monospace;--fs-h1-gui:700 28px/32px var(--factorio-font);--fs-caption:700 18px/24px var(--factorio-font);--fs-ui-lg:600 16px/22px var(--factorio-font);--fs-ui:400 14px/20px var(--factorio-font);--fs-ui-sm:400 13px/18px var(--factorio-font);--fs-ui-xs:700 12px/16px var(--factorio-font);--fs-read-h1:600 32px/38px var(--factorio-serif);--fs-read-dek:italic 400 18px/27px var(--factorio-serif);--fs-read:400 17px/29px var(--factorio-serif);--fs-read-h2:600 23px/30px var(--factorio-serif);--fs-read-h3:600 19px/27px var(--factorio-serif);--fs-read-sm:400 15px/24px var(--factorio-serif);--fs-code:400 14px/22px var(--factorio-mono)}@media (width>=720px){:root{--factorio-gutter:24px;--fs-h1-gui:700 32px/36px var(--factorio-font);--fs-read-h1:600 48px/56px var(--factorio-serif);--fs-read-dek:italic 400 21px/30px var(--factorio-serif);--fs-read:400 19px/33px var(--factorio-serif);--fs-read-h2:600 28px/36px var(--factorio-serif);--fs-read-h3:600 22px/30px var(--factorio-serif);--fs-code:400 15px/24px var(--factorio-mono)}}@media (width>=1440px){:root{--factorio-gutter:160px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--factorio-deep);scroll-padding-top:calc(var(--factorio-bar-h) + 16px)}body{background:var(--factorio-page);color:var(--factorio-text);font:400 14px/1.45 var(--factorio-font);-webkit-font-smoothing:antialiased;margin:0}main:focus{outline:none}::selection{background:var(--factorio-orange);color:var(--factorio-button-label)}:focus-visible{outline:2px solid var(--factorio-orange);outline-offset:2px}a{color:var(--factorio-blue);text-underline-offset:3px}a:hover{color:var(--factorio-link-hover)}img,video{max-width:100%;height:auto}.sr-only,.sr-only-world{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html:not(.js) [data-needs-js]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.fw,.fp{background:var(--factorio-frame);border:1px solid #000;box-shadow:inset 1px 1px #ffffff1a,inset -1px -1px #00000080,0 4px 14px #00000073}.fw{min-width:0;padding:8px 12px 12px;scroll-margin-top:72px}.fp{padding:8px}.fw-bar{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:28px;margin:0 0 8px;display:flex}.fw-caption{color:var(--factorio-caption);white-space:nowrap;margin:0;font-size:18px;font-weight:700;line-height:24px}.fw-caption:focus{outline:none}@media (width<=719px){.fw-caption{white-space:normal;min-width:0}}.fw-filler{background:repeating-linear-gradient(0deg,#3d3c3d 0 2px,#1d1c1d 2px 4px);flex:1 1 0;align-self:center;min-width:0;height:24px;box-shadow:inset 0 0 0 1px #0000008c}.fw-key{min-width:24px;height:24px;font:700 13px/1 var(--factorio-font);color:var(--factorio-button-label);background:var(--factorio-button);border:1px solid #000;place-items:center;padding:0 6px;display:grid;box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000004d}.fw-deep{background:var(--factorio-deep);border:1px solid #0e0e0e;box-shadow:inset 0 2px 6px #000000a6}.fsub{color:var(--factorio-caption);background:var(--factorio-sub);border:1px solid #0e0e0e;border-bottom:0;justify-content:space-between;align-items:baseline;gap:8px;margin:0;padding:4px 8px;font-size:14px;font-weight:600;display:flex;box-shadow:inset 0 1px #ffffff14}.fsub small{color:var(--factorio-muted);font-size:12px;font-weight:400}.fbtn{min-height:32px;font:700 16px/1 var(--factorio-font);color:var(--factorio-button-label);background:var(--factorio-button);cursor:pointer;border:1px solid #000;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;text-decoration:none;transition:background-color 80ms linear;display:inline-flex;box-shadow:inset 0 2px #ffffff52,inset 0 -2px #00000052}a.fbtn.fbtn,a.fbtn.fbtn:hover{color:var(--factorio-button-label)}.fbtn:hover,.fbtn:focus-visible,.fbtn[aria-current=page],.fbtn[aria-pressed=true]{background:var(--factorio-button-hover);box-shadow:inset 0 2px 0 #fff6, inset 0 -2px 0 #00000040, var(--factorio-glow)}.fbtn:focus-visible{outline:2px solid var(--factorio-orange);outline-offset:2px}.fbtn:active{transform:translateY(1px);box-shadow:inset 0 2px #00000059,inset 0 -1px #fff3}.fbtn-go{background:var(--factorio-confirm)}.fbtn-back{background:var(--factorio-back)}.fbtn-sm{min-width:24px;min-height:24px;padding:0 6px;font-size:14px}.fbtn-lg{min-height:44px;padding:0 18px}.fbtn[hidden]{display:none}.fbtn-text{text-align:left;gap:2px;display:grid}.fbtn-sub{font:600 12px/16px var(--factorio-font);opacity:.85}.fbtn-ext{font-size:.8em}@media (pointer:coarse){.fbtn,.fbtn-sm,a.fslot,button.fslot{min-width:44px;min-height:44px}.fbtn-lg{min-height:56px}}@media (prefers-reduced-motion:reduce){.fbtn:active{transform:none}}html.reduce-motion .fbtn:active{transform:none}.fslot{width:var(--factorio-slot);height:var(--factorio-slot);color:inherit;background:#8e8e8e;border:1px solid #1a1a1a;flex:none;place-items:center;padding:0;text-decoration:none;display:grid;position:relative;box-shadow:inset 2px 2px #00000047,inset -1px -1px #ffffff40}.fslot-32{--factorio-slot:32px}.fslot-56{--factorio-slot:56px}button.fslot,a.fslot{cursor:pointer}button.fslot:hover,a.fslot:hover,.fslot:focus-visible,.fslot[aria-pressed=true]{background:var(--factorio-button-hover);box-shadow:inset 2px 2px 0 #0003, var(--factorio-glow);z-index:1}.fcount{font:700 12px/1.2 var(--factorio-font);color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;pointer-events:none;position:absolute;bottom:0;right:2px}.ficon{image-rendering:auto;background-repeat:no-repeat;flex:none;display:inline-block}.fbar{background:#1b1a1b;border:1px solid #000;height:12px;display:block;position:relative;box-shadow:inset 0 1px 2px #000000b3}.fbar i,.fbar-fill{background:linear-gradient(#ffc56b, var(--factorio-orange) 55%, #c97f17);transform-origin:0;transform:scaleX(var(--p,0));position:absolute;inset:1px}.flamp{font:600 13px/18px var(--factorio-font);color:var(--factorio-muted);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.flamp:before{content:"";background:var(--lamp,var(--factorio-button));width:10px;height:10px;box-shadow:0 0 6px var(--lamp,transparent), inset 0 1px 0 #fff6;border:1px solid #000;flex:none}.flamp[data-status=shipped]{--lamp:var(--factorio-lamp-shipped)}.flamp[data-status=active]{--lamp:var(--factorio-lamp-running)}.flamp[data-status=experiment]{--lamp:var(--factorio-lamp-rnd)}.fpanel-right{min-width:0;font:400 13px/18px var(--factorio-font);color:var(--factorio-muted);flex:0 auto}.fpanel-deep{padding:10px 12px}.fsub-h{font:inherit;color:inherit;margin:0}.fbar-wrap{gap:4px;display:grid}.fbar-label{font:400 13px/18px var(--factorio-font);color:var(--factorio-muted)}.topbar{z-index:50;height:var(--factorio-bar-h);background:var(--factorio-frame);border-bottom:1px solid #000;align-items:center;gap:6px;padding:0 12px;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffffff14}.skip{z-index:60;position:absolute;top:8px;left:8px;translate:0 -200%}.skip:focus-visible{translate:none}.topbar .brand{min-height:44px;color:var(--factorio-caption);white-space:nowrap;align-items:center;gap:8px;margin-right:auto;text-decoration:none;display:inline-flex}.topbar .brand:hover{color:var(--factorio-caption)}.brand-mark{flex:none;display:block}.brand-mark-text{font:700 9px var(--factorio-font)}.brand-name{font:700 17px/22px var(--factorio-font)}.tabs{display:none}.tabs ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.topbar .tab{height:40px;font:600 16px/1 var(--factorio-font);color:var(--factorio-text);align-items:center;padding:0 16px;text-decoration:none;transition:background-color 80ms linear;display:flex;position:relative}.topbar .tab:hover{color:var(--factorio-text);background:var(--factorio-sub)}.topbar .tab[aria-current=page]{color:var(--factorio-button-label);background:var(--factorio-button);box-shadow:inset 0 2px 0 #ffffff52, inset 0 -3px 0 var(--factorio-orange);border:1px solid #000}.bar-actions{align-items:center;gap:6px;display:flex}.bar-action{min-height:44px;padding:0 10px;font-size:15px}.topbar .menu-btn{width:44px;height:44px;color:var(--factorio-button-label);background:var(--factorio-button);cursor:pointer;border:1px solid #000;place-items:center;padding:0;display:inline-grid;box-shadow:inset 0 2px #ffffff52,inset 0 -2px #00000052}.topbar .menu-btn:hover,.topbar .menu-btn:focus-visible,.topbar .menu-btn[aria-expanded=true]{color:var(--factorio-button-label);background:var(--factorio-button-hover);box-shadow:inset 0 2px 0 #fff6, var(--factorio-glow)}.menu-icon{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:square;width:24px;height:24px}.menu-x,.menu-btn[aria-expanded=true] .menu-bars{display:none}.menu-btn[aria-expanded=true] .menu-x{display:inline}@media (width<=359px){.brand-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=720px){.topbar{gap:8px;padding:0 16px}.brand-name{font-size:20px;line-height:24px}.bar-actions{gap:8px}.bar-action{min-height:40px;font-size:16px}.bar-resume{min-width:112px}.bar-contact{min-width:120px}}@media (width>=1100px){.topbar .brand{margin-right:40px}.tabs{margin-right:auto;display:block}.topbar .menu-btn{display:none}}@media (pointer:coarse){.bar-action{min-height:44px}}.navsheet{width:100%;max-width:none;max-height:calc(100svh - var(--factorio-bar-h));padding:6px 16px max(16px, env(safe-area-inset-bottom));color:var(--factorio-text);background:var(--factorio-frame);border:1px solid #000;border-bottom:0;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:inset 0 1px #ffffff1a,0 -6px 24px #00000080}.navsheet[open]{animation:.16s ease-out sheet-rise}.navsheet::backdrop{background:#0000008c}@keyframes sheet-rise{0%{opacity:.6;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.navsheet[open]{animation:none}}html.reduce-motion .navsheet[open]{animation:none}.navsheet-close{width:44px;height:44px;color:var(--factorio-button-label);background:var(--factorio-button-hover);box-shadow:inset 0 2px 0 #fff6, var(--factorio-glow);cursor:pointer;border:1px solid #000;place-items:center;padding:0;display:grid;position:fixed;top:6px;right:12px}.navsheet-close svg{fill:none;stroke:currentColor;stroke-width:2.6px;width:24px;height:24px}@media (width>=720px){.navsheet-close{right:16px}}.navsheet-grab{touch-action:none;cursor:grab;place-items:center;height:24px;margin:0 -16px 4px;display:grid}.navsheet-grab span{background:#5c5a57;border:1px solid #000;width:48px;height:5px}.navsheet-grid{grid-template-columns:1fr 1fr;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.navsheet .navsheet-dest{min-height:50px;color:var(--factorio-text);background:var(--factorio-deep);border:1px solid #0e0e0e;align-content:center;gap:2px;padding:4px 12px;text-decoration:none;display:grid;box-shadow:inset 0 2px 6px #000000a6}.navsheet-dest b{font:700 16px/20px var(--factorio-font)}.navsheet-dest span{font:400 12px/16px var(--factorio-font);color:var(--factorio-muted)}.navsheet .navsheet-dest:hover{color:var(--factorio-text);background:var(--factorio-sub)}.navsheet .navsheet-dest[aria-current=page]{color:var(--factorio-button-label);background:var(--factorio-button);box-shadow:inset 0 2px 0 #ffffff52, inset 0 -3px 0 var(--factorio-orange);border-color:#000}.navsheet-dest[aria-current=page] span{color:#2a2a2a}.navsheet-extra{margin:0 0 12px}.navsheet-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.navsheet-actions .fbtn{min-height:48px}.navsheet-contact,.navsheet-disclaimer{text-align:center;font:400 14px/20px var(--factorio-font);margin:14px 0 0}.navsheet-contact a{padding:12px 2px;display:inline-block}.navsheet-disclaimer{color:var(--factorio-muted);margin-top:4px;font-size:13px}@media (width>=720px){.navsheet{padding-inline:max(24px,50% - 300px)}}.site-foot{color:var(--factorio-muted);background:var(--factorio-frame);font:400 15px/22px var(--factorio-font);border-top:1px solid #000;margin-top:64px}.site-foot:before{content:"";background:repeating-linear-gradient(-45deg, var(--factorio-hazard) 0 10px, var(--factorio-hazard-dark) 10px 20px);border-bottom:1px solid #000;height:10px;display:block}.foot-cols{padding:24px var(--factorio-gutter) 28px;gap:28px;display:grid}.foot-col:focus{outline:none}.foot-h{font:700 15px/20px var(--factorio-font);color:var(--factorio-caption);margin:0 0 10px}.foot-list{margin:0;padding:0;list-style:none}.foot-list-2{grid-template-rows:repeat(4,auto);grid-template-columns:repeat(2,minmax(0,max-content));grid-auto-flow:column;column-gap:40px;display:grid}.foot-list a{padding:3px 0;text-decoration:none;display:inline-block}.foot-list a:hover{text-decoration:underline}.foot-col p{margin:0 0 4px;font-size:14px}.foot-disclaimer{padding:12px var(--factorio-gutter) max(12px, env(safe-area-inset-bottom));text-align:center;font:600 14px/20px var(--factorio-font);color:var(--factorio-muted);background:var(--factorio-deep);border-top:1px solid #000;margin:0}@media (pointer:coarse){.foot-list a{min-width:44px;min-height:44px;padding:11px 0}}@media (width>=720px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}.page-wrap{width:100%;max-width:calc(1120px + 2 * var(--factorio-gutter));padding:0 var(--factorio-gutter);margin:0 auto}@media (width<=719px){.page-wrap{padding:0 8px}}.page-body{gap:16px;margin-top:24px;display:grid}.concrete{background-color:#4d4b47;background-image:linear-gradient(#0000002e 1px,#0000 1px),linear-gradient(90deg,#0000002e 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-size:32px 32px,32px 32px,8px 8px}.strip{border-bottom:1px solid #000;align-items:center;height:112px;display:flex;position:relative;overflow:hidden}.strip:before{content:"";aspect-ratio:780/224;border:0 solid;border-image:var(--still-sm,none) 0 fill / 0 stretch;min-width:100%;min-height:100%;position:absolute;top:50%;left:50%;translate:-50% -50%}.strip:after{content:"";background:linear-gradient(90deg,#1d1b18eb 0%,#1d1b18bf 45%,#1d1b1800 100%);position:absolute;inset:0}html.save-data .strip:before{border-image-source:none}.strip-plate{z-index:1;width:min(640px,100% - 16px);margin-left:8px;padding:10px 16px 12px;position:relative}.strip-h1{font:var(--fs-h1-gui);color:var(--factorio-caption);margin:0}.strip-line{font:400 14px/20px var(--factorio-font);color:var(--factorio-muted);margin:4px 0 0}@media (width>=720px){.strip{height:160px}.strip:before{aspect-ratio:1440/160;border-image-source:var(--still-lg,var(--still-sm,none))}.strip-plate{margin-left:var(--factorio-gutter);padding:12px 18px 14px}.strip-line{font-size:16px;line-height:22px}}@media (width>=1440px){.strip-plate{margin-left:max(var(--factorio-gutter), calc(50% - 560px))}}.rail{background:linear-gradient(var(--factorio-rail-yellow), var(--factorio-rail-yellow)) top / 100% 3px no-repeat, linear-gradient(var(--factorio-rail-shade), var(--factorio-rail-shade)) 0 3px / 100% 1px no-repeat, linear-gradient(var(--factorio-rail-shade), var(--factorio-rail-shade)) 0 calc(100% - 3px) / 100% 1px no-repeat, linear-gradient(var(--factorio-rail-yellow), var(--factorio-rail-yellow)) bottom / 100% 3px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M5 4l5 5-5 5' fill='none' stroke='%23413c34' stroke-width='2'/%3E%3C/svg%3E") 0 center / 18px 18px repeat-x, #24211d;border-bottom:1px solid #000;align-items:center;height:44px;display:flex;position:relative}.rail-tag{background:var(--factorio-frame);border:1px solid #000;align-items:center;gap:14px;max-width:calc(100% - 16px);min-height:30px;margin-left:8px;padding:0 12px;display:flex;overflow:hidden;box-shadow:inset 1px 1px #ffffff1a,0 2px 6px #00000080}.rail-tag a{min-height:30px;font:600 14px/1 var(--factorio-font);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.rail-tag a:hover{text-decoration:underline}.rail-line{font:400 13px/1 var(--factorio-font);color:var(--factorio-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width>=720px){.rail-tag{margin-left:max(var(--factorio-gutter), calc(50% - var(--factorio-col) / 2 - 12px))}}@media (pointer:coarse){.rail-tag a{min-height:44px}.rail{height:52px}}.ledger{margin:0;padding:0;list-style:none}.ledger-row{grid-template-columns:minmax(0,1fr);gap:2px 16px;padding:12px 12px 13px;display:grid;position:relative}.ledger-row+.ledger-row{border-top:1px solid #0e0e0e;box-shadow:inset 0 1px #ffffff0a}.ledger-row:has(a.ledger-link:hover){background:#ffffff0a}.ledger-when{font:600 13px/20px var(--factorio-font);color:var(--factorio-muted);white-space:nowrap}.ledger-title{font:700 18px/24px var(--factorio-font);color:var(--factorio-text);margin:0}.ledger-title-sm{font-size:16px;line-height:22px}.ledger-link{color:var(--factorio-blue);text-decoration:none}.ledger-link:hover{text-decoration:underline}@media (pointer:coarse){.ledger-link{padding-block:11px}}.ledger-stretch .ledger-link:after{content:"";position:absolute;inset:0}.ledger-text{font:400 15px/22px var(--factorio-font);color:var(--factorio-muted);margin:2px 0 0}.ledger-by{color:var(--factorio-muted);font-weight:400}.ledger-icon{display:none}@media (width>=720px){.ledger-row{grid-template-columns:128px minmax(0,1fr);align-items:baseline}.ledger-row>.ledger-body{grid-column:2}.ledger-row>.ledger-when{grid-area:1/1}}.gui-text{font:400 15px/23px var(--factorio-font);color:var(--factorio-text)}.gui-text h2{font:600 15px/22px var(--factorio-font);color:var(--factorio-caption);background:var(--factorio-sub);border:1px solid #0e0e0e;margin:16px 0 0;padding:4px 10px;box-shadow:inset 0 1px #ffffff14}.gui-text h2:first-child{margin-top:0}.gui-text h2+*{background:var(--factorio-deep);border:1px solid #0e0e0e;margin-top:0;padding:10px 12px;box-shadow:inset 0 2px 6px #000000a6}.gui-text p{margin:0 0 10px}.gui-text ul{margin:0;padding:10px 12px 10px 30px}.gui-text li+li{margin-top:8px}.gui-text strong{color:var(--factorio-caption)}.gui-text a[href^=http]:after{content:" ↗";font-size:.75em}.button-row{flex-wrap:wrap;gap:8px;display:flex}@media print{:root{color-scheme:light}html,body{color:#000!important;background:#fff!important}body,.prose{font:11pt/1.5 var(--factorio-serif)}.read-col{max-width:none;padding:0}.read-h1{font-size:22pt;line-height:1.2}.read-dek{font-size:13pt;line-height:1.4}.prose h2{font-size:15pt;line-height:1.3}.prose h3{font-size:12.5pt;line-height:1.3}.topbar,.rail,.strip,.cellstrip,.navsheet,.foot-cols,.site-foot:before,canvas,video,button,.fbtn{display:none!important}.site-foot,.foot-disclaimer{margin:0;color:#000!important;background:0 0!important;border:0!important}.fw,.fp,.fw-deep{color:#000!important;box-shadow:none!important;background:0 0!important;border:1px solid #999!important}body *,body :before,body :after{color:#000!important;text-shadow:none!important}.prose th,.prose td,.prose pre,.fsub,.fslot{box-shadow:none!important;background:0 0!important}.fw-filler{display:none!important}:where(a)[href^=http]:after,.prose a[href^=http][href]:after,.gui-text a[href^=http][href]:after{content:" (" attr(href) ")";font-size:.85em}.prose code{background:0 0!important}}
