:root { color-scheme: dark; --night:#0c1513; --panel:#15241f; --panel2:#1c3029; --line:#355047; --ink:#f4f2df; --muted:#b4c0b7; --lime:#d7ef75; --gold:#efbf68; --water:#65cfd1; --danger:#ff8176; --display:"Arial Black","Helvetica Neue",Arial,sans-serif; --body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
*{box-sizing:border-box} html{background:var(--night)} body{min-width:280px;margin:0;color:var(--ink);background:radial-gradient(circle at 78% 4%,rgba(101,207,209,.1),transparent 30rem),var(--night);font-family:var(--body);line-height:1.5} button,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}.site-header,main,footer{width:min(1180px,calc(100% - 36px));margin-inline:auto}.site-header{display:flex;min-height:76px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:10px;align-items:center;font-weight:850;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;color:var(--night);background:var(--lime);border-radius:9px;font-family:var(--display)}.all-games{color:var(--muted);font-size:.82rem;font-weight:850;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.eyebrow{margin:0 0 8px;color:var(--lime);font-size:.7rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.game-heading{display:grid;grid-template-columns:1fr minmax(300px,470px);gap:36px;align-items:end;padding:44px 0 28px}.game-heading h1{max-width:760px;margin:0;font-family:var(--display);font-size:clamp(2.7rem,5.7vw,5rem);line-height:.94;letter-spacing:-.06em}.game-heading>p{margin:0 0 4px;color:var(--muted)}
.game-shell{padding:14px;background:rgba(21,36,31,.96);border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.scene-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.scene-tabs button{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;min-height:54px;padding:8px 12px;color:var(--ink);background:#0e1b17;border:1px solid #2f493f;border-radius:11px;cursor:pointer;text-align:left}.scene-tabs button span{grid-row:1/3;color:var(--lime);font:900 .75rem/1 var(--display)}.scene-tabs strong,.scene-tabs small{display:block}.scene-tabs strong{font-size:.82rem}.scene-tabs small{color:var(--muted);font-size:.64rem}.scene-tabs button:hover:not(:disabled),.scene-tabs button:focus-visible,.scene-tabs button.is-selected{border-color:var(--lime);outline:none}.scene-tabs button.is-selected{background:#20362d;box-shadow:inset 3px 0 var(--lime)}.scene-tabs button:disabled{cursor:not-allowed;opacity:.45}.resource-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:9px}.resource-bar>div{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:8px;min-width:0;padding:8px 11px;background:#0d1a16;border:1px solid #2f493f;border-radius:10px}.resource>span{grid-row:1/3;width:22px;height:22px;align-self:center}.resource--wood>span{background:#bd7e45;border-radius:8px 2px;transform:rotate(-18deg)}.resource--stone>span{background:#9aa5a0;clip-path:polygon(50% 0,100% 34%,82% 100%,18% 100%,0 34%)}.resource--food>span{background:var(--gold);border-radius:50% 8% 50% 8%;transform:rotate(25deg)}.resource-bar small{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.resource-bar strong{font-size:.92rem}.resource-bar em{position:absolute;right:10px;bottom:9px;color:var(--lime);font-size:.62rem;font-style:normal}.worker-total{display:block!important}.worker-total strong,.worker-total em{display:block}.objective{display:flex;gap:12px;align-items:center;margin-bottom:9px;padding:8px 12px;background:#24372c;border:1px solid #48604f;border-radius:10px}.objective span{color:var(--gold);font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.objective strong{font-size:.78rem}.play-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(270px,1fr);gap:14px;align-items:start}.scene-frame{position:relative;overflow:hidden;background:#263731;border:1px solid #52695f;border-radius:16px}.scene-frame canvas{display:block;width:100%;height:auto;aspect-ratio:30/19;outline:none;touch-action:manipulation}.scene-frame canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--lime)}.completion{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center;background:rgba(8,19,15,.88);backdrop-filter:blur(4px)}.completion[hidden]{display:none}.completion h2{margin-bottom:10px;font-family:var(--display);font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em}.completion p:not(.eyebrow){max-width:490px;color:var(--muted)}
.control-panel{display:grid;gap:10px}.workers,.build-card{padding:12px;background:#0d1a16;border:1px solid #2f493f;border-radius:13px}.workers header{display:flex;align-items:start;justify-content:space-between}.workers h2,.build-card h2{margin-bottom:8px;font-size:1rem}.workers header>span{padding:4px 8px;color:var(--night);background:var(--lime);border-radius:15px;font-size:.65rem;font-weight:900}.worker-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 28px 32px;gap:5px;align-items:center;padding:7px 0;border-top:1px solid #263d34}.worker-row strong,.worker-row small{display:block}.worker-row strong{font-size:.73rem}.worker-row small{color:var(--muted);font-size:.6rem}.worker-row button,.utility-controls button,.build-card>button,.completion button,.modal button{min-height:34px;color:var(--ink);background:#233d33;border:1px solid #4b675b;border-radius:8px;cursor:pointer;font-weight:850}.worker-row button:hover:not(:disabled),.worker-row button:focus-visible,.utility-controls button:hover,.utility-controls button:focus-visible{border-color:var(--lime);outline:none}.worker-row button:disabled{cursor:not-allowed;opacity:.4}.worker-row b{text-align:center}.build-card>p:not(.eyebrow,.effect,.build-status){margin-bottom:10px;color:var(--muted);font-size:.72rem}.costs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:9px}.costs span{padding:6px;color:var(--muted);background:#172921;border-radius:7px;font-size:.65rem;text-align:center}.costs span.is-missing{color:#ffaaa1;outline:1px solid #7d4843}.effect{margin-bottom:7px;color:var(--gold);font-size:.68rem;font-weight:800}.build-status{min-height:20px;margin-bottom:8px;color:var(--muted);font-size:.65rem}.build-status.is-alert{color:#ffaaa1}.build-card>button{width:100%;min-height:43px;color:#17200e;background:var(--lime);border-color:var(--lime)}.build-card>button:disabled{color:var(--muted);background:#25362f;border-color:#3b5148;cursor:not-allowed}.utility-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.utility-controls button{min-height:40px}.save-status{min-height:20px;margin:0;color:var(--muted);font-size:.65rem;text-align:center}
.instructions{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(500px,1.25fr);gap:clamp(35px,7vw,90px);padding:70px 0}.instructions h2{margin-bottom:14px;font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em}.instructions>div>p:last-child,.principles p{color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.principles article{padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.principles span{color:var(--lime);font:900 .7rem/1 var(--display)}.principles h3{margin:9px 0 5px;font-size:.82rem}.principles p{margin:0;font-size:.7rem}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(3,10,8,.82);backdrop-filter:blur(5px)}.modal[hidden]{display:none}.modal>div{width:min(430px,100%);padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.modal h2{margin-bottom:9px;font-family:var(--display);font-size:1.7rem}.modal p:not(.eyebrow){color:var(--muted)}.modal>div>div{display:flex;gap:8px}.modal button{flex:1;min-height:44px}.modal .danger{color:#2d0e0a;background:var(--danger);border-color:var(--danger)}footer{display:flex;justify-content:space-between;padding:26px 0 42px;color:var(--muted);border-top:1px solid var(--line);font-size:.78rem}footer a{color:var(--ink);font-weight:850;text-decoration:none}
@media(max-width:900px){.game-heading{grid-template-columns:1fr;gap:12px}.play-layout{grid-template-columns:1fr}.control-panel{grid-template-columns:1fr 1fr}.utility-controls,.save-status{grid-column:1/-1}.instructions{grid-template-columns:1fr}}
@media(max-width:600px){.site-header,main,footer{width:min(100% - 20px,1180px)}.site-header{min-height:62px}.game-heading{padding:28px 2px 19px}.game-heading h1{font-size:2.55rem}.game-heading>p{font-size:.87rem}.game-shell{padding:7px;border-radius:15px}.scene-tabs{gap:4px}.scene-tabs button{display:block;min-width:0;min-height:48px;padding:6px;text-align:center}.scene-tabs button span,.scene-tabs button strong,.scene-tabs button small{display:block}.scene-tabs button strong{font-size:.67rem}.scene-tabs button small{font-size:.55rem}.resource-bar{grid-template-columns:1fr 1fr;gap:4px}.resource-bar>div{padding:5px 8px}.resource-bar em{right:8px;bottom:6px}.objective{display:block;padding:7px 9px}.objective span,.objective strong{display:block}.objective strong{font-size:.7rem}.scene-frame{border-radius:10px}.control-panel{grid-template-columns:1fr}.utility-controls,.save-status{grid-column:auto}.costs span{font-size:.61rem}.instructions{gap:24px;padding:52px 2px}.principles{grid-template-columns:1fr}.completion{padding:18px}.completion h2{font-size:2rem}.completion p:not(.eyebrow){font-size:.75rem}footer{gap:20px}}
@media(max-width:340px){.resource>span{display:none}.resource-bar>div{grid-template-columns:1fr}.modal>div>div{display:grid}}
