.plate-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0e11;color:#e6eaf0;font-family:Archivo,sans-serif;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.plate-screen *{box-sizing:border-box}.plate-screen ::-webkit-scrollbar{width:8px}.plate-screen ::-webkit-scrollbar-thumb{background:#2d343f}.plate-screen ::-webkit-scrollbar-track{background:transparent}@keyframes litPulse{0%,to{border-color:#d9a03f}50%{border-color:#8a6524}}@keyframes firePulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes noisePop{0%{opacity:0;transform:translate(-50%,-50%) translateY(-12px) scale(1.5)}55%{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}}@keyframes revealSlam{0%{opacity:0;transform:scale(1.14)}60%{opacity:1;transform:scale(.99)}to{transform:scale(1)}}@keyframes dashFlow{to{stroke-dashoffset:-16}}@keyframes rowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slamIn{0%{opacity:0;transform:scale(1.16)}60%{opacity:1;transform:scale(.985)}to{transform:scale(1)}}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes logFlash{0%{background:#d9a03f;color:#0c0e11}40%,to{background:transparent;color:#93a0ae}}@keyframes sigPulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes slimeBreathe{0%,to{opacity:.5;transform:scale(.82)}45%{opacity:1;transform:scale(1.12)}}@keyframes larvaGlitch{0%,88%,to{opacity:1}90%{opacity:.2}94%{opacity:1}96%{opacity:.3}}.plate-row{animation:rowIn .16s ease-out;cursor:pointer}.plate-row:hover{border-color:#3c4552!important;background:#262c36!important}.plate-listrow:hover{border-color:#d9a03f!important}.plate-hoverline:hover{border-color:#93a0ae!important}.plate-hoverbg:hover{background:#20252d}.plate-x{cursor:pointer}.plate-x:hover{color:#e6eaf0!important}.plate-tile:hover{border-color:#93a0ae}.plate-fire-btn:hover{background:#d9a03f;color:#0c0e11!important}.plate-move-btn:hover{background:#161a20!important;color:#d9a03f!important}.plate-pass:hover{border-color:#d94a35!important;color:#e6eaf0!important}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0b0f14;--panel: #131a23;--panel2: #1b2530;--line: #2c3a49;--text: #d7e1ec;--muted: #7b8a9a;--accent: #e3595f;--good: #6fcf97;--warn: #f2c94c}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent}.app{height:100%;display:flex;flex-direction:column;max-width:900px;margin:0 auto;position:relative}button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:15px;cursor:pointer}button:disabled{opacity:.4}button.primary{background:var(--accent);border-color:var(--accent);font-weight:700}button.on{outline:2px solid var(--accent)}input{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:16px}.banner{padding:8px 12px;text-align:center;font-size:13px}.banner.warn{background:#6b5900}.banner.error{background:#6b1d1d}.langSwitch{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:30}.langSwitch button{padding:4px 8px;font-size:12px}.home,.lobby{display:flex;flex-direction:column;gap:14px;padding:48px 24px;max-width:420px;margin:0 auto;width:100%}.logo{font-size:44px;letter-spacing:14px;text-align:center;color:var(--accent);font-weight:900}.joinRow{display:flex;gap:8px}.joinRow input{flex:1;text-transform:uppercase}.code strong{font-size:22px;letter-spacing:4px;color:var(--warn)}.players{list-style:none;display:flex;flex-direction:column;gap:6px}.players li{display:flex;justify-content:space-between;background:var(--panel);border-radius:8px;padding:10px 12px}.players .char{color:var(--muted)}.pickTitle{color:var(--muted);font-size:13px}.charGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.muted{color:var(--muted);text-align:center}.linkish{margin-top:12px;background:transparent;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;align-self:center}.leaveBtn{margin-left:auto;background:transparent;border:1px solid var(--muted);color:var(--muted);border-radius:4px;padding:2px 8px;cursor:pointer}.game{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;gap:14px;padding:10px 12px;background:var(--panel);font-size:14px;align-items:center}.selfdestruct{color:var(--accent);font-weight:700;animation:blink 1s infinite}@keyframes blink{50%{opacity:.4}}.tabs{display:flex;gap:6px;padding:6px 12px;background:var(--panel)}.tabs button{flex:1;padding:8px;font-size:13px}.board{flex:1;width:100%;touch-action:pan-x pan-y pinch-zoom;background:radial-gradient(ellipse at center,#101720 0%,var(--bg) 100%)}.corridor{stroke:#3a4c60;stroke-width:5}.corrNum{fill:var(--muted);font-size:20px;text-anchor:middle}.noise{fill:var(--warn);stroke:#8a6d00;stroke-width:3}.door.closed{fill:var(--accent)}.door.open{fill:var(--good)}.door.destroyed{fill:#444}.roomBox{fill:var(--panel2);stroke:var(--line);stroke-width:2.5}.room.unexplored .roomBox{fill:#10141a;stroke-dasharray:8 6}.roomName{fill:var(--text);font-size:19px;text-anchor:middle;font-weight:600}.room.unexplored .roomName{fill:var(--muted)}.techMark,.searchCount{font-size:16px;fill:var(--muted);text-anchor:middle}.marker{font-size:22px;text-anchor:middle}.marker.small{font-size:17px}.figure{stroke:#fff;stroke-width:2}.figureLabel{fill:#06141f;font-size:13px;font-weight:800;text-anchor:middle}.intruder{fill:#7b1f24;stroke:var(--accent);stroke-width:2.5}.intruder.queen{fill:#4a105c;stroke:#c37ade}.intruder.larva{fill:#5c4a10}.intruderLabel{fill:#ffd9db;font-size:15px;font-weight:800;text-anchor:middle}.dmg{fill:var(--warn);font-size:14px;text-anchor:middle}.strip{display:flex;gap:10px;overflow-x:auto;padding:6px 12px;background:var(--panel);font-size:13px;white-space:nowrap}.strip .active{color:var(--warn);font-weight:700}.eventOverlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;z-index:20;pointer-events:none}.eventOverlay.major{background:#000000a6;align-items:center;pointer-events:auto}.eventCard{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:16px;max-width:420px;text-align:center;display:flex;flex-direction:column;gap:12px;position:relative;box-shadow:0 8px 40px #0009}.eventOverlay.minor .eventCard{padding:10px 16px;font-size:14px;background:#1b2530f2}.eventOverlay.major .eventCard{border-color:var(--accent);font-size:18px}.queueCount{position:absolute;top:-8px;right:-8px;background:var(--accent);border-radius:999px;font-size:11px;padding:3px 7px}.decision{background:var(--panel);border-top:2px solid var(--accent);padding:10px 12px;max-height:42vh;overflow-y:auto}.decisionTitle{font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{flex:1 1 45%;min-height:44px;font-size:14px}.waiting{padding:14px;text-align:center;color:var(--muted);background:var(--panel)}.myPanel{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:16px}.myPanel h3{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.cards{display:flex;flex-wrap:wrap;gap:8px}.card{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;width:calc(50% - 4px);position:relative;font-size:13px}.card .cardName{font-weight:700;margin-bottom:4px}.card .cardText{color:var(--muted);font-size:12px;line-height:1.35}.card .cost{position:absolute;top:6px;right:8px;background:var(--line);border-radius:999px;padding:1px 7px;font-size:11px}.card.contamination{background:#241a10;border-color:#55401f;width:60px;text-align:center;font-size:22px}.card.action{border-left:3px solid #4fc3f7}.card.weapon{border-left:3px solid var(--accent)}.card.green{border-left:3px solid var(--good)}.card.red{border-left:3px solid var(--accent)}.card.yellow{border-left:3px solid var(--warn)}.card.crafted{border-left:3px solid #64b5f6}.card.objective{border-left:3px solid #ba68c8;width:100%}.card.quest.inactive{opacity:.55}.ammo{color:var(--warn);letter-spacing:2px;margin-bottom:4px}.wounds{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wound{background:#4a1518;border-radius:6px;padding:4px 8px;font-size:12px}.wound.dressed{opacity:.5;text-decoration:line-through}.status{font-size:12px;color:var(--muted)}.gameOver{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:40}.gameOver h2{font-size:32px;color:var(--accent);letter-spacing:4px}.gameOver ul{list-style:none;font-size:18px;display:flex;flex-direction:column;gap:10px}
