:root{color-scheme:light;--ink:#223c3b;--jade:#24675c;--coral:#b65a43;--paper:#f6f2e9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#dfeee5 0,transparent 45%),var(--paper);color:var(--ink);font:16px/1.5 ui-sans-serif,system-ui,sans-serif}main{max-width:1160px;margin:auto;padding:44px 30px}header{margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:800;color:#687f75;margin:0 0 10px}h1{font:normal clamp(48px,7vw,76px)/1.05 Georgia,serif;margin:0 0 15px;letter-spacing:-.05em}h1 em{font-weight:normal;color:var(--jade)}.lede{color:#62756c;margin:0;font-size:17px}.table{display:grid;grid-template-columns:minmax(0,650px) minmax(250px,340px);gap:32px;align-items:start}.boardwrap{background:#e4e7db;border:1px solid #cdd6c6;border-radius:24px;padding:24px;box-shadow:0 16px 40px #324c3c12}.bar{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:750;margin-bottom:22px}#side{letter-spacing:.1em;color:var(--jade)}#phase{color:#65776b}#board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.tile{position:relative;aspect-ratio:1;border:1px solid #c9d0bd;border-bottom:5px solid #bac5b0;border-radius:12px;background:#f8f7ef;cursor:pointer;min-width:0;padding:0;transition:transform .15s,border .15s;isolation:isolate}.tile:disabled{cursor:default}.tile.legal{outline:2px solid #94b4a0;outline-offset:-3px;background:#eef5e8}.tile.legal:hover{transform:translateY(-3px);background:#fff}.tile:focus-visible{outline:3px solid #c27a26;outline-offset:2px}.tile.selected{box-shadow:0 0 0 3px var(--jade);z-index:1}.tile.suggested{outline:4px solid #e0a747;outline-offset:1px;z-index:2}.coord{position:absolute;left:6px;top:2px;font-size:10px;color:#879384}.floor{position:absolute;border-radius:6px;background:#e8e4d6;border:1px solid #bcbca8;box-shadow:0 3px 0 #b6bba6;left:12%;right:12%;height:55%;bottom:12%}.floor.f2{left:21%;right:21%;bottom:23%;background:#f2eee3}.floor.f3{left:30%;right:30%;bottom:34%;background:#fffaf0}.dome{position:absolute;left:29%;right:29%;height:40%;bottom:36%;border-radius:50% 50% 12% 12%;background:#527d96;border:1px solid #365e79;box-shadow:0 4px 0 #395d77}.worker{position:absolute;display:grid;place-items:center;left:30%;top:25%;width:40%;height:40%;font-size:clamp(15px,3vw,30px);border-radius:50%;color:white;background:var(--jade);box-shadow:0 3px 0 #143e35,0 0 0 3px #f9f7ec;z-index:5}.worker.coral{background:var(--coral);box-shadow:0 3px 0 #7d3c2e,0 0 0 3px #f9f7ec}.height{position:absolute;right:6px;bottom:1px;font-size:11px;color:#4c6257;font-weight:bold}.legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;margin-top:22px;color:var(--jade)}.coral{color:var(--coral)}aside{display:grid;gap:15px}.card{border:1px solid #d9ddce;background:#fffcf5b3;border-radius:16px;padding:20px}h2{font:normal 26px/1.2 Georgia,serif;margin:0 0 12px}.card p{font-size:14px;color:#64756a}.card #toast{color:#8b5f24;min-height:22px}.actions{display:flex;flex-wrap:wrap;gap:8px}button,select{font:inherit}button:not(.tile){border-radius:8px;border:1px solid #aebdaf;background:var(--jade);color:white;padding:10px 12px;font-size:13px;cursor:pointer}button.subtle{color:var(--ink);background:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d59a43;outline-offset:3px}.settings{display:grid;gap:8px}.settings label{font-size:12px;color:#65766b;font-weight:bold}.settings select{width:100%;padding:10px;background:#fcfaf4;border:1px solid #cad2c3;border-radius:8px;color:var(--ink);margin-bottom:6px}.settings small{font-size:10px;color:#7a8477}summary{cursor:pointer;font-size:13px;font-weight:700}footer{margin-top:30px;font-size:11px;color:#6c7e71}a{color:var(--jade);text-underline-offset:3px}body.thinking #board{opacity:.8}@media(max-width:760px){main{padding:25px 16px}.table{grid-template-columns:1fr;gap:18px}.boardwrap{padding:16px}#board{gap:6px}.bar{margin-bottom:15px;font-size:10px}.coord{font-size:8px;left:4px}.tile{border-radius:8px}.legend{font-size:9px}aside{grid-template-columns:1fr}h1{font-size:52px}.lede{font-size:14px}.card{padding:17px}.worker{font-size:20px}header{margin-bottom:22px}}

.worker.coral{color:#fff}
