:root{color-scheme:light;--ink:#203c35;--soft:#63756b;--paper:#f5f3ec;--card:#fffef9;--line:#d8dfd3;--green:#1d5846;--mint:#e5edde;--amber:#ab641c;--shadow:0 5px 24px #24493607;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select{font:inherit}button,.file-button{border:1px solid #b7c8b7;background:var(--card);color:var(--ink);border-radius:7px;padding:10px 14px;cursor:pointer;font-weight:600;min-height:44px}button:hover,.file-button:hover{background:var(--mint);border-color:#6d8e72}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78135;outline-offset:3px}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:#164634}button.quiet{background:transparent;border-color:transparent}.shell{max-width:1160px;margin:auto;padding:0 38px}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.06em}.topline a{text-decoration:none;font-size:13px;font-weight:600}.topline>span{font-size:10px;letter-spacing:.16em;color:var(--soft)}.heading{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:35px 0 27px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--green);margin:0 0 6px}h1{font-family:'DM Serif Display',Georgia,serif;font-size:49px;font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:0 0 13px}h2{font-size:16px;margin:0;letter-spacing:0}h3{font-size:16px;margin:0}.objective{max-width:440px;margin:0;color:#516c60;font-size:16px}.clock{min-width:150px;text-align:right}.clock>span{font-family:'DM Serif Display',Georgia,serif;display:block;font-size:42px;line-height:1.1}.clock small{font-size:11px;color:var(--soft)}.time-track{height:3px;background:#dce4d7;margin-top:12px;border-radius:5px;overflow:hidden}.time-track>div{height:100%;background:var(--green);width:100%;transition:width .2s}.game-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,1fr);align-items:start;gap:24px}.world-column{min-width:0}.map-card,.worker-card,.action-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;box-shadow:var(--shadow)}.section-caption{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:var(--soft)}.section-caption h2{font-size:13px;color:var(--ink);font-weight:700}.map-card{padding:21px 20px 0;overflow:hidden}.map{display:grid;grid-template-columns:1fr 45px 1fr;gap:0;padding:20px 0 16px}.room{border:1px solid #dce3d6;background:#f8f9f3;border-radius:9px;padding:12px 10px 13px;min-width:0}.room.current{background:#edf4e6;border:1.5px solid #799b72}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:3px}.room h2{font-size:12px;white-space:nowrap}.worker-marker{font-size:8px;font-weight:700;letter-spacing:.05em;background:var(--green);color:white;border-radius:3px;padding:2px 4px;visibility:hidden}.room.current .worker-marker{visibility:visible}.room-art{width:100%;display:block;height:110px;color:#647f68}.room-art path,.room-art circle{stroke:currentColor;stroke-width:2.6;fill:none;stroke-linejoin:round;stroke-linecap:round}.room-art .wall{fill:#f1f3e9;stroke:#c4d0bc;stroke-width:1.5}.room-art .crate{fill:#e8d8b2;stroke:#9a8b64}.room-art .tool{fill:#839887;stroke:#6a816e;stroke-width:1}.room-art .machine{fill:#cdd9bd;stroke:#698267}.room-art .seal{fill:#f7f5e9;stroke:#708368}.room-art .pipe{stroke-width:12;stroke:#829982}.room-art .water{stroke:#5c97ac}.room-art .flow{stroke:#f9fff1;display:none}.pump-art.running .water,.pump-art.repaired .water{display:none}.pump-art.running .flow{display:block}.corridor{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#7b8a77}.corridor>span{font-size:24px;line-height:1}.corridor small{font-size:8px;line-height:1.3;max-width:34px;margin-top:5px}.object-list{font-size:10px;line-height:1.8;min-height:48px;color:#61765f}.object-list span{display:block}.object-list .absent{color:#9daba0;text-decoration:line-through}.inventory{margin:0 -20px;padding:13px 20px;display:flex;align-items:center;gap:14px;background:#f0f4e9;border-top:1px solid var(--line);font-size:11px}.inventory>span{color:var(--soft)}.inventory>strong{font-weight:600}.worker-card{margin-top:15px;padding:18px 20px}.body-meters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:13px}.meter-label{display:flex;justify-content:space-between;font-size:11px;gap:8px}.meter-label>strong{font-weight:500;color:var(--soft)}meter{width:100%;height:12px;display:block;margin-top:6px}meter::-webkit-meter-bar{height:5px;border:0;background:#e2e8dc;border-radius:4px}meter::-webkit-meter-optimum-value{background:#839b6f}meter::-moz-meter-bar{background:#839b6f}.muted{font-size:11px;color:var(--soft);margin:11px 0 0;line-height:1.65}.route-notes{margin-top:18px}.route-notes summary{font-size:12px;font-weight:600}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}.route-grid strong{font-size:12px}.route-grid p{font-size:11px;color:#617064;margin:5px 0 0;line-height:1.7}.action-panel{padding:21px}.event{font-size:13px;margin:17px 0 18px;padding:13px 14px;background:#edf2e5;border-left:3px solid #8ca576;border-radius:0 6px 6px 0;line-height:1.65}.event.failed,.event.blocked{background:#fbf0dc;border-color:#c9933e}.event.interrupted{background:#f3eee4;border-color:#b49f79}.actions{display:grid;gap:9px}.action{width:100%;text-align:left;padding:12px 13px;display:block;position:relative}.action-top{display:flex;gap:10px;justify-content:space-between;align-items:start}.action-title{font-size:13px}.action-time{font-size:11px;color:var(--green);white-space:nowrap;font-weight:600}.action-description{display:block;font-size:11px;color:var(--soft);font-weight:400;line-height:1.5;margin-top:5px}.action-forecast{display:block;font-size:10px;color:#638053;font-weight:500;margin-top:7px}.action-forecast.warning{color:#966520}.action.suggested{border-color:#91ad81;background:#f7faf1}.delegate{margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.delegate>p{font-size:11px;color:var(--soft);margin:0 0 10px}.delegate-buttons{display:flex;gap:8px;flex-wrap:wrap}.delegate-buttons button{font-size:11px;padding:9px 10px}.pending-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.pending-title span{font-size:11px;white-space:nowrap;color:var(--soft)}progress{width:100%;height:9px;appearance:none;border:0;border-radius:5px;overflow:hidden;margin-top:14px}progress::-webkit-progress-bar{background:#e1e8d9}progress::-webkit-progress-value{background:#597a48}progress::-moz-progress-bar{background:#597a48}.pending-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.pending-buttons button{font-size:11px;padding:10px}.outcome{font-family:'DM Serif Display',Georgia,serif;font-size:25px;padding:4px 0 16px;line-height:1.4}.session{margin-top:29px;border-top:1px solid var(--line);padding-top:22px}.save-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.save-actions button,.file-button{font-size:11px}.save-actions>span{font-size:10px;color:var(--soft);margin-left:auto}.file-button{display:inline-flex;align-items:center}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.file-button:focus-within{outline:3px solid #b78135;outline-offset:3px}summary{cursor:pointer;color:#516e5d;min-height:35px;padding:8px 0;list-style-position:inside}details>summary{font-size:12px}.session>details{margin-top:10px;border-bottom:1px solid #e2e6dd;padding-bottom:10px}.setup{display:flex;align-items:end;gap:13px;flex-wrap:wrap;padding:9px 0}.setup label{font-size:11px;display:grid;gap:5px;color:var(--soft)}input[type=number],select{max-width:100%;border:1px solid #c5d1bf;border-radius:5px;background:var(--card);color:var(--ink);min-height:41px;padding:8px 10px;font-size:12px}input[type=number]{width:115px}.setup button{font-size:12px}.record-option{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:6px}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}.model-notes p,#research-facts{font-size:12px;line-height:1.7;color:var(--soft);max-width:770px}#replay-download{font-size:11px}.notice{padding:11px 14px;border:1px solid #d2a85e;background:#fff5df;border-radius:6px;margin-bottom:18px;font-size:12px}footer{padding:24px 0;color:#899487;font-size:10px;letter-spacing:.02em}[hidden]{display:none!important}
@media(max-width:860px){.shell{padding:0 23px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(290px,1fr);gap:17px}.map-card{padding:16px 13px 0}.map{grid-template-columns:1fr 30px 1fr}.room{padding:10px 6px}.room h2{font-size:10px}.room-art{height:90px}.inventory{margin:0 -13px;padding:12px 13px}.section-caption{font-size:8px}.action-panel{padding:17px}.clock{min-width:120px}h1{font-size:42px}.route-grid{gap:14px}}
@media(max-width:650px){.shell{padding:0 18px}.topline{padding:17px 0}.topline>span{font-size:8px;letter-spacing:.1em}.heading{padding:28px 0 22px;gap:12px;align-items:start}h1{font-size:35px;max-width:210px}.objective{font-size:13px;max-width:260px;line-height:1.65}.clock{min-width:94px;margin-top:23px}.clock>span{font-size:32px}.clock small{font-size:9px}.game-layout{grid-template-columns:1fr;gap:18px}.map-card{padding:16px 17px 0}.map{grid-template-columns:1fr 51px 1fr;padding:16px 0}.room{padding:10px 13px}.room h2{font-size:12px}.room-art{height:91px}.inventory{margin:0 -17px;padding:11px 17px}.section-caption{font-size:9px}.worker-card{padding:16px 17px;margin-top:12px}.route-notes{margin-top:10px}.route-grid{gap:22px}.action-panel{padding:18px}.event{margin:14px 0}.action{padding:13px}.action-title{font-size:14px}.action-description{font-size:12px}.action-forecast{font-size:11px}.action-time{font-size:12px}.save-actions>span{flex-basis:100%;margin:2px 0 0}.setup{display:grid;grid-template-columns:90px 1fr;gap:10px}.setup label{min-width:0}.setup input{width:90px}.setup button{grid-column:1/-1}.setup select{width:100%;font-size:11px}.session{margin-top:22px}.delegate-buttons button{flex:1}footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){.world-column{display:contents}.map-card{order:1}.worker-card{order:2;margin-top:0}.action-panel{order:3}.route-notes{order:4;margin-top:0}}
