@font-face{font-family:GameSans;src:url('/fonts/NotoSans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:GameSans;src:url('/fonts/NotoSans-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:GameSans,Arial,sans-serif;color:#142239;background:#f4f7f4;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button,a{cursor:pointer}button{border:1px solid #b4c9be;border-radius:7px;background:#fff;padding:9px 14px;font-weight:700}button:hover{background:#e5f1ea}button:disabled{opacity:.5;cursor:default}button.primary{background:#0b514a;border-color:#0b514a;color:white}button.primary:hover{background:#146d61}a{color:#0b6156}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #d9863f;outline-offset:3px}[hidden]{display:none!important}.game-room{max-width:1240px;margin:auto;padding:22px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.kicker{font-size:10px;font-weight:700;letter-spacing:.14em;color:#247568;margin:0 0 4px}h1{font-size:clamp(23px,3vw,33px);line-height:1.2;letter-spacing:-.025em;margin:0}h2{font-size:17px;line-height:1.4;margin:0 0 7px}.back-site{font-size:12px;text-decoration:none}.game-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.game-tabs button{text-align:left;padding:12px 16px;background:#fff}.game-tabs strong,.game-tabs span{display:block}.game-tabs span{font-size:12px;font-weight:400;margin-top:3px}.game-tabs button[aria-pressed=true]{background:#102b35;border-color:#102b35;color:#e6fbef}.game-tabs button[aria-pressed=true] span{color:#a0d7c6}.game-layout{display:grid;grid-template-columns:minmax(0,2.8fr) minmax(220px,1fr);gap:18px}.game-stage{min-width:0}.game-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#102139;color:#eafff5;border-radius:9px 9px 0 0;padding:12px 16px}.game-hud span{display:grid;gap:2px}.game-hud small{font-size:9px;font-weight:700;letter-spacing:.06em;color:#b3d0d2}.game-hud output{font-size:19px;font-weight:700;line-height:1.3}.canvas-wrap{position:relative;background:#102139;overflow:hidden;border-radius:0 0 9px 9px}#game-2d,#game-3d,#game-3d-fallback{display:block;width:100%;height:clamp(280px,40vw,420px);touch-action:none}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:26px;text-align:center;background:#091d2bc7;color:white;pointer-events:none}.game-overlay strong{font-size:clamp(23px,3vw,35px);line-height:1.25;max-width:450px}.game-overlay p{max-width:370px;font-size:14px;color:#d1e9df;margin:12px 0 0}.game-message{padding:10px 1px;font-size:13px;min-height:42px;color:#165e50}.game-main-actions{display:flex;gap:8px;flex-wrap:wrap}.game-touch{display:flex;gap:7px;align-items:center;margin-top:12px}.game-touch>div{display:grid;gap:5px}.game-touch button{width:46px;height:42px;padding:5px;touch-action:none;user-select:none;-webkit-user-select:none;background:#e6eee7;font-size:19px}.game-touch button.is-held{background:#173d40;color:white}.game-touch p{font-size:11px;line-height:1.6;color:#55697a;margin:0 0 0 5px;max-width:270px}.game-settings{background:#fff;border:1px solid #d0ded5;border-radius:10px;padding:17px;min-width:0}.game-setting{margin-bottom:16px}.game-setting>label{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:700}.game-setting select{width:100%;max-width:100%;margin-top:6px;border:1px solid #b4c9be;border-radius:6px;padding:8px;background:#fff}.game-setting input{width:100%;accent-color:#166b5b}.game-setting output{font-size:11px;font-weight:400}.game-check{display:flex;align-items:center;gap:8px;font-size:12px;margin:11px 0}.game-check input{accent-color:#166b5b}.game-lesson{border-top:1px solid #dde7df;padding-top:16px;margin-top:18px}.game-lesson p,.game-help p,.game-caution{font-size:12px;color:#536575;margin:8px 0}.game-help{margin-top:16px}.game-help summary{font-size:13px;font-weight:700;cursor:pointer}.game-caution{padding-top:12px;border-top:1px solid #dde7df}.game-footer{display:flex;flex-wrap:wrap;gap:9px 24px;border-top:1px solid #d1ddd5;margin-top:20px;padding-top:14px;font-size:12px;font-weight:700}.game-footer a{text-underline-offset:3px}#game-minimap{position:absolute;top:12px;right:12px;width:120px;height:120px;border:1px solid #a5becc;border-radius:5px;background:#132a3fe8;pointer-events:none}.guide{max-width:900px;margin:40px auto;padding:0 24px 60px;font-size:16px;line-height:1.9}.guide header{border-bottom:1px solid #b9cfc2;padding-bottom:24px;margin-bottom:28px}.guide h1{font-size:clamp(29px,5vw,45px);margin:16px 0}.guide h2{font-size:24px;margin-top:40px}.guide h3{font-size:19px}.guide p{margin:14px 0}.guide pre{overflow:auto;background:#102139;color:#d7f4e8;border-radius:10px;padding:20px;font:13px/1.8 ui-monospace,monospace;tab-size:2}.guide code{font-family:ui-monospace,monospace}.guide table{border-collapse:collapse;width:100%;font-size:14px}.guide :is(td,th){border:1px solid #c2d1c8;padding:10px;text-align:left}.guide .note{padding:15px 20px;background:#e7f0e8;border-left:4px solid #2d7d65}.guide .links{display:flex;gap:12px;flex-wrap:wrap}.guide .links a{display:inline-block;background:#fff;border:1px solid #adc7b9;border-radius:7px;padding:8px 14px;font-size:14px;font-weight:700}.guide figure{margin:24px 0}.guide svg{width:100%;max-height:250px}.guide figcaption{font-size:13px;color:#546a6d}
@media(max-width:760px){.game-layout{grid-template-columns:1fr}.game-room{padding:14px}.game-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.game-lesson,.game-help,.game-caution{grid-column:1/-1}.game-heading{align-items:start}.game-hud{gap:6px;padding:10px}.game-hud small{font-size:8px}.game-hud output{font-size:17px}.game-tabs button{padding:10px}.game-tabs span{font-size:10px}.game-touch p{font-size:10px}.game-touch button{width:39px}.game-touch .strafe{width:30px}.game-settings .game-setting{margin-bottom:8px}#game-minimap{width:95px;height:95px}.guide{padding:0 18px 40px}.guide pre{padding:14px;font-size:12px}}

.game-renderer-label{font-size:11px;color:#536575;margin:12px 0 0}

.game-diagnostics{font:11px/1.7 ui-monospace,monospace;color:#41655b;margin:8px 0}
