*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;height:100lvh;overflow:hidden;background:#000;color:#e9e6da;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none}button{font:inherit;color:inherit}.hidden{display:none!important}#view{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100%;height:100lvh;display:block;image-rendering:pixelated}#touch{position:fixed;top:0;right:0;bottom:0;left:0}#stick{position:fixed;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:#ffffff0d;display:none;pointer-events:none}#knob{position:absolute;left:50%;top:50%;width:46px;height:46px;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%)}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#topbar{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));display:flex;gap:14px;font-size:15px;letter-spacing:.1em;text-shadow:0 0 4px #000;opacity:.85}#clock{font-family:monospace}#tasks{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 26px);left:max(14px,env(safe-area-inset-left));margin:0;padding:0;list-style:none;font-size:12px;line-height:1.7;text-shadow:0 0 4px #000;opacity:.8}#tasks li:before{content:"□ "}#tasks li.done{opacity:.45;text-decoration:line-through}#tasks li.done:before{content:"■ "}#menuBtn{position:absolute;top:max(6px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;font-size:22px;background:#00000059;border:1px solid rgba(255,255,255,.2);border-radius:8px;pointer-events:auto}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#ffffff8c}#crosshair.active{width:8px;height:8px;margin:-4px;background:#fff}#pcPrompt{position:absolute;left:50%;top:58%;transform:translate(-50%);font-size:14px;text-shadow:0 0 4px #000;display:none}body.pc #pcPrompt.show{display:block}#buttons{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:66px 66px;grid-template-rows:66px 66px;gap:10px;pointer-events:none}#buttons button{pointer-events:auto;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0006;font-size:13px;letter-spacing:.05em}#btnInteract{grid-column:1 / span 2;grid-row:1;justify-self:end;width:78px;height:78px;margin-top:-14px;background:#28281e99!important;border-color:#fff0c899!important;font-size:15px!important}#btnLight{grid-column:1;grid-row:2}#btnRun{grid-column:2;grid-row:2}#btnLight.on,#btnRun.on{background:#fff0c840}body.pc #buttons{display:none}#dialogue{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(640px,76vw);min-height:84px;padding:12px 18px 14px;background:#000000b8;border:1px solid rgba(255,255,255,.18);pointer-events:none;font-size:16px;line-height:1.6}#dialogue .who{font-size:12px;opacity:.7;min-height:14px;letter-spacing:.15em}#dialogue .arrow{position:absolute;right:12px;bottom:6px;font-size:11px;opacity:0;animation:blink 1s infinite}#dialogue.ready .arrow{opacity:.8}@keyframes blink{50%{opacity:.1}}#doc{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009}#doc .paper{width:min(440px,80vw);max-height:86vh;overflow:auto;padding:20px 24px;background:#d8d1bc;color:#1b1a16;box-shadow:0 0 30px #000;transform:rotate(-1deg)}#doc h2{margin:0 0 10px;font-size:16px;letter-spacing:.1em}#doc p{margin:0;font-size:14px;line-height:1.8;white-space:pre-wrap}#doc .close{margin-top:14px;text-align:right;font-size:11px;opacity:.6}#toast{position:fixed;left:50%;top:22%;transform:translate(-50%);font-size:14px;letter-spacing:.15em;text-shadow:0 0 6px #000;opacity:0;transition:opacity .6s;pointer-events:none}#toast.show{opacity:.9}#fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;pointer-events:none;transition:opacity 1.2s;text-align:center;white-space:pre-wrap}#fade.show{opacity:1;pointer-events:auto}#fade .big{font-size:30px;letter-spacing:.4em}#fade .small{font-size:13px;letter-spacing:.2em;opacity:.7;line-height:1.8}#title{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0003,#000000d9)}#title h1{margin:0;font-size:clamp(40px,10vh,76px);letter-spacing:.35em;text-indent:.35em;font-weight:400;text-shadow:0 0 12px rgba(200,30,20,.5)}#title .sub{margin-top:4px;font-size:12px;letter-spacing:.5em;opacity:.6}#title .menu{margin-top:4vh;display:flex;flex-direction:column;gap:12px}#title .menu button{min-width:200px;padding:10px 20px;background:#0006;border:1px solid rgba(255,255,255,.3);letter-spacing:.3em;font-size:16px}#title .menu button:disabled{opacity:.3}#btnVoice{margin-top:1.6vh;padding:6px 16px;background:#0006;border:1px solid rgba(255,255,255,.25);font-size:13px;letter-spacing:.15em}#title .voiceNote{margin-top:.8vh;font-size:10px;opacity:.5;line-height:1.6;white-space:pre-wrap;text-align:left}#title .note{margin-top:2vh;font-size:12px;opacity:.55;letter-spacing:.2em}#title .pc{margin-top:6px;font-size:11px;opacity:.4;display:none}body.pc #title .pc{display:block}#menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000bf}#menu .panel{width:min(400px,86vw);max-height:92vh;overflow:auto;padding:16px 22px;border:1px solid rgba(255,255,255,.2);background:#0b0b0b}#menu h2{margin:0 0 10px;font-size:16px;letter-spacing:.2em}#menu label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;font-size:14px}#menu input[type=range]{width:55%}#menu select{background:#111;color:#eee;border:1px solid #444;padding:4px 8px}#menu .row{display:flex;gap:10px;margin-top:14px}#menu .row button{flex:1;padding:10px;background:#1a1a1a;border:1px solid #444}#rotate{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#000;z-index:50;font-size:16px;letter-spacing:.15em;text-align:center;padding:20px}#title .portrait{display:none;margin-top:1vh;font-size:11px;opacity:.55;text-align:center}@media (orientation: portrait){#title .portrait{display:block}#title h1{font-size:clamp(40px,15vw,76px)}#title .sub{letter-spacing:.3em;font-size:11px}#dialogue{width:calc(100vw - 24px);font-size:15px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 170px)}#doc .paper{width:calc(100vw - 32px)}#tasks{font-size:11px;max-width:70vw}#pcPrompt{top:56%}}#cctv{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:monospace;font-size:15px;letter-spacing:.1em;color:#e8f2e0;text-shadow:0 0 3px #000}#cctv .rec{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));color:#ff4a3d;animation:blink 1.2s steps(2) infinite}#cctv .label{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}#cctv .time{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}body.talking #buttons,body.talking #pcPrompt{opacity:0;pointer-events:none}#title .credits{margin-top:2vh;padding:0 16px;text-align:center;font-size:9px;opacity:.35;letter-spacing:.05em}#title .install{margin-top:1.2vh;font-size:11px;color:#e0c080;opacity:.8;text-align:center;padding:0 16px}#title .install:empty{display:none}#devBtn{position:fixed;top:max(6px,env(safe-area-inset-top));right:calc(max(10px,env(safe-area-inset-right)) + 54px);z-index:60;height:44px;padding:0 12px;background:#3a0d0d;border:1px solid #ff5a50;border-radius:8px;color:#ffd0cc;font:700 13px monospace}#devPanel{position:fixed;top:calc(max(6px,env(safe-area-inset-top)) + 52px);right:max(10px,env(safe-area-inset-right));z-index:60;max-width:calc(100vw - 20px);max-height:80vh;overflow:auto;padding:10px 12px;background:#0a0404f0;border:1px solid #ff5a50;font:13px sans-serif}#devPanel[hidden]{display:none}.devRow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0}.devRow span{min-width:72px;color:#ff9a90;font-size:12px}.devRow button{padding:6px 10px;background:#1d1010;border:1px solid #6a3030;color:#f2e4e2;border-radius:4px}#inapp{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:none;align-items:center;justify-content:center;background:#000;padding:16px;overflow-y:auto}#inapp.show{display:flex}#inapp .box{max-width:460px;width:100%;color:#eee;font-size:14px;line-height:1.6}#inapp h2{margin:0 0 10px;font-size:17px;color:#e0c080;letter-spacing:.08em}#inapp .lead{margin:0 0 12px;white-space:pre-line;opacity:.85}#inapp ol{margin:0 0 16px;padding-left:1.4em}#inapp li{margin:6px 0}#inapp button{display:block;width:100%;margin:8px 0;padding:12px;font-size:15px;background:#1a1a1a;color:#eee;border:1px solid #555}#inapp #btnCopyUrl{border-color:#e0c080;color:#e0c080}#inapp #btnInappSkip{opacity:.6;font-size:13px}body.held #hud,body.held #buttons{opacity:0;pointer-events:none}
