:root{--bg: #0c0b0d;--panel: rgba(16, 17, 22, .82);--line: rgba(255, 255, 255, .12);--accent: #4fc3ff;--danger: #ff3838;--warn: #ffd23a;--safe: #37e36a;--text: #eef1f6}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}#app,#app canvas{width:100%;height:100%;display:block}.hidden{display:none!important}#crosshair{position:fixed;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;z-index:4;pointer-events:none;box-shadow:0 0 8px #000c}#vignette{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;box-shadow:inset 0 0 180px 40px #ff1414d9;transition:opacity .16s ease}#hud{position:fixed;top:16px;left:16px;right:16px;z-index:5;display:grid;gap:9px;justify-items:start;pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.8)}#top-bar{display:flex;align-items:center;gap:12px}#timer{font-size:30px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;padding:4px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(8px)}#timer.urgent{color:var(--danger);animation:blink 1s steps(2,start) infinite}@keyframes blink{50%{opacity:.4}}#state-chip{font-size:14px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(8px)}#state-chip[data-alert=patrol]{color:var(--safe);border-color:#37e36a80}#state-chip[data-alert=suspicious]{color:var(--warn);border-color:#ffd23a99}#state-chip[data-alert=chase]{color:#fff;background:#b41414d9;border-color:var(--danger);animation:blink .6s steps(2,start) infinite}#danger-wrap{width:min(300px,60vw);height:8px;background:#ffffff1f;border-radius:999px;overflow:hidden;border:1px solid var(--line)}#danger-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--safe),var(--warn) 55%,var(--danger));transition:width .1s linear}#mission{font-size:13px;font-weight:700;padding:6px 12px;border-radius:8px;background:#0c1e28b3;border:1px solid rgba(22,208,255,.5);color:#b9ecff;backdrop-filter:blur(8px)}#mission[data-act="1"]{border-color:#16d0ff;color:#fff;animation:blink .8s steps(2,start) infinite}#message{font-size:14px;padding:6px 12px;border-radius:8px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(8px);max-width:min(420px,88vw);line-height:1.5}#message:empty{display:none}#minimap-wrap{position:fixed;right:14px;bottom:14px;z-index:6;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 12px 36px #00000080}#minimap-wrap canvas{display:block;width:280px;height:211px;border-radius:7px}#minimap-wrap.big canvas{width:min(78vw,620px);height:min(58vh,466px)}#minimap-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#e6f0ffb3;margin-bottom:5px;padding:0 2px}#minimap-legend{color:var(--accent)}#touch-controls{position:fixed;right:18px;bottom:240px;z-index:7;display:flex;flex-direction:column;gap:12px}#touch-controls button{width:76px;height:76px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:#141820a8;color:#fff;font-size:16px;font-weight:800;backdrop-filter:blur(6px)}#touch-controls button.on{background:#4fc3ff66;border-color:var(--accent)}#countdown{position:fixed;inset:0;z-index:9;display:grid;place-content:center;justify-items:center;gap:6px;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,40,40,.06),transparent 60%)}#countdown-label{font-size:20px;letter-spacing:.2em;color:#9fd4ff;text-shadow:0 2px 12px #000}#countdown-num{font-size:160px;font-weight:900;line-height:1;color:var(--danger);text-shadow:0 0 40px rgba(255,40,40,.6),0 6px 24px #000}#title-screen,#result-screen{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:22px;overflow-y:auto;background:radial-gradient(circle at 50% 22%,rgba(79,195,255,.1),transparent 42%),linear-gradient(180deg,#0000006b,#000000c7);backdrop-filter:blur(3px)}.title-panel,.result-panel{width:min(560px,96vw);border:1px solid rgba(120,170,230,.22);border-radius:16px;padding:26px 26px 20px;background:linear-gradient(180deg,#14161ef0,#090a0eeb);box-shadow:0 30px 90px #0009,inset 0 1px #ffffff0f}.eyebrow{color:#7fb6e6;font-size:11px;letter-spacing:.32em;margin-bottom:8px}.title-panel h1{margin:0;font-size:46px;line-height:.96;font-weight:900;letter-spacing:.02em}.title-panel h1 span{display:block;color:var(--accent);-webkit-text-stroke:1px rgba(79,195,255,.4)}.lead{margin:12px 0 14px;font-size:13px;line-height:1.6;color:#e6ebf5c7}.lead strong{color:#ff6b6b}.opt-group{margin-bottom:11px}.opt-label{display:block;font-size:12px;letter-spacing:.08em;color:#dce6f5b3;margin-bottom:7px}.opt-label span{color:var(--accent);font-weight:700}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.seg.seg-3{grid-template-columns:repeat(3,1fr)}.seg button{padding:10px 0;border:1px solid var(--line);border-radius:8px;background:#ffffff0a;color:var(--text);font-weight:700;font-size:13px}.seg button.active{background:var(--accent);color:#06121c;border-color:var(--accent)}.note{margin-top:7px;font-size:11.5px;line-height:1.5;color:#d0def0b8;min-height:14px}.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}input[type=range]{width:100%;accent-color:var(--accent)}.toggle-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 18px}.toggle{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#e1e8f4d1;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#ffffff08;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.toggle:hover{border-color:#78aae673}.toggle:has(input:checked){border-color:#4fc3ff99;background:#4fc3ff1a;color:#fff}.toggle input{width:16px;height:16px;accent-color:var(--accent);flex:0 0 auto}.start-actions{display:flex;gap:10px}.start-actions button{flex:1;min-height:52px;border:0;border-radius:10px;font-size:16px;font-weight:800;color:#06121c;background:linear-gradient(180deg,#6fd0ff,#3aa9ee);cursor:pointer}.start-actions button.ghost{flex:0 0 38%;color:var(--text);background:#ffffff14;border:1px solid var(--line)}.vr-cta{min-height:62px;font-size:19px;color:#04121d;background:linear-gradient(180deg,#5fe0ff,#28b6f0);box-shadow:0 8px 26px #2bc6e873,inset 0 1px #ffffff80;animation:vrpulse 2.4s ease-in-out infinite}.vr-cta small{font-size:12px;font-weight:700;letter-spacing:.18em;opacity:.7}@keyframes vrpulse{50%{box-shadow:0 8px 34px #2bc6e8bf,inset 0 1px #ffffff80}}.start-actions button.ghost-cta{min-height:44px;font-size:14px;color:var(--text);background:#ffffff12;border:1px solid var(--line)}.controls-hint{margin-top:14px;font-size:11.5px;line-height:1.6;color:#c8d7eb9e}.legal{margin-top:12px;font-size:10px;line-height:1.5;color:#aab9cd73}#result-screen{pointer-events:none;place-items:end center;padding-bottom:7vh;background:linear-gradient(180deg,#0000000a,#0000006b);backdrop-filter:none}.result-panel{pointer-events:auto}.result-panel{text-align:center}#result-badge{font-size:64px;font-weight:900;margin-bottom:6px}#result-screen.caught #result-badge:before{content:"確保";color:var(--danger);text-shadow:0 0 30px rgba(255,30,30,.5)}#result-screen.cleared #result-badge:before{content:"逃げ切り";color:var(--safe);text-shadow:0 0 30px rgba(55,227,106,.5)}#result-screen.session #result-badge{color:var(--accent);font-size:44px}#result-title{margin:0 0 8px;font-size:26px}#result-sub{margin:0 0 20px;font-size:14px;color:#e6ebf5bd;line-height:1.6}#VRButton{z-index:11!important}.xr-presenting #hud,.xr-presenting #minimap-wrap,.xr-presenting #touch-controls,.xr-presenting #crosshair,.xr-presenting #vignette{display:none!important}@media (max-width: 620px){.title-panel h1{font-size:38px}#minimap-wrap canvas{width:168px;height:127px}#timer{font-size:24px}.opt-grid,.toggle-row{grid-template-columns:1fr}}@media (max-height: 500px){#touch-controls{flex-direction:row;bottom:12px;right:12px;gap:10px}#touch-controls button{width:58px;height:58px;font-size:13px}#minimap-wrap{bottom:80px}#minimap-wrap canvas{width:150px;height:113px}#hud{top:10px}#timer{font-size:22px}}
