:root{--panel:#2b2a27;--panel2:#3a3935;--edge:#1a1917;--text:#e8e2d4;--dim:#a29b8c;--accent:#f0a830;--bad:#ff6a5a;--good:#6ad06a}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;background:#111;margin:0;font:13px/1.35 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}canvas{display:block}.hidden{display:none!important}.dim{color:var(--dim)}.bad{color:var(--bad)}button{background:var(--panel2);color:var(--text);cursor:pointer;font:inherit;border:1px solid #555;border-radius:3px;padding:3px 9px}button:hover{border-color:var(--accent);background:#4b4a44}#research-hud{background:#1e1d1be0;border:1px solid #000;border-radius:4px;align-items:center;gap:8px;min-width:200px;padding:6px 10px;display:flex;position:fixed;top:10px;left:10px}#research-hud img{width:32px;height:32px}#research-hud>div{flex:1}#coords{color:var(--dim);text-shadow:0 1px 2px #000;font-size:12px;position:fixed;top:62px;left:10px}#top-right{gap:6px;display:flex;position:fixed;top:10px;right:10px}#hotbar{background:#1e1d1be6;border:1px solid #000;border-radius:4px;gap:3px;padding:5px;display:flex;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}#cursor-info{text-shadow:0 1px 3px #000;white-space:nowrap;position:fixed;bottom:66px;left:50%;transform:translate(-50%)}#minimap{image-rendering:pixelated;cursor:zoom-in;background:#0b0b0b;border:2px solid #000;border-radius:4px;position:fixed;top:46px;right:10px;box-shadow:0 2px 10px #00000080}#minimap:hover{border-color:var(--accent)}#minimap.large{z-index:30;cursor:grab;border-color:#1a1917;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}#minimap.large:hover{border-color:#1a1917}.fluid img{vertical-align:middle;width:18px;height:18px}.fluid{margin:4px 0}#queue{flex-wrap:wrap;align-items:center;gap:3px;max-width:40vw;display:flex;position:fixed;bottom:10px;left:10px}#queue .more{color:var(--dim);margin-left:4px}#info{background:#1e1d1be6;border:1px solid #000;border-radius:4px;min-width:190px;max-width:280px;padding:8px 12px;display:none;position:fixed;bottom:10px;right:10px}#info b{color:var(--accent)}.slot{cursor:pointer;background:#46443e;border:1px solid #1d1c1a;border-radius:3px;flex:none;width:40px;height:40px;position:relative;box-shadow:inset 0 0 0 1px #5a5850}.slot.empty{cursor:default;background:#33322e;box-shadow:inset 0 1px 3px #0009}.slot img{pointer-events:none;width:32px;height:32px;position:absolute;top:4px;left:4px}.slot .cnt{text-shadow:0 0 2px #000,0 0 2px #000,0 0 3px #000;pointer-events:none;font-size:11px;font-weight:700;position:absolute;bottom:0;right:2px}.slot:hover:not(.empty){box-shadow:inset 0 0 0 2px var(--accent)}.slot.sel{box-shadow:inset 0 0 0 2px var(--accent);background:#6a5a35}.slot.cant img,.slot.faded img{opacity:.35}.slot.cant{background:#4a3533}.slot.hb{width:46px;height:46px}.slot.hb img{top:6px;left:6px}.slot .key{color:var(--dim);pointer-events:none;font-size:10px;position:absolute;top:1px;left:3px}.slot.q{width:36px;height:36px}.slot.q img{top:2px;left:2px}.qprog{pointer-events:none;background:#0000008c;width:100%;position:absolute;bottom:0;left:0}#window{background:var(--panel);border:2px solid var(--edge);border-radius:6px;gap:10px;max-width:96vw;max-height:90vh;padding:12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #0009}#window .close{padding:0 7px;position:absolute;top:6px;right:6px}.panel{background:var(--panel2);border:1px solid #1d1c1a;border-radius:4px;width:452px;max-height:calc(90vh - 30px);padding:8px 10px;overflow-y:auto}.panel.wide{width:min(860px,90vw)}.panel h3{color:var(--accent);justify-content:space-between;align-items:center;margin:0 0 8px;padding-right:26px;font-size:15px;display:flex}.panel h3 button{padding:1px 7px;font-size:11px}.grid{flex-wrap:wrap;gap:3px;display:flex}.grp{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 4px;font-size:11px}.hint{color:var(--dim);margin:8px 0 0;font-size:12px}.status{color:#cfc6b0;min-height:1em;margin:-4px 0 8px}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:6px 0;display:flex}.eslot{flex-direction:column;align-items:center;gap:2px;display:flex}.eslot label{color:var(--dim);font-size:11px}.arrow{text-align:center;flex:1;min-width:80px;padding-bottom:14px}.arrow small{color:var(--dim)}.bar{background:#1c1b19;border-radius:4px;height:8px;margin:4px 0;overflow:hidden}.bar>div{height:100%;transition:width .2s linear}.panel p{margin:4px 0}.techs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.tech{cursor:pointer;background:#2f2e2a;border:1px solid #1d1c1a;border-radius:4px;gap:8px;padding:8px;display:flex}.tech.avail:hover{border-color:var(--accent)}.tech.locked{opacity:.5;cursor:default}.tech.done{cursor:default;background:#2c3a2a}.tech.cur{border-color:#4ab0f0;box-shadow:0 0 0 1px #4ab0f0}.ticon img{width:48px;height:48px}.tbody{flex:1}.tcost img,.tunl img{vertical-align:middle;width:20px;height:20px}.tunl{margin-top:3px}.tunl span{color:#9fd0ff;font-size:12px}.tpre{color:var(--dim);font-size:11px}.tdone{color:var(--good)}#tooltip{z-index:50;pointer-events:none;background:#141311f5;border:1px solid #000;border-radius:4px;max-width:300px;padding:7px 10px;display:none;position:fixed}#tooltip b{color:var(--accent)}#tooltip .ing img{vertical-align:middle;width:18px;height:18px}#toasts{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{border:1px solid #000;border-left:4px solid var(--accent);background:#1e1d1bf0;border-radius:4px;padding:6px 14px;transition:opacity .5s}.toast.warn{border-left-color:var(--bad)}.toast.good{border-left-color:var(--good)}.toast.fade{opacity:0}#help{z-index:60;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#help .box{background:var(--panel);border:2px solid var(--edge);border-radius:6px;max-width:760px;max-height:90vh;padding:18px 24px;overflow-y:auto}#help h2{color:var(--accent);margin:0 0 10px}#help h4{color:var(--accent);margin:14px 0 4px}#help table{border-collapse:collapse}#help td{vertical-align:top;padding:2px 12px 2px 0}#help kbd{background:#46443e;border:1px solid #1d1c1a;border-radius:3px;padding:0 5px;font:12px monospace}#help .cols{flex-wrap:wrap;gap:30px;display:flex}#help ol{margin:4px 0;padding-left:20px}
