@font-face{font-family:Pix;src:url(assets/fonts/pixelify.woff2) format("woff2");font-display:swap}@font-face{font-family:Fraktur;src:url(assets/fonts/jacquarda.woff2) format("woff2");font-display:swap}:root{--bg: #17110c;--ink: #2a1a0e;--ink2: #5a4026;--paper: #ead9b0;--paper2: #d6c08e;--wood: #6b4a2c;--woodl: #9a6e42;--woodd: #3a2414;--out: #1c120a;--gold: #f0c850;--gold2: #b8862a;--text: #f4e6c4;--muted: #c8b48a;--red: #a8442c;--woodtex: none;--papertex: none}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font:16px/1.25 Pix,monospace;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#game canvas{display:block;image-rendering:pixelated;touch-action:none}#hud{position:fixed;inset:0;pointer-events:none}#hud>*{pointer-events:auto}img{image-rendering:pixelated}button{font:inherit;color:inherit;cursor:pointer}.wood{background:var(--wood) var(--woodtex);box-shadow:0 0 0 2px var(--out),inset 2px 2px 0 var(--woodl),inset -2px -2px 0 var(--woodd)}.paper{background:var(--paper) var(--papertex);color:var(--ink);box-shadow:0 0 0 2px var(--out),inset 2px 2px #fff3d4,inset -2px -2px 0 var(--paper2),4px 4px #00000059}.top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;height:40px;padding:0 10px 0 12px}.brand{font:30px/1 Fraktur,serif;color:var(--gold);text-shadow:2px 2px 0 var(--out);padding-top:2px}.stock{display:flex;flex:1;flex-wrap:wrap;gap:2px 12px;min-width:0;overflow:hidden;max-height:36px;align-items:center}.stock span{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 var(--out)}.stock span.zero{opacity:.45}.stock img{height:15px}.stock .settler{color:var(--gold)}.speed{display:flex;gap:4px}.pbtn{min-width:34px;height:28px;padding:0 8px;background:var(--woodd);color:var(--text);border:0;box-shadow:0 0 0 2px var(--out),inset 2px 2px #24160a,inset -2px -2px 0 var(--wood);text-shadow:1px 1px 0 var(--out)}.pbtn:hover{color:var(--gold)}.pbtn.on{color:var(--out);background:var(--gold);box-shadow:0 0 0 2px var(--out),inset 2px 2px #fff0a0,inset -2px -2px 0 var(--gold2);text-shadow:none}.tools{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px;max-width:calc(100% - 16px)}.tool{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:70px;height:74px;padding:4px 6px 3px;background:#2a1a0e;border:0;box-shadow:0 0 0 2px var(--out),inset 2px 2px #1a0f06,inset -2px -2px #4a3018;color:var(--text)}.tool img{max-height:46px;max-width:72px}.tool span{font-size:13px;line-height:1;text-shadow:1px 1px 0 var(--out);white-space:nowrap}.tool:hover{background:#3a2412}.tool.on{background:#4a3214;box-shadow:0 0 0 2px var(--out),0 0 0 4px var(--gold),inset 2px 2px #1a0f06}.tool.on span{color:var(--gold)}.sep{width:2px;background:var(--woodd);box-shadow:1px 0 0 var(--woodl);margin:0 2px}.buildwrap{display:flex;flex-direction:column;gap:6px;min-width:0}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{height:22px;padding:0 8px;font-size:13px;background:var(--woodd);color:var(--muted);border:0;box-shadow:0 0 0 2px var(--out)}.tab.on{background:var(--gold);color:var(--out)}.shelf{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.shelf::-webkit-scrollbar{display:none}.info{position:absolute;top:56px;right:14px;width:290px;padding:12px 14px 14px}.info h3{margin:0 0 6px;font:26px/1 Fraktur,serif;color:var(--red)}.info p{margin:6px 0;color:var(--ink2)}.info .warn{color:#a03a1a}.info .row{display:flex;align-items:center;gap:6px}.info img{height:12px}.info .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.info .demo{margin-top:8px;height:26px;padding:0 10px;background:var(--red);color:#fff1d8;border:0;box-shadow:0 0 0 2px var(--out),inset -2px -2px #6a2416}.info .x{position:absolute;right:8px;top:6px;width:22px;height:22px;padding:0;background:none;border:0;color:var(--ink2);font-size:18px}.hint{position:absolute;left:14px;bottom:112px;max-width:460px;padding:10px 14px;font-size:15px}.toast{position:absolute;top:58px;left:50%;transform:translate(-50%);padding:8px 16px;background:var(--red);color:#fff1d8;box-shadow:0 0 0 2px var(--out),inset -2px -2px #6a2416;opacity:0;transition:opacity .2s steps(3);pointer-events:none;text-shadow:1px 1px 0 var(--out)}.toast.on{opacity:1}.tinfo{position:absolute;right:14px;bottom:112px;max-width:320px;padding:8px 12px;font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .4s steps(4),transform .4s steps(4);pointer-events:none}.tinfo.on{opacity:1;transform:none}.news{position:absolute;top:56px;left:50%;transform:translate(-50%);padding:10px 18px;font-size:16px;opacity:0;transition:opacity .4s steps(4);pointer-events:none;text-align:center}.news b{font:24px/1 Fraktur,serif;color:var(--red);display:block}.news.on{opacity:1}.chron{position:absolute;left:14px;top:56px;width:260px;padding:10px 12px 12px}.chron h4{margin:0 0 4px;font:24px/1 Fraktur,serif;color:var(--red);display:flex;justify-content:space-between;align-items:center}.chron h4 button{background:none;border:0;color:var(--ink2);font:16px Pix;padding:0 2px}.chron ul{list-style:none;margin:0;padding:0}.chron li{display:flex;gap:6px;margin:4px 0;color:var(--ink);font-size:15px}.chron li i{font-style:normal;color:var(--ink2)}.chron li .bar{flex:none;width:40px;height:8px;margin-top:5px;background:var(--paper2);box-shadow:0 0 0 1px var(--ink2)}.chron li .bar span{display:block;height:100%;background:#5a8a2a}.chron .done{color:#5a8a2a}.chron.min ul{display:none}.err{position:fixed;inset:20px;background:#300;color:#fcc;padding:20px;white-space:pre-wrap;z-index:9}#loading{position:fixed;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--gold);font:22px Pix,monospace;background:var(--bg);z-index:5}#loading b{font:64px/1 Fraktur,serif;text-shadow:4px 4px 0 var(--out)}.menu{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#0c080459}.menu .card{width:min(420px,calc(100% - 32px));padding:22px 26px 24px;text-align:center}.menu h1{margin:0;font:72px/1 Fraktur,serif;color:var(--red);text-shadow:3px 3px 0 var(--paper2)}.menu p{margin:8px 0 18px;color:var(--ink2)}.menu .big{display:block;width:100%;height:44px;margin:10px 0 0;font-size:20px;background:var(--wood) var(--woodtex);color:var(--text);border:0;box-shadow:0 0 0 2px var(--out),inset 2px 2px 0 var(--woodl),inset -2px -2px 0 var(--woodd);text-shadow:2px 2px 0 var(--out)}.menu .big:hover{color:var(--gold)}.menu .small{margin-top:14px;font-size:13px;color:var(--ink2)}.menu .small a{color:var(--ink2)}@media (max-width: 760px){.top{height:auto;min-height:40px;flex-wrap:wrap;padding:4px 8px;gap:6px 10px}.brand{font-size:24px}.stock{order:3;flex-basis:100%;max-height:none;font-size:13px}.tools{bottom:6px;padding:6px;gap:6px}.tool{min-width:56px;height:62px}.tool img{max-height:36px;max-width:56px}.tool span{font-size:11px}.info{inset:auto 8px 120px;width:auto}.hint{left:8px;right:8px;bottom:108px;max-width:none;font-size:14px}.chron{top:84px;left:8px;width:220px}}
