:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--panel:rgba(10,22,40,.88);--panel-strong:rgba(14,30,52,.96);--panel-border:rgba(149,184,255,.2);--text:#eef4ff;--muted:#9db0d0;--accent:#58a6ff;--accent-strong:#2f81f7;--disabled:#4f637f;--cell-size:100px}*,:before,:after{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top,rgba(88,166,255,.18),transparent 35%),linear-gradient(#07101b 0%,#0b1728 100%);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}button{font:inherit}.game-shell{height:100dvh;padding:24px;overflow:auto}.game-card{border:1px solid var(--panel-border);background:var(--panel);border-radius:24px;width:100%;height:100%;margin:0 auto;padding:32px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}.game-card-wide{grid-template-rows:1fr 3fr 1fr 1fr;grid-template-columns:1fr 2fr;gap:24px;min-height:0;display:grid}.game-topbar{grid-area:1/1;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.game-topbar h1{margin:0 0 12px;font-size:clamp(2rem,4vw,2.6rem)}.game-status{color:var(--muted);max-width:560px;margin:0;line-height:1.5}.join-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:none;border-radius:999px;min-width:180px;padding:14px 18px;font-size:1rem;font-weight:700;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 32px rgba(47,129,247,.28)}.join-button:hover:not(:disabled){transform:translateY(-1px)}.join-button:disabled{cursor:default;background:var(--disabled);box-shadow:none}.deck-chooser{border:1px solid var(--panel-border);background:var(--panel-strong);border-radius:18px;flex-direction:column;grid-area:2/1;gap:12px;padding:18px;display:flex}.deck-chooser h2{margin:0;font-size:1.05rem}.deck-chooser-copy,.deck-choice-summary,.deck-choice-weapon{color:var(--muted);margin:0}.deck-chooser-list{gap:12px;display:grid}.deck-choice{color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(145deg,rgba(88,166,255,.08),rgba(47,129,247,.03)),rgba(255,255,255,.02);border:1px solid rgba(149,184,255,.18);border-radius:16px;padding:14px 16px;transition:transform .18s,border-color .18s,background .18s}.deck-choice:hover:not(:disabled){border-color:rgba(88,166,255,.46);transform:translateY(-1px)}.deck-choice:disabled{cursor:default;opacity:.78}.deck-choice-selected{background:linear-gradient(145deg,rgba(88,166,255,.18),rgba(47,129,247,.08)),rgba(88,166,255,.08);border-color:rgba(88,166,255,.82);box-shadow:inset 0 0 0 1px rgba(88,166,255,.24)}.deck-choice h3{margin:0 0 8px;font-size:.96rem}.deck-choice-weapon{color:#ffd78a;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.deck-choice-summary{margin-top:8px;font-size:.82rem;line-height:1.45}.game-layout{flex-direction:column;flex:1;grid-area:1/2/5;align-items:stretch;gap:20px;height:calc(100dvh - 100px);min-height:0;display:flex;overflow:auto}.deck-panel,.board-panel{border:1px solid var(--panel-border);background:var(--panel-strong);border-radius:18px;min-height:0}.deck-panel{flex-direction:column;flex:none;padding:14px 16px;display:flex;overflow:hidden}.deck-panel-local{order:0}.deck-panel h2,.board-header h2{margin:0;font-size:1.1rem}.deck-count,.board-header p,.deck-note{color:var(--muted);margin:6px 0 0;font-size:.82rem}.deck-list{align-items:stretch;gap:10px;min-height:0;margin-top:12px;padding:2px 4px 6px 2px;display:flex;overflow:auto hidden}.deck-card{width:136px;min-width:136px;color:var(--text);text-align:left;cursor:pointer;background:rgba(88,166,255,.06);border:1px solid rgba(149,184,255,.16);border-radius:14px;padding:10px}.deck-card-hidden{cursor:default;background:linear-gradient(135deg,rgba(88,166,255,.18),rgba(47,129,247,.08)),repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 8px,transparent 8px 16px)}.deck-card:disabled{cursor:default;opacity:.7}.deck-card-selected{background:rgba(88,166,255,.16);border-color:rgba(88,166,255,.9);box-shadow:inset 0 0 0 1px rgba(88,166,255,.35)}.deck-card-top,.deck-card-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.deck-card-bottom{color:var(--muted);margin-top:8px;font-size:.78rem}.deck-card-name{font-size:.9rem;font-weight:700}.deck-stat{min-width:26px;color:var(--text);background:rgba(88,166,255,.16);border-radius:999px;justify-content:center;align-items:center;padding:3px 7px;font-size:.78rem;font-weight:700;display:inline-flex}.deck-stack{background:rgba(88,166,255,.04);border:1px dashed rgba(149,184,255,.28);border-radius:14px;flex-direction:column;align-items:center;gap:10px;min-width:136px;margin-top:0;padding:14px 10px 10px;display:flex}.deck-stack p{color:var(--muted);text-align:center;margin:0;font-size:.76rem}.deck-stack-card{background:linear-gradient(135deg,rgba(88,166,255,.22),rgba(47,129,247,.12)),repeating-linear-gradient(-45deg,rgba(255,255,255,.05) 0 8px,transparent 8px 16px);border:1px solid rgba(149,184,255,.22);border-radius:10px;width:min(100%,140px);height:34px}.deck-stack-card-mid,.deck-stack-card-front{margin-top:-24px}.board-panel{flex-direction:column;flex:auto;padding:18px;display:flex;overflow:hidden}.board-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.board-zoom-controls{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.board-zoom-button{width:34px;height:34px;color:var(--text);cursor:pointer;background:rgba(88,166,255,.08);border:1px solid rgba(149,184,255,.22);border-radius:999px;font-size:1rem;font-weight:700}.board-zoom-button:hover{background:rgba(88,166,255,.14);border-color:rgba(88,166,255,.5)}.board-zoom-value{min-width:52px;color:var(--muted);text-align:center;font-size:.82rem;font-weight:700}.board-grid-viewport{flex:auto;min-height:0;padding:4px;overflow:auto}.board-grid{grid-template-columns:repeat(20, var(--cell-size));grid-template-rows:repeat(20, var(--cell-size));gap:6px;width:max-content;display:grid}.board-cell{width:var(--cell-size);height:var(--cell-size);color:var(--text);cursor:pointer;background:rgba(72,121,83,.32);border:1px solid rgba(149,184,255,.16);border-radius:10px;justify-content:center;align-items:center;padding:4px;display:flex}.board-cell-grass{background:linear-gradient(145deg,rgba(98,156,78,.28),rgba(49,91,54,.4)),rgba(63,112,68,.3);border-color:rgba(140,203,122,.18)}.board-cell-river{background:linear-gradient(145deg,rgba(77,165,228,.44),rgba(24,86,162,.46)),rgba(35,108,182,.28);border-color:rgba(129,196,255,.28)}.board-cell-inactive{cursor:default;opacity:.7}.board-cell-filled{box-shadow:inset 0 0 0 999px rgba(255,255,255,.04)}.board-cell-highlight{background:linear-gradient(135deg,rgba(88,166,255,.18),rgba(47,129,247,.08)),rgba(88,166,255,.06);border-color:rgba(88,166,255,.72);box-shadow:inset 0 0 0 1px rgba(88,166,255,.28)}.board-cell-attack-highlight{border-color:rgba(255,146,43,.84);box-shadow:inset 0 0 0 1px rgba(255,146,43,.36),0 0 0 1px rgba(255,146,43,.14)}.board-cell-selected{border-color:rgba(255,214,102,.78);box-shadow:inset 0 0 0 1px rgba(255,214,102,.35)}.board-cell-label{color:rgba(157,176,208,.7);font-size:.72rem}.board-card{border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:4px;display:flex}.board-card-topline{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.board-card-local{background:linear-gradient(rgba(64,156,255,.34),rgba(24,77,173,.36));border:1px solid rgba(120,190,255,.5);box-shadow:inset 0 0 0 1px rgba(184,225,255,.08)}.board-card-opponent{background:linear-gradient(rgba(255,110,110,.34),rgba(161,30,52,.4));border:1px solid rgba(255,150,150,.46);box-shadow:inset 0 0 0 1px rgba(255,216,216,.08)}.board-card-champion{border-width:2px;position:relative;box-shadow:inset 0 0 0 1px rgba(255,244,191,.18),0 0 0 1px rgba(255,214,102,.24),0 10px 18px rgba(0,0,0,.24)}.board-card-champion-local{background:linear-gradient(160deg,rgba(255,214,102,.28),rgba(64,156,255,.42)),linear-gradient(rgba(64,156,255,.34),rgba(24,77,173,.36));border-color:rgba(255,222,123,.82)}.board-card-champion-opponent{background:linear-gradient(160deg,rgba(255,214,102,.22),rgba(255,110,110,.44)),linear-gradient(rgba(255,110,110,.34),rgba(161,30,52,.4));border-color:rgba(255,222,123,.78)}.board-card-name{font-size:.7rem;font-weight:700;line-height:1.05}.board-card-badge{color:#fff3c2;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,222,123,.2);border:1px solid rgba(255,222,123,.42);border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.5rem;font-weight:800}.board-card-stats{color:var(--muted);font-size:.62rem;line-height:1.05}.board-card-weapon{color:#ffd78a;letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:700}.turn-actions{flex-shrink:0;grid-area:3/1;justify-content:center;display:flex}.turn-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ea043,#238636);border:none;border-radius:999px;min-width:200px;padding:11px 18px;font-size:.92rem;font-weight:700;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 32px rgba(35,134,54,.24)}.turn-button:hover:not(:disabled){transform:translateY(-1px)}.turn-button:disabled{cursor:default;background:var(--disabled);box-shadow:none}.game-meta{flex-shrink:0;grid-area:4/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.game-meta p{background:rgba(255,255,255,.03);border:1px solid rgba(157,176,208,.2);border-radius:14px;justify-content:space-between;gap:16px;margin:0;padding:14px 16px;display:flex}.meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.meta-value{text-align:right;font-weight:700}