*{box-sizing:border-box}html,body{color:#f9f4df;background:#092e39;min-height:100%;margin:0;font-family:Yu Gothic UI,Meiryo,sans-serif}body{background:radial-gradient(at 50% 10%,#205967,#092e39 75%);place-items:center;min-height:100svh;display:grid}button{font:inherit;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}button:focus-visible,#game:focus-visible{outline-offset:4px;outline:3px solid #ffe59b}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}#app{width:min(1320px,100%);padding:24px 32px}.page-heading{color:#cfebe5;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:14px;display:flex}.brand{letter-spacing:.08em;font-weight:600}#help{color:inherit;background:0 0;border:0;min-height:32px;font-size:13px}#help span{border:1px solid #90beb6;border-radius:50%;place-items:center;width:20px;height:20px;margin-left:6px;display:inline-grid}#game-shell{isolation:isolate;aspect-ratio:16/9;background:#115260;border:1px solid #92c8c351;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 24px 60px #001c2a88}#game{outline:none;width:100%;height:100%}canvas{image-rendering:pixelated;display:block}#hud{pointer-events:none;background:linear-gradient(#052b3d99,#0000);justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex;position:absolute;inset:0 0 auto}.stage-label{text-shadow:0 2px 4px #052b3d;flex-direction:column;gap:5px;font-size:18px;font-weight:700;display:flex}.stage-label small{color:#d7e5dd;font-size:12px;font-weight:400}.hud-right{align-items:center;gap:9px;display:flex}.hud-right button{pointer-events:auto;color:#fff4d6;background:#093643bd;border:1px solid #91bbb78c;border-radius:12px;min-width:44px;min-height:42px;padding:8px 12px;font-size:13px}#pause{font-size:18px;font-weight:800}#notice{text-align:center;pointer-events:none;color:#fff3c5;text-shadow:0 2px 4px #002a3a;opacity:0;width:100%;font-size:15px;position:absolute;top:85px}#encounter-caption{color:#fff7da;pointer-events:none;opacity:0;white-space:nowrap;background:#0b3446e6;border:1px solid #a5d7d650;border-radius:20px;max-width:65%;padding:10px 20px;font-size:16px;line-height:1.4;transition:opacity .2s;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}#encounter-caption.visible{opacity:1}#overlay{z-index:4;background:linear-gradient(90deg,#052c42b3,#0000 80%);align-items:center;padding:6%;display:flex;position:absolute;inset:0}.intro-copy{color:#174e56;background:#fff7e8f2;border-radius:22px;width:min(53%,530px);padding:30px 32px;box-shadow:0 12px 30px #00293655}#eyebrow{letter-spacing:.12em;color:#43817a;margin:0 0 18px;font-size:13px}h1{letter-spacing:.04em;text-wrap:balance;margin:0 0 18px;font-size:clamp(24px,3.1vw,40px);line-height:1.5}#overlay-text{white-space:pre-line;margin:0 0 22px;font-size:15px;line-height:1.9}#primary,#help-ok{color:#fff7e5;background:#146e70;border:0;border-radius:12px;width:100%;min-height:50px;padding:15px 25px;font-weight:700;box-shadow:0 4px #0c494f}#primary:hover,#help-ok:hover{background:#1b8080}#overlay-hint{color:#557e7e;text-align:center;margin:14px 0 0;font-size:12px}#reflection-question{color:#286d65;border-top:1px solid #d0dfd2;margin:12px 0 20px;padding:12px 0;font-size:19px;font-weight:700}#summary{color:#457c76;margin:0 0 15px;font-size:12px;line-height:1.7}#touch-controls{pointer-events:none;z-index:5;background:linear-gradient(#0000,#062d3d55);justify-content:space-between;padding:12px 20px;display:flex;position:absolute;inset:auto 0 0}.touch-move,.touch-actions{pointer-events:auto;gap:10px;display:flex}#touch-controls button{color:#fff3d3;user-select:none;background:#123d4be8;border:1px solid #afd8d5a6;border-radius:18px;min-width:62px;height:58px;font-size:22px;font-weight:700;box-shadow:0 4px #062a34}#touch-controls #carry{color:#244747;background:#e6bb79;border-color:#fce2ad;min-width:102px;font-size:16px}#touch-controls button.active{box-shadow:none;background:#38717a;transform:translateY(3px)}#touch-controls #carry.active{background:#f5d39a}body[data-state=ready] #touch-controls,body[data-paused=true] #touch-controls,body[data-state=clear] #touch-controls{visibility:hidden}footer{color:#b0d4d1;justify-content:space-between;gap:12px;margin-top:18px;font-size:12px;line-height:1.8;display:flex}kbd{font:inherit;color:#ecf0dc;border:1px solid #759d9c;border-radius:4px;padding:2px 6px}dialog{color:#174e56;background:#fff7e8;border:0;border-radius:20px;width:min(500px,90vw);max-height:85svh;padding:30px;overflow:auto;box-shadow:0 20px 60px #001b2a66}dialog::backdrop{background:#012c40b8}dialog h2{font-size:23px;line-height:1.6}dialog p{font-size:14px;line-height:1.9}.small-label{color:#5d8c82;letter-spacing:.12em;font-size:12px}#help-close{color:#326c70;background:0 0;border:0;font-size:28px;position:absolute;top:8px;right:12px}.extra-help{color:#6b8582;font-size:12px}#portrait-hint{display:none}@media (width<=800px){#app{padding:10px}.page-heading{margin-bottom:8px;font-size:11px}.stage-label{font-size:14px}#hud{padding:12px 14px}.stage-label small{font-size:10px}.hud-right button{min-width:36px;min-height:36px;padding:6px 8px}.intro-copy{width:56%;padding:20px}h1{margin-bottom:10px;font-size:25px}#eyebrow{margin-bottom:9px;font-size:10px}#overlay-text{margin-bottom:12px;font-size:12px;line-height:1.7}#primary{min-height:40px;padding:10px;font-size:13px}#overlay-hint{margin-top:10px;font-size:10px}#touch-controls{padding:8px 14px}#touch-controls button{border-radius:15px;min-width:56px;height:56px}#touch-controls #carry{min-width:88px;font-size:14px}#encounter-caption{padding:7px 14px;font-size:13px;bottom:24%}#reflection-question{margin:9px 0;font-size:15px}footer{margin-top:12px;font-size:10px}}@media (orientation:landscape) and (height<=600px){body{display:block}#app{width:min(100vw,177.778svh - 60.4444px);padding:4px max(6px,env(safe-area-inset-left));margin:auto}.page-heading{height:24px;margin:0;font-size:11px}#help{min-height:24px;font-size:11px}#game-shell{border-radius:8px}footer{display:none}.intro-copy{padding:15px 20px}h1{margin-bottom:8px;font-size:24px;line-height:1.35}#overlay-text{margin-bottom:9px;font-size:12px}#eyebrow{margin-bottom:8px}#primary{min-height:38px}#overlay-hint{margin-top:7px}.stage-label small{display:none}#hud{padding:9px 13px}#encounter-caption{font-size:13px;bottom:24%}#touch-controls{padding:7px 12px}.hud-right button{min-height:34px}#summary{margin-bottom:5px}}@media (orientation:portrait) and (width<=600px){body{align-items:start}#app{padding:14px 10px}#portrait-hint{color:#f4e7bf;text-align:center;background:#164b59;border:1px solid #58828a;border-radius:12px;margin:8px 0 12px;padding:15px;font-size:15px;display:block}#portrait-hint span{color:#b9d7d1;margin-top:6px;font-size:11px;display:block}#game-shell{aspect-ratio:auto;height:440px}#game{height:245px;margin-top:100px}#hud{padding:14px 12px}.stage-label{font-size:13px}.intro-copy{background:#fff7e8f5;width:100%;padding:24px}#overlay{background:#072f4177;align-items:center;padding:22px}h1{max-width:260px;font-size:27px}#overlay-text{font-size:13px}#eyebrow{font-size:11px}#primary{min-height:48px}#overlay-hint{font-size:11px}#touch-controls{padding:15px}#encounter-caption{white-space:normal;text-align:center;max-width:92%;font-size:12px;bottom:23%}footer{text-align:center;display:block}footer>span{display:block}#reflection-question{font-size:17px}}#app{min-width:0;max-width:100vw}#game-shell{width:100%;min-width:0}#game{min-width:0}canvas{max-width:100%}h1 span{white-space:nowrap;display:inline-block}#encounter-caption{max-width:54%;left:65%}@media (orientation:portrait) and (width<=600px){#encounter-caption{max-width:92%;left:50%}}@media (orientation:landscape) and (height>=601px){#app{width:min(1320px,100%,177.778svh - 184.889px)}h1{font-size:clamp(24px,2.7vw,34px)}}
