@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap";:root{font-family:DM Sans,sans-serif;font-size:13px;color:#314132;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:#d9dfca}canvas{display:block;touch-action:none;outline:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #6c7153;outline-offset:5px}button:disabled{cursor:default}button{transition:background .2s,transform .2s,opacity .2s}button:not(:disabled):hover{background:#fffbedde;transform:translateY(-1px)}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#f3efdc50,transparent 21%,transparent 72%,#283b291f);box-shadow:inset 0 0 150px #23302212}.topbar{position:fixed;left:34px;right:34px;top:max(28px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.identity{display:flex;align-items:center;gap:14px;filter:drop-shadow(0 1px 8px #fff8)}.seal{font-family:serif;font-size:16px;line-height:1.1;letter-spacing:1px;border:1px solid #7f63479c;color:#7b6144;padding:7px 6px;background:#eee9d32b}.identity h1{font-family:Libre Caslon Display,Georgia,serif;font-size:30px;line-height:1;margin:0 0 7px;font-weight:400;letter-spacing:-.3px}.identity p{margin:0;font-size:10px;color:#5c6b54;letter-spacing:.3px}.utilities{display:flex;align-items:center;gap:9px;pointer-events:auto}.round{display:flex;align-items:center;justify-content:center;border:1px solid #fff9;background:#f7f5e659;backdrop-filter:blur(16px);border-radius:50%;height:40px;width:40px;padding:0;box-shadow:0 2px 10px #263e2110}.location{font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:8px;margin-right:14px}.location>span{width:5px;height:5px;border-radius:50%;background:#768666}.scene-note{position:fixed;left:36px;top:145px;pointer-events:none;color:#435538a6}.scene-note>span{font-family:serif;font-size:12px;letter-spacing:4px}.scene-note p{font:italic 17px Georgia,serif;margin:10px 0;opacity:.8}.bottom-ui{position:fixed;bottom:44px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;width:max-content;max-width:calc(100% - 24px);pointer-events:none}.context{min-height:23px;margin-bottom:14px;font-size:11px;letter-spacing:.1px;text-align:center;color:#f8f5e9;background:#334735b0;backdrop-filter:blur(12px);padding:9px 16px;border-radius:20px;box-shadow:0 4px 20px #2738260a;max-width:100%}.ritual-dock{display:flex;align-items:center;gap:4px;padding:7px;border:1px solid #ffffe9ab;border-radius:15px;background:#f8f5e3bb;backdrop-filter:blur(22px);box-shadow:0 8px 32px #1e321a1a;pointer-events:auto}.ritual-dock button{border:1px solid transparent;border-radius:10px;background:transparent;width:76px;height:59px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:9px;color:#42513b}.ritual-dock button.active{background:#e4e8d7bd;border-color:#b4bfa580}.ritual-dock button:disabled{opacity:.35}.ritual-dock button.active:disabled{opacity:.7}.ritual-dock svg{width:22px;height:22px}.move-hint{display:flex;align-items:center;gap:4px;font-size:9px;letter-spacing:.1px;margin:14px 0 0;color:#f7f3df;text-shadow:0 1px 4px #1a361b99}.move-hint kbd{font:8px DM Sans,sans-serif;border:1px solid #eeecc9a1;min-width:15px;height:16px;text-align:center;padding-top:2px;border-radius:3px;background:#31422b30}.move-hint span{margin-left:4px}.move-hint i{font-style:normal;opacity:.5;margin:0 3px}.mobile-hint{display:none}.joystick{position:fixed;left:25px;bottom:137px;display:none}footer{position:fixed;bottom:17px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fcf8e3c9;font-size:8px;text-shadow:0 1px 3px #31412c80;pointer-events:none;letter-spacing:.2px}footer button{pointer-events:auto;border:0;background:none;font-size:9px;color:inherit;display:flex;align-items:center;gap:6px;padding:5px}.loading{position:fixed;inset:0;background:#e3e5d7f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;z-index:15;font:25px Libre Caslon Display,Georgia,serif}.loading small{font:11px DM Sans,sans-serif;color:#818971;letter-spacing:.2px}.loading-ring{height:32px;width:32px;border:1px solid #a7af9460;border-top-color:#7c896a;border-radius:50%;animation:spin 2s linear infinite}.fallback{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:#e7e9db;z-index:20;text-align:center}.fallback h2{font:34px Georgia}.fallback button{background:none;border:1px solid #909c80;border-radius:30px;padding:10px 20px}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#1d30246b;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.help-panel{position:relative;width:470px;max-height:calc(100dvh - 40px);overflow:auto;background:#f5f2e8;border:1px solid #fff8;border-radius:16px;padding:36px 34px 26px;box-shadow:0 30px 80px #17271d4d}.close{position:absolute;right:17px;top:16px;width:30px;height:30px;background:transparent;border:0}.overline{font-size:8px;letter-spacing:2px;color:#8c947e}.help-panel h2{font:40px Libre Caslon Display,Georgia,serif;margin:18px 0 12px;letter-spacing:-.5px}.help-panel>p{font-size:12px;color:#737e68;line-height:1.8}.guide{margin:22px 0 24px;display:flex;flex-direction:column;gap:15px;border-top:1px solid #dde0d2;padding-top:23px}.guide div{display:flex;flex-direction:column;gap:5px}.guide b{font-weight:500;font-size:11px}.guide span{font-size:11px;line-height:1.7;color:#7b846e}.help-panel .fine{font-size:9px;color:#909681;line-height:1.8}.help-panel .credits{font-size:9px;color:#8b927f;margin-top:12px}.credits a{color:#697b5c;text-underline-offset:3px}.enter{border:1px solid #4a5e46;background:#43583f;color:#f7f4e7;border-radius:6px;width:100%;padding:12px 15px;margin-top:12px;text-align:left;font-size:11px}.enter:hover{background:#53694d!important}.enter span{float:right}@keyframes spin{to{transform:rotate(360deg)}}@media(pointer:coarse){.joystick{display:block}.move-hint{display:none}.mobile-hint{display:block;font-size:9px;color:#f4f0dd;text-shadow:0 1px 3px #30412c80;margin:13px 0 0}}@media(max-width:650px){.topbar{top:max(21px,env(safe-area-inset-top));left:20px;right:18px}.identity{gap:10px}.identity h1{font-size:25px}.identity p{font-size:8px;max-width:170px}.seal{font-size:12px;padding:6px 5px}.round{width:35px;height:35px}.utilities{gap:6px}.location{display:none}.scene-note{top:116px;left:23px}.scene-note>span{font-size:10px}.scene-note p{font-size:14px}.bottom-ui{bottom:calc(40px + env(safe-area-inset-bottom))}.context{font-size:10px;max-width:340px;line-height:1.5;margin-bottom:10px;padding:8px 14px}.ritual-dock{gap:0;padding:5px;border-radius:14px}.ritual-dock button{width:62px;height:56px;font-size:8px;gap:7px}.ritual-dock svg{width:21px;height:21px}.joystick{left:12px;bottom:calc(158px + env(safe-area-inset-bottom))}footer{left:20px;right:20px;bottom:calc(10px + env(safe-area-inset-bottom));font-size:7px}footer>span{max-width:210px;line-height:1.5}footer button{font-size:8px}.help-panel{padding:32px 25px 24px}.help-panel h2{font-size:35px}}@media(max-height:500px){.topbar{top:14px}.scene-note{display:none}.bottom-ui{bottom:22px}.context{margin-bottom:7px;padding:5px 14px}.ritual-dock{padding:4px}.ritual-dock button{height:43px;gap:3px}.move-hint,.mobile-hint{display:none}footer{bottom:6px}.joystick{bottom:35px}.help-panel{max-height:90dvh}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.vignette{background:linear-gradient(#122b3424,transparent 20%,transparent 77%,#10252129);box-shadow:none}.identity{filter:drop-shadow(0 1px 4px #fff9)}.identity h1{font-size:25px}.identity p{color:#354b45}.seal{background:#f4f3e77a}.topbar{top:24px}.scene-note{display:none}.location{color:#314b46;background:#f4f3e76b;backdrop-filter:blur(10px);padding:10px 12px;border-radius:20px;letter-spacing:1.5px}.context{background:#243f40c2}.ritual-dock{background:#f6f6edd4;border-radius:12px}.move-hint{color:#fffefa;text-shadow:0 1px 5px #142c34}.audio-credit{position:fixed;right:36px;top:83px;background:#f8f6edcf;backdrop-filter:blur(10px);border:1px solid #fff8;border-radius:9px;padding:10px 12px;display:flex;align-items:center;gap:12px;font-size:9px}.audio-credit a{color:#40544b;text-decoration:none}.audio-credit input{width:70px;height:12px;accent-color:#6f6599;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.identity h1{font-size:23px}.audio-credit{right:18px;left:18px;top:85px;justify-content:space-between}.topbar{top:max(21px,env(safe-area-inset-top))}.location{display:none}}.effects-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;padding:14px 0;border-top:1px solid #dde0d2;border-bottom:1px solid #dde0d2;margin:18px 0;color:#485c43}.effects-switch input{accent-color:#6b795a}.effects-switch small{display:block;width:100%;margin-left:24px;color:#7b846e;font-size:9px}
