*{box-sizing:border-box;margin:0;padding:0}html,body{color:#ddd;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#000;width:100%;height:100%;font-family:Zen Kaku Gothic New,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;overflow:hidden}canvas#c{cursor:none;width:100vw;height:100dvh;display:block}.hidden{display:none!important}#hud{pointer-events:none;position:fixed;inset:0}#objective{letter-spacing:.06em;text-shadow:0 0 6px #000,0 0 2px #000;font-size:16px;position:absolute;top:26px;left:32px}#objective.flash{animation:1.6s flash}@keyframes flash{0%{opacity:0}30%{opacity:1;color:#fff}to{opacity:1}}#crosshair{background:#fff9;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}#prompt{letter-spacing:.08em;text-shadow:0 0 6px #000;white-space:nowrap;font-size:15px;position:absolute;top:calc(50% + 24px);left:50%;transform:translate(-50%)}#subtitle{z-index:30;pointer-events:none;text-align:center;letter-spacing:.05em;color:#f0f0f0;text-shadow:0 0 8px #000,0 0 3px #000,0 0 2px #000;width:min(900px,90vw);font-size:20px;line-height:1.7;position:fixed;bottom:9vh;left:50%;transform:translate(-50%)}body.pc-open #subtitle{white-space:nowrap;background:#000c;border-radius:4px;width:auto;max-width:80vw;padding:4px 22px;bottom:calc(7vh + 12px)}#subtitle .who{color:#9ec3e8;margin-right:.6em}#subtitle .who.ghost{color:#d05050}#hint{opacity:.85;text-shadow:0 0 6px #000;font-size:14px;position:absolute;bottom:28px;right:32px}#toast{background:#181a1ee6;border:1px solid #333;border-radius:10px;width:250px;padding:10px 14px;animation:.4s toast;position:absolute;top:22px;right:26px;box-shadow:0 6px 20px #000}#toast .app{color:#8a8f98;letter-spacing:.1em;font-size:10px}#toast .who{color:#e8e8e8;margin-top:3px;font-size:13px;font-weight:700}#toast .text{color:#ccc;margin-top:2px;font-size:13px}@keyframes toast{0%{opacity:0;transform:translateY(-20px)}}#pc{background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#pc .monitor{background:#0b0e13;border:10px solid #16181c;border-radius:6px;flex-direction:column;width:min(980px,94vw);height:min(620px,86vh);font-family:DotGothic16,monospace;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #5a8cdc2e,0 20px 60px #000}#pc .monitor:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px);position:absolute;inset:0}#pc .bar{color:#a8b4c8;background:#1c2230;justify-content:space-between;padding:5px 12px;font-size:13px;display:flex}#pc .panes{flex:1;min-height:0;display:flex}#pc .term{color:#a6e3a8;white-space:pre-wrap;word-break:break-all;flex:1.6;padding:10px 14px;font-size:14px;line-height:1.5;overflow-y:auto}#pc .term .ps{color:#6aa0e8}#pc .term .cur{animation:1s step-end infinite blink}#pc .term .red{color:#ff5a4a}#pc .term .faint{color:#5c7a60}#pc .term .warn{color:#e8c35a}#pc .term .white{color:#e8e8e8}#pc .side{background:#10131a;border-left:1px solid #242a36;flex-direction:column;flex:1;min-width:0;display:flex}#pc .chan{color:#c8d0e0;border-bottom:1px solid #242a36;padding:7px 12px;font-size:13px}#pc .msgs{flex:1;padding:8px 12px;overflow-y:auto}#pc .msg{color:#c8ccd4;margin-bottom:10px;font-size:13px;line-height:1.45;animation:.3s toast}#pc .msg .head{align-items:baseline;gap:8px;display:flex}#pc .msg .head b{color:#e8ecf4;font-weight:400}#pc .msg .head span{color:#5e6676;font-size:11px}#pc .msg.gone .head b{color:#d86a5a}#pc .msg.me .head b{color:#8ab8e8}#pc .choices{border-top:1px solid #242a36;flex-wrap:wrap;gap:10px;min-height:58px;padding:10px 12px;display:flex}#pc .choices button{font:inherit;color:#e0e6f0;cursor:pointer;background:#1e2636;border:1px solid #3a4a66;border-radius:4px;padding:9px 16px;font-size:15px}#pc .choices button:hover{background:#2a3650}#pc .choices button i{color:#6a7a96;margin-right:8px;font-style:normal}#pc.console .monitor{background:#050505}#pc.console .bar{color:#e8b0a8;background:#3a0c0c}#pc.console .term{color:#d8d8d8}#pc.console .side{background:#0a0a0a}@keyframes blink{50%{opacity:0}}#paper{background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#paper .close{color:#999;letter-spacing:.1em;font-size:13px}.sheet{color:#222;max-height:82vh;overflow:auto;box-shadow:0 10px 40px #000}.sticky{color:#2a2a3a;white-space:pre-wrap;background:#efe27a;width:min(300px,80vw);padding:26px 24px;font-family:Yomogi,sans-serif;font-size:20px;line-height:1.7;transform:rotate(2deg)}.crt{color:#9fe0a0;white-space:pre-wrap;background:#06100a;border:10px solid #16181c;border-radius:6px;width:min(620px,90vw);padding:20px 24px;font-family:DotGothic16,monospace;font-size:16px;line-height:1.6}.crt .red{color:#ff5a4a}.report{background:#f2f1ec;width:min(560px,92vw);padding:26px 30px;font-size:14px;line-height:1.6}.report h2{text-align:center;letter-spacing:.2em;margin-bottom:4px;font-size:18px}.report .sub{text-align:center;color:#666;margin-bottom:12px;font-size:11px}.report svg{background:#fff;border:1px solid #aaa;width:100%;height:auto;margin:6px 0 10px;display:block}.report .bottom{color:#9a1010;text-align:center;letter-spacing:.1em;font-weight:700}.resign{writing-mode:vertical-rl;background:#f6f4ee;width:min(380px,88vw);height:min(460px,76vh);padding:30px 34px;font-family:Zen Old Mincho,serif;font-size:15px;line-height:2}.resign h2{letter-spacing:.5em;margin-left:20px;font-size:24px}.resign .name{font-family:Yomogi,sans-serif;font-size:20px}.phone{color:#ddd;background:#121418;border:6px solid #2a2c30;border-radius:22px;width:min(340px,88vw);padding:16px}.phone .app{color:#8a8f98;border-bottom:1px solid #2a2c30;margin-bottom:10px;padding-bottom:8px;font-size:12px}.phone .msg{margin-bottom:12px;font-size:14px}.phone .msg b{color:#8ab8e8;margin-right:8px;font-weight:700}.phone .msg span{color:#666;font-size:11px}#cards{background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#cards p{letter-spacing:.14em;text-align:center;opacity:0;white-space:pre-line;padding:0 8vw;font-family:Zen Old Mincho,serif;font-size:22px;line-height:2;transition:opacity 1.2s}#cards p.on{opacity:1}#gate{cursor:pointer;letter-spacing:.3em;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:18px;display:flex;position:fixed;inset:0}#gate .small{color:#888;font-size:13px;animation:2.4s infinite blink}#title{background:linear-gradient(90deg,#000000bf,#0000 70%);justify-content:flex-start;align-items:center;padding-left:9vw;display:flex;position:fixed;inset:0}.title-inner{text-align:left}#title .kicker{letter-spacing:.5em;color:#9aa6b8;margin-bottom:8px;font-size:13px}#title h1,#end h1{letter-spacing:.2em;color:#eceae4;text-shadow:0 0 20px #000000e6,3px 0 #a0141480,-2px 0 #2878c859;font-family:Zen Old Mincho,serif;font-size:clamp(52px,9vw,116px);font-weight:400;animation:5s infinite jitter}#title .en{letter-spacing:.4em;color:#7a8290;margin-top:4px;font-size:12px}@keyframes jitter{0%,92%,to{transform:none}93%{transform:translate(3px,-1px)skew(4deg)}95%{transform:translate(-2px,1px)}}#title .start{letter-spacing:.4em;cursor:pointer;border:1px solid #ffffff59;margin-top:36px;padding:8px 26px 8px 30px;font-size:19px;animation:2.4s infinite blink;display:inline-block}#title .start:hover{background:#ffffff14}#title .controls{color:#aaa;flex-wrap:wrap;gap:18px;margin-top:36px;font-size:13px;list-style:none;display:flex}#title .controls b{color:#ddd;border:1px solid #666;margin-right:4px;padding:1px 6px;font-weight:400}#title .note{color:#777;letter-spacing:.15em;margin-top:16px;font-size:12px}#title .ios-tip{color:#c9a0a0;letter-spacing:.08em;margin-top:10px;font-size:12px}#pause,#gameover,#end{cursor:pointer;letter-spacing:.2em;background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#gameover{background:#000}#gameover .big{color:#c03030;font-family:Zen Old Mincho,serif;font-size:30px}#end{background:#000}#end .kind{color:#888;letter-spacing:.5em;font-size:14px}.small{font-size:15px}.dim{color:#777;margin-top:30px}#touch{pointer-events:auto;touch-action:none;display:none;position:absolute;inset:0}body.touch #touch{display:block}#stick-base{background:#00000026;border:2px solid #ffffff38;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;display:none;position:absolute}#stick-knob{background:#ffffff47;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}#stick-knob.run{background:#c846468c}.tbtn{color:#ccc;font:inherit;letter-spacing:.1em;touch-action:none;background:#00000059;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}#btn-act{width:78px;height:78px;right:calc(22px + env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));font-size:15px}#btn-act.ready{color:#fff;border-color:#9ec3e8;box-shadow:0 0 16px #9ec3e88c}#btn-light{width:58px;height:58px;right:calc(116px + env(safe-area-inset-right));bottom:calc(34px + env(safe-area-inset-bottom));font-size:12px}#btn-light.on{color:#fff;border-color:#f0e6c8}#btn-pause{width:42px;height:42px;top:calc(12px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));border-radius:8px;font-size:14px}body.touch #hint{bottom:auto;left:50%;right:auto;top:calc(40px + env(safe-area-inset-top));text-align:center;width:60vw;transform:translate(-50%)}body.touch #objective{left:calc(16px + env(safe-area-inset-left));top:calc(14px + env(safe-area-inset-top))}body.touch #toast{top:calc(62px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right))}@media (width<=900px),(height<=500px){#objective{max-width:55vw;font-size:12px}#subtitle{width:62vw;font-size:15px;bottom:5vh}body.pc-open #subtitle{font-size:14px;bottom:calc(4vh + 8px)}#prompt{font-size:13px}#hint{font-size:12px}#toast{width:200px;padding:7px 10px}#toast .who,#toast .text{font-size:12px}#pc .monitor{border-width:5px;width:96vw;height:92dvh}#pc .bar{padding:3px 10px;font-size:11px}#pc .term{padding:6px 10px;font-size:11px;line-height:1.4}#pc .chan{padding:4px 10px;font-size:11px}#pc .msg{margin-bottom:6px;font-size:11px}#pc .msg .head span{font-size:9px}#pc .choices{gap:8px;min-height:46px;padding:6px 10px}#pc .choices button{padding:8px 14px;font-size:13px}.sticky{padding:16px;font-size:16px}.crt{padding:12px 14px;font-size:12px}.report{padding:12px 16px;font-size:11px}.report h2{font-size:14px}.report svg{max-height:44vh}.resign{height:70vh;padding:16px 20px;font-size:12px}.resign h2{font-size:18px}.phone{font-size:12px}#cards p{font-size:16px}#title{padding-left:6vw}#title .kicker{font-size:10px}#title .start{margin-top:16px;font-size:15px}#title .controls{gap:8px 14px;margin-top:16px;font-size:11px}#title .note{margin-top:10px;font-size:10px}#gameover .big{font-size:20px}}@media (width<=600px) and (orientation:portrait){#pc .panes{flex-direction:column}#pc .side{border-top:1px solid #242a36;border-left:none;flex:.8}}
