:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#294d42;background:#d6e4d5;font-synthesis:none;font-weight:500;letter-spacing:0;font-size:16px}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,.game a:focus-visible{outline:3px solid #c8883c;outline-offset:5px}button,svg{flex-shrink:0}button svg{vertical-align:middle}button{border:0}button:active:not(:disabled){transform:translateY(1px)}.game{height:100dvh;min-height:420px;position:relative;overflow:hidden;isolation:isolate}.world{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.world canvas{display:block;touch-action:none}.world-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(234,242,218,.91),rgba(241,245,224,.18) 20%,transparent 36%,transparent 75%,rgba(224,234,211,.15))}.game-header{position:absolute;z-index:12;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:22px 32px}.wordmark{display:flex;align-items:baseline;gap:11px;white-space:nowrap}.game-brand{display:flex;align-items:center;gap:5px;min-height:44px;color:inherit;text-decoration:none;flex-shrink:0}.wordmark span{font-size:15px;font-weight:800}.wordmark strong{font-size:25px;font-weight:900}.chapter-location{display:flex;align-items:center;gap:9px;font-size:13px;color:#527367;margin:auto}.location-dot{width:6px;height:6px;background:#80a883;border-radius:50%}.chapter-count{font-size:11px;border-left:1px solid #9cbba5;padding-left:12px;margin-left:7px;white-space:nowrap}.tools{display:flex;gap:8px;margin-left:auto}.icon-button{width:43px;height:43px;border-radius:50%;background:#fffbedb8;display:grid;place-items:center;border:1px solid #88a88b66;transition:background .2s}.icon-button:hover{background:#fffdef}.icon-button[aria-pressed=false]{opacity:.66}.mission{position:absolute;z-index:10;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 40px);white-space:normal;pointer-events:none}.mission-mark{display:grid;place-items:center;background:#477d65;color:#fff6d7;width:29px;height:29px;border-radius:50%;flex:none}.mission h1{font-size:19px;line-height:1.5;margin:0;font-weight:800;color:#2d5545;text-shadow:0 1px 9px #fff9df,0 0 20px #f6f4d9}.world-targets{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6}.maze-tools{position:absolute;z-index:10;left:50%;transform:translate(-50%);bottom:155px;display:flex;align-items:end;gap:16px}.maze-tools .icon-button{width:48px;height:48px;background:#fffffff0;color:#3d645b}.maze-directions{display:grid;grid-template-columns:repeat(4,48px);grid-template-rows:48px;gap:3px}.world-target{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:transparent;border:0;border-radius:20%;padding:0;min-width:48px;min-height:48px}.world-target:active:not(:disabled){transform:translate(-50%,-50%)}.world-target:hover{background:#fff6ca1c}.world-target:disabled{pointer-events:none}.target-glint{position:absolute;right:-6px;top:-6px;color:#aa783e;background:#fff3bf;border:1px solid #d5b269;border-radius:50%;width:31px;height:31px;display:none;place-items:center;box-shadow:0 2px 10px #7369361a;animation:glint 2.2s ease-in-out infinite;pointer-events:none}.inviting .target-glint,.hinted .target-glint{display:grid}.world-target:focus-visible{outline:3px solid #e9b449;outline-offset:4px}.help-button{position:absolute;right:28px;bottom:168px;z-index:10;width:48px;height:48px;border-radius:50%;background:#fffbebdd;color:#477960;border:1px solid #a3b99a;display:grid;place-items:center}.help-button:disabled{opacity:.45}.dialogue{position:absolute;z-index:11;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(920px,calc(100% - 64px));min-height:110px;background:#fffff0f2;border:1px solid #b2c19b;box-shadow:0 7px 28px #345b3d15;border-radius:8px;display:flex;align-items:center;gap:19px;padding:17px 22px}.speaker-avatar{width:55px;height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e1ebd0;border:1px solid #b8cea7;border-radius:50%;color:#53805c;gap:2px}.voice-wave{display:flex;align-items:center;gap:2px;height:9px}.voice-wave i{width:2px;height:3px;border-radius:1px;background:#6c966b}.speaking .voice-wave i{animation:wave .7s ease-in-out infinite alternate}.voice-wave i:nth-child(2){animation-delay:.2s}.voice-wave i:nth-child(3){animation-delay:.4s}.dialogue-copy{min-width:0;flex:1}.speaker-name{font-size:12px;color:#65845f;font-weight:800;display:block;margin-bottom:5px}.dialogue-copy p{margin:0;font-size:18px;line-height:1.65;font-weight:600;overflow-wrap:anywhere}.continue-button{display:grid;place-items:center;border-radius:50%;width:52px;height:52px;background:#487c61;color:#fff8db;box-shadow:0 3px #2f624b}.continue-button svg{width:26px;height:26px}.scene-playing{display:flex;gap:4px;align-items:center;width:33px;justify-content:center}.scene-playing i{width:5px;height:5px;background:#9cb389;border-radius:50%;animation:wave 1s infinite alternate}.scene-playing i:nth-child(2){animation-delay:.3s}.scene-playing i:nth-child(3){animation-delay:.6s}.progress-status{position:absolute;z-index:11;top:140px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;font-size:12px;color:#54705e}.progress-status>span:not(.progress-word):not(:only-child){width:13px;height:13px;border-radius:50%;border:1px solid #8eab84;background:#fbf6df}.progress-status>span.filled{background:#dfa65b!important;border-color:#c58a45!important}.progress-word{margin-left:4px}.finish-actions{position:absolute;top:165px;left:50%;transform:translate(-50%);display:flex;gap:10px;align-items:center;z-index:11;white-space:nowrap}.finish-actions>span{font-size:14px}.finish-actions button{display:flex;gap:7px;align-items:center;padding:10px 13px;border-radius:5px;background:#fff8dd;border:1px solid #bac697;font-size:13px}.night .world-shade{background:linear-gradient(180deg,#102f32b8,transparent 32%,transparent 75%,#142f3822)}.night .game-header{color:#fff2c7}.night .chapter-location{color:#d3e4c8}.night .mission h1{color:#fff1c4;text-shadow:0 2px 7px #183b3c}.night .mission-mark{background:#efcb83;color:#3c655a}.night .icon-button{background:#f9f1d9e8;color:#426455}.night .progress-status{color:#ffefc4}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#173b3469;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:22px}.modal{background:#f7faee;width:min(420px,100%);max-height:calc(100dvh - 44px);overflow:auto;border-radius:8px;border:1px solid #cfdbbc;box-shadow:0 20px 80px #183c3433;padding:25px}.modal header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}.modal h2{font-size:25px;margin:5px 0 0}.modal-eyebrow{font-size:11px;color:#869474}.modal .icon-button{width:37px;height:37px;background:transparent}.map-modal{width:min(640px,100%)}.chapter-map{padding:0;margin:0;list-style:none}.chapter-map li+li{border-top:1px solid #dce4cf}.chapter-map button{width:100%;display:flex;align-items:center;gap:17px;text-align:left;background:transparent;padding:11px 8px}.chapter-map button:disabled{opacity:.45}.chapter-map .current{background:#e5eed6;border-radius:5px}.map-number{width:33px;height:33px;border-radius:50%;background:#ebefd9;display:grid;place-items:center;color:#6a8c5c;font-size:12px}.current .map-number{background:#537f5c;color:#fffadf}.map-copy{display:flex;flex-direction:column;gap:3px;flex:1}.map-copy strong{font-size:14px;font-weight:700}.map-copy small{font-size:11px;color:#83917b}.map-skill{font-size:11px;color:#789068}.source-credit{font-size:10px;color:#8a9782;line-height:1.8;margin:17px 0 0}.pause-menu{display:flex;flex-direction:column;gap:10px}.pause-menu>button,.pause-menu>a,.reset-confirm button{padding:14px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #ccdabd;border-radius:5px;background:#eff4e2;font-size:15px;color:inherit;text-decoration:none}.pause-menu .primary-button{background:#567f5c;color:#fffadf;border-color:#567f5c}.reset-confirm{border-top:1px solid #ccd8ba;padding-top:12px}.reset-confirm p{font-size:13px;text-align:center}.reset-confirm button{width:100%;margin-top:8px}.video-modal{width:min(980px,100%)}.video-modal video{display:block;width:100%;max-height:70dvh;border-radius:5px;background:#cad9c3}.loading-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e5eedb}.loading-mark{color:#719466;margin-bottom:12px}.loading-screen h2{font-size:21px}.loading-screen p{font-size:13px;color:#74906a}.loading-track{width:180px;height:4px;background:#cfddbd;border-radius:3px;overflow:hidden}.loading-track span{display:block;height:100%;background:#70966a;transition:width .2s}.loading-screen button{padding:10px 20px;border-radius:4px;background:#648760;color:#fff;margin-bottom:20px}@keyframes glint{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-5px);opacity:.65}}@keyframes wave{0%{height:3px;opacity:.4}to{height:8px;opacity:1}}@media(min-width:1500px){.game-header{padding:28px 44px}.mission{top:108px}.dialogue{bottom:30px}.help-button{right:44px}}@media(max-width:719px){.game-header{padding:17px 12px;gap:6px;align-items:flex-start}.wordmark{flex-direction:column;gap:1px}.wordmark span{font-size:11px}.wordmark strong{font-size:23px}.chapter-location{position:absolute;top:78px;left:17px;font-size:11px;gap:6px}.chapter-count{font-size:10px;padding-left:8px;margin-left:2px}.tools{gap:6px;padding-top:5px}.icon-button{width:37px;height:37px}.icon-button svg{width:18px;height:18px}.mission{top:123px;width:calc(100% - 30px);max-width:none;justify-content:center;gap:8px}.mission h1{font-size:16px;line-height:1.5}.mission-mark{width:25px;height:25px}.mission-mark svg{width:14px}.dialogue{width:calc(100% - 24px);bottom:max(15px,env(safe-area-inset-bottom));padding:13px;min-height:110px;gap:10px;align-items:center}.speaker-avatar{width:35px;height:35px}.speaker-avatar>svg{width:18px;height:18px}.voice-wave{display:none}.speaker-name{font-size:11px;margin-bottom:4px}.dialogue-copy p{font-size:15px;line-height:1.65}.continue-button{width:37px;height:37px}.continue-button svg{width:21px;height:21px}.scene-playing{width:15px;gap:2px}.scene-playing i{width:3px}.help-button{right:16px;bottom:147px;width:40px;height:40px}.help-button svg{width:23px;height:23px}.progress-status{top:160px;font-size:11px}.finish-actions{top:179px;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;padding:0 16px}.finish-actions>span{width:100%;text-align:center;font-size:12px}.finish-actions button{font-size:12px;padding:8px 12px}.modal-backdrop{padding:15px}.modal{padding:20px;max-height:calc(100dvh - 30px)}.modal h2{font-size:23px}.chapter-map button{padding:10px 0;gap:10px}.map-skill{font-size:10px}.source-credit{font-size:9px}.map-copy strong{font-size:13px}.target-glint{width:26px;height:26px;right:-2px;top:-2px}.target-glint svg{width:17px;height:17px}}@media(max-width:350px){.dialogue-copy p{font-size:14px}.speaker-avatar{display:none}.mission h1{font-size:15px}.game-header{padding:14px 12px}.tools{gap:5px}.icon-button{width:34px;height:34px}.wordmark strong{font-size:21px}.mission{top:117px}}@media(max-height:550px)and (min-width:650px){.maze-tools{left:12px;bottom:94px;transform:none;gap:8px}.maze-directions{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px)}.maze-directions button:first-child{grid-column:2}.maze-directions button:nth-child(2){grid-column:1}.game{min-height:320px}.game-header{padding:10px 18px}.wordmark strong{font-size:19px}.wordmark span{font-size:12px}.icon-button{width:33px;height:33px}.chapter-location{font-size:11px}.mission{top:61px}.mission h1{font-size:15px}.mission-mark{width:24px;height:24px}.dialogue{min-height:70px;bottom:10px;padding:9px 15px;width:calc(100% - 140px)}.dialogue-copy p{font-size:13px;line-height:1.4}.speaker-name{font-size:10px;margin-bottom:2px}.speaker-avatar,.continue-button{width:35px;height:35px}.help-button{right:20px;bottom:24px;width:37px;height:37px}.progress-status{top:91px}.finish-actions{top:92px}.finish-actions>span{font-size:11px}.finish-actions button{padding:5px 10px;font-size:11px}}@media(prefers-reduced-motion:reduce){.target-glint,.voice-wave i,.scene-playing i{animation:none}.icon-button{transition:none}}.maze-viewport{display:none}.story-hud{display:contents}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode{--map-toolbar: 56px}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .scene-viewport{top:calc(var(--scene-top) + var(--map-toolbar))}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .world-shade{display:none}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .map-controls{position:absolute;z-index:13;top:var(--scene-top);left:12px;right:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}.game.scene-overlay-layout[data-layout=scene-overlay] .map-controls button{display:flex;justify-content:center;align-items:center;gap:5px;min-width:48px;height:48px;padding:0 10px;border-radius:12px;border:1px solid #adc0a0;background:#fffbedf2;color:#345b48;font-size:14px;pointer-events:auto;touch-action:manipulation}.game.scene-overlay-layout[data-layout=scene-overlay] .map-minimap{position:absolute;top:calc(var(--scene-top) + 58px);right:12px;z-index:12;width:120px;border:2px solid #fff9df;border-radius:8px;overflow:hidden;background:#fff9df;box-shadow:0 2px 9px #30281944;pointer-events:none}.map-minimap svg{display:block;width:100%;max-height:108px}.map-minimap span{display:block;font-size:11px;line-height:18px;text-align:center}.game.scene-overlay-layout[data-layout=scene-overlay] button.map-minimap{pointer-events:auto;padding:0;touch-action:manipulation}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode.map-walking{--dialogue-height:76px}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode.map-walking .dialogue{display:flex;gap:8px;padding:8px;align-items:center}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode.map-walking .dialogue-copy{display:block}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode.map-walking .dialogue-copy p{font-size:13px;line-height:1.5}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .scene-pan-hint{display:none}@media(orientation:landscape)and (max-height:600px){.game.scene-overlay-layout[data-layout=scene-overlay].map-mode{--scene-top:60px}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .mission,.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .progress-status{visibility:hidden}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode.map-walking{--dialogue-height:64px}}.map-landmarks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.map-landmarks span{position:absolute;transform:translate(-50%,-110%);font-size:12px;padding:2px 6px;border-radius:5px;color:#385744;background:#fff9e9ed}@media(orientation:landscape)and (max-height:600px){.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .scene-viewport{top:calc(64px + env(safe-area-inset-top));left:calc(184px + env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .map-controls{top:calc(76px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:auto;width:164px;flex-wrap:wrap}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .map-controls button:first-child{width:156px}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .map-minimap{top:calc(68px + env(safe-area-inset-top));left:auto;right:max(12px,env(safe-area-inset-right));width:112px}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .map-minimap svg{max-height:70px}}.game.scene-overlay-layout[data-layout=scene-overlay]{--dialogue-height: clamp(110px, 19dvh, 168px);--dialogue-width: min(640px, 84vw);--scene-top: calc(132px + env(safe-area-inset-top)) ;position:fixed;top:0;right:0;bottom:0;left:0;width:100dvw;height:100dvh;min-height:0;padding:0;background:#ece0c4;display:block}.game.scene-overlay-layout[data-layout=scene-overlay] .scene-viewport{position:absolute;top:var(--scene-top);bottom:calc(var(--dialogue-height) + 24px);left:0;right:0;pointer-events:none;visibility:hidden}.game.scene-overlay-layout[data-layout=scene-overlay] .icon-button,.game.scene-overlay-layout[data-layout=scene-overlay] .speaker-avatar,.game.scene-overlay-layout[data-layout=scene-overlay] .continue-button{width:48px;height:48px;min-width:48px;min-height:48px}.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{position:absolute;top:0;left:0;right:0;width:auto;flex-direction:row;flex-wrap:nowrap;padding:10px 16px;gap:12px;align-items:center}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark strong{font-size:20px}.game.scene-overlay-layout[data-layout=scene-overlay] .chapter-location{display:none}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-button{margin-left:auto}.game.scene-overlay-layout[data-layout=scene-overlay] .tools{margin:0;padding:0;gap:6px}.game.scene-overlay-layout[data-layout=scene-overlay] .mission{top:calc(76px + env(safe-area-inset-top));left:50%;right:auto;transform:translate(-50%);max-width:calc(100% - 24px)}.game.scene-overlay-layout[data-layout=scene-overlay] .progress-status{top:calc(110px + env(safe-area-inset-top));bottom:auto;right:auto;left:50%;transform:translate(-50%);max-width:calc(100% - 24px);white-space:nowrap}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue{position:absolute;left:50%;right:auto;top:auto;transform:translate(-50%);margin:0;display:flex;flex-wrap:nowrap;align-items:center;bottom:max(10px,env(safe-area-inset-bottom));width:min(var(--dialogue-width),calc(100% - 40px));height:var(--dialogue-height);min-height:0;max-height:none;padding:12px;gap:12px;background:#fffdf2ed}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue-copy{min-width:0;min-height:0;flex:1;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.game.scene-overlay-layout[data-layout=scene-overlay] .speaker-avatar{display:flex}.game.scene-overlay-layout[data-layout=scene-overlay] .scene-pan-hint{position:absolute;left:12px;top:var(--scene-top);font-size:10px;color:#566047;background:#fff7e5c9;border-radius:5px;padding:3px 6px;pointer-events:none;z-index:5}.game.scene-overlay-layout[data-layout=scene-overlay] .finish-actions{top:var(--scene-top);width:min(760px,calc(100% - 24px));padding:10px;flex-wrap:wrap;justify-content:center;border-radius:8px;background:#fffdf2ed}.game.scene-overlay-layout[data-layout=scene-overlay] .finish-actions button{min-height:48px}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .dialogue{top:var(--scene-top);bottom:auto}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .scene-viewport{top:calc(var(--scene-top) + var(--dialogue-height) + 12px);bottom:12px}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .scene-pan-hint{top:auto;bottom:6px}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .finish-actions{top:auto;bottom:12px}@media(orientation:portrait){.game.scene-overlay-layout[data-layout=scene-overlay]{--dialogue-height: clamp(144px, 21dvh, 180px);--dialogue-width: min(400px, 88vw);--scene-top: calc(116px + env(safe-area-inset-top)) }.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{display:flex;padding:6px 8px;gap:4px}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark{flex-direction:column;align-items:flex-start;gap:1px}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark span{font-size:11px}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark strong{font-size:19px}.game.scene-overlay-layout[data-layout=scene-overlay] .tools{margin-left:auto;gap:2px}.game.scene-overlay-layout[data-layout=scene-overlay] .game-brand{min-width:0;flex-shrink:1}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark{white-space:normal}.game.scene-overlay-layout[data-layout=scene-overlay] .mission{top:calc(66px + env(safe-area-inset-top))}.game.scene-overlay-layout[data-layout=scene-overlay] .progress-status{top:calc(98px + env(safe-area-inset-top))}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:minmax(0,1fr) 48px;gap:7px;padding:10px}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue-copy{grid-area:1 / 1 / 2 / -1;align-self:stretch;min-height:0}.game.scene-overlay-layout[data-layout=scene-overlay] .speaker-avatar{grid-area:2 / 1}.game.scene-overlay-layout[data-layout=scene-overlay] .continue-button,.game.scene-overlay-layout[data-layout=scene-overlay] .scene-playing{grid-area:2 / 3}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue-copy p{font-size:15px}}@media(orientation:portrait)and (max-width:600px){.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-button{display:none}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark strong{font-size:13px;line-height:1.35}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark span{font-size:10px}}@media(orientation:landscape)and (max-height:600px){.game.scene-overlay-layout[data-layout=scene-overlay]{--dialogue-height: 80px;--scene-top: calc(102px + env(safe-area-inset-top)) }.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{padding:6px 10px;gap:5px}.game.scene-overlay-layout[data-layout=scene-overlay] .game-brand{min-width:0;flex-shrink:1}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark{flex-direction:column;gap:1px;white-space:normal}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark span{font-size:10px}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark strong{font-size:15px}.game.scene-overlay-layout[data-layout=scene-overlay] .tools{gap:4px}.game.scene-overlay-layout[data-layout=scene-overlay] .mission{top:calc(61px + env(safe-area-inset-top))}.game.scene-overlay-layout[data-layout=scene-overlay] .mission h1{font-size:15px}.game.scene-overlay-layout[data-layout=scene-overlay] .mission-mark{width:24px;height:24px}.game.scene-overlay-layout[data-layout=scene-overlay] .progress-status{top:calc(88px + env(safe-area-inset-top));font-size:10px}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue{padding:8px 12px;gap:9px}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue-copy p{font-size:14px;line-height:1.5}}.game.scene-overlay-layout[data-layout=scene-overlay] .modal-backdrop{padding:12px}.game.scene-overlay-layout[data-layout=scene-overlay] .modal{max-height:calc(100dvh - 24px);padding:12px;overscroll-behavior:contain}.game.scene-overlay-layout[data-layout=scene-overlay] .modal header{position:sticky;top:-12px;z-index:1;margin:-12px -12px 8px;padding:12px;background:#f7faee}.game.scene-overlay-layout[data-layout=scene-overlay] .modal h2{font-size:21px}.game.scene-overlay-layout[data-layout=scene-overlay] .video-modal video{max-height:calc(100dvh - 132px);object-fit:contain}@media(orientation:landscape)and (max-height:600px){.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top{--dialogue-height: 72px}.game.scene-overlay-layout[data-layout=scene-overlay].has-choices{--dialogue-height: 64px;--scene-top: calc(84px + env(safe-area-inset-top)) }}.game.scene-overlay-layout[data-layout=scene-overlay] .world,.game.scene-overlay-layout[data-layout=scene-overlay] .world-targets{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0}.game.scene-overlay-layout[data-layout=scene-overlay] .story-hud{display:contents}.game.scene-overlay-layout[data-layout=scene-overlay] .maze-viewport{display:none}.game.scene-overlay-layout[data-layout=scene-overlay] .scene-view-controls{position:absolute;top:var(--scene-top);left:12px;z-index:12}.game.scene-overlay-layout[data-layout=scene-overlay] .scene-pan-hint{transform:none}.game.scene-overlay-layout[data-layout=scene-overlay] .game-brand{min-height:48px}.game.scene-overlay-layout[data-layout=scene-overlay] .speaker-avatar,.game.scene-overlay-layout[data-layout=scene-overlay] .continue-button{margin:0;align-self:center}.game.scene-overlay-layout[data-layout=scene-overlay] .finish-actions{bottom:auto}@media(max-width:359px)and (orientation:portrait){.game.scene-overlay-layout[data-layout=scene-overlay]{--scene-top:158px}.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{flex-wrap:wrap;justify-content:center}.game.scene-overlay-layout[data-layout=scene-overlay] .game-brand{width:100%;justify-content:center;min-height:32px}.game.scene-overlay-layout[data-layout=scene-overlay] .wordmark{flex-direction:row}.game.scene-overlay-layout[data-layout=scene-overlay] .tools{margin:0}.game.scene-overlay-layout[data-layout=scene-overlay] .mission{top:calc(108px + env(safe-area-inset-top))}.game.scene-overlay-layout[data-layout=scene-overlay] .progress-status{top:calc(140px + env(safe-area-inset-top))}}@media(orientation:landscape)and (max-height:600px){.game.scene-overlay-layout[data-layout=scene-overlay].purple-game[data-phase=stone]{--dialogue-height:64px;--scene-top:76px}.game.scene-overlay-layout[data-layout=scene-overlay].purple-game[data-phase=stone] .mission,.game.scene-overlay-layout[data-layout=scene-overlay].purple-game[data-phase=stone] .progress-status{visibility:hidden}}.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{background:linear-gradient(180deg,#fffbeded,#fffbed99,transparent)}.game.scene-overlay-layout[data-layout=scene-overlay] .game-brand{color:#294d42}.game.scene-overlay-layout[data-layout=scene-overlay].map-mode .mission{background:#fffbeded;border-radius:18px;padding:4px 10px}.game.scene-overlay-layout[data-layout=scene-overlay] .game-header{padding-top:max(6px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.game.scene-overlay-layout[data-layout=scene-overlay] .scene-viewport{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:calc(var(--dialogue-height) + max(10px,env(safe-area-inset-bottom)) + 14px)}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .scene-viewport{bottom:max(12px,env(safe-area-inset-bottom))}.game.scene-overlay-layout[data-layout=scene-overlay] .dialogue{left:calc((100% + env(safe-area-inset-left) - env(safe-area-inset-right))/2);width:min(var(--dialogue-width),calc(100% - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right))))}.game.scene-overlay-layout[data-layout=scene-overlay] .mission,.game.scene-overlay-layout[data-layout=scene-overlay] .progress-status,.game.scene-overlay-layout[data-layout=scene-overlay] .finish-actions{max-width:calc(100% - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)))}.game.scene-overlay-layout[data-layout=scene-overlay].brown-game[data-phase=photo-compare]{--dialogue-height:80px}.game.scene-overlay-layout[data-layout=scene-overlay].brown-game[data-phase=photo-compare] .dialogue{display:flex}.game.scene-overlay-layout[data-layout=scene-overlay].dialogue-at-top .scene-view-controls{top:calc(var(--scene-top) + var(--dialogue-height) + 12px)}.game.scene-overlay-layout[data-layout=scene-overlay].brown-game.has-choices{--dialogue-height:80px}.game.scene-overlay-layout[data-layout=scene-overlay].brown-game.has-choices .dialogue{display:flex}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help{line-height:1.7}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help p{margin:12px 0}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help ol{padding-left:24px}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help li{margin:8px 0}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help a{display:inline-flex;align-items:center;min-height:48px;color:#356e56}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.game.scene-overlay-layout[data-layout=scene-overlay] .fullscreen-help-actions button{min-height:48px;min-width:48px;padding:8px 16px}.game.scene-split-layout[data-layout=scene-split]{--story-dialogue-min-height: 128px;--story-dialogue-height: var(--story-dialogue-measured-height, var(--story-dialogue-min-height));--story-title-safe-top: 0px;position:fixed;top:0;right:0;bottom:0;left:0;width:100dvw;height:100dvh;min-height:0;display:grid;grid-template-areas:"toolbar" "scene" "controls";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) max-content}.game.scene-split-layout[data-layout=scene-split] .scene-stage{grid-area:2 / 1 / 4 / 2;position:relative;min-width:0;min-height:0}.game.scene-split-layout[data-layout=scene-split] .world,.game.scene-split-layout[data-layout=scene-split] .world-targets{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;overflow:hidden}.game.scene-split-layout[data-layout=scene-split] .world canvas{cursor:default}.game.scene-split-layout[data-layout=scene-split] .world-shade{display:none}.game.scene-split-layout[data-layout=scene-split] .scene-viewport{position:absolute;inset:0 env(safe-area-inset-right) 6px env(safe-area-inset-left);visibility:hidden;pointer-events:none}.game.scene-split-layout[data-layout=scene-split] .story-hud{grid-area:controls;position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:10;background:transparent;border:0}.game.scene-split-layout[data-layout=scene-split] .game-header{grid-area:toolbar;position:relative;inset:auto;z-index:12;min-width:0;flex-wrap:wrap;gap:4px;padding:max(4px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));background:linear-gradient(180deg,#fffbeded,#fffbed88,transparent)}.game.scene-split-layout[data-layout=scene-split] .game-brand{flex:1 1 73px;min-height:48px;min-width:73px;padding:0;width:auto}.game.scene-split-layout[data-layout=scene-split] .game-brand>svg{flex-shrink:0}.game.scene-split-layout[data-layout=scene-split] .wordmark{min-width:0;gap:0;white-space:normal}.game.scene-split-layout[data-layout=scene-split] .wordmark strong{display:none}.game.scene-split-layout[data-layout=scene-split] .wordmark span{display:block;font-size:12px}.game.scene-split-layout[data-layout=scene-split] .chapter-location{display:none}.game.scene-split-layout[data-layout=scene-split] .tools{margin:0 0 0 auto;gap:4px;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}.game.scene-split-layout[data-layout=scene-split] .icon-button,.game.scene-split-layout[data-layout=scene-split] .speaker-avatar,.game.scene-split-layout[data-layout=scene-split] .continue-button{width:48px;height:48px;min-width:48px;min-height:48px;margin:0}.game.scene-split-layout[data-layout=scene-split] .scene-pause-button{position:static;background:#fffbeded}.game.scene-split-layout[data-layout=scene-split] .story-content{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:none;overflow:visible}.game.scene-split-layout[data-layout=scene-split] .mission,.game.scene-split-layout[data-layout=scene-split] .progress-status{position:static;transform:none;flex:none;max-width:100%;padding:0;background:none}.game.scene-split-layout[data-layout=scene-split] .mission{position:absolute;inset:var(--story-title-top, var(--story-title-safe-top)) 0 auto;z-index:10;width:100%;border-radius:0;justify-content:center;text-align:center;gap:4px;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));background:transparent}.game.scene-split-layout[data-layout=scene-split] .mission h1{font-size:14px;line-height:1.4}.game.scene-split-layout[data-layout=scene-split] .mission-mark{display:none}.game.scene-split-layout[data-layout=scene-split] .progress-status{white-space:normal;font-size:11px;flex-wrap:wrap}.game.scene-split-layout[data-layout=scene-split] .story-options{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:4px;padding:0;overflow:visible}.game.scene-split-layout[data-layout=scene-split] .story-options:empty{display:none}.game.scene-split-layout[data-layout=scene-split] .story-options button{min-width:48px;min-height:48px;padding:4px 8px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d9c69e;border-radius:12px;background:#fffdf3;color:#4d604d;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.game.scene-split-layout[data-layout=scene-split] .story-options button.selected{border-color:#577963;background:#e2ecd5}.game.scene-split-layout[data-layout=scene-split] .story-options button.hinted{box-shadow:inset 0 0 0 2px #c29b57}.game.scene-split-layout[data-layout=scene-split] .story-options button:disabled{opacity:.65}.game.scene-split-layout[data-layout=scene-split] .dialogue{position:static;transform:none;width:100%;max-width:none;height:var(--story-dialogue-height);max-height:var(--story-dialogue-height);min-height:var(--story-dialogue-height);flex:0 0 var(--story-dialogue-height);margin:0;padding:6px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:auto;align-items:center;gap:6px;overflow:visible;background:#fffdf3}.game.scene-split-layout[data-layout=scene-split] .dialogue-copy{grid-area:1 / 2;align-self:start;min-width:0;min-height:0;max-height:none;overflow:visible}.game.scene-split-layout[data-layout=scene-split] .dialogue-copy p{margin:3px 0 0;font-size:14px;line-height:1.5}.game.scene-split-layout[data-layout=scene-split] .dialogue:not(:has(.continue-button,.scene-playing)){grid-template-columns:48px minmax(0,1fr) 48px}.game.scene-split-layout[data-layout=scene-split] .speaker-avatar{grid-area:1 / 1;display:flex;align-self:center}.game.scene-split-layout[data-layout=scene-split] .continue-button,.game.scene-split-layout[data-layout=scene-split] .scene-playing{grid-area:1 / 3;align-self:center}.game.scene-split-layout[data-layout=scene-split] .finish-actions{grid-column:1 / -1;position:static;transform:none;width:100%;padding:0;flex:none;flex-wrap:wrap;gap:6px;min-height:48px;max-height:none}.game.scene-split-layout[data-layout=scene-split] .finish-actions>span{font-size:13px}.game.scene-split-layout[data-layout=scene-split] .finish-actions button{min-height:48px;padding:8px}.game.scene-split-layout[data-layout=scene-split] .modal-backdrop{padding:12px}.game.scene-split-layout[data-layout=scene-split] .modal{max-height:calc(100dvh - 24px);padding:12px;overscroll-behavior:contain}.game.scene-split-layout[data-layout=scene-split] .modal header{position:sticky;top:-12px;z-index:1;margin:-12px -12px 8px;padding:12px;background:#f7faee}.game.scene-split-layout[data-layout=scene-split] .modal h2{font-size:21px}.game.scene-split-layout[data-layout=scene-split] .video-modal video{max-height:calc(100dvh - 132px);object-fit:contain}@media(orientation:landscape){.game.scene-split-layout[data-layout=scene-split]{--story-title-safe-top: env(safe-area-inset-top, 0px);grid-template-areas:"scene toolbar" "scene controls";grid-template-columns:minmax(0,1fr) calc(clamp(260px,34vw,380px) + env(safe-area-inset-right));grid-template-rows:auto minmax(0,1fr)}.game.scene-split-layout[data-layout=scene-split] .scene-stage{grid-area:scene}.game.scene-split-layout[data-layout=scene-split] .story-hud{background:#fbf6e8;justify-content:flex-end;border-top:0;border-left:1px solid #dccca8;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) 8px}.game.scene-split-layout[data-layout=scene-split] .scene-viewport{right:0;bottom:max(6px,env(safe-area-inset-bottom))}.game.scene-split-layout[data-layout=scene-split] .game-header{padding-left:8px;border-left:1px solid #dccca8;background:#fbf6e8}.game.scene-split-layout[data-layout=scene-split] .mission{padding-right:12px}.game.scene-split-layout[data-layout=scene-split] .story-content{display:flex;flex-direction:column;align-items:stretch}.game.scene-split-layout[data-layout=scene-split] .story-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game.scene-split-layout[data-layout=scene-split] .story-options button{min-width:48px;padding:4px}.game.scene-split-layout[data-layout=scene-split] .dialogue{grid-template-columns:48px minmax(0,1fr) 48px}.game.scene-split-layout[data-layout=scene-split] .dialogue:has(.continue-button,.scene-playing){grid-template-columns:48px minmax(0,1fr) 48px}}@media(orientation:portrait){.game.scene-split-layout[data-layout=scene-split] .dialogue{background:#fffdf3;border:1px solid #d9c69e;box-shadow:none;border-radius:12px}}@media(orientation:landscape)and (max-height:600px){.game.scene-split-layout[data-layout=scene-split]{--story-dialogue-min-height: 104px;grid-template-columns:minmax(0,1fr) calc(clamp(300px,34vw,380px) + env(safe-area-inset-right))}.game.scene-split-layout[data-layout=scene-split]:has(.story-options button:nth-child(7)){grid-template-columns:minmax(0,1fr) calc(clamp(360px,42vw,440px) + env(safe-area-inset-right))}.game.scene-split-layout[data-layout=scene-split] .dialogue-copy p{font-size:13px;line-height:1.4}.game.scene-split-layout[data-layout=scene-split] .speaker-name{font-size:11px;line-height:1.2}.game.scene-split-layout[data-layout=scene-split] .story-options:has(button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:360px){.game.scene-split-layout[data-layout=scene-split] .story-options:has(button:nth-child(7)){grid-template-columns:repeat(5,minmax(0,1fr))}}@media(orientation:landscape){.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact],.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact]:has(.story-options button:nth-child(7)){grid-template-columns:minmax(0,1fr) calc(clamp(300px,28vw,320px) + env(safe-area-inset-right))}.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-options:has(button:nth-child(7)){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:360px){.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-options:has(button:nth-child(7)){grid-template-columns:repeat(5,minmax(0,1fr))}}@media(orientation:portrait)and (max-height:700px)and (max-width:360px){.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-hud{gap:4px;padding-top:4px}.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-content{gap:2px}.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-options:has(button:nth-child(7)){grid-template-columns:repeat(5,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:360px),(orientation:portrait)and (max-height:700px)and (max-width:360px){.game.scene-split-layout[data-layout=scene-split][data-controls-size=compact] .story-options:has(button:nth-child(7)) .choice-label svg{display:none}}.game.scene-split-layout[data-layout=scene-split] .choice-label{min-width:0}@media(orientation:landscape)and (max-height:360px){.game.scene-split-layout[data-layout=scene-split]:has([data-choice-kind=number]) .story-hud{gap:2px;padding-top:2px;padding-bottom:max(2px,env(safe-area-inset-bottom))}.game.scene-split-layout[data-layout=scene-split]:has([data-choice-kind=number]) .story-content{gap:2px}.game.scene-split-layout[data-layout=scene-split]:has([data-choice-kind=number]) .map-minimap{flex:0 0 64px;width:64px;max-width:64px;height:48px;min-height:48px}.game.scene-split-layout[data-layout=scene-split]:has([data-choice-kind=number]) .map-minimap svg{display:block;width:100%;height:100%;max-height:none}.game.scene-split-layout[data-layout=scene-split]:has([data-choice-kind=number]) .map-minimap span{display:none}}.game.scene-split-layout[data-layout=scene-split] .story-hud .story-options[aria-label]:has([data-choice-kind=number]){grid-template-columns:repeat(5,minmax(48px,1fr))}.game.scene-split-layout[data-layout=scene-split] .choice-label svg{display:inline-block;width:14px;height:14px;vertical-align:middle}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help{line-height:1.7}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help p{margin:12px 0}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help ol{padding-left:24px}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help li{margin:8px 0}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.game.scene-split-layout[data-layout=scene-split] .fullscreen-help-actions button{min-width:48px;min-height:48px;padding:8px 16px}.game.scene-split-layout[data-layout=scene-split] .mission{color:#56654c}.game.scene-split-layout[data-layout=scene-split] .mission h1{color:inherit}.game.scene-split-layout[data-layout=scene-split] .progress-status{inset:auto}.game.scene-split-layout[data-layout=scene-split] .map-panel{display:flex;align-items:center;gap:6px;min-width:0}.game.scene-split-layout[data-layout=scene-split] .map-controls{position:static;display:flex;flex:1;flex-wrap:wrap;gap:4px;min-width:0}.game.scene-split-layout[data-layout=scene-split] .map-controls button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:48px;min-height:48px;padding:4px 8px;border:1px solid #d9c69e;border-radius:12px;background:#fffdf3;color:#4d604d;font-size:13px}.game.scene-split-layout[data-layout=scene-split] .map-minimap{position:static;flex:0 0 80px;width:80px;max-width:80px;padding:0;border:1px solid #d9c69e;border-radius:8px;overflow:hidden;background:#fffdf3}.game.scene-split-layout[data-layout=scene-split] .map-minimap svg{max-height:65px}.game.scene-split-layout[data-layout=scene-split] .map-minimap span{font-size:10px;line-height:14px}.game.scene-split-layout[data-layout=scene-split] .map-gesture-hint{display:none}.game.scene-split-layout[data-layout=scene-split] .scene-pan-hint{position:static;font-size:11px;text-align:center}.game.scene-split-layout[data-layout=scene-split] .clue-card,.game.scene-split-layout[data-layout=scene-split] .evidence-description{position:static;transform:none;width:auto;max-width:none;max-height:none;margin:0;padding:6px;font-size:12px;line-height:1.4}.game.scene-split-layout[data-layout=scene-split] .clue-card{display:flex;align-items:center;gap:6px}.game.scene-split-layout[data-layout=scene-split] .clue-card img{width:40px;height:40px;object-fit:contain}.game.scene-split-layout[data-layout=scene-split] .evidence-description{height:auto;overflow:visible;clip-path:none;white-space:normal}.game.scene-split-layout[data-layout=scene-split] .choice-image{float:left;width:24px;height:24px;margin-right:4px;object-fit:contain}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .dialogue{grid-template-columns:48px minmax(0,1fr)}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .puzzle-status{display:flex;justify-content:space-between;gap:8px;min-height:24px;align-items:center;font-size:12px;color:#547069}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .puzzle-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .puzzle-picker button{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:8px;gap:6px;width:100%;text-align:left;overflow:hidden}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .puzzle-thumbnail{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#eef2e2}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .map-number{position:absolute;left:12px;top:12px;width:30px;height:30px;background:#fffdf5;box-shadow:0 1px 6px #284f3a22}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .map-skill{align-self:flex-start}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .puzzle-intro{font-size:14px;line-height:1.7}.game:is([data-layout=scene-split],[data-layout=source-page])[data-mode=puzzles] .puzzle-intro strong{display:block;color:#477766}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .story-options{grid-template-columns:repeat(3,minmax(0,1fr))}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .choice-image{width:36px;height:28px}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] [data-choice-kind=topping] .choice-label{display:flex;align-items:center}@media(orientation:landscape)and (max-height:400px){.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .story-content{gap:2px}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .puzzle-status{min-height:18px}}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .story-options:has([data-choice-kind=topping]){grid-template-columns:repeat(4,minmax(0,1fr))}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] [data-choice-kind=topping] .choice-image{width:24px;height:24px;margin-right:2px}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] [data-choice-kind=topping]{padding:4px 2px}.puzzle-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.puzzle-filter-tabs{display:flex;gap:6px}.puzzle-filter-tabs button{min-width:64px;min-height:48px;padding:8px 12px;border:1px solid #d3ddcc;border-radius:12px;background:#fffdf5;color:#496959;font:inherit}.puzzle-filter-tabs button[aria-pressed=true]{background:#e3eddb;border-color:#799a7b;font-weight:700}.puzzle-search{display:flex;flex:1 1 210px;align-items:center;gap:8px;min-width:0;min-height:48px;padding:0 12px;border:1px solid #d3ddcc;border-radius:12px;background:#fffdf5}.puzzle-search input{min-width:0;width:100%;min-height:48px;border:0;background:transparent;font:inherit;color:inherit}.puzzle-type{display:flex;align-items:center;gap:8px}.puzzle-type select{min-height:48px;padding:8px;max-width:100%;border:1px solid #d3ddcc;border-radius:12px;background:#fffdf5;color:#496959;font:inherit}.puzzle-results,.puzzle-empty{color:#637a65;font-size:14px;line-height:1.6}@media(orientation:landscape)and (max-height:600px){.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles]:has(.story-options button[data-choice-kind=trace]){grid-template-columns:minmax(0,1fr) calc(clamp(400px,52vw,480px) + env(safe-area-inset-right))}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .story-options:has([data-choice-kind=trace]){grid-template-columns:repeat(5,minmax(48px,1fr))}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .story-options:has([data-choice-kind=trace]):has(button:nth-child(11)){grid-template-columns:repeat(7,minmax(48px,1fr))}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .map-minimap{flex:0 0 64px;width:64px;max-width:64px;height:48px;min-height:48px}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .map-minimap svg{width:100%;height:100%;max-height:none}.game.scene-split-layout[data-layout=scene-split][data-mode=puzzles] .map-minimap span{display:none}}.scene-split-layout .puzzle-entry{display:flex;flex:1 1 100%;align-items:center;gap:8px;min-width:0;color:inherit}.scene-split-layout .puzzle-entry span{flex:1;font-size:14px}.scene-split-layout .puzzle-entry input{width:46%;min-width:64px;min-height:48px;box-sizing:border-box;border:1px solid #b8c7b6;border-radius:12px;background:#fffef8;color:#38594d;padding:8px 12px;font:inherit}.scene-split-layout .puzzle-select{display:flex;align-items:center;gap:6px;grid-column:span 2;min-width:0;color:#38594d}.scene-split-layout .puzzle-select select{flex:1;width:0;min-height:48px;border:1px solid #b8c7b6;border-radius:12px;background:#fffef8;color:inherit;padding:8px;font:inherit}.game.source-page-layout{position:fixed;top:0;right:0;bottom:0;left:0;width:100dvw;height:100dvh;min-height:0;--page-edge-top: max(10px, env(safe-area-inset-top));--page-edge-right: max(10px, env(safe-area-inset-right));--page-edge-bottom: max(10px, env(safe-area-inset-bottom));--page-edge-left: max(10px, env(safe-area-inset-left))}.source-page-layout .scene-stage,.source-page-layout .world{position:absolute;top:0;right:0;bottom:0;left:0}.source-page-layout .world-shade{display:none}.source-page-layout .scene-viewport{position:absolute;inset:var(--page-edge-top) max(178px,calc(env(safe-area-inset-right) + 168px)) var(--page-edge-bottom) max(178px,calc(env(safe-area-inset-left) + 168px));visibility:hidden;pointer-events:none}.source-page-text-viewport{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;clip-path:inset(var(--page-clip-top, 0px) var(--page-clip-right, 0px) var(--page-clip-bottom, 0px) var(--page-clip-left, 0px))}.source-page-copy{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;transform:translate(var(--page-x, -10000px),var(--page-y, 0px)) scale(var(--page-scale, 1));clip-path:inset(0);color:#353d38}.source-page-copy h1,.source-page-copy p{position:absolute;margin:0}.source-page-title{text-align:center;font-family:Kaiti SC,STKaiti,KaiTi,serif;font-weight:900;line-height:1.2;letter-spacing:.12em}.source-page-question{display:flex;align-items:center;padding:10px 24px;border:4px solid;border-radius:22px 26px 19px 24px;background:#fffdf5;color:#35433b;font-family:Kaiti SC,STKaiti,KaiTi,serif;line-height:1.65}.source-page-number{position:absolute;bottom:20px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffedb0;border:3px solid #fff8dc;font-size:30px;color:#3d493d}.page-corner{position:absolute;z-index:12;display:flex;gap:6px}.page-top-left{top:var(--page-edge-top);left:var(--page-edge-left)}.page-top-right{top:var(--page-edge-top);right:var(--page-edge-right)}.page-bottom-left{bottom:var(--page-edge-bottom);left:var(--page-edge-left);flex-direction:column}.page-bottom-right{bottom:var(--page-edge-bottom);right:var(--page-edge-right);flex-direction:column;align-items:flex-end}.page-corner button,.page-corner a,.page-feedback button{min-width:48px;min-height:48px;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #66817333;border-radius:16px;background:#fffef4ed;color:#36574b;box-shadow:0 3px 12px #24433112;text-decoration:none;font-size:14px}.page-corner button:disabled{opacity:.45}.page-corner .page-primary-action{background:#365d4e;color:#fffef5;min-width:102px}.page-secondary-actions{display:flex;gap:6px}.page-puzzle-status{font-size:12px;background:#fffef4df;border-radius:10px;padding:4px 8px}.page-bottom-left .map-controls{display:grid;grid-template-columns:repeat(2,48px);gap:6px}.page-bottom-left .map-controls button:first-child{grid-column:1 / -1;grid-row:2}.page-bottom-left .map-gesture-hint{display:none}.page-bottom-left .map-minimap{order:-1;width:102px;border:2px solid #fff9e5;border-radius:10px;overflow:hidden;background:#fffef4}.page-bottom-left .map-minimap svg{width:100%;height:116px;max-height:none}.page-bottom-left .map-minimap span{display:none}.page-feedback{position:absolute;z-index:15;top:calc(var(--page-edge-top) + 58px);right:var(--page-edge-right);width:min(310px,calc(100% - 20px));padding:8px 14px 14px;border:1px solid #d3ddc7;border-radius:18px;background:#fffef5f5;box-shadow:0 6px 24px #25443622;color:#36574b;max-height:calc(100dvh - var(--page-edge-top) - var(--page-edge-bottom) - 68px);overflow-y:auto;overscroll-behavior:contain}.page-feedback>div{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-8px;background:#fffef5;z-index:1}.page-feedback p{margin:2px 0 0;font-size:15px;line-height:1.8}.page-feedback button{box-shadow:none;background:transparent;border:0}.page-answer-picker{position:absolute;right:0;bottom:calc(100% + 8px);width:280px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #d3ddc7;border-radius:18px;background:#fffef5;box-shadow:0 6px 24px #25443622}.page-answer-picker header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;font-size:14px}.page-answer-picker img{width:48px;height:44px;object-fit:contain}.source-page-layout .modal-backdrop{padding:12px}.source-page-layout .modal{max-height:calc(100dvh - 24px);padding:12px;overscroll-behavior:contain}.source-page-layout .modal header{position:sticky;top:-12px;z-index:1;margin:-12px -12px 8px;padding:12px;background:#f7faee}.source-page-layout .modal h2{font-size:21px}.source-page-layout .modal button,.source-page-layout .pause-menu a{min-width:48px;min-height:48px}.source-page-layout .fullscreen-help{line-height:1.7}.source-page-layout .fullscreen-help p{margin:12px 0}.source-page-layout .fullscreen-help ol{padding-left:24px}.source-page-layout .fullscreen-help li{margin:8px 0}.source-page-layout .fullscreen-help-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.source-page-layout .fullscreen-help-actions button{padding:8px 16px}@media(orientation:portrait){.source-page-layout .scene-viewport{inset:calc(var(--page-edge-top) + 58px) var(--page-edge-right) calc(var(--page-edge-bottom) + 138px) var(--page-edge-left)}.page-bottom-left .map-minimap{position:absolute;bottom:calc(100% + 8px);left:0}}@media(orientation:landscape)and (max-height:500px){.page-bottom-left .map-minimap{position:absolute;left:0;bottom:calc(100% + 8px);width:68px}.page-bottom-left .map-minimap svg{height:76px}.page-answer-picker{bottom:0;right:calc(100% + 10px);width:min(280px,calc(100vw - 190px))}}.source-page-block{white-space:pre-line;font-family:Kaiti SC,STKaiti,KaiTi,serif;line-height:1.5;color:#35433b}.source-page-question{white-space:pre-line}.source-page-layout .page-corner .story-options{margin:0;padding:0}.source-page-layout .page-puzzle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:156px;gap:6px}.source-page-layout .page-puzzle-actions:empty{display:none}.source-page-layout .page-puzzle-actions>:only-child{grid-column:1 / -1}.source-page-layout .page-puzzle-actions button{padding:6px;font-size:12px;line-height:1.3;border-radius:14px}.source-page-layout .page-answer-picker{padding:10px;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}.page-answer-picker .puzzle-entry,.page-answer-picker .puzzle-select{grid-column:1 / -1;display:grid;gap:6px;min-width:0}.page-answer-picker input,.page-answer-picker select{width:100%;min-width:48px;min-height:48px;padding:8px;font-size:16px;border:1px solid #a6b6a4;border-radius:10px;background:#fff;color:#35433b}.page-answer-picker button{white-space:normal;min-width:0}.page-answer-picker button img{flex:0 0 48px}@media(orientation:portrait){.source-page-layout .scene-viewport{bottom:calc(var(--page-edge-bottom) + max(138px,var(--page-actions-height,138px)))}}@media(orientation:landscape)and (max-height:500px){.source-page-layout .page-answer-picker{max-height:calc(100dvh - 85px)}}.source-page-layout .page-puzzle-actions>.page-primary-action{grid-column:1 / -1}.source-page-question,.source-page-block{font-weight:400}.source-page-layout[data-scene-focus]{--focus-caption-width: clamp(200px, 25vw, 320px);--focus-left: calc(var(--page-edge-left) + 112px);--focus-right: calc(var(--page-edge-right) + var(--focus-caption-width) + 10px);--focus-top: calc(var(--page-edge-top) + 48px)}.source-page-layout[data-scene-focus] .scene-viewport{inset:var(--focus-top) var(--focus-right) var(--page-edge-bottom) var(--focus-left)}.source-page-layout[data-scene-focus] .source-page-text-viewport{clip-path:none}.source-page-layout[data-scene-focus] .source-page-copy{width:100%!important;height:100%!important;transform:none;clip-path:none}.source-page-layout[data-scene-focus] .source-page-title{left:var(--focus-left);right:var(--focus-right);top:var(--page-edge-top);height:44px;display:grid;place-items:center;font-size:clamp(20px,2.5vw,32px);letter-spacing:.08em}.source-page-caption{position:relative;width:var(--focus-caption-width);padding:8px 12px 12px;border:1px solid #66817333;border-radius:16px;background:#fffef4f5;color:#354b40;box-shadow:0 3px 12px #24433112}.source-page-caption header{min-height:40px;display:flex;align-items:center;padding-right:36px;font-size:12px;line-height:1.4;color:#5c7164}.source-caption-status{display:block;font-size:11px;line-height:1.5}.source-caption-status:empty{display:none}.source-caption-text,.source-caption-measure p{margin:0;font-size:14px;line-height:1.6;font-weight:400;overflow-wrap:anywhere}.source-caption-text{height:var(--focus-copy-height, 112px)}.page-corner .source-caption-next{position:absolute;top:4px;right:4px;background:transparent;border:0;box-shadow:none}.source-caption-measure{position:absolute;left:12px;right:12px;visibility:hidden;pointer-events:none}.source-page-layout[data-scene-focus] .page-puzzle-actions{width:var(--focus-caption-width);min-height:var(--focus-controls-height,48px);align-content:end}.source-page-layout[data-scene-focus] .page-puzzle-actions:empty{display:grid}.source-page-layout[data-scene-focus] .page-puzzle-actions button{min-width:48px}.source-page-layout[data-scene-focus] .page-puzzle-actions>.page-primary-action:not(:only-child){grid-column:auto}.source-page-layout[data-scene-focus] .page-answer-picker{z-index:1}@media(orientation:portrait){.source-page-layout[data-scene-focus]{--focus-caption-width: min(320px, calc(100vw - var(--page-edge-left) - var(--page-edge-right) - 112px));--focus-left: var(--page-edge-left);--focus-right: var(--page-edge-right);--focus-top: calc(var(--page-edge-top) + 100px)}.source-page-layout[data-scene-focus] .scene-viewport{bottom:calc(var(--page-edge-bottom) + 130px + var(--focus-controls-height,48px) + var(--focus-copy-height, 112px))}.source-page-layout[data-scene-focus] .source-page-title{top:calc(var(--page-edge-top) + 58px);height:40px;font-size:25px}}@media(orientation:landscape){.source-page-layout[data-scene-focus][data-controls-rows="2"]{--focus-caption-width: clamp(270px, 28vw, 340px)}}@media(orientation:landscape)and (max-height:350px){.source-page-layout[data-scene-focus][data-controls-rows]{--focus-caption-width: 240px;--focus-left: calc(var(--page-edge-left) + 58px)}.source-page-layout[data-scene-focus][data-controls-rows="2"] .page-puzzle-actions{grid-template-columns:repeat(4,minmax(0,1fr));min-height:48px}.source-page-layout[data-scene-focus] .map-controls{display:flex;flex-direction:column;width:48px}.source-page-layout[data-scene-focus] .map-controls button{width:48px;padding:4px;font-size:12px}.source-page-layout[data-scene-focus] .map-controls button:first-child{order:1}.source-page-layout[data-scene-focus] .map-minimap{width:48px;padding:2px}.source-page-layout[data-scene-focus] .map-minimap svg{height:54px}.source-page-caption{padding:4px 8px 8px}.source-caption-measure{left:8px;right:8px}.source-caption-text,.source-caption-measure p{font-size:13px;line-height:1.45}}
