:root{--bg: #0b0b0f;--surface: #16161e;--surface-2: #1e1e29;--surface-3: #262633;--border: #2e2e3c;--border-hi: #3c3c4e;--text: #ecedf3;--muted: #9596ad;--accent: #79c14f;--accent-2: #4fae6a;--accent-ink: #0b0b0f;--danger: #e2554a;--blood: #8a1818;--warn: #e0a84a;--toxic: #8fe04a;--hazard: #d8a52e;--hazard-ink: #15150e;--radius: 16px;--shadow-1: 0 2px 8px rgba(0,0,0,.35);--shadow-2: 0 12px 40px rgba(0,0,0,.55);--font: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Oswald", "Rubik", system-ui, sans-serif;font-family:var(--font)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(140% 90% at 50% -10%,#1d1d29 0%,#101015 45%,var(--bg) 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px);color:var(--text);-webkit-tap-highlight-color:transparent;letter-spacing:.1px}.app,.rules-layer{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.log,.code-badge,.rules-body,input,textarea{-webkit-user-select:text;user-select:text}.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}.app-wide{max-width:1180px}.lobby{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:14px;align-items:start}.lobby-side,.lobby-main{display:flex;flex-direction:column;gap:14px;min-width:0}.lobby .card{margin:0}.lobby-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.lobby-actions{display:flex;gap:10px}.lobby-actions .btn{flex:1}.lobby-actions .btn-primary{flex:2}.lobby .scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}.lobby .scenario-card{height:100%}.lobby .scenario-picker,.lobby .diff-picker,.lobby .char-picker{border-top:none;padding-top:0}@media (min-width: 1000px){.lobby-row{grid-template-columns:minmax(0,260px) minmax(0,1fr)}}.app-tv-lobby{max-width:none;height:100%;height:100dvh;min-height:0;overflow:hidden;padding:0 22px 14px}.app-tv-lobby .topbar{padding:10px 4px;flex:0 0 auto}.app-tv-lobby .screen{min-height:0;align-items:stretch;overflow:hidden}.app-tv-lobby .lobby{height:100%;min-height:0;align-items:stretch;grid-template-columns:minmax(0,340px) minmax(0,1fr)}.app-tv-lobby .lobby-side,.app-tv-lobby .lobby-main{min-height:0}.app-tv-lobby .qr-wrap svg{width:clamp(150px,15vh,230px);height:clamp(150px,15vh,230px)}.app-tv-lobby .code-badge{font-size:clamp(30px,4.6vh,46px)}.app-tv-lobby .lobby-side>.card:last-child{min-height:0;display:flex;flex-direction:column}.app-tv-lobby .lobby-side .players{min-height:0;display:flex;flex-direction:column}.app-tv-lobby .lobby-side .players ul{min-height:0;overflow-y:auto}.app-tv-lobby .lobby-main>.lobby-sec:first-child{min-height:0;display:flex;flex-direction:column}.app-tv-lobby .lobby-main>.lobby-sec:first-child>.lobby-sec-body{min-height:0;overflow-y:auto}.app-tv-lobby .lobby .scenario-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.app-tv-lobby .lobby-row,.app-tv-lobby .lobby-actions,.app-tv-lobby .ready-bar{flex:0 0 auto}@media (max-width: 860px){.app-wide{max-width:560px}.lobby{grid-template-columns:minmax(0,1fr)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 4px}.logo{display:inline-flex;flex-direction:column;gap:8px;color:var(--accent)}.logo-lockup{display:inline-flex;align-items:center;gap:9px}.logo-stack{align-items:center;text-align:center}.brand-mark{flex:none;display:block}.logo-word{font-family:var(--display);font-weight:700;text-transform:uppercase;color:var(--text);line-height:1}.logo-sm .logo-word{font-size:19px;letter-spacing:1.4px}.logo-md .logo-word{font-size:27px;letter-spacing:2px}.logo-lg .logo-word{font-size:44px;letter-spacing:3px;text-shadow:3px 3px 0 var(--blood)}.logo-tag{font-family:var(--display);font-size:11px;font-weight:500;letter-spacing:3.5px;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border-hi);border-bottom:1px solid var(--border-hi);padding:5px 0;align-self:stretch}.hazard-tape{height:7px;border-radius:3px;background:repeating-linear-gradient(45deg,var(--hazard) 0 9px,var(--hazard-ink) 9px 18px)}.card-hazard{position:relative;overflow:hidden}.card-hazard:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:repeating-linear-gradient(45deg,var(--hazard) 0 8px,var(--hazard-ink) 8px 16px)}.stencil{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;gap:10px}.stencil:before{content:"";width:4px;height:1em;background:var(--accent);border-radius:2px;flex:none}.hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 0 2px}.hero-sub{text-align:center;max-width:34ch}.brand-tag{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.screen{flex:1;display:flex;align-items:flex-start}.card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px 20px}.stack{display:flex;flex-direction:column;gap:14px}.center{align-items:center;text-align:center}h1{font-size:26px;margin:0;line-height:1.15}h2{font-size:22px;margin:0}.muted{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.error{color:var(--danger);font-size:14px;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:13px;color:var(--muted)}input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:14px;font-size:16px;outline:none;transition:border-color .15s}input:focus{border-color:var(--accent)}.code-input{letter-spacing:6px;text-transform:uppercase;font-weight:700;text-align:center;font-size:22px}.btn{border:1px solid transparent;border-radius:12px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .05s,opacity .15s,background .15s}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-sm{padding:8px;font-size:13px}.qr-wrap{align-self:center;background:#fff;padding:12px;border-radius:14px;line-height:0}.code-badge{align-self:center;font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:8px;padding:8px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.players{border-top:1px solid var(--border);padding-top:14px}.players-head{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.count{background:var(--surface-2);border-radius:999px;padding:1px 8px;color:var(--text)}.players ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.players li{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-weight:600}.players li.offline{opacity:.5}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}.offline .dot{background:var(--muted)}.tag{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;text-transform:uppercase}.tag-me{color:var(--accent);border-color:var(--accent);margin-left:auto}.tag-warn{color:var(--warn);border-color:var(--warn)}.tag+.tag{margin-left:6px}.waiting{display:flex;align-items:center;gap:10px;justify-content:center;padding:6px}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game{width:100%;display:flex;flex-direction:column;gap:12px}.status-bar{display:flex;flex-wrap:wrap;gap:6px}.status-pill{font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.danger-0{border-color:#4a90e0;color:#8ec0ff}.danger-1{border-color:var(--warn);color:#ffd98a}.danger-2{border-color:#e0843a;color:#ffb37a}.danger-3{border-color:var(--danger);color:#ff9b94}.board-moving [filter],.board-briefing [filter]{filter:none}.board{width:100%;height:auto;background:#0a0a0e;border:1px solid var(--border);border-radius:14px;display:block}.zone{stroke:#30303f;stroke-width:1}.zone-street{fill:#14141c}.zone-building{fill:#241f17}.zone-exit{fill:#16291a;stroke:var(--accent);stroke-width:2}.zone-exit-label{fill:var(--accent);font-size:10px;font-weight:800;text-anchor:middle}.zone-icon{fill:#b85b5b;font-size:16px}.zone-objective{fill:var(--warn);font-size:22px}.zone-zombies{fill:#8fbf6f;font-size:11px;font-weight:700}.survivor-initial{fill:#0e0e12;font-size:11px;font-weight:800}.edge-wall{stroke:#000;stroke-width:7;stroke-linecap:round}.edge-door{stroke:var(--danger);stroke-width:7;stroke-linecap:round}.edge-door-open{stroke:var(--accent);stroke-width:5;stroke-dasharray:4 5;stroke-linecap:round}.controls{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}.survivor-header{display:flex;align-items:center;gap:10px}.survivor-dot{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#0e0e12;flex:none}.survivor-meta{flex:1;min-width:0}.survivor-name{font-weight:700;font-size:16px}.survivor-sub{display:flex;align-items:center;gap:8px;font-size:13px}.hearts{color:var(--danger);letter-spacing:1px}.lvl{font-weight:700}.lvl-0{color:#8ec0ff}.lvl-1{color:#ffd98a}.lvl-2{color:#ffb37a}.lvl-3{color:#ff9b94}.actions-badge{font-weight:800;font-size:15px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:6px 10px}.turn-hint{padding:4px 0}.ident-strip{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);border-left-width:3px}.ident-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.ident-name{font-family:var(--display);font-weight:600;font-size:16px;line-height:1}.ident-sub{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}.ident-hp{letter-spacing:1px}.ident-lvl{font-weight:700}.ident-kills{font-weight:600}.ctrl-section{display:flex;flex-direction:column;gap:6px}.ctrl-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-action,.btn-attack,.btn-item{flex:1 1 auto;border-radius:10px;padding:12px;font-size:14px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px;justify-content:center}.btn-attack{border-color:#6e3a3a;background:#271a1a}.btn-action:disabled,.btn-attack:disabled,.btn-item:disabled{opacity:.4;cursor:not-allowed}.danger-pill,.weapon-name .muted{font-size:12px}.danger-pill{color:#8fbf6f}.weapon-row{display:flex;flex-direction:column;gap:6px;padding:6px 0;border-top:1px dashed var(--border)}.weapon-name{font-weight:600;font-size:14px}.end-turn{margin-top:4px}.log{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.log ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.log li{font-size:13px;color:var(--muted);line-height:1.4}.log-combat{color:#ffb37a}.log-spawn{color:#ff9b94}.log-objective{color:var(--accent)}.log-death{color:var(--danger);font-weight:700}.log-system{color:var(--text)}.end-banner{text-align:center;border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--surface)}.end-banner.won{border-color:var(--accent)}.end-banner.lost{border-color:var(--danger)}.end-banner h2{margin:0 0 12px}.leave-game{align-self:center}.credits{display:flex;flex-direction:column;gap:8px;margin:14px 0;text-align:left}.credit-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.credit-id{display:flex;flex-direction:column;flex:1;min-width:0}.credit-stats{font-size:12px;color:var(--muted)}.credit-badge{font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:8px;background:#79c14f29;color:var(--accent);white-space:nowrap}.credit-badge.magnet{background:#e2554a29;color:var(--danger)}.briefing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none;z-index:5}.briefing-card{pointer-events:auto;max-width:420px;width:100%;background:#0e0e12eb;border:1px solid var(--border-hi);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-2);animation:bannerIn .35s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.briefing-card h3{margin:0 0 6px;font-family:var(--display);color:var(--accent);font-size:16px}.briefing-card p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.skip-briefing{align-self:center}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#2a2a38;border:1px solid var(--border);color:var(--text);padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 30px #00000080;z-index:50;max-width:90vw;text-align:center}.avatar{display:block;border-radius:50%;background:#14141c}.zone-spawn-glyph{fill:#d23a3a;font-size:11px;font-weight:700}.zone-objective-star{fill:#ffd86a;font-size:15px;font-weight:800}.zb-count{fill:#cfe8b8;font-size:11px;font-weight:800;paint-order:stroke;stroke:#0a0a0e;stroke-width:2px}.token-wounds{font-size:9px}.zone-exit-label{fill:#8fd86a;font-size:11px;font-weight:800}.zone-label{fill:#6a6a82;font-size:9px;font-weight:600}.edge-wall{stroke:#6b513a;stroke-width:8;stroke-linecap:round}.char-picker{border-top:1px solid var(--border);padding-top:12px}.cp-chosen{font-size:12px;font-weight:600;color:var(--muted);margin-left:6px}.cp-none{color:var(--warn)}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin-top:8px}.lobby-hero .char-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.lobby-hero .char-card{padding:14px 8px}.lobby-hero .char-picker{border-top:none;padding-top:0}.char-card{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--surface-2);border:2px solid var(--border);border-radius:12px;padding:10px 6px;cursor:pointer;color:var(--text);position:relative;transition:border-color .15s,transform .05s,box-shadow .15s}.char-card:hover:not(:disabled):not(.sel){border-color:var(--border-hi)}.char-card:active{transform:scale(.97)}.char-card.sel{background:color-mix(in srgb,var(--sel-color, var(--accent)) 14%,#1a1a24);box-shadow:0 0 0 1px var(--sel-color, var(--accent)),0 0 16px color-mix(in srgb,var(--sel-color, var(--accent)) 40%,transparent)}.char-card:disabled{cursor:not-allowed}.char-card.locked{opacity:.45}.char-card.eyeing{border-color:#6b6478;border-style:dashed}.char-mine{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:10px;font-weight:800;color:#0e0e12;border-radius:999px;padding:1px 8px;white-space:nowrap}.char-name{font-weight:700;font-size:13px;margin-top:2px}.char-arch{font-size:11px;color:var(--muted)}.char-taken{position:absolute;top:4px;right:4px;max-width:90%;font-size:9px;color:#cfd3dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0e0e12;border-radius:6px;padding:1px 5px}.char-eyeing{position:absolute;top:4px;right:4px;font-size:9px;color:var(--muted);background:#0e0e12;border-radius:6px;padding:1px 5px}.sheet{display:flex;flex-direction:column;gap:10px}.sheet-top{display:flex;align-items:center;gap:12px}.sheet-id{flex:1;min-width:0}.sheet-name{font-weight:800;font-size:18px}.sheet-arch{font-size:13px;color:var(--muted)}.sheet-hp{font-size:15px;margin-top:2px;letter-spacing:2px}.hp-empty{opacity:.5}.xp-track{display:flex;gap:4px}.xp-seg{flex:1;display:flex;flex-direction:column;align-items:center;border-radius:8px;padding:5px 2px;font-size:11px;font-weight:700;border:1px solid var(--border);background:var(--surface-2);opacity:.5}.xp-seg small{font-size:9px;opacity:.8;font-weight:600}.xp-seg.xp-done{opacity:.85}.xp-seg.xp-cur{opacity:1;box-shadow:inset 0 0 0 1.5px currentColor}.xp-seg.lvl-0{color:#8ec0ff}.xp-seg.lvl-1{color:#ffd98a}.xp-seg.lvl-2{color:#ffb37a}.xp-seg.lvl-3{color:#ff9b94}.xp-line{font-size:12px;color:var(--muted)}.skills{display:flex;flex-wrap:wrap;gap:5px}.skill-chip{font-size:11px;font-weight:600;background:#1c3320;color:#9fdc8c;border:1px solid #2f5a36;border-radius:999px;padding:3px 9px}.skill-chip.locked{background:var(--surface-2);color:var(--muted);border-color:var(--border)}.skill-choice{border:1.5px solid var(--accent);background:#16231a;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.skill-choice-title{font-weight:800;color:var(--accent);font-size:14px}.skill-choice-opts{display:flex;flex-direction:column;gap:6px}.skill-choice-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px}.skill-choice-btn b{font-size:14px}.skill-choice-btn span{font-size:12px;color:var(--muted)}.actions-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.actions-badge{font-weight:800;font-size:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:6px 10px}.free-badge{font-size:11px;font-weight:700;color:#9fdc8c;background:#1c3320;border:1px solid #2f5a36;border-radius:999px;padding:4px 9px}.board-wrap{position:relative}.phase-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#0e0e12e0;border:1px solid var(--danger);color:#ff9b94;font-weight:800;font-size:15px;padding:8px 18px;border-radius:999px;pointer-events:none;box-shadow:0 6px 24px #00000080;animation:bannerIn .3s ease,bannerPulse 1.2s ease-in-out infinite .3s}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes bannerPulse{0%,to{box-shadow:0 6px 24px #d2544a40}50%{box-shadow:0 6px 30px #d2544a99}}.stok{transition:transform .45s cubic-bezier(.4,0,.2,1)}.ztok{transition:transform .5s cubic-bezier(.45,0,.3,1);animation:tokfade .4s ease}@keyframes tokfade{0%{opacity:0}to{opacity:1}}.ztok.z-lunge{animation:zlunge .5s ease-in-out infinite}.ztok.z-settled{animation:zsettle .35s ease}@keyframes zlunge{0%,to{transform:translate(var(--tx),var(--ty)) scale(1);filter:brightness(1)}50%{transform:translate(var(--tx),var(--ty)) scale(1.16);filter:brightness(1.3)}}@keyframes zsettle{0%{transform:translate(var(--tx),var(--ty)) scale(1.18)}to{transform:translate(var(--tx),var(--ty)) scale(1)}}.active-glow{fill:#fff;opacity:0;animation:glow 1.5s ease-in-out infinite}@keyframes glow{0%,to{opacity:.05}50%{opacity:.32}}.hitfx{animation:fxrise .95s ease forwards;pointer-events:none}@keyframes fxrise{0%{opacity:0;transform:translate(var(--fx-x, 0)) scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.die-face{fill:#0e0e12;font-size:9px;font-weight:800}.fx-kill{fill:#ffd86a;font-size:13px;font-weight:800;paint-order:stroke;stroke:#0e0e12;stroke-width:3px}.ztok.z-dying{animation:zdie 1.5s ease-in forwards;pointer-events:none}@keyframes zdie{0%{opacity:1;transform:translate(var(--tx),var(--ty)) rotate(0)}73%{opacity:1;transform:translate(var(--tx),var(--ty)) rotate(0)}80%{transform:translate(var(--tx),var(--ty)) rotate(-9deg) scale(1.04)}to{opacity:0;transform:translate(var(--tx),var(--ty)) translateY(9px) rotate(34deg) scale(.76);filter:grayscale(1) brightness(.42)}}.hitfx-fire{pointer-events:none}.fire-wash{fill:#ff7a1a;opacity:0;animation:fireWash 1.6s ease forwards;mix-blend-mode:screen}@keyframes fireWash{0%{opacity:0}20%{opacity:.55}70%{opacity:.4}to{opacity:0}}.fire-tongue{fill:#ffb033;opacity:0;transform-origin:bottom center;animation:fireTongue 1.5s ease-out forwards}@keyframes fireTongue{0%{opacity:0;transform:scaleY(.2) scaleX(.8)}25%{opacity:1}60%{opacity:.9;transform:scaleY(1.15) scaleX(1.05)}to{opacity:0;transform:scaleY(.5) scaleX(.7)}}.fx-fire-label{fill:#ffd86a;animation:fxrise 1.5s ease forwards}.zone-noise{fill:#ffd86a;font-size:11px;font-weight:700}.brand-tag{font-family:var(--display);letter-spacing:1.5px;text-transform:uppercase}h1{font-family:var(--display);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:30px}h2{font-family:var(--display);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ctrl-title,.players-head{font-family:var(--display);font-weight:600}.card{background:linear-gradient(165deg,#1c1c26,#15151d);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2),inset 0 1px #ffffff0a}.btn-primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 6px 18px #4fae6a4d,inset 0 1px #ffffff40;border:none;text-transform:uppercase;font-family:var(--display);letter-spacing:1px;font-weight:600}.btn-ghost{background:#ffffff05}.btn-ghost:hover{background:#ffffff0d;border-color:var(--border-hi)}.btn-action,.btn-item{background:linear-gradient(180deg,#24242f,#1c1c26)}.btn-action:hover:not(:disabled),.btn-item:hover:not(:disabled){border-color:var(--accent)}.btn-attack{background:linear-gradient(180deg,#2e1c1c,#241616)}.btn-attack:hover:not(:disabled){border-color:var(--danger)}.board{background:radial-gradient(120% 120% at 50% 40%,#101016,#070709);border:1px solid #34343f;border-radius:var(--radius);box-shadow:var(--shadow-2),inset 0 0 60px #0009;padding:4px}.status-bar{gap:7px}.status-pill{background:linear-gradient(180deg,#1d1d28,#16161f);border:1px solid var(--border);box-shadow:var(--shadow-1);font-family:var(--display);letter-spacing:.5px;font-weight:600;font-size:12.5px}.controls,.log{background:linear-gradient(165deg,#1b1b25,#141019);box-shadow:var(--shadow-2)}.sheet-name{font-family:var(--display);font-weight:700;letter-spacing:.5px;font-size:20px}.skill-chip{box-shadow:inset 0 1px #ffffff0d}.skill-choice{box-shadow:0 0 24px #79c14f2e,var(--shadow-2)}.actions-badge{background:linear-gradient(180deg,#2a2a38,#20202b);box-shadow:var(--shadow-1);font-family:var(--display)}.code-badge{background:linear-gradient(180deg,#22222e,#16161f);font-family:var(--display);box-shadow:var(--shadow-1),inset 0 1px #ffffff0f}.end-banner{box-shadow:var(--shadow-2)}.end-banner h2{font-size:26px}.log li{line-height:1.45}.log-combat{color:#ffb27a}.log-spawn{color:#ff8f88}.log-objective{color:var(--toxic)}.log-death{color:var(--danger)}.die-pip{fill:#0e0e12}.die-hit{filter:drop-shadow(0 0 3px rgba(121,193,79,.8))}.obj-pulse{animation:objpulse 1.9s ease-in-out infinite}@keyframes objpulse{0%,to{opacity:.45}50%{opacity:.95}}.zone-label{font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;fill:#8a8aa0;opacity:.7}.zone-exit-label{font-family:var(--display);letter-spacing:1px}.zb-count{font-family:var(--display)}.topbar-right{display:flex;align-items:center;gap:8px}.mute-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;width:32px;height:32px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mute-btn:hover{border-color:var(--border-hi)}.app-game{max-width:none;width:100%;height:100dvh;padding:0;overflow:hidden}.app-game .topbar{padding:8px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#15151d,#101015);flex:0 0 auto}.app-game .screen{flex:1 1 auto;min-height:0;align-items:stretch}.app-game .game{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,30vw,430px);gap:0}.board-area{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;padding:12px}.board-area .status-bar{flex:0 0 auto}.board-area .board-wrap{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}.app-game .board{width:100%;height:100%;max-height:100%}.side-panel{min-width:0;overflow-y:auto;overflow-x:hidden;border-left:1px solid var(--border);background:linear-gradient(180deg,#14141c,#100c14);padding:12px;display:flex;flex-direction:column;gap:12px}.side-panel .controls,.side-panel .log{background:linear-gradient(165deg,#1b1b25,#141019)}.leave-game{align-self:stretch}@media (max-width: 860px){.app-game .game{grid-template-columns:1fr;grid-template-rows:minmax(230px,54dvh) 1fr}.side-panel{border-left:none;border-top:1px solid var(--border);padding:10px}.board-area{padding:8px;gap:6px}.board-area .status-bar{gap:4px}.board-area .status-pill{font-size:11px;padding:3px 7px}.board-area .turn-indicator{padding:5px 8px}}.hl-move,.hl-attack,.hl-both{cursor:pointer;pointer-events:all;stroke-width:3;animation:hlpulse 1.1s ease-in-out infinite}.hl-move{fill:#79c14f29;stroke:#8fe06a}.hl-attack{fill:#e2554a2e;stroke:#ff7a6e}.hl-both{fill:#f0ad4e2e;stroke:#ffc46b;stroke-dasharray:7 5}.hl-move:hover{fill:#79c14f4d}.hl-attack:hover{fill:#e2554a52}.hl-both:hover{fill:#f0ad4e52}.hl-door{cursor:pointer;pointer-events:all}.hl-door circle{fill:#33291ceb;stroke:#ffc46b;stroke-width:2;animation:hlpulse 1.1s ease-in-out infinite}.hl-door:hover circle{fill:#5a4a2ff2}.hl-door-ico{font-size:13px;pointer-events:none}.lite .hl-door circle{animation:none;stroke-opacity:.9}@keyframes hlpulse{0%,to{stroke-opacity:.55}50%{stroke-opacity:1}}.mode-bar{display:flex;flex-wrap:wrap;gap:6px}.mode-btn{flex:1 1 auto;background:linear-gradient(180deg,#24242f,#1b1b24);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 10px;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:border-color .12s,background .12s,transform .05s}.mode-btn:active{transform:scale(.97)}.mode-btn.sel{border-color:var(--accent);background:linear-gradient(180deg,#28381f,#1d2a16);box-shadow:inset 0 0 0 1px var(--accent),0 0 14px #79c14f40}.mode-hint{margin:0;font-size:13px;color:var(--muted);background:#ffffff08;border:1px dashed var(--border);border-radius:8px;padding:8px 10px;text-align:center}.quick-row{display:flex;flex-wrap:wrap;gap:6px}.quick-btn{flex:1 1 44%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 10px;font-weight:700;font-size:13.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.quick-btn>span{display:inline-flex;align-items:center;gap:5px}.quick-btn small{font-size:10.5px;font-weight:600;color:var(--muted)}.quick-btn.wide{flex-basis:100%}.item-icon{display:inline-block;vertical-align:middle;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.quick-btn:hover:not(:disabled){border-color:var(--border-hi)}.quick-btn:disabled{opacity:.4;cursor:not-allowed}.end-turn{margin-top:2px}.turn-indicator{display:flex;align-items:center;gap:8px;background:linear-gradient(180deg,#1d1d28,#15151f);border:1px solid var(--border);border-radius:10px;padding:7px 12px;margin-top:6px;font-family:var(--display);font-size:14px}.turn-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 8px currentColor;flex:0 0 auto}.turn-name{flex:1}.turn-actions{font-weight:800;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 9px}.sheet-meta{display:flex;align-items:center;gap:10px;margin-top:2px}.sheet-kills{font-size:13px;font-weight:700;color:#ff9b94}.sheet-lvl{font-weight:800}.sheet-lvl.lvl-0{color:#8ec0ff}.sheet-lvl.lvl-1{color:#ffd98a}.sheet-lvl.lvl-2{color:#ffb37a}.sheet-lvl.lvl-3{color:#ff9b94}.ctrl-tabs{display:flex;gap:6px}.ctrl-tab{flex:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:8px;font-weight:700;font-size:13px;cursor:pointer}.ctrl-tab.sel{color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ammo-tag{font-size:11px;font-weight:800;color:#cdb27a;background:#00000040;border:1px solid var(--border);border-radius:999px;padding:1px 7px}.ammo-tag.out{color:#ff9b94;border-color:var(--danger)}.mode-btn.empty{opacity:.75}.mode-sub{margin:-2px 0 0;font-size:12px;color:var(--muted);text-align:center}.backpack{display:flex;flex-direction:column;gap:8px}.bp-help{margin:0;font-size:12px;color:var(--muted)}.bp-item{border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--surface-2);display:flex;flex-direction:column;gap:5px}.bp-item.equipped{border-color:var(--accent);box-shadow:inset 0 0 0 1px #79c14f66}.bp-head{display:flex;align-items:center;gap:7px;font-size:14px}.bp-badge{font-size:10px;font-weight:800;color:#9fdc8c;background:#1c3320;border:1px solid #2f5a36;border-radius:999px;padding:2px 7px}.bp-head .ammo-tag{margin-left:auto}.bp-stat{font-size:12px;color:#c9cdd6}.bp-desc{font-size:11.5px;color:var(--muted);line-height:1.35}.bp-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.bp-btn{background:#24242f;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.bp-btn:hover:not(:disabled){border-color:var(--border-hi)}.bp-btn:disabled{opacity:.4;cursor:not-allowed}.bp-btn.primary{background:#1c3320;border-color:#2f5a36;color:#9fdc8c}.bp-btn.drop{color:#ff9b94}.bp-btn.give{color:#8ec0ff}.bp-name{font-size:14.5px}.reload-inline{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.reload-btn{background:#33291c;border-color:#5a4a2f;color:#ffd08a}.stat-chips{display:flex;flex-wrap:wrap;gap:5px}.stat-chip{font-size:11.5px;font-weight:700;color:#cfd3dc;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:3px 8px;white-space:nowrap}.stat-chip.dmg{color:#ffcf8a}.stat-chip.dmg.strong{color:#ffb04a;border-color:#6a4a1a;background:#ffb04a1a}.stat-chip.fire{color:#ff8a4a;border-color:#6a3418;background:#ff6a1a1f}.stat-chip.heal{color:#8fe0a0;border-color:#2f5a36;background:#79c14f1a}.stat-chip.noise{color:#ffd86a}.acoes-tab{display:flex;flex-direction:column;gap:10px}.act-hint{margin:0;font-size:13px;font-weight:600;color:var(--text);background:#79c14f14;border:1px dashed rgba(121,193,79,.4);border-radius:8px;padding:8px 10px;text-align:center}.act-hint.muted{color:var(--muted);background:#ffffff08;border-color:var(--border)}.act-hint.warn{color:var(--warn);background:#e0a84a1a;border-color:#e0a84a80}.wpn-picker{display:flex;flex-wrap:wrap;gap:8px}.wpn-card{flex:1 1 44%;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1.5px solid var(--border);color:var(--text);border-radius:12px;padding:10px;cursor:pointer;font-weight:700;font-size:13.5px}.wpn-card.sel{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger),0 0 14px #e2554a33}.wpn-card.empty{opacity:.7}.wpn-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.wpn-card .ammo-tag{flex:0 0 auto}.target-list{display:flex;flex-direction:column;gap:7px}.target-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px;cursor:pointer}.target-tags{display:inline-flex;align-items:center;gap:6px;font-size:12px}.target-tags .t-obj{color:#ffd98a;font-style:normal;font-weight:700}.target-tags .t-z{color:#ff9b94;font-style:normal;font-weight:700}.overflow-choice{border:1px solid var(--warn);border-radius:14px;background:#211d10;padding:14px;display:flex;flex-direction:column;gap:10px}.overflow-title{font-family:var(--display);font-weight:700;font-size:17px;color:var(--warn)}.found-card{border:1.5px solid var(--accent);border-radius:12px;background:#79c14f14;padding:12px;display:flex;flex-direction:column;gap:7px}.found-tag{font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--accent);text-transform:uppercase}.found-head{display:flex;align-items:center;gap:10px}.found-name{font-family:var(--display);font-weight:600;font-size:20px}.overflow-q{font-size:13.5px;font-weight:700;color:var(--text)}.overflow-opts{display:flex;flex-direction:column;gap:7px}.overflow-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;width:100%}.overflow-opt:hover{border-color:var(--border-hi)}.overflow-opt.keep-new{border-style:dashed;opacity:.9}.overflow-opt-head{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.overflow-swap{font-size:11px;font-weight:700;color:var(--accent)}.overflow-opt-stat{font-size:12px;color:#c9cdd6}.overflow-opt-stat.muted{color:var(--muted)}.mode-pick{display:flex;gap:10px}.mode-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.mode-card.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px #79c14f33}.mode-card-ico{font-size:22px}.mode-card b{font-size:15px}.mode-card small{font-size:11.5px;color:var(--muted);line-height:1.35}.empty-hint{font-size:12px;margin:4px 0}@media (max-width: 520px){.mode-pick{flex-direction:column}}.scenario-picker,.diff-picker{border-top:1px solid var(--border);padding-top:12px}.scenario-grid{display:flex;flex-direction:column;gap:8px;margin-top:8px}.scenario-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.scenario-card.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px #79c14f33}.scenario-card.readonly{cursor:default;margin-top:4px}.scenario-card b{font-size:14px}.scenario-card small{font-size:12px;color:var(--muted);line-height:1.35}.scenario-meta{font-size:11.5px;color:var(--accent-2);font-weight:600}.diff-row{display:flex;gap:8px;margin-top:8px}.diff-chip{flex:1;padding:8px;border-radius:10px;text-align:center;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:13px;font-weight:600}.diff-chip.sel{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn);color:var(--warn)}.tag-ready{background:#79c14f29;color:var(--accent);border-color:transparent}.tag-wait{background:#e0a84a24;color:var(--warn);border-color:transparent}.tag-leader{background:#e0a84a29;color:var(--warn);border-color:transparent}.lobby-sec{padding:0;overflow:hidden}.lobby-sec-head{width:100%;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;background:none;border:none;color:var(--text);padding:12px 14px}.lobby-sec-head .players-head{margin:0;flex:0 0 auto}.lobby-sec-sum{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--accent);text-align:right}.lobby-sec-caret{flex:0 0 auto;color:var(--muted);font-size:12px;margin-left:auto}.lobby-sec.open .lobby-sec-caret{margin-left:0}.lobby-sec-body{padding:0 14px 14px}.lobby-locked{margin:0 0 8px;font-size:12.5px;color:var(--warn);background:#e0a84a14;border:1px dashed rgba(224,168,74,.4);border-radius:8px;padding:7px 10px}.scenario-card.readonly,.diff-chip:disabled{cursor:default}.scenario-card:disabled{opacity:1}.scenario-card:disabled:not(.sel){opacity:.62}.diff-chip:disabled:not(.sel){opacity:.55}.ready-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.ready-btn{flex:0 0 auto;min-width:190px;font-size:15px;font-weight:800;background:linear-gradient(180deg,#33291c,#241d12);border:1.5px solid var(--warn);color:#ffd08a;animation:readyPulse 1.6s ease-in-out infinite}@keyframes readyPulse{0%,to{box-shadow:0 0 #e0a84a00}50%{box-shadow:0 0 14px #e0a84a59}}.ready-btn.on{background:linear-gradient(180deg,#2b5a30,#1e4324);border-color:var(--accent);color:#d7f5c4;box-shadow:0 0 18px #79c14f40;animation:none}.ready-hint{flex:1;min-width:0;font-size:13px;color:var(--muted)}.lobby-flow{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px;align-items:start}.lf-side,.lf-main{display:flex;flex-direction:column;gap:12px;min-width:0}.lf-main{min-width:0}.lf-body{display:flex;flex-direction:column;gap:12px;min-height:0}.lf-steps{display:flex;align-items:center;gap:8px;padding:2px 2px 0}.lf-step{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted);padding:5px 12px;border-radius:999px;border:1px solid var(--border)}.lf-step b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-2);font-size:11px}.lf-step.sel{color:var(--text);border-color:var(--accent)}.lf-step.sel b{background:var(--accent);color:#0e0e12}.lf-step.done{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.lf-step.done b:after{content:"✓"}.lf-step.done b{color:transparent;width:18px}.lf-step-sep{color:var(--muted)}.lf-players .players-head{margin-bottom:6px}.lf-players ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lf-players li{display:flex;align-items:center;gap:8px;min-width:0}.lf-players li.offline{opacity:.5}.lf-pname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lf-ptags{flex:0 0 auto;display:flex;gap:4px;align-items:center}.lf-ptags .tag{font-size:10px;padding:1px 6px}.lobby-hero{padding:14px}.lobby-foot{display:flex;flex-direction:column;gap:8px}.lf-next,.lf-back{flex:0 0 auto}@media (min-width: 861px){.app-lobby-full{max-width:none;padding-left:22px;padding-right:22px}.app-lobby-full .screen{min-height:0;overflow:hidden;align-items:stretch}.app-lobby-full .lobby-flow{width:100%;height:calc(100dvh - 84px);min-height:0;align-items:stretch;grid-template-columns:320px minmax(0,1fr)}.app-lobby-full .lf-side{min-height:0;overflow-y:auto}.app-lobby-full .lf-players{display:flex;flex-direction:column;min-height:0}.app-lobby-full .lf-players ul{min-height:0;overflow-y:auto}.app-lobby-full .lf-main{min-height:0}.app-lobby-full .lf-body{min-height:0;flex:1;display:flex;flex-direction:column}.app-lobby-full .lobby-hero,.app-lobby-full .lf-body .lobby-scroll{flex:1;min-height:0;overflow-y:auto}.app-lobby-full .lf-body .lobby-foot{flex:0 0 auto}.app-lobby-full .lobby-hero .char-picker{display:flex;flex-direction:column;gap:12px}.app-lobby-full .lobby-hero .char-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-auto-rows:150px;gap:14px;align-content:start}.app-lobby-full .lobby-hero .char-card{justify-content:center}.app-lobby-full .lf-body .scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.app-lobby-full .lf-body .scenario-card{height:100%;padding:10px 12px;gap:3px}.app-lobby-full .lf-body .scenario-card small{font-size:11.5px}}@media (max-width: 860px){.lobby-flow{grid-template-columns:1fr}}.cp-detail{margin-top:10px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-2);padding:12px;display:flex;flex-direction:column;gap:8px}.cp-detail-head{display:flex;align-items:center;gap:10px}.cp-detail-name{font-family:var(--display);font-weight:600;font-size:17px;line-height:1.1}.cp-detail-arch{font-size:12px;color:var(--muted)}.cp-start{display:flex;flex-direction:column;gap:2px;background:#79c14f14;border:1px solid rgba(121,193,79,.35);border-radius:10px;padding:8px 10px}.cp-start-tag{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent)}.cp-start b{font-size:14px}.cp-start-desc{font-size:12px;color:var(--muted);line-height:1.35}.cp-skill-title{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-top:2px}.cp-skill-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.cp-skill-lvl{font-weight:800;font-size:11px;min-width:62px}.cp-skill-lvl.lvl-1{color:#ffd98a}.cp-skill-lvl.lvl-2{color:#ffb37a}.cp-skill-lvl.lvl-3{color:#ff9b94}.cp-skill-list{color:#c9cdd6}.cp-skill-list b{font-weight:700;cursor:help;border-bottom:1px dotted var(--border-hi)}.cp-or{color:var(--muted);font-style:normal}.app-game .game.controller{display:flex;flex-direction:column;gap:0;width:100%;max-width:620px;margin:0 auto;height:100%;min-height:0;overflow:hidden}.ctl-status{flex:0 0 auto;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#1b1b26,#141019);display:flex;flex-direction:column;gap:6px}.ctl-status.you{box-shadow:inset 0 0 0 2px #79c14f80}.ctl-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.ctl-status-main{font-family:var(--display);font-size:20px}.ctl-status.you .ctl-status-main{color:#cdebbf}.ctl-actions-pill{font-family:var(--display);font-weight:800;font-size:16px;background:#1c3320;color:#cdebbf;border:1px solid #2f5a36;border-radius:999px;padding:4px 12px}.ctl-mini-stats{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}.ctl-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.ctl-pad{padding:14px;display:flex;flex-direction:column;gap:14px}.ctl-pad .log{background:linear-gradient(165deg,#1b1b25,#141019);border-radius:var(--radius)}.ctl-nav{flex:0 0 auto;display:flex;border-top:1px solid var(--border);background:linear-gradient(180deg,#15151d,#101015);padding-bottom:env(safe-area-inset-bottom,0)}.ctl-nav-btn{flex:1;position:relative;background:none;border:none;cursor:pointer;color:var(--muted);font-weight:700;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 12px}.ctl-nav-ico{font-size:22px;line-height:1}.ctl-nav-btn.sel{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.ctl-nav-dot{position:absolute;top:8px;right:50%;transform:translate(18px);width:8px;height:8px;border-radius:50%;background:var(--warn)}.act-toggle{display:flex;gap:8px}.act-tab{flex:1;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:800;font-size:16px;cursor:pointer}.act-tab.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent),0 0 14px #79c14f33}.dpad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(76px,1fr));gap:8px;align-self:center;width:100%;max-width:380px}.dpad-n{grid-area:1 / 2}.dpad-w{grid-area:2 / 1}.dpad-c{grid-area:2 / 2}.dpad-e{grid-area:2 / 3}.dpad-s{grid-area:3 / 2}.dpad-btn{width:100%;height:100%;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,#26303a,#1b232c);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px}.dpad-btn:active{transform:scale(.96)}.dpad-btn.off{background:repeating-linear-gradient(45deg,#1a1a22,#1a1a22 6px,#16161d 6px,#16161d 12px);opacity:.5;cursor:default}.dpad-btn.door{background:linear-gradient(180deg,#33291c,#241d12);border-color:#5a4a2f}.dpad-arrow{font-size:24px;line-height:1}.dpad-zone{font-size:12px;font-weight:700;text-align:center;line-height:1.1}.dpad-wall{font-size:12px;opacity:.6}.dpad-tags{display:flex;gap:4px;font-size:11px;font-weight:800}.dpad-tags .t-obj{color:#ffd98a}.dpad-tags .t-z{color:#ff9b94}.dpad-tags .t-door{color:#ffc46b}.dpad-here{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;border-radius:14px;border:1px dashed var(--border);background:#ffffff08;font-size:20px}.dpad-here small{font-size:11px;color:var(--muted);font-weight:700}.wpn-chips{display:flex;flex-wrap:wrap;gap:8px}.wpn-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:700;font-size:14px;cursor:pointer}.wpn-chip.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.wpn-chip.empty{opacity:.7}.wpn-chip-name{white-space:nowrap}.wpn-stat{margin:0;font-size:12.5px;color:#c9cdd6;text-align:center}.quick-grid{display:flex;flex-wrap:wrap;gap:8px}.quick-grid .quick-btn{flex:1 1 44%;min-height:46px}.end-turn-big{margin-top:4px;padding:16px;font-size:16px;font-weight:800;background:linear-gradient(180deg,#2a2a38,#20202b);border:1px solid var(--border);color:var(--text)}.end-turn-big.confirm{background:linear-gradient(180deg,#4a3a1a,#362a12);border-color:var(--warn);color:var(--warn);font-size:14px}.wait-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:28px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2)}.wait-card.lost{color:#ff9b94;font-weight:800;font-size:18px}.wait-card.briefing-wait{border-color:var(--accent)}.wait-title{font-family:var(--display);font-size:18px;margin:0}.small{font-size:12px}.sheet-sec-title{font-family:var(--display);font-weight:700;color:var(--muted);margin-top:4px}.target-list{display:flex;flex-direction:column;gap:8px}.target-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#24242f,#1b1b24);color:var(--text);font-weight:700;font-size:15px;cursor:pointer}.target-btn:active{transform:scale(.98)}.target-btn.move{border-left:4px solid var(--accent)}.target-btn.atk{border-left:4px solid var(--danger)}.target-main{display:inline-flex;align-items:center;gap:8px}.target-tags{display:inline-flex;align-items:center;gap:6px}.target-zone{font-size:11px;color:var(--muted);font-weight:600}.target-obj{font-size:11px;color:#ffd98a;font-weight:700}.target-z{font-size:12px;color:#ff9b94;font-weight:800;background:#00000040;border:1px solid var(--border);border-radius:999px;padding:1px 8px}.no-target{text-align:center;padding:10px}.roster{display:flex;flex-direction:column;gap:8px}.roster-head{font-family:var(--display);font-weight:600;color:var(--muted)}.roster-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2)}.roster-row.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px #79c14f59}.roster-row.dead{opacity:.45;filter:grayscale(.6)}.roster-id{flex:1;min-width:0}.roster-name{font-weight:800;display:flex;align-items:center;gap:8px}.roster-turn{font-size:12px;color:#cdebbf;background:#1c3320;border:1px solid #2f5a36;border-radius:999px;padding:1px 8px}.roster-sub{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-top:2px}.roster-hp{letter-spacing:1px}.roster-kills{color:#ff9b94}.roster-lvl{font-weight:700}.board-tools{position:fixed;top:10px;left:10px;z-index:30;display:flex;gap:6px}.board-tools .board-mute{position:static}.board-mute{position:fixed;top:10px;left:10px;z-index:30;width:38px;height:38px;border-radius:50%;cursor:pointer;background:#100c14b3;border:1px solid var(--border);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rules-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#06060ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px;animation:dimIn .18s ease both}.rules-card{width:100%;max-width:560px;max-height:88dvh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-hi);border-radius:18px;box-shadow:0 30px 80px #000000b3;overflow:hidden;animation:popupIn .28s cubic-bezier(.2,1.3,.35,1) both}.rules-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#1d1d28,#15151f)}.rules-head h2{margin:0;font-size:19px}.rules-tape{flex:none;border-radius:0}.rules-close{width:32px;height:32px;border-radius:50%;cursor:pointer;flex:0 0 auto;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:14px}.rules-body{overflow-y:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px}.rules-sec h3{margin:0 0 6px;font-family:var(--display);font-size:15px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:7px;letter-spacing:.3px}.rules-ico{font-size:16px}.rules-sec p{margin:0;font-size:13.5px;line-height:1.5;color:#c9cdd6}.rules-sec ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.rules-sec li{font-size:13.5px;line-height:1.45;color:#c9cdd6}.rules-sec li b,.rules-sec p b{color:var(--text)}.rules-tip{margin-top:8px!important;font-size:12.5px!important;color:var(--muted)!important;font-style:italic}.rules-zlist{display:flex;flex-direction:column;gap:6px}.rules-zrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:7px 10px}.rules-zname{font-size:13.5px;min-width:88px}.rules-zchip{font-size:11px;font-weight:700;color:#cfd3dc;background:#ffffff0d;border:1px solid var(--border);border-radius:7px;padding:2px 7px}.rules-zchip.dmg{color:#ffb04a}.rules-zchip.xp{color:var(--accent)}.rules-znote{flex:1 1 100%;font-size:12px;color:var(--muted)}.app-game .game.board-only{display:block;position:relative;grid-template-columns:none}.game.board-only .board-area{width:100%;height:100%;gap:0;padding:2px;padding-right:clamp(280px,24vw,340px);display:flex;align-items:center;justify-content:center}.game.board-only .board-wrap{width:100%;height:100%;padding:0}.game.board-only .side-panel{position:absolute;top:0;right:0;bottom:0;width:clamp(264px,23vw,322px);border-left:1px solid var(--border);background:linear-gradient(180deg,#14141c,#100c14);overflow-y:auto;padding:12px;gap:10px}.game.board-only .status-bar{flex-wrap:wrap}@media (max-width: 860px){.app-game .game.board-only{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(58dvh,1fr) auto}.game.board-only .board-area{padding-right:6px}.game.board-only .side-panel{position:static;width:auto;border-left:none;border-top:1px solid var(--border)}}.board-cam{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.board-vp{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(120% 120% at 50% 40%,#101016,#070709);border:1px solid #34343f;border-radius:var(--radius);box-shadow:var(--shadow-2),inset 0 0 60px #0009}.board-vp:active{cursor:grabbing}.board-vp>.board{position:absolute;left:0;top:0;width:auto;height:auto;background:none;border:none;border-radius:0;box-shadow:none;transform-origin:0 0;will-change:transform}.cam-controls{position:absolute;left:10px;bottom:10px;z-index:6;display:flex;gap:6px}.cam-btn{width:40px;height:40px;border-radius:11px;cursor:pointer;background:#100c14b8;border:1px solid var(--border);color:var(--text);font-size:18px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cam-btn:hover{border-color:var(--border-hi)}.cam-btn:active{transform:scale(.94)}.cam-btn.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cam-tag{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:6;max-width:88%;text-align:center;background:#100c14e6;border:1.5px solid var(--border-hi);border-bottom-width:4px;border-bottom-color:#ff9b94;border-radius:14px;padding:11px 22px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.3px;box-shadow:0 10px 34px #0000008c;animation:camTagIn .28s cubic-bezier(.2,1.3,.35,1)}@keyframes camTagIn{0%{opacity:0;transform:translate(-50%,-10px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (orientation: portrait){.app-game .game.board-only{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(62dvh,1fr) auto}.game.board-only .board-area{padding-right:4px}.game.board-only .side-panel{position:static;width:auto;border-left:none;border-top:1px solid var(--border)}}.ally-focus{flex:0 0 auto;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--border);background:#ffffff05}.ally-focus-label{font-size:12px;color:var(--muted);white-space:nowrap}.ally-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:4px 10px 4px 4px;font-size:13px;font-weight:700;cursor:pointer}.ally-chip:active{transform:scale(.95)}.ally-chip:disabled{opacity:.4;cursor:default;transform:none}.dice-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent 70%);animation:dimIn .2s ease both}@keyframes dimIn{0%{opacity:0}to{opacity:1}}.dice-tray{display:flex;gap:16px;perspective:600px}.dice-tray.land{animation:trayShake .32s ease}@keyframes trayShake{0%,to{transform:translate(0)}25%{transform:translate(-5px,3px)}50%{transform:translate(5px,-3px)}75%{transform:translate(-3px,-2px)}}.die3d{width:64px;height:64px;border-radius:14px;background:linear-gradient(150deg,#fffdf4,#efe9d8 55%,#d6cfba);box-shadow:inset 0 3px 5px #ffffffe6,inset 0 -6px 12px #00000038,0 16px 28px #0000008c;outline:0 solid transparent;display:grid;place-items:center;transform-origin:center;animation:dieRoll .85s cubic-bezier(.18,.9,.25,1.1) both;transition:box-shadow .2s ease,outline .18s ease,filter .2s ease}@keyframes dieRoll{0%{transform:translateY(-92vh) rotate(-300deg) scale(.8);opacity:0}12%{opacity:1}55%{transform:translateY(16px) rotate(380deg) scale(1.06)}72%{transform:translateY(-12px) rotate(350deg) scale(.99)}86%{transform:translateY(7px) rotate(364deg)}to{transform:translateY(0) rotate(360deg) scale(1)}}.die3d.hit{box-shadow:inset 0 3px 5px #ffffffe6,inset 0 -6px 12px #0003,0 12px 24px #00000080,0 0 28px 6px #79c14fe6;outline:3px solid #5fbf4a}.die3d.miss{filter:grayscale(.55) brightness(.82)}.pips{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:70%;height:70%;gap:2px}.pip{border-radius:50%}.pip.on{background:radial-gradient(circle at 35% 30%,#4a4a52,#14141a 75%);box-shadow:inset 0 1px 1px #0006}.die3d.hit .pip.on{background:radial-gradient(circle at 35% 30%,#2f8a3a,#0d3a13 75%)}.dice-banner{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:.5px;color:#ecedf3;background:#0e0e12d9;border:1px solid var(--border);border-radius:999px;padding:6px 20px;box-shadow:var(--shadow-2);animation:bannerPunch .3s cubic-bezier(.2,1.4,.3,1) both}@keyframes bannerPunch{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.event-popup-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:46;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:24px}.event-popup{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:420px;width:100%;pointer-events:auto;cursor:pointer;background:#14141cf5;border:1px solid var(--border-hi);border-top-width:4px;color:var(--text);padding:22px 24px;border-radius:18px;box-shadow:0 24px 70px #000000b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:popupIn .32s cubic-bezier(.2,1.35,.35,1) both}.event-popup-ico{font-size:40px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.event-popup-txt{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.3;letter-spacing:.3px}.event-popup-hint{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);padding-top:8px;margin-top:2px}@keyframes popupIn{0%{opacity:0;transform:scale(.82) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.event-popup.tone-objective{border-top-color:var(--accent)}.event-popup.tone-mission{border-top-color:var(--accent);box-shadow:0 24px 70px #000000b3,0 0 40px #79c14f40}.event-popup.tone-win{border-top-color:#ffd86a;box-shadow:0 24px 70px #000000b3,0 0 50px #ffd86a59}.event-popup.tone-level{border-top-color:#d8a84a}.event-popup.tone-loot{border-top-color:#8ec0ff}.event-popup.tone-death{border-top-color:var(--danger);color:#ff9b94}.event-popup.tone-death .event-popup-txt{color:#ff9b94}.event-popup.tone-spawn{border-top-color:#ff9b94}.event-popup.tone-system{border-top-color:#8ec0ff}.fire-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:18px;padding-bottom:22vh;background:radial-gradient(closest-side,rgba(255,80,10,.18),transparent 62%);animation:dimIn .2s ease both}.fire-burst{position:relative;width:min(340px,80vw);height:130px}.flame{position:absolute;bottom:0;width:34px;height:90px;border-radius:50% 50% 46% 46%/62% 62% 38% 38%;background:radial-gradient(ellipse at 50% 80%,#fff2a8,#ffb833 32%,#ff6a1a 62%,#d8300a);filter:blur(1px);transform-origin:bottom center;opacity:0;mix-blend-mode:screen;animation:flameUp 1.5s ease-out forwards}@keyframes flameUp{0%{opacity:0;transform:translateY(20px) scaleY(.3) scaleX(.8)}25%{opacity:1}55%{opacity:.95;transform:translateY(-8px) scaleY(1.2) scaleX(1.05)}to{opacity:0;transform:translateY(-40px) scaleY(.6) scaleX(.5)}}.fire-banner{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:.5px;color:#ffd86a;background:#1e0c04e6;border:1px solid #d8300a;border-radius:999px;padding:6px 22px;box-shadow:0 10px 34px #d8300a73;animation:bannerPunch .3s cubic-bezier(.2,1.4,.3,1) both}.fx-focus{position:fixed;top:84px;left:50%;transform:translate(-50%);z-index:30;max-width:92%;text-align:center;background:#100c14f0;border:1.5px solid var(--border-hi);border-bottom-width:4px;border-bottom-color:#ff9b94;border-radius:14px;padding:11px 20px;box-shadow:0 10px 34px #0000008c;font-family:var(--display);font-weight:700;font-size:18px;animation:camTagIn .28s cubic-bezier(.2,1.3,.35,1)}.tv-tip{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--muted);background:#ffffff0a;border:1px dashed rgba(255,255,255,.14);border-radius:10px;padding:10px 12px}.tv-tip b{color:var(--text)}.tv-tip code{color:var(--accent);background:#79c14f1a;border-radius:6px;padding:1px 6px;font-size:12.5px;white-space:nowrap}.board-mute.on{border-color:var(--accent);color:var(--accent)}.lite .briefing-card,.lite .cam-tag,.lite .cam-btn,.lite .board-mute,.lite .rules-layer,.lite .event-popup{-webkit-backdrop-filter:none;backdrop-filter:none}.lite .phase-banner{animation:bannerIn .3s ease}.lite .obj-pulse{animation:none;opacity:.8}.lite .board [filter]{filter:none}.lite .active-glow{animation:none;opacity:.25}.lite .hl-move,.lite .hl-attack,.lite .hl-both{animation:none;stroke-opacity:.9}.lite .ztok.z-lunge{animation-name:zlungeLite}@keyframes zlungeLite{0%,to{transform:translate(var(--tx),var(--ty)) scale(1)}50%{transform:translate(var(--tx),var(--ty)) scale(1.16)}}.debug-overlay{position:fixed;left:8px;bottom:8px;z-index:80;pointer-events:none;font:12px/1.55 ui-monospace,Menlo,Consolas,monospace;background:#08080cd9;color:#9fe08c;border:1px solid #2f5a36;border-radius:8px;padding:6px 10px;max-width:94vw;overflow:hidden}.debug-overlay .debug-warn{color:#ff9b94}.mute-btn.on{border-color:var(--accent);color:var(--accent)}.lite .dice-stage{background:#0006;animation:none}.lite .dice-tray{perspective:none}.lite .dice-tray.land{animation:none}.lite .die3d{animation:dieDropLite .4s ease-out both;box-shadow:0 6px 14px #00000080;transition:none}@keyframes dieDropLite{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}.lite .die3d.hit{box-shadow:0 6px 14px #00000080}.lite .die3d.miss{filter:none;opacity:.55}.lite .flame{filter:none;mix-blend-mode:normal}.crash-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.crash-screen pre{max-width:90vw;overflow:auto;white-space:pre-wrap;text-align:left;font-size:12px;color:var(--muted);background:#ffffff0d;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.conn-warn{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:70;max-width:92vw;text-align:center;background:#3a2410f2;border:1px solid #b8860b;color:#ffd86a;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;box-shadow:0 8px 24px #00000080}.tut-card{max-width:420px}.tut-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 20px 8px;min-height:200px}.tut-ico{font-size:46px;line-height:1}.tut-title{margin:0;font-family:var(--display);font-size:19px}.tut-text{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}.tut-text b{color:var(--text)}.tut-dots{display:flex;justify-content:center;gap:7px;padding:12px 0 4px}.tut-dot{width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;background:var(--border-hi)}.tut-dot.sel{background:var(--accent);transform:scale(1.25)}.tut-nav{display:flex;justify-content:space-between;gap:10px;padding:12px 16px 16px}.tut-nav .btn{flex:1}.map-legend{margin:0;font-size:12.5px;color:var(--muted)}.map-legend i{font-style:normal;font-weight:700}.map-legend .lg-move{color:#8fe06a}.map-legend .lg-atk{color:#ff7a6e}.wpn-strip-title,.tgt-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tgt-group{display:flex;flex-direction:column;gap:6px}.hand-chip{position:absolute;top:8px;left:8px;z-index:5;display:inline-flex;align-items:center;gap:6px;background:#100e14e6;border:1px solid #7a3a32;border-radius:999px;color:var(--text);padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px #0006}.hand-chip:hover{border-color:#ff7a6e}.hand-chip-label{font-size:12px}.hand-chip-name{white-space:nowrap}.hand-chip-swap{color:var(--muted);font-size:13px}.zone-choice{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:8px;max-width:94%;background:#100e14eb;border:1px solid #ffc46b;border-radius:999px;padding:8px 10px 8px 16px;box-shadow:0 12px 32px #0000008c;animation:popupIn .18s cubic-bezier(.2,1.3,.35,1) both}.zone-choice-name{font-size:13.5px;font-weight:800;white-space:nowrap}.zc-btn{padding:8px 14px;border-radius:999px;font-size:13.5px}.zc-atk{background:#3a1c18;border-color:#7a3a32;color:#ff9b94}.zc-move{background:#1c3320;border-color:#2f5a36;color:#9fdc8c}.zc-close{width:30px;height:30px;border-radius:50%;cursor:pointer;flex:0 0 auto;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:13px}
