:root{color-scheme:dark;--color-void: #071113;--color-deep: #0c1c1f;--color-surface: rgba(9, 28, 31, .76);--color-surface-strong: rgba(11, 34, 37, .9);--color-cyan: #7fe8df;--color-cyan-soft: rgba(127, 232, 223, .62);--color-green: #b7f2a4;--color-amber: #f2c76b;--color-ink: #eff8f6;--color-muted: rgba(239, 248, 246, .72);--color-dim: rgba(239, 248, 246, .48);--line-soft: rgba(127, 232, 223, .24);--line-hard: rgba(127, 232, 223, .58);--danger: #ff776c;--font-ui: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", monospace;--radius-panel: 8px;--shadow-glow: 0 0 34px rgba(127, 232, 223, .22)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;background:var(--color-void);color:var(--color-ink);font-family:var(--font-ui);letter-spacing:0;touch-action:manipulation;-webkit-user-select:none;user-select:none}button{font:inherit}.app-shell{width:100vw;height:100svh;min-height:100svh;overflow:hidden;overscroll-behavior:none;background:radial-gradient(circle at 22% 18%,rgba(127,232,223,.16),transparent 34%),radial-gradient(circle at 80% 28%,rgba(183,242,164,.12),transparent 30%),linear-gradient(145deg,#061012,#102527 52%,#071113)}.landing-screen{position:relative;min-height:100svh;display:grid;place-items:center;padding:clamp(24px,5vw,56px);isolation:isolate}.lab-texture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;filter:saturate(.82) contrast(1.18) brightness(.72);mix-blend-mode:screen;z-index:-4}.landing-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(127,232,223,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(127,232,223,.05) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);opacity:.72;z-index:-3}.landing-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(127,232,223,.11),transparent),radial-gradient(circle at 50% 50%,transparent 40%,rgba(2,8,9,.88) 100%);transform:translate(-56%);animation:scanSweep 7s ease-in-out infinite;z-index:-2}.neural-field{position:absolute;inset:0;color:var(--color-cyan);opacity:.46;z-index:-1;pointer-events:none}.neural-field svg{width:100%;height:100%}.brain-line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:12 26;filter:drop-shadow(0 0 8px rgba(127,232,223,.52));animation:signalFlow 9s linear infinite}.line-b{animation-duration:12s;opacity:.58}.line-c{animation-duration:15s;opacity:.38}.node{fill:url(#nodeGlow);transform-origin:center;animation:nodePulse 4.8s ease-in-out infinite}.node-b{animation-delay:1.2s}.node-c{animation-delay:2s}.system-frame{width:min(1040px,100%);min-height:min(640px,calc(100svh - 48px));display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--line-hard);border-radius:var(--radius-panel);background:linear-gradient(135deg,#0c2124e0,#061113bd),linear-gradient(90deg,rgba(127,232,223,.08),transparent 36%,rgba(183,242,164,.08));box-shadow:var(--shadow-glow),inset 0 0 0 1px #eff8f60a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-strip,.boot-log{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:0 22px;border-color:var(--line-soft);color:var(--color-dim);font-family:var(--font-mono);font-size:12px;line-height:1.2;text-transform:uppercase}.status-strip{border-bottom:1px solid var(--line-soft)}.boot-log{border-top:1px solid var(--line-soft)}.status-light{position:relative;padding-left:16px;color:var(--color-green)}.status-light:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 14px currentColor;transform:translateY(-50%);animation:statusBlink 1.9s ease-in-out infinite}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:clamp(28px,5vw,72px);padding:clamp(36px,7vw,76px)}.identity-block{align-self:center}.eyebrow,.panel-label{margin:0 0 14px;color:var(--color-cyan);font-family:var(--font-mono);font-size:13px;line-height:1}h1{max-width:620px;margin:0;color:var(--color-ink);font-size:clamp(42px,7vw,86px);font-weight:700;line-height:1.02;text-wrap:balance;text-shadow:0 0 26px rgba(127,232,223,.26)}h2{margin:0;color:var(--color-ink);font-size:clamp(30px,4vw,54px);line-height:1}.role-line{max-width:460px;margin:28px 0 0;color:var(--color-muted);font-size:clamp(18px,2.3vw,25px);line-height:1.45}.global-timer{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:20;display:grid;gap:3px;min-width:132px;padding:10px 14px;border:1px solid rgba(242,199,107,.56);border-radius:6px;background:#050e0fd6;box-shadow:0 0 26px #f2c76b29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:right;pointer-events:none}.global-timer span{color:var(--color-dim);font-size:11px;line-height:1}.global-timer strong{color:var(--color-amber);font-family:var(--font-mono);font-size:clamp(23px,2.4vw,32px);line-height:1}.access-panel{display:grid;gap:22px;padding:24px;border:1px solid var(--line-hard);border-radius:var(--radius-panel);background:linear-gradient(180deg,#102d30db,#061214e6),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px);box-shadow:inset 0 0 24px #7fe8df14,0 18px 60px #00000052}.scan-emblem{position:relative;width:112px;aspect-ratio:1;border:1px solid var(--line-hard);border-radius:50%;background:radial-gradient(circle,rgba(127,232,223,.18),transparent 58%),conic-gradient(from 0deg,transparent,rgba(127,232,223,.48),transparent 34%);box-shadow:inset 0 0 28px #7fe8df29;animation:rotateScan 8s linear infinite}.scan-emblem:before,.scan-emblem:after,.scan-emblem span{content:"";position:absolute;inset:16px;border:1px solid rgba(127,232,223,.48);border-radius:50%}.scan-emblem:after{inset:34px;border-color:#b7f2a480}.scan-emblem span{inset:48px;background:var(--color-green);box-shadow:0 0 18px var(--color-green)}.instruction{margin:0;color:var(--color-ink);font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.18}.start-button{min-height:58px;width:100%;border:1px solid rgba(183,242,164,.68);border-radius:6px;background:linear-gradient(180deg,#b7f2a4f0,#5ebba1eb),linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);color:#061112;font-size:21px;font-weight:800;cursor:pointer;box-shadow:0 0 24px #b7f2a433;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.start-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 0 36px #b7f2a452}.start-button:active{transform:translateY(1px)}.start-button:focus-visible{outline:3px solid var(--color-amber);outline-offset:4px}.start-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.54;filter:saturate(.75);transform:none;box-shadow:none}.video-screen{position:relative;min-height:100svh;background:#020607;display:grid;place-items:center;overflow:hidden}.story-video{width:100%;height:100svh;object-fit:cover;background:#020607}.video-overlay{position:absolute;inset:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:16px;padding:clamp(16px,3vw,28px);pointer-events:none}.video-status{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:14px;min-height:42px;padding:0 14px;border:1px solid var(--line-soft);border-radius:6px;background:#040e10b8;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;box-shadow:0 10px 30px #00000042;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skip-button{grid-column:2;grid-row:3;align-self:end;justify-self:end;min-height:42px;padding:0 18px;border:1px solid rgba(239,248,246,.42);border-radius:6px;background:#081719bd;color:var(--color-ink);cursor:pointer;pointer-events:auto;transition:border-color .16s ease,background .16s ease,transform .16s ease}.skip-button:hover{border-color:var(--color-cyan);background:#0d2a2ddb;transform:translateY(-1px)}.skip-button:focus-visible{outline:3px solid var(--color-amber);outline-offset:3px}.video-play-button{position:absolute;left:50%;top:50%;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:184px;min-height:58px;padding:0 24px;border:1px solid rgba(183,242,164,.68);border-radius:6px;background:#081719db;color:var(--color-ink);font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 18px 46px #0000005c,0 0 28px #b7f2a42e;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.video-play-button svg{width:24px;height:24px}.video-play-button:hover{border-color:var(--color-green);background:#0c2722eb;box-shadow:0 20px 54px #0000006b,0 0 36px #b7f2a442}.video-play-button:focus-visible{outline:3px solid var(--color-amber);outline-offset:4px}.boardgame-room-screen{position:relative;min-height:100svh;display:grid;grid-template-rows:minmax(0,1fr);padding:clamp(14px,2vw,24px);padding-top:max(clamp(14px,2vw,24px),calc(env(safe-area-inset-top) + 14px));background:linear-gradient(180deg,#020607e0,#081314f5),#071113;overflow:hidden}.boardgame-room-toolbar{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:3}.boardgame-map-stage{min-height:0;display:grid;place-items:center;width:100%}.boardgame-map-frame{position:relative;width:min(100%,calc((100svh - 48px)*1.333));max-height:calc(100svh - 48px);aspect-ratio:2732 / 2048;border:1px solid rgba(127,232,223,.3);border-radius:8px;overflow:hidden;background:#10191a;box-shadow:0 22px 64px #00000070,0 0 28px #7fe8df1a}.boardgame-map-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.boardgame-item-hotspot{position:absolute;z-index:2;border:0;border-radius:6px;background:transparent;color:transparent;cursor:pointer;touch-action:manipulation}.electrical-box-hotspot{left:5.6%;top:6.1%;width:16.4%;height:11.3%}.circuit-blueprint-hotspot{left:55%;top:5.8%;width:15.5%;height:7.5%}.emotion-chart-hotspot{left:93%;top:15.6%;width:5.7%;height:26%}.morse-strip-hotspot{left:15.5%;top:50.6%;width:10%;height:7.4%;transform:rotate(8deg);touch-action:none}.stealth-console-hotspot{left:13.9%;top:79.5%;width:38.7%;height:15.8%}.boardgame-item-hotspot:focus-visible{outline:3px solid var(--color-amber);outline-offset:2px}.boardgame-modal-backdrop{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:clamp(18px,4vw,42px);background:#0206079e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.boardgame-modal{position:relative;width:min(560px,100%);display:grid;gap:20px;padding:clamp(20px,3vw,30px);border:1px solid rgba(127,232,223,.36);border-radius:8px;background:#051214f5;box-shadow:0 24px 80px #0000007a,0 0 34px #7fe8df1f}.boardgame-power-modal{width:min(1280px,100%);height:min(900px,calc(100svh - 36px));display:block;padding:44px 14px 14px}.boardgame-stealth-modal{width:min(1280px,100%);height:min(900px,calc(100svh - 36px));display:block;padding:0;overflow:hidden}.boardgame-power-modal .boardgame-modal-close,.boardgame-stealth-modal .boardgame-modal-close{z-index:6}.boardgame-modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(239,248,246,.24);border-radius:8px;background:#081719d1;color:var(--color-ink);cursor:pointer}.boardgame-modal-close svg{width:20px;height:20px}.boardgame-modal-close:hover,.boardgame-modal-close:focus-visible{border-color:var(--color-cyan);color:var(--color-cyan)}.boardgame-modal-heading{display:grid;gap:6px;padding-right:48px}.boardgame-modal-heading span{color:var(--color-cyan);font-family:var(--font-mono);font-size:12px;line-height:1;text-transform:uppercase}.boardgame-modal-heading h2{font-size:clamp(26px,4vw,40px)}.boardgame-clue-panel{display:grid;gap:20px;padding:18px;border:1px solid rgba(127,232,223,.22);border-radius:8px;background:#071517b8}.boardgame-clue-panel p{margin:0;color:var(--color-muted);font-size:clamp(18px,2.4vw,24px);line-height:1.45}.boardgame-modal-next{justify-self:start;width:auto;min-width:188px;padding:0 22px}.power-modal-screen{min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:0;background:transparent}.power-modal-screen .power-header,.power-modal-screen .power-footer{width:100%}.power-modal-screen .power-header{min-height:42px;justify-content:flex-end;padding-right:48px}.power-modal-screen .power-header h2{font-size:clamp(24px,3vw,38px)}.power-modal-screen .power-console{height:100%;width:auto;max-width:100%}.power-modal-screen .power-footer{font-size:13px}.power-modal-screen .footer-action{min-height:42px;font-size:16px}.stealth-locked-screen{width:100%;height:100%;background:#000}.admin-login-modal-screen{min-height:0;width:100%;height:100%;padding:clamp(16px,2.2vw,28px) clamp(18px,3vw,34px) 76px;place-items:center}.admin-login-modal-screen .admin-login-panel{width:min(520px,52vw);gap:clamp(8px,1.2vh,12px);margin-top:0;transform:none}.admin-login-modal-screen .admin-avatar{width:clamp(86px,10vw,126px)}.admin-login-modal-screen .admin-login-panel h1{font-size:clamp(32px,4vw,52px)}.admin-login-modal-screen .admin-field input{height:clamp(48px,5vw,62px);font-size:clamp(24px,2.8vw,34px)}.admin-login-modal-screen .hint-button{min-height:34px;font-size:clamp(20px,2.2vw,28px)}.admin-login-modal-screen .admin-login-menu{top:18px;right:18px;gap:10px}.admin-login-modal-screen .admin-login-menu span{width:16px}.admin-login-modal-screen .admin-user-switch{display:none}.admin-login-modal-screen .admin-user-switch button{min-width:112px;min-height:38px;border-radius:14px;font-size:23px}.admin-login-modal-screen .admin-system-actions{display:none}.admin-login-modal-screen .admin-system-actions button{width:44px}.admin-modal-submit{width:min(260px,100%);min-height:50px;margin-top:2px;font-size:22px}.boardgame-modal-video-screen{position:relative;width:100%;height:100%;display:grid;place-items:center;background:#020607;overflow:hidden}.boardgame-modal-video-screen .story-video{width:100%;height:100%}.boardgame-video-skip{position:absolute;right:18px;bottom:18px;z-index:2;pointer-events:auto}.ecg-modal-screen{min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;background:transparent}.ecg-modal-screen .ecg-header,.ecg-modal-screen .ecg-footer{width:100%}.ecg-modal-screen .ecg-header{min-height:42px;justify-content:flex-end;padding-right:48px}.ecg-modal-screen .ecg-header h2{font-size:clamp(24px,3vw,38px)}.ecg-modal-screen .ecg-board{height:100%;width:auto;max-width:100%}.ecg-modal-screen .ecg-footer{font-size:13px}.scene-screen{position:relative;min-height:100svh;display:grid;align-items:end;padding:clamp(22px,5vw,56px);overflow:hidden;isolation:isolate}.scene-lab:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061113f0,#06111380 44%,#061113d1),radial-gradient(circle at 72% 30%,rgba(255,119,108,.16),transparent 35%);z-index:-2}.scene-panel{width:min(760px,100%);padding:clamp(24px,4vw,42px);border:1px solid rgba(255,119,108,.36);border-radius:var(--radius-panel);background:#081618d1;box-shadow:0 0 38px #ff776c1a,inset 0 0 0 1px #eff8f60a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scene-objective{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:32px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:6px;background:#7fe8df14}.scene-objective strong{color:var(--color-ink);font-size:clamp(22px,3vw,34px);line-height:1}.power-screen{min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(14px,2vw,22px);padding:clamp(16px,2.4vw,28px);padding-top:max(clamp(16px,2.4vw,28px),calc(env(safe-area-inset-top) + 16px));background:radial-gradient(circle at 20% 8%,rgba(255,119,108,.13),transparent 28%),radial-gradient(circle at 80% 40%,rgba(127,232,223,.12),transparent 34%),linear-gradient(145deg,#040b0d,#0b191b 58%,#030809)}.power-header,.power-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1400px,100%);margin:0 auto}.power-header{padding-right:168px}.power-readout{display:grid;gap:5px;min-width:116px;padding:10px 14px;border:1px solid rgba(255,119,108,.48);border-radius:6px;background:#2c0a0c9e;text-align:right}.power-readout span{color:var(--color-dim);font-size:12px;line-height:1}.power-readout strong{color:var(--danger);font-family:var(--font-mono);font-size:28px;line-height:1}.power-readout.is-complete{border-color:#b7f2a4a3;background:#1a3a259e}.power-readout.is-complete strong{color:var(--color-green)}.power-header-actions{display:flex;align-items:center;gap:12px}.debug-next-button{min-height:42px;padding:0 16px;border:1px solid rgba(242,199,107,.62);border-radius:6px;background:#251808c2;color:var(--color-amber);font-family:var(--font-mono);font-size:13px;font-weight:800;text-transform:uppercase;cursor:pointer;box-shadow:0 0 22px #f2c76b1f;transition:border-color .16s ease,background .16s ease,transform .16s ease}.debug-next-button:hover{border-color:var(--color-amber);background:#372209e6;transform:translateY(-1px)}.debug-next-button:focus-visible{outline:3px solid var(--color-cyan);outline-offset:3px}.power-console{position:relative;width:min(1400px,100%);aspect-ratio:2000 / 1414;margin:0 auto;border:1px solid rgba(127,232,223,.3);border-radius:var(--radius-panel);overflow:hidden;background:#020607;box-shadow:0 0 44px #0000007a,0 0 28px #7fe8df1a}.power-console.has-fault{animation:faultShake .26s ease-in-out}.power-base,.power-svg{position:absolute;inset:0;width:100%;height:100%}.power-base{object-fit:cover;-webkit-user-select:none;user-select:none}.power-svg{pointer-events:none}.power-dial-cover{fill:#121818e6;stroke:#ff776c29;stroke-width:2}.power-dial-cover.is-complete{stroke:#62ff5833}.power-dial-text{fill:var(--danger);font-family:var(--font-mono);font-size:50px;font-weight:800;letter-spacing:0;filter:drop-shadow(0 0 12px rgba(255,119,108,.34))}.power-dial-text.is-complete{fill:#63e95c;filter:drop-shadow(0 0 12px rgba(98,255,88,.42))}.circuit-live{mix-blend-mode:screen}.circuit-live path{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round}.circuit-live-core{stroke-width:9;stroke-dasharray:16 14}.circuit-live-flow{stroke-width:5;stroke-dasharray:3 28}.circuit-live .is-active .circuit-live-core{stroke:#80ff5fbd;filter:drop-shadow(0 0 10px rgba(128,255,95,.78))}.circuit-live .is-active .circuit-live-flow{stroke:#e1ffbef2;filter:drop-shadow(0 0 9px rgba(128,255,95,.95));animation:circuitFlow 1.05s linear infinite}.power-node-light circle,.power-node-light rect{opacity:0}.power-node-light{mix-blend-mode:screen}.power-node-light.is-active circle,.power-node-light.is-active rect{fill:#62ff58c2;opacity:1;filter:drop-shadow(0 0 14px rgba(98,255,88,.88))}.power-hotspot{position:absolute;z-index:3;border:0;border-radius:8px;background:#7fe8df00;cursor:pointer;touch-action:manipulation}.power-hotspot:after{content:"";position:absolute;inset:14%;border:1px solid transparent;border-radius:8px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.power-hotspot:hover:after,.power-hotspot:focus-visible:after{border-color:#7fe8dfb8;background:#7fe8df14;box-shadow:0 0 18px #7fe8df42}.power-hotspot.is-active{cursor:default}.power-hotspot.is-active:after{border-color:transparent;box-shadow:none}.power-system-status{position:absolute;left:23.5%;top:81.25%;width:49%;z-index:4;display:flex;align-items:center;gap:10px;height:4.2%;padding:0 12px;border:1px solid rgba(127,232,223,.18);border-radius:5px;background:#03090a85;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.power-system-status strong{color:var(--color-muted);font-size:clamp(10px,1.05vw,13px);line-height:1.15}.power-system-status .status-light{flex:0 0 auto;font-size:clamp(9px,.95vw,12px)}.status-light.is-error{color:var(--danger)}.power-console.is-complete .power-system-status{border-color:#b7f2a480;box-shadow:0 0 24px #b7f2a41f}.power-console.is-complete .power-system-status strong{color:var(--color-green)}.power-footer{color:var(--color-dim);font-size:14px}.power-footer p{margin:0}.secondary-button{min-height:42px;padding:0 16px;border:1px solid rgba(239,248,246,.32);border-radius:6px;background:#081719bd;color:var(--color-ink);cursor:pointer;transition:border-color .16s ease,background .16s ease}.secondary-button:hover{border-color:var(--color-cyan);background:#0d2a2ddb}.footer-action{width:auto;min-width:172px;min-height:46px;padding:0 18px;font-size:18px}.panorama-entry-button{width:100%}.panorama-screen{width:100%;height:100svh;min-height:100svh;background:#020607}.panorama-viewport{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;cursor:grab}.panorama-viewport:active{cursor:grabbing}.panorama-viewport canvas{display:block;width:100%;height:100%}.panorama-topbar{position:absolute;top:clamp(14px,3vw,28px);left:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}.panorama-topbar>*{pointer-events:auto}.panorama-title{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;border:1px solid rgba(127,232,223,.34);border-radius:8px;background:#040e10b8;box-shadow:0 0 28px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panorama-title svg{width:24px;height:24px;color:var(--color-cyan)}.panorama-title span,.panorama-object-panel span{display:block;color:var(--color-dim);font-family:var(--font-mono);font-size:11px;line-height:1.2;text-transform:uppercase}.panorama-title strong,.panorama-object-panel strong{display:block;color:var(--color-ink);font-size:16px;line-height:1.25}.panorama-hotspot{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;min-width:44px;max-width:min(240px,calc(100vw - 48px));min-height:38px;padding:7px 11px;border:1px solid rgba(127,232,223,.62);border-radius:999px;background:#051214c7;color:var(--color-ink);font-size:13px;font-weight:800;line-height:1.15;white-space:nowrap;cursor:pointer;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #eff8f614,0 0 24px #7fe8df2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .12s ease,border-color .16s ease,background .16s ease,transform .16s ease}.panorama-object-highlight{position:absolute;z-index:3;border:2px solid rgba(242,199,107,0);border-radius:8px;background:#f2c76b00;box-shadow:none;pointer-events:none;opacity:0;transform:translateZ(0);transition:opacity .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.panorama-object-highlight.is-active{border-color:#f2c76bf2;background:#f2c76b24;box-shadow:0 0 0 1px #081212ad,0 0 26px #f2c76b7a;opacity:1}.panorama-bag-target:hover .panorama-object-highlight,.panorama-bag-target:focus-within .panorama-object-highlight{border-color:#f2c76bf2;background:#f2c76b24;box-shadow:0 0 0 1px #081212ad,0 0 26px #f2c76b7a;opacity:1}.bag-hotspot{min-width:0;min-height:0;padding:0;border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.bag-hotspot:before{display:none}.bag-hotspot:focus-visible{outline:none}.panorama-hotspot:before{content:"";position:absolute;left:50%;top:50%;width:72px;height:72px;border:1px solid rgba(127,232,223,.28);border-radius:999px;transform:translate(-50%,-50%);pointer-events:none}.panorama-hotspot:hover,.panorama-hotspot:focus-visible,.panorama-hotspot.is-active{border-color:var(--color-amber);background:#271b09d1;transform:translate(-50%,-50%) scale(1.04)}.panorama-hotspot:focus-visible{outline:3px solid var(--color-cyan);outline-offset:3px}.panorama-hotspot svg{flex:0 0 auto;width:17px;height:17px;color:var(--color-cyan)}.panorama-hotspot.is-active svg{color:var(--color-amber)}.bag-hotspot:hover,.bag-hotspot:focus-visible,.bag-hotspot.is-active{border-color:transparent;background:transparent;box-shadow:none;transform:translate(-50%,-50%)}.panorama-object-panel{position:absolute;left:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:min(360px,calc(100vw - 28px));padding:14px;border:1px solid rgba(127,232,223,.28);border-radius:8px;background:#040e10c2;box-shadow:0 0 28px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panorama-object-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(242,199,107,.36);border-radius:8px;color:var(--color-amber);background:#f2c76b14}.panorama-object-icon svg{width:24px;height:24px}.panorama-object-panel p{margin:5px 0 0;color:var(--color-muted);font-size:13px;line-height:1.35}.panorama-compass{position:absolute;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:5;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(239,248,246,.2);border-radius:999px;background:#040e109e;color:var(--color-cyan);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panorama-compass svg{width:24px;height:24px}.panorama-modal-backdrop{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:clamp(18px,4vw,42px);background:#020607a8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panorama-modal{position:relative;width:min(760px,100%);min-height:min(520px,calc(100svh - 64px));display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;padding:clamp(18px,3vw,28px);border:1px solid rgba(127,232,223,.36);border-radius:8px;background:#051214f0;box-shadow:0 24px 80px #00000075,0 0 34px #7fe8df1f}.panorama-modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(239,248,246,.24);border-radius:8px;background:#081719d1;color:var(--color-ink);cursor:pointer}.panorama-modal-close:hover,.panorama-modal-close:focus-visible{border-color:var(--color-cyan);color:var(--color-cyan)}.panorama-modal-close svg{width:20px;height:20px}.panorama-modal-heading{display:flex;align-items:center;gap:14px;padding-right:48px}.panorama-modal-heading>svg{flex:0 0 auto;width:34px;height:34px;color:var(--color-cyan)}.panorama-modal-heading span{display:block;margin-bottom:5px;color:var(--color-dim);font-family:var(--font-mono);font-size:12px;line-height:1;text-transform:uppercase}.panorama-modal-heading h2{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.1}.panorama-mini-game-slot{display:grid;place-items:center;min-height:320px;border:1px dashed rgba(127,232,223,.34);border-radius:8px;background:linear-gradient(rgba(127,232,223,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(127,232,223,.05) 1px,transparent 1px),#071517b8;background-size:34px 34px;color:var(--color-muted);text-align:center}.panorama-mini-game-slot p{margin:0;font-size:16px}.ecg-screen{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(12px,1.8vw,20px);padding:clamp(14px,2vw,24px);padding-top:max(clamp(14px,2vw,24px),calc(env(safe-area-inset-top) + 14px));background:radial-gradient(circle at 18% 28%,rgba(127,232,223,.11),transparent 30%),radial-gradient(circle at 74% 20%,rgba(255,119,108,.1),transparent 28%),linear-gradient(145deg,#020708,#061315 58%,#010405)}.ecg-header,.ecg-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1560px,100%);margin:0 auto}.ecg-header{padding-right:168px}.ecg-header-actions{display:flex;align-items:center;gap:12px}.ecg-reset-button{display:inline-flex;align-items:center;gap:8px;min-height:42px}.ecg-reset-button svg{width:18px;height:18px}.ecg-board-wrap{min-height:0;display:grid;place-items:center}.ecg-board{position:relative;width:min(1560px,100%,calc((100svh - 230px) * 3780 / 2079));aspect-ratio:3780 / 2079;overflow:hidden;border:1px solid rgba(127,232,223,.32);border-radius:var(--radius-panel);background:#020607;box-shadow:0 0 44px #00000085,0 0 34px #7fe8df1f;touch-action:none}.ecg-board-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.ecg-sync-readout{position:absolute;left:9.7%;top:18.7%;z-index:5;display:flex;align-items:baseline;gap:.52em;min-width:33.9%;height:5.9%;padding:.2% 1.2% 0;background:linear-gradient(90deg,#02080af5,#030d10f0 78%,#030d1000),repeating-linear-gradient(0deg,rgba(127,232,223,.055) 0 1px,transparent 1px 10px);color:#f3fffb;font-family:var(--font-mono);font-weight:800;letter-spacing:.08em;line-height:1;text-shadow:0 0 7px rgba(255,255,255,.72),0 0 18px rgba(127,232,223,.38);pointer-events:none}.ecg-sync-readout:after{content:"";position:absolute;left:2%;right:10%;bottom:0;height:1px;background:linear-gradient(90deg,#7fe8df00,#7fe8dfad,#7fe8df00);box-shadow:0 0 12px #7fe8df7a;animation:syncReadoutSweep 1.8s ease-in-out infinite}.ecg-sync-readout span,.ecg-sync-readout strong{font-size:clamp(10px,2.05vw,42px)}.ecg-sync-readout strong{min-width:3ch;color:#fff}.ecg-ambient-layer,.ecg-brain-activity,.ecg-band-activity,.ecg-neural-traces{position:absolute;pointer-events:none}.ecg-ambient-layer{inset:0;z-index:1;overflow:hidden;mix-blend-mode:screen}.ecg-brain-activity{left:9%;top:24%;width:34%;height:47%}.ecg-brain-activity:before,.ecg-brain-activity:after{content:"";position:absolute;inset:12% 16%;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,85,203,.46),transparent 13%),radial-gradient(circle at 35% 48%,rgba(127,232,223,.36),transparent 22%),radial-gradient(circle at 65% 48%,rgba(127,232,223,.34),transparent 22%);filter:blur(10px);opacity:.52;animation:brainPulse 2.4s ease-in-out infinite}.ecg-brain-activity:after{inset:28% 30%;background:radial-gradient(circle,rgba(255,118,221,.82),transparent 58%);filter:blur(7px);animation:brainCorePulse 1.45s ease-in-out infinite}.brain-ring{position:absolute;left:50%;top:51%;width:38%;aspect-ratio:1;border:1px solid rgba(127,232,223,.72);border-radius:50%;box-shadow:0 0 18px #7fe8df61,inset 0 0 16px #7fe8df29;transform:translate(-50%,-50%) scale(.42);opacity:0;animation:brainRingExpand 2.8s ease-out infinite}.brain-ring-b{animation-delay:.82s;border-color:#ff67d6a3;box-shadow:0 0 18px #ff67d657,inset 0 0 16px #ff67d61f}.brain-ring-c{animation-delay:1.62s}.brain-spark{position:absolute;width:3px;height:22%;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(127,232,223,.9),transparent);filter:drop-shadow(0 0 8px rgba(127,232,223,.8));opacity:0;transform-origin:center;animation:brainSpark 2.2s ease-in-out infinite}.brain-spark-a{left:37%;top:34%;transform:rotate(58deg)}.brain-spark-b{left:57%;top:39%;animation-delay:.7s;transform:rotate(-54deg)}.brain-spark-c{left:49%;top:53%;animation-delay:1.18s;transform:rotate(92deg)}.ecg-band-activity{left:49.2%;top:18.6%;width:47.1%;height:17%;border-radius:10px;overflow:hidden}.ecg-band-activity:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ff414152,#ffe0484d,#00ff8b47,#2a82ff42,#cb3aff4d),repeating-linear-gradient(110deg,transparent 0 18px,rgba(255,255,255,.11) 19px 20px,transparent 21px 38px);background-size:100% 100%,150px 100%;filter:blur(.5px) saturate(1.4);opacity:.38;animation:bandElectricNoise 1.45s steps(5,end) infinite}.band-scan{position:absolute;top:-20%;bottom:-20%;left:-22%;width:20%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),rgba(127,232,223,.7),transparent);filter:blur(5px);transform:skew(-16deg);animation:bandScan 3.1s ease-in-out infinite}.band-scan-b{animation-delay:1.42s;opacity:.48}.ecg-neural-traces{inset:0}.ecg-neural-traces span{position:absolute;width:18%;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(127,232,223,.78),rgba(255,118,221,.5),transparent);filter:drop-shadow(0 0 8px rgba(127,232,223,.72));opacity:0;animation:neuralTrace 3.8s linear infinite}.ecg-neural-traces span:nth-child(1){left:8%;top:13%}.ecg-neural-traces span:nth-child(2){left:29%;top:80%;width:13%;animation-delay:.64s}.ecg-neural-traces span:nth-child(3){left:51%;top:43%;width:21%;animation-delay:1.15s}.ecg-neural-traces span:nth-child(4){left:70%;top:70%;width:17%;animation-delay:1.82s}.ecg-neural-traces span:nth-child(5){left:12%;top:72%;width:23%;animation-delay:2.42s}.ecg-neural-traces span:nth-child(6){left:55%;top:11%;width:15%;animation-delay:3.06s}.ecg-slot{position:absolute;z-index:2;border:2px solid transparent;border-radius:4px;background:transparent;box-shadow:none;pointer-events:none;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,opacity .14s ease}.ecg-slot.is-filled{border-color:#b7f2a4b8;background:#b7f2a40e;box-shadow:0 0 16px #b7f2a47a,0 0 34px #b7f2a438,inset 0 0 18px #b7f2a42e}.ecg-slot.is-correct{border-color:#7fff5ff0;background:#7fff5f1a;box-shadow:0 0 18px #7fff5fd1,0 0 42px #7fff5f66,inset 0 0 22px #7fff5f33;animation:ecgCorrectPulse .52s ease-out}.ecg-slot.is-wrong{border-color:#ff4d5cf5;background:#ff4d5c1f;box-shadow:0 0 18px #ff4d5cdb,0 0 44px #ff4d5c61,inset 0 0 22px #ff4d5c33;animation:ecgWrongFlash .24s ease-in-out 3}.ecg-piece{position:absolute;z-index:4;aspect-ratio:1028 / 650;padding:0;border:0;border-radius:4px;background:transparent;cursor:grab;touch-action:none;filter:drop-shadow(0 9px 18px rgba(0,0,0,.44));transition:filter .12s ease,transform .12s ease}.ecg-piece img{display:block;width:100%;height:100%;border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.ecg-piece:hover,.ecg-piece:focus-visible{filter:drop-shadow(0 0 16px rgba(127,232,223,.48)) drop-shadow(0 9px 18px rgba(0,0,0,.44))}.ecg-piece:focus-visible{outline:3px solid var(--color-amber);outline-offset:3px}.ecg-piece.is-dragging{z-index:8;cursor:grabbing;transform:scale(1.04);filter:drop-shadow(0 0 20px rgba(183,242,164,.5)) drop-shadow(0 14px 22px rgba(0,0,0,.5))}.ecg-piece.is-placed{filter:drop-shadow(0 0 11px rgba(183,242,164,.3))}.ecg-status{display:grid;gap:5px;min-width:min(460px,100%);padding:10px 14px;border:1px solid rgba(127,232,223,.34);border-radius:6px;background:#040e10c2;box-shadow:0 16px 42px #00000042;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ecg-status span{color:var(--color-cyan);font-family:var(--font-mono);font-size:12px;line-height:1}.ecg-status strong{color:var(--color-muted);font-size:15px;line-height:1.2}.ecg-status.is-complete{border-color:#b7f2a49e;box-shadow:0 0 28px #b7f2a421}.ecg-status.is-complete span,.ecg-status.is-complete strong{color:var(--color-green)}.ecg-next-button{flex:0 0 auto}.student-scan-screen{min-height:100svh;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;gap:clamp(14px,2vw,24px);padding:clamp(16px,2.4vw,30px);padding-top:max(clamp(16px,2.4vw,30px),calc(env(safe-area-inset-top) + 16px));background:radial-gradient(circle at 18% 20%,rgba(127,232,223,.14),transparent 30%),radial-gradient(circle at 82% 72%,rgba(242,199,107,.12),transparent 28%),linear-gradient(145deg,#020708,#0b171a 52%,#030506);overflow:hidden}.student-scan-header{width:min(1440px,100%);margin:0 auto;padding-right:168px;display:flex;align-items:center;justify-content:space-between;gap:18px}.student-scan-title{display:flex;flex-wrap:wrap;gap:0 .38em}.student-scan-title span{white-space:nowrap}.student-scan-console{width:min(1440px,100%);height:min(760px,calc(100svh - clamp(32px,4.8vw,60px)));min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:clamp(16px,2vw,26px);align-items:stretch}.camera-panel{min-height:0;border:1px solid rgba(127,232,223,.3);border-radius:var(--radius-panel);background:linear-gradient(135deg,#0a2023e0,#03090aeb),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px);box-shadow:0 0 42px #0000006b,inset 0 0 30px #7fe8df14;overflow:hidden}.camera-feed{position:relative;height:100%;min-height:420px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(127,232,223,.09),transparent 34%),linear-gradient(120deg,#020809eb,#091e21e0);overflow:hidden}.camera-feed:before,.camera-feed:after{content:"";position:absolute;pointer-events:none}.camera-feed:before{inset:0;background:linear-gradient(90deg,transparent,rgba(127,232,223,.1),transparent),repeating-linear-gradient(180deg,transparent 0 17px,rgba(127,232,223,.045) 18px 19px);transform:translate(-56%);animation:scanSweep 5.5s ease-in-out infinite}.camera-feed:after{inset:18px;border:1px solid rgba(127,232,223,.18);border-radius:6px}.camera-grid{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(127,232,223,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,232,223,.06) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(circle at center,#000 0 64%,transparent 88%);mask-image:radial-gradient(circle at center,#000 0 64%,transparent 88%);opacity:.66}.student-camera-preview{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .18s ease}.student-scan-console.is-camera-ready .student-camera-preview{opacity:.74}.student-scan-canvas{display:none}.student-card-frame{position:relative;z-index:2;width:min(620px,70%);aspect-ratio:1.58;display:grid;place-items:center;border:1px dashed rgba(239,248,246,.3);background:#02080947;box-shadow:inset 0 0 46px #7fe8df14,0 0 34px #7fe8df1a}.corner{position:absolute;width:54px;height:54px;border-color:var(--color-amber);filter:drop-shadow(0 0 10px rgba(242,199,107,.58))}.corner-tl{left:-1px;top:-1px;border-top:3px solid;border-left:3px solid}.corner-tr{right:-1px;top:-1px;border-top:3px solid;border-right:3px solid}.corner-bl{left:-1px;bottom:-1px;border-bottom:3px solid;border-left:3px solid}.corner-br{right:-1px;bottom:-1px;border-bottom:3px solid;border-right:3px solid}.student-card-icon{width:min(168px,32%);height:auto;color:#eff8f67a;filter:drop-shadow(0 0 12px rgba(127,232,223,.28))}.student-scan-beam{position:absolute;left:5%;right:5%;top:0;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,#fff5b5,var(--color-green),transparent);box-shadow:0 0 18px #b7f2a4c7,0 0 42px #b7f2a457;animation:studentScanBeam 1.6s ease-in-out infinite}.camera-standby{position:absolute;inset:0;z-index:2;display:grid;place-items:center;align-content:center;gap:14px;background:#020809c2;color:var(--color-dim);font-family:var(--font-mono);letter-spacing:.08em}.camera-standby svg{width:72px;height:72px;color:#eff8f694}.student-scan-controls{display:grid;align-content:center;gap:14px}.student-scan-status{display:grid;gap:8px;padding:18px;border:1px solid rgba(127,232,223,.32);border-radius:var(--radius-panel);background:#050f11c7;box-shadow:inset 0 0 26px #7fe8df0f}.student-scan-status span{color:var(--color-cyan);font-family:var(--font-mono);font-size:12px;line-height:1}.student-scan-status strong{min-height:2.5em;color:var(--color-muted);font-size:clamp(17px,2vw,22px);line-height:1.25}.student-scan-console.is-camera-ready .student-scan-status{border-color:#f2c76b80}.student-scan-console.is-scanning .student-scan-status{border-color:#b7f2a49e;box-shadow:0 0 28px #b7f2a421,inset 0 0 26px #b7f2a40f}.student-scan-console.has-camera-error .student-scan-status,.student-scan-console.has-scan-error .student-scan-status{border-color:#ff776ca8;box-shadow:0 0 28px #ff776c21,inset 0 0 26px #ff776c0f}.student-scan-console.has-camera-error .student-scan-status span,.student-scan-console.has-camera-error .student-scan-status strong,.student-scan-console.has-scan-error .student-scan-status span,.student-scan-console.has-scan-error .student-scan-status strong{color:var(--danger)}.student-scan-console.is-verified .student-scan-status{border-color:#b7f2a4bd;box-shadow:0 0 34px #b7f2a42e,inset 0 0 26px #b7f2a414}.student-scan-console.is-verified .student-scan-status span,.student-scan-console.is-verified .student-scan-status strong{color:var(--color-green)}.student-scan-console.is-verified .corner{border-color:var(--color-green);filter:drop-shadow(0 0 12px rgba(183,242,164,.72))}.student-scan-status small{max-width:100%;overflow-wrap:anywhere;color:var(--color-dim);font-family:var(--font-mono);font-size:11px;line-height:1.25}.scan-control-button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.scan-control-button svg{width:22px;height:22px;flex:0 0 auto}.scan-next-button{min-height:52px}.black-room-screen{position:relative;min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(14px,2vw,24px);padding:clamp(16px,2.4vw,30px);padding-top:max(clamp(16px,2.4vw,30px),calc(env(safe-area-inset-top) + 16px));background:#010203;overflow:hidden;isolation:isolate}.black-room-bg,.black-room-vignette{position:absolute;inset:0;pointer-events:none}.black-room-bg{z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(1.04) contrast(1.02) brightness(.86)}.black-room-vignette{z-index:-2;background:radial-gradient(circle at 28% 18%,rgba(242,199,107,.12),transparent 22%),radial-gradient(circle at 42% 64%,rgba(183,242,164,.08),transparent 22%),linear-gradient(90deg,#0000000f,#0000002e 52%,#00000094),radial-gradient(circle at center,transparent 34%,rgba(0,0,0,.56) 100%);animation:blackRoomFlicker 2.3s steps(5,end) infinite}.black-room-screen.success .black-room-vignette{background:radial-gradient(circle at 36% 58%,rgba(183,242,164,.2),transparent 22%),linear-gradient(90deg,#0000000d,#00000029 52%,#0000008a),radial-gradient(circle at center,transparent 34%,rgba(0,0,0,.5) 100%)}.black-room-screen.fail .black-room-vignette{background:radial-gradient(circle at 38% 58%,rgba(255,119,108,.2),transparent 24%),linear-gradient(90deg,#0000000d,#0000002e 52%,#00000094),radial-gradient(circle at center,transparent 34%,rgba(0,0,0,.54) 100%)}.black-room-header{position:relative;z-index:2;width:min(1440px,100%);margin:0 auto;padding-right:168px;display:flex;align-items:center;justify-content:space-between;gap:18px}.black-room-stage{position:relative;z-index:2;width:min(1440px,100%);min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:end}.black-room-lock-button{position:absolute;left:36.5%;top:47.5%;z-index:3;width:72px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(242,199,107,.62);border-radius:50%;background:radial-gradient(circle,#f2c76b33,#0a0804d1 62%),#040403c7;color:var(--color-amber);cursor:pointer;box-shadow:0 0 24px #f2c76b38,inset 0 0 22px #f2c76b17;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform:translate(-50%,-50%);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}.black-room-lock-button svg{width:34px;height:34px}.black-room-lock-button:hover,.black-room-lock-button:focus-visible{border-color:var(--color-amber);box-shadow:0 0 34px #f2c76b57,inset 0 0 24px #f2c76b21;filter:brightness(1.08);transform:translate(-50%,-50%) scale(1.05)}.black-room-lock-button:focus-visible{outline:3px solid var(--color-amber);outline-offset:4px}.black-room-screen.success .black-room-lock-button{border-color:#b7f2a4cc;color:var(--color-green);box-shadow:0 0 34px #b7f2a44d,inset 0 0 24px #b7f2a41f}.black-room-screen.fail .black-room-lock-button{border-color:#ff776cc2;color:var(--danger);box-shadow:0 0 34px #ff776c3d,inset 0 0 24px #ff776c1a}.black-room-scene{position:relative;min-height:0;border:1px solid rgba(239,248,246,.12);border-radius:var(--radius-panel);background:linear-gradient(rgba(239,248,246,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(239,248,246,.03) 1px,transparent 1px),radial-gradient(circle at 50% 15%,rgba(242,199,107,.07),transparent 34%),linear-gradient(180deg,#141819d6,#020304f5);background-size:46px 46px,46px 46px,auto,auto;box-shadow:inset 0 0 70px #000000b8,0 0 38px #00000080;overflow:hidden}.black-room-scene:before,.black-room-scene:after{content:"";position:absolute;inset:0;pointer-events:none}.black-room-scene:before{background:radial-gradient(circle at 20% 18%,rgba(255,246,190,.34),transparent 17%),radial-gradient(circle at 78% 16%,rgba(255,246,190,.28),transparent 16%),linear-gradient(90deg,rgba(255,246,190,.08),transparent 36%,rgba(255,246,190,.08));opacity:.28;animation:blackRoomFlicker 1.9s steps(5,end) infinite}.black-room-scene:after{background:radial-gradient(circle at center,transparent 36%,rgba(0,0,0,.76) 100%)}.black-room-lamp{position:absolute;top:8%;z-index:2;width:74px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(242,199,107,.3);border-radius:50%;background:#0c0c09b8;color:var(--color-amber);box-shadow:0 0 30px #f2c76b29,inset 0 0 24px #f2c76b14;animation:blackRoomLamp 1.9s steps(4,end) infinite}.black-room-lamp svg{width:34px;height:34px}.lamp-a{left:18%}.lamp-b{right:18%;animation-delay:.45s}.black-room-door{position:absolute;left:50%;bottom:8%;z-index:2;width:min(360px,42%);height:68%;display:grid;place-items:center;border:2px solid rgba(239,248,246,.18);border-radius:7px 7px 0 0;background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(255,255,255,.03)),linear-gradient(180deg,#111617,#050707);box-shadow:inset 0 0 48px #0000009e,0 0 34px #00000085;transform:translate(-50%);transition:border-color .18s ease,box-shadow .18s ease}.black-room-screen.success .black-room-door{border-color:#b7f2a4f5;background:linear-gradient(90deg,rgba(183,242,164,.09),transparent 24% 76%,rgba(183,242,164,.08)),linear-gradient(180deg,#121a17,#06100d);box-shadow:inset 0 0 54px #b7f2a429,0 0 42px #b7f2a447}.black-room-screen.fail .black-room-door{border-color:#ff776cb3;background:linear-gradient(90deg,rgba(255,119,108,.08),transparent 24% 76%,rgba(255,119,108,.07)),linear-gradient(180deg,#181112,#090505);box-shadow:inset 0 0 48px #ff776c14,0 0 34px #ff776c24}.black-room-door-icon{width:54%;height:auto;color:#eff8f633}.black-room-lock{position:absolute;right:16%;top:49%;width:62px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(242,199,107,.42);border-radius:50%;background:#070808db;color:var(--color-amber);box-shadow:0 0 22px #f2c76b29}.black-room-panel{display:grid;align-content:end;gap:14px;grid-column:2;padding:18px;border:1px solid rgba(242,199,107,.18);border-radius:var(--radius-panel);background:#0103048f;box-shadow:0 24px 70px #00000070,inset 0 0 34px #f2c76b0a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.black-room-status{display:grid;gap:8px;padding:18px;border:1px solid rgba(242,199,107,.32);border-radius:var(--radius-panel);background:#050708d6;box-shadow:inset 0 0 26px #f2c76b0f}.black-room-status span{color:var(--color-amber);font-family:var(--font-mono);font-size:12px;line-height:1}.black-room-status strong{min-height:2.4em;color:var(--color-muted);font-size:clamp(18px,2vw,24px);line-height:1.24}.black-room-screen.success .black-room-status{border-color:#b7f2a4b3;box-shadow:0 0 30px #b7f2a424,inset 0 0 24px #b7f2a40f}.black-room-screen.success .black-room-status span,.black-room-screen.success .black-room-status strong{color:var(--color-green)}.black-room-screen.fail .black-room-status{border-color:#ff776cb8;box-shadow:0 0 30px #ff776c24,inset 0 0 24px #ff776c0f}.black-room-screen.fail .black-room-status span,.black-room-screen.fail .black-room-status strong{color:var(--danger)}.black-room-lock-input{display:grid;gap:8px}.black-room-lock-input span{color:var(--color-dim);font-family:var(--font-mono);font-size:12px}.black-room-lock-input input{height:58px;width:100%;padding:0 16px;border:1px solid rgba(239,248,246,.22);border-radius:6px;background:#070a0bdb;color:var(--color-ink);font-family:var(--font-mono);font-size:28px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;outline:none}.black-room-lock-input input:focus{border-color:var(--color-amber);box-shadow:0 0 20px #f2c76b2e}.black-room-letter-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.black-room-letter-slots span{height:54px;display:grid;place-items:center;border:1px solid rgba(239,248,246,.2);border-radius:6px;background:#050708d6;color:var(--color-ink);font-family:var(--font-mono);font-size:24px;font-weight:800}.black-room-letter-slots span.is-filled{border-color:#f2c76b8a;box-shadow:inset 0 0 18px #f2c76b14}.black-room-submit,.black-room-next{min-height:52px}.accusation-report-screen{position:relative;width:100vw;height:100svh;overflow:hidden;background:#020a32}.accusation-report-image{display:block;width:100%;height:100%;object-fit:cover;background:#020a32}.report-debug-next{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:3}.report-player-next{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:3;width:min(240px,calc(100vw - 56px));min-height:56px;font-size:19px;letter-spacing:0}.maureen-voice-screen{position:relative;min-height:100svh;display:grid;place-items:center;padding:clamp(18px,3vw,44px);overflow:hidden;isolation:isolate;background:linear-gradient(rgba(127,232,223,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(127,232,223,.06) 1px,transparent 1px),radial-gradient(circle at 22% 26%,rgba(127,232,223,.16),transparent 34%),radial-gradient(circle at 76% 72%,rgba(242,199,107,.14),transparent 32%),linear-gradient(145deg,#051012,#132527 54%,#070b12);background-size:42px 42px,42px 42px,auto,auto,auto}.maureen-voice-screen:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(120deg,transparent 0 22%,rgba(127,232,223,.16) 22.2%,transparent 22.8% 56%,rgba(242,199,107,.12) 56.2%,transparent 56.8%),radial-gradient(circle at 50% 48%,#0000,#0000006b);opacity:.82}.maureen-voice-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,rgba(127,232,223,.1),transparent),linear-gradient(180deg,rgba(255,255,255,.04),transparent 46%,rgba(0,0,0,.38));-webkit-mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent)}.maureen-voice-panel{width:min(1120px,100%);display:grid;gap:clamp(18px,2.4vw,30px)}.maureen-voice-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-right:96px}.maureen-voice-header h2{margin:0;color:var(--color-ink);font-size:clamp(38px,6vw,78px);line-height:1;text-shadow:0 0 28px rgba(127,232,223,.28),0 8px 0 rgba(0,0,0,.32)}.maureen-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}.maureen-audio-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px 18px;align-items:center;padding:clamp(18px,2.5vw,28px);border:1px solid rgba(127,232,223,.36);border-radius:var(--radius-panel);background:linear-gradient(180deg,#0c2123e6,#051116db),linear-gradient(90deg,rgba(127,232,223,.12),transparent 42%);box-shadow:0 24px 70px #00000057,inset 0 0 34px #7fe8df14;overflow:hidden}.maureen-audio-card:after{content:"";position:absolute;inset:10px;border:1px solid rgba(127,232,223,.12);border-radius:5px;pointer-events:none}.maureen-audio-index{display:grid;place-items:center;width:56px;aspect-ratio:1;border:1px solid rgba(242,199,107,.52);border-radius:6px;color:var(--color-amber);font-family:var(--font-mono);font-size:20px;font-weight:900;background:#31220a70;box-shadow:inset 0 0 18px #f2c76b1f}.maureen-audio-copy{min-width:0}.maureen-audio-copy span{display:block;color:var(--color-cyan);font-family:var(--font-mono);font-size:13px;font-weight:800;text-transform:uppercase}.maureen-audio-copy h3{margin:4px 0 0;color:var(--color-ink);font-size:clamp(24px,3vw,38px);line-height:1.08}.maureen-audio-meter{grid-column:1 / -1;display:grid;grid-template-columns:repeat(24,1fr);align-items:center;gap:5px;height:74px;padding:0 4px}.maureen-audio-meter span{height:var(--bar-height);min-height:8px;border-radius:999px;background:linear-gradient(180deg,var(--color-cyan),rgba(183,242,164,.72));box-shadow:0 0 14px #7fe8df52;opacity:.84}.maureen-audio-player{position:relative;z-index:1;grid-column:1 / -1;width:100%;min-height:42px;accent-color:var(--color-cyan)}.maureen-voice-next{justify-self:end;width:min(260px,100%)}.discussion-screen{position:relative;min-height:100svh;overflow:hidden;background:#ead0a2;isolation:isolate}.discussion-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.discussion-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(60,35,13,.22),transparent 24%,transparent 72%,rgba(46,28,12,.18)),radial-gradient(circle at 0 0,rgba(255,244,203,.18),transparent 38%);pointer-events:none}.discussion-panel{position:relative;width:100%;height:100svh}.discussion-header{position:absolute;left:max(22px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));z-index:4;display:flex;align-items:flex-start;justify-content:flex-start;gap:18px;max-width:min(620px,calc(100vw - 180px));padding:14px 16px;border-radius:8px;background:#5737186b;box-shadow:0 14px 36px #37240f2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.discussion-header .debug-next-button{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.discussion-header .eyebrow{color:#ffe7ad;text-shadow:0 2px 8px rgba(54,31,10,.32)}.discussion-layout{position:absolute;inset:0}.discussion-compose{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));z-index:4;width:min(360px,calc(100vw - 44px));display:grid;align-content:start;gap:12px;padding:16px;border:1px solid rgba(255,247,221,.64);border-radius:8px;background:#fff6ded6;box-shadow:0 20px 50px #5b3b1733,inset 0 0 24px #ffffff57;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.discussion-compose-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.discussion-compose-header span{color:#6f471d;font-size:20px;font-weight:900}.discussion-compose-header button,.discussion-open-compose{border:1px solid rgba(139,96,43,.28);border-radius:999px;background:#fffdf6d1;color:#6f471d;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px #5b3b1729}.discussion-compose-header button{min-height:34px;padding:0 14px}.discussion-open-compose{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));z-index:4;min-height:52px;padding:0 22px;background:#fff6dee6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.discussion-compose-header button:hover,.discussion-open-compose:hover{border-color:#c17d278a;background:#fff8e7f5}.discussion-compose-header button:focus-visible,.discussion-open-compose:focus-visible{outline:3px solid rgba(193,125,39,.34);outline-offset:3px}.discussion-field{display:grid;gap:8px}.discussion-field span{color:#6f471d;font-size:14px;font-weight:900}.discussion-field textarea{width:100%;min-height:104px;resize:none;border:1px solid rgba(139,96,43,.32);border-radius:6px;padding:14px;background:#fffdf6f0;color:#513313;font-size:18px;font-weight:800;line-height:1.45;outline:none;box-shadow:inset 0 0 22px #14312e14}.discussion-field textarea:focus{border-color:#d4953d;box-shadow:0 0 0 3px #d4953d33}.discussion-stickers{display:flex;flex-wrap:wrap;gap:10px}.discussion-sticker-swatch{display:grid;place-items:center;width:42px;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#ffffff85;cursor:pointer}.discussion-sticker-swatch span{width:26px;aspect-ratio:1;border-radius:5px;background:var(--sticker-color);box-shadow:0 6px 12px #0000002e}.discussion-sticker-swatch.is-selected{border-color:#c17d27;box-shadow:0 0 0 3px #c17d272e}.discussion-preview,.discussion-note{background:linear-gradient(145deg,rgba(255,255,255,.34),transparent 38%),var(--sticker-color);color:#3f2b14;box-shadow:0 16px 28px #4a2d1138,inset 0 -18px 28px #0000000d}.discussion-preview{min-height:82px;display:grid;align-items:center;padding:16px;border-radius:4px;font-size:18px;font-weight:900;line-height:1.38;transform:rotate(-1.4deg)}.discussion-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px}.discussion-submit svg{width:20px;height:20px}.discussion-status{min-height:22px;margin:0;color:#755127;font-size:14px;font-weight:700;line-height:1.4}.discussion-board{position:absolute;inset:0;z-index:2;overflow:hidden;background:transparent;touch-action:none}.discussion-board:before{content:none}.discussion-board-title{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);color:#6c451812;font-size:clamp(90px,12vw,150px);font-weight:900;line-height:1;pointer-events:none}.discussion-note{position:absolute;left:var(--note-x);top:var(--note-y);z-index:1;width:clamp(132px,12vw,178px);min-height:104px;border:0;border-radius:4px;padding:14px;text-align:left;font-size:clamp(15px,1.5vw,20px);font-weight:900;line-height:1.34;cursor:grab;transform:rotate(-1.8deg);touch-action:none;white-space:pre-wrap;word-break:break-word}.discussion-note:nth-of-type(3n){transform:rotate(1.6deg)}.discussion-note:nth-of-type(4n){transform:rotate(-.5deg)}.discussion-note:active{cursor:grabbing;z-index:2}.discussion-note:focus-visible{outline:3px solid var(--color-amber);outline-offset:4px}.discussion-next{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:4;width:min(260px,100%)}.admin-login-screen{position:relative;min-height:100svh;display:grid;place-items:center;padding:clamp(18px,3vw,42px);overflow:hidden;isolation:isolate}.admin-login-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(.98) brightness(.96)}.admin-login-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141f2438,#fff4e014 48%,#ffe3b71f),linear-gradient(180deg,#ffffff0f,#120d082e);pointer-events:none}.admin-login-menu{position:absolute;top:max(42px,env(safe-area-inset-top));right:max(34px,env(safe-area-inset-right));display:grid;gap:14px}.admin-login-menu span{width:22px;aspect-ratio:1;border-radius:50%;background:#030303;box-shadow:0 2px 5px #ffffff29}.admin-login-panel{width:min(660px,calc(100vw - 32px));display:grid;justify-items:center;gap:16px;margin-top:clamp(8px,3vh,40px);color:#27241f}.admin-avatar{width:clamp(118px,13vw,178px);aspect-ratio:1;color:#1f1b18;filter:drop-shadow(0 3px 12px rgba(255,238,204,.24))}.admin-avatar-icon{width:100%;height:100%;display:block}.admin-login-panel h1{max-width:none;color:#2a2722;font-size:clamp(38px,4.8vw,68px);font-weight:500;line-height:1.02;text-align:center;text-shadow:0 2px 12px rgba(255,238,204,.36)}.admin-field{position:relative;width:min(640px,100%)}.admin-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-field input{width:100%;height:clamp(58px,5.6vw,76px);padding:0 clamp(24px,2.4vw,34px);border:4px solid rgba(54,54,49,.56);border-radius:999px;background:#ffffffa8;color:#050505;font-size:clamp(28px,3vw,42px);line-height:1;outline:none;box-shadow:inset 0 0 20px #ffffff6b,0 2px 18px #00000014}.admin-field input::placeholder{color:#473d3557}.admin-field input:focus{border-color:#00a996bd;box-shadow:0 0 0 4px #00a99633,inset 0 0 20px #ffffff7a}.hint-button{min-height:42px;padding:0;border:0;border-bottom:2px solid rgba(255,255,255,.94);background:transparent;color:#fff;display:inline-flex;align-items:center;gap:10px;font-size:clamp(23px,2.4vw,34px);text-shadow:0 2px 8px rgba(43,24,6,.48);cursor:pointer}.hint-icon{width:1.12em;height:1.12em;filter:drop-shadow(0 2px 8px rgba(43,24,6,.48))}.admin-login-error{min-height:34px;width:min(360px,82%);margin:-2px 0 0;padding:7px 16px;border:2px solid transparent;border-radius:8px;background:#12060600;color:#ffd4d000;font-size:clamp(16px,1.5vw,21px);font-weight:800;line-height:1;text-align:center;text-shadow:none;opacity:0;transform:translateY(-2px)}.admin-login-error.is-visible{border-color:#ff4e45db;background:#120606e6;color:#fff1ef;box-shadow:0 0 22px #ff4e4557,inset 0 0 0 1px #ffffff1a;opacity:1;transform:translateY(0)}.admin-submit{position:relative;aspect-ratio:1;border:0;background:transparent;color:#fff;cursor:pointer}.admin-submit span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.login-icon{width:100%;height:100%;filter:drop-shadow(0 0 8px rgba(255,255,255,.28))}.admin-submit:hover,.admin-system-actions button:hover,.admin-user-switch button:hover{filter:drop-shadow(0 0 10px rgba(255,255,255,.54))}.admin-user-switch{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));display:grid;gap:10px}.admin-user-switch button{min-width:clamp(150px,11vw,210px);min-height:54px;border:3px solid #000;border-radius:18px;background:#fff;color:#000;font-size:clamp(28px,3vw,44px);line-height:1;cursor:pointer;box-shadow:0 5px #0fbbb0,inset 0 -3px #0000001f}.admin-system-actions{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(32px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:clamp(18px,2vw,30px)}.admin-system-actions button{position:relative;width:clamp(52px,4.5vw,78px);aspect-ratio:1;border:0;background:transparent;color:#fff;cursor:pointer}.system-action-icon{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 8px rgba(255,255,255,.28))}.bookshelf-explorer{position:relative;min-height:100svh;overflow:hidden;background:#050808;cursor:crosshair}.bookshelf-canvas,.bookshelf-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.bookshelf-canvas{z-index:0}.bookshelf-canvas canvas{z-index:0}.explorer-topbar{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-right:158px;pointer-events:none}.explorer-back,.explorer-mode-exit,.explorer-status{position:relative;z-index:21;pointer-events:auto}.explorer-status{display:grid;gap:5px;min-width:min(360px,100%);padding:11px 14px;border:1px solid rgba(127,232,223,.34);border-radius:6px;background:#040e10bd;box-shadow:0 16px 42px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:right}.explorer-status span{color:var(--color-cyan);font-size:13px;line-height:1.2}.explorer-status strong{color:var(--color-muted);font-family:var(--font-mono);font-size:13px;line-height:1.2}.explorer-status.is-active{border-color:#b7f2a499;box-shadow:0 0 28px #b7f2a421}.explorer-status.is-active span{color:var(--color-green)}@keyframes faultShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes circuitFlow{to{stroke-dashoffset:-124}}@keyframes scanSweep{0%,18%{transform:translate(-58%);opacity:0}40%,58%{opacity:.74}88%,to{transform:translate(58%);opacity:0}}@keyframes signalFlow{to{stroke-dashoffset:-220}}@keyframes nodePulse{0%,to{opacity:.28;transform:scale(.92)}50%{opacity:.72;transform:scale(1.08)}}@keyframes statusBlink{0%,to{opacity:.5}50%{opacity:1}}@keyframes rotateScan{to{transform:rotate(360deg)}}@keyframes brainPulse{0%,to{opacity:.28;transform:scale(.96)}48%{opacity:.72;transform:scale(1.04)}}@keyframes brainCorePulse{0%,to{opacity:.34;transform:scale(.78)}50%{opacity:.88;transform:scale(1.16)}}@keyframes brainRingExpand{0%{opacity:0;transform:translate(-50%,-50%) scale(.28)}16%{opacity:.78}to{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes brainSpark{0%,to{opacity:0}38%,52%{opacity:.84}}@keyframes bandElectricNoise{0%,to{opacity:.25;background-position:0 0,0 0}45%{opacity:.56;background-position:0 0,46px 0}70%{opacity:.36;background-position:0 0,-32px 0}}@keyframes bandScan{0%{opacity:0;transform:translate(0) skew(-16deg)}18%,62%{opacity:.82}to{opacity:0;transform:translate(640%) skew(-16deg)}}@keyframes neuralTrace{0%{opacity:0;transform:translate(-18%) scaleX(.2)}12%{opacity:.75}46%{opacity:.38;transform:translate(120%) scaleX(1)}to{opacity:0;transform:translate(210%) scaleX(.34)}}@keyframes syncReadoutSweep{0%,to{opacity:.28;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}@keyframes studentScanBeam{0%,to{opacity:0;transform:translateY(0)}15%,82%{opacity:1}50%{transform:translateY(calc(min(620px,70vw) / 1.58 - 8px))}}@keyframes blackRoomFlicker{0%,to{opacity:.18}12%{opacity:.58}18%{opacity:.08}36%,68%{opacity:.42}74%{opacity:.14}}@keyframes blackRoomLamp{0%,to{opacity:.38;filter:brightness(.7)}30%,62%{opacity:1;filter:brightness(1.3)}70%{opacity:.2;filter:brightness(.55)}}@keyframes ecgCorrectPulse{0%{filter:brightness(1);transform:scale(1)}45%{filter:brightness(1.75);transform:scale(1.025)}to{filter:brightness(1);transform:scale(1)}}@keyframes ecgWrongFlash{0%,to{opacity:1}50%{opacity:.52}}@media(max-width:780px){.landing-screen{padding:16px;place-items:stretch}.system-frame{min-height:calc(100svh - 32px)}.login-layout{grid-template-columns:1fr;align-content:center;padding:32px 22px}.access-panel{padding:20px}.boot-log{display:none}.status-strip{padding:0 16px;font-size:11px}.scan-emblem{width:86px}.global-timer{min-width:112px;padding:8px 10px}.power-header{align-items:flex-start;padding-right:126px}.power-header-actions,.ecg-header-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.debug-next-button{min-height:36px;padding:0 12px;font-size:11px}.maureen-voice-screen{padding:14px;padding-top:max(14px,env(safe-area-inset-top));place-items:stretch;overflow-y:auto}.maureen-voice-panel{align-content:center;gap:14px;min-height:calc(100svh - 28px)}.maureen-voice-header{display:block;padding-right:126px}.maureen-audio-grid{grid-template-columns:1fr;gap:12px}.maureen-audio-card{gap:12px;padding:14px}.maureen-audio-index{width:46px;font-size:16px}.maureen-audio-meter{height:42px;gap:3px}.maureen-voice-next{justify-self:stretch;width:100%;min-height:50px}.discussion-screen{overflow:hidden}.discussion-panel{height:100svh;min-height:100svh}.discussion-header{max-width:min(520px,calc(100vw - 150px));padding:10px 12px}.discussion-compose{gap:10px;padding:12px;width:min(320px,calc(100vw - 28px));left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.discussion-open-compose{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.discussion-field textarea{min-height:92px;font-size:16px}.discussion-preview{min-height:74px;font-size:16px}.discussion-board{inset:0}.discussion-note{width:clamp(126px,34vw,168px);min-height:96px;font-size:15px}.discussion-next{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(210px,42vw);min-height:50px}.power-screen{gap:12px;padding:12px}.ecg-screen{gap:10px;padding:12px;padding-top:max(12px,env(safe-area-inset-top))}.ecg-header,.student-scan-header,.black-room-header{align-items:flex-start;padding-right:126px}.student-scan-screen,.black-room-screen{gap:12px;padding:12px;padding-top:max(12px,env(safe-area-inset-top))}.student-scan-console,.black-room-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.black-room-scene{min-height:0}.black-room-door{width:min(260px,50%);height:64%}.black-room-lamp{width:54px}.black-room-lamp svg{width:26px;height:26px}.black-room-panel{grid-column:1;gap:10px;padding:12px}.black-room-lock-button{left:28%;top:70%;width:64px}.black-room-lock-button svg{width:30px;height:30px}.black-room-status{padding:12px}.black-room-status strong{min-height:0;font-size:16px}.black-room-lock-input input{height:50px;font-size:23px}.black-room-letter-slots span{height:44px;font-size:20px}.camera-feed{min-height:0}.student-scan-controls{grid-template-columns:1fr 1fr;align-content:stretch}.student-scan-status{grid-column:1 / -1;padding:12px}.student-scan-status strong{min-height:0;font-size:15px}.scan-control-button{min-height:48px;font-size:15px}.scan-next-button{grid-column:1 / -1}.ecg-reset-button{min-height:36px;padding:0 12px;font-size:12px}.ecg-board{width:100%}.ecg-footer{align-items:stretch;flex-direction:column;gap:10px}.ecg-status{min-width:0}.power-console{width:100%}.power-system-status{left:23.5%;top:81.25%;width:49%;height:4.2%;gap:10px;padding:0 8px}.power-system-status .status-light{display:none}.admin-login-screen{padding:18px 16px 116px;place-items:start center}.admin-login-menu{top:24px;right:20px;gap:10px}.admin-login-menu span{width:16px}.admin-login-panel{width:min(520px,100%);gap:12px;margin-top:34px}.admin-avatar{width:clamp(86px,26vw,118px);border-width:8px}.admin-login-panel h1{font-size:clamp(30px,9.5vw,43px)}.admin-field input{height:50px;border-width:3px;font-size:clamp(23px,6.6vw,31px)}.hint-button{min-height:34px;font-size:22px}.hint-button{gap:7px}.admin-user-switch{bottom:16px;gap:8px}.admin-user-switch button{min-width:112px;min-height:38px;border-width:3px;border-radius:14px;font-size:23px;box-shadow:0 4px #0fbbb0,inset 0 -2px #0000001f}.admin-system-actions{right:14px;bottom:18px;gap:10px}.admin-system-actions button{width:42px}.power-footer{align-items:stretch;flex-direction:column;gap:10px}.explorer-topbar{flex-direction:column;align-items:stretch;padding-right:126px}.explorer-status{text-align:left}}@media(min-width:781px)and (max-width:1400px)and (max-height:1100px)and (orientation:landscape){.maureen-voice-screen{padding:18px}.maureen-voice-panel{width:min(960px,100%);gap:16px}.maureen-voice-header{padding-right:148px}.maureen-audio-card{padding:18px}.maureen-audio-meter{height:54px}.discussion-panel{height:100svh}.discussion-header{max-width:min(560px,calc(100vw - 180px))}.discussion-compose{gap:10px;padding:14px;width:min(330px,28vw)}.discussion-field textarea{min-height:96px}.discussion-preview{min-height:78px}.power-screen{min-height:0;height:100svh;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;padding-top:max(14px,env(safe-area-inset-top))}.power-header,.power-footer{width:min(100%,980px)}.power-header{padding-right:148px}.power-console{height:100%;width:auto;max-width:100%}.power-footer{font-size:13px}.footer-action{min-height:42px;font-size:16px}.ecg-header,.ecg-footer{width:min(100%,1180px)}.ecg-header{padding-right:148px}.ecg-board{height:100%;width:auto;max-width:100%}.ecg-footer{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
