:root{color:#f0ebd9;font-synthesis:none;background:#173b41;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:#183e42;background:#e9e4d2;border:1px solid #a8bcb0;border-radius:3px;min-height:44px;padding:11px 18px}button:hover{background:#fff6da}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #e5bd6b}button.primary{background:#e6bd72;border-color:#e6bd72}button.ghost{color:#e6ebdf;background:0 0}#app{position:fixed;inset:0}canvas{image-rendering:pixelated;display:block}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui input,#ui select,#ui .panel{pointer-events:auto}.topbar{background:#15363deb;border-bottom:1px solid #71877b;justify-content:space-between;align-items:center;gap:20px;height:76px;padding:12px 28px;display:flex}.brand{letter-spacing:2px;font-size:20px}.eyebrow{letter-spacing:3px;color:#d8bb7b;text-transform:uppercase;font:11px monospace}.status{align-items:center;gap:20px;font:13px monospace;display:flex}.status b{color:#edc77e;font-size:20px}.tools{gap:8px;display:flex}.tools button{color:#f0ebd9;background:#254950;padding:7px 12px;font:12px monospace}.bottom{justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:22px;left:28px;right:28px}.message{background:#173b41ed;border-left:3px solid #d8b776;max-width:620px;padding:16px 20px;font-size:16px;line-height:1.5}.message small{color:#b7cec5;margin-top:8px;font:11px monospace;display:block}.danger{background:#173b41e8;border:1px solid #69877f;width:200px;padding:14px;font:11px monospace;position:absolute;top:94px;left:28px}.meter{background:#48645e;height:5px;margin:10px 0}.meter i{background:#e5b576;height:100%;display:block}.danger svg{width:100%;height:40px}.legend{color:#bfd2c7;font:11px monospace}.card-wrap{background:#102f37a0;place-items:center;padding:24px;display:grid;position:absolute;inset:76px 0 0;overflow:auto}.panel{color:#23464a;background:#f0ecdb;border:1px solid #a2b3a4;width:100%;max-width:940px;max-height:calc(100dvh - 112px);padding:36px 44px;overflow:auto;box-shadow:0 24px 80px #102a2c88}.intro{background:linear-gradient(130deg,#f1eddd 70%,#dce4d4);max-width:860px;position:relative}.intro h1{letter-spacing:-2px;margin:20px 0;font-size:clamp(34px,5vw,62px);font-weight:400;line-height:1.04}.intro h1 em{color:#9a4943;font-style:normal}.intro p{max-width:560px;font-size:17px;line-height:1.6}.intro .eyebrow{color:#92713f}.badge{text-align:center;border:1px solid #8ba195;border-radius:50%;place-content:center;width:80px;height:80px;font:12px monospace;display:grid;position:absolute;top:35px;right:35px;transform:rotate(8deg)}.buttons{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.panel h2{margin:12px 0 20px;font-size:32px;font-weight:400}.panel h3{color:#42655e;font-size:15px}.grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.table{border-collapse:collapse;width:100%;font:12px monospace}.table td,.table th{text-align:left;border-bottom:1px solid #bac9ba;padding:9px 6px}.table th{color:#60756b;font-weight:400}.tablet{color:#e4e7d5;background:#193e44;border:8px solid #3a5452;border-radius:14px;max-width:1050px}.tablet h2{letter-spacing:4px;font:24px monospace}.tablet h3{color:#dbc88a}.tablet .table td,.tablet .table th{border-color:#4b6968}.tablet svg{background:#123239;width:100%;height:240px}.tablet .buttons button{font:12px monospace}.tablet .note{border-bottom:1px solid #4b6968;padding:8px 0;font-size:13px}.note strong{color:#e8c58c}.muted{color:#708479;font-size:13px}.tablet .muted{color:#adc3b6}.good{color:#509178}.warn{color:#b9634f}.touch,.debug-only{display:none}body.debug .debug-only{white-space:pre;pointer-events:auto;background:#102e36ed;padding:12px;font:11px monospace;display:block;position:absolute;top:90px;right:20px}.debrief{justify-content:space-between;gap:30px;margin:20px 0;display:flex}.boy{align-items:center;gap:12px;animation:1.6s ease-out walk-in;display:flex}.boy:last-child{animation-name:walk-left}.sprite{font-size:36px}.results svg{background:#dce3d3;width:100%;height:120px}.leaderboard{padding:10px 0;font:13px monospace}.toast{font:12px monospace}.tutorial{color:#254950;background:#f0ecdb;border-top:3px solid #ba6b5b;max-width:330px;padding:20px;position:absolute;top:94px;right:28px}.tutorial p{line-height:1.5}.tutorial button{margin-top:8px}.compact{font:12px monospace}.hidden{display:none!important}@keyframes walk-in{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:none}}@keyframes walk-left{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:none}}@media (max-width:750px){.topbar{height:64px;padding:8px 12px}.brand{letter-spacing:1px;font-size:13px}.eyebrow{font-size:9px}.status{gap:9px;font-size:10px}.status b{font-size:14px}.tools{gap:4px}.tools button{min-height:36px;padding:4px 7px;font-size:10px}.bottom{bottom:100px;left:12px;right:12px}.message{max-width:100%;padding:10px;font-size:12px}.message small{font-size:9px}.panel{max-height:calc(100dvh - 80px);padding:24px 20px}.card-wrap{padding:12px;inset:64px 0 0}.badge{display:none}.grid{grid-template-columns:1fr;gap:10px}.danger{width:145px;padding:9px;top:74px;left:12px}.tablet .table{font-size:10px}.tablet svg{height:180px}.tutorial{max-width:210px;padding:12px;font-size:12px;top:74px;right:12px}.intro p{font-size:14px}.intro h1{font-size:40px}.buttons{gap:6px}button{padding:9px 12px}.debrief{gap:12px;font-size:12px}.touch{pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.touch button{pointer-events:auto;color:#fff5dc;touch-action:none;background:#204b50df;border-color:#9eb6a5}.stick{pointer-events:auto;touch-action:none;background:#204b50d9;border:1px solid #9eb6a5;border-radius:50%;place-items:center;width:92px;height:82px;font:26px monospace;display:grid}.actions{align-items:end;gap:7px;display:flex}.actions button{min-width:55px;height:55px}.message small{display:none}}@media (pointer:coarse) and (min-width:751px){.touch{justify-content:space-between;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.stick{pointer-events:auto;touch-action:none;background:#204b50df;border-radius:50%;place-items:center;width:95px;height:95px;display:grid}.actions button{margin:4px}.bottom{bottom:130px}}@media (prefers-reduced-motion:reduce){.boy{animation:none}}.sprite{width:24px;min-width:24px;height:32px;image-rendering:pixelated;background:linear-gradient(#f1c871 0 20%,#d9b18b 20% 43%,#b85d54 43% 80%,#294653 80%);display:block;position:relative;box-shadow:7px 8px 0 -4px #d9b18b,-7px 8px 0 -4px #d9b18b}.sprite.green{background:linear-gradient(#f1c871 0 20%,#d9b18b 20% 43%,#4f8269 43% 80%,#294653 80%)}.celebrating #result-title{color:#9d4a42;text-shadow:0 2px #fff7da}.celebrating{border-top:5px solid #d3aa58}#result-title{transition:color .3s}.results #result-title{min-height:42px}.qa-panel{pointer-events:auto;background:#233b3ded;border:1px dashed #d1b478;max-width:240px;padding:8px;font:10px monospace;position:absolute;bottom:105px;right:10px}.qa-panel button{width:100%;min-height:30px;margin-top:5px;padding:5px;font:10px monospace;display:block}body.qa .qa-panel{width:160px;top:80px;bottom:auto;right:8px}body.qa .tutorial{right:180px}
