.multiplayer-page{gap:16px}.multiplayer-lobby{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.multiplayer-room-stage{width:min(760px,100%);margin-inline:auto}.room-code-button{border:0;padding:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.room-code-button:disabled{opacity:.7;cursor:not-allowed}.multiplayer-room-list{display:flex;flex-direction:column;gap:10px}.room-row{justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-soft);background:var(--glass-2)}.room-row,.room-row-main{display:flex;align-items:center}.room-row-main{gap:8px;flex:1 1;min-width:0}.room-name-edit-button{border:1px solid var(--border-soft);background:transparent;color:var(--muted);width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer}.room-name-edit-button:hover{color:var(--accent);border-color:rgba(242,193,78,.55)}.room-name-edit-button svg{width:16px;height:16px}.room-name-edit-field{flex:1 1}.room-name-edit-field input{width:min(240px,100%)}.room-row.multiplayer-lobby{flex-wrap:wrap}.multiplayer-game-layout{width:100%;display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(200px,240px);grid-gap:16px;gap:16px;align-items:start}.multiplayer-game-layout-finished{grid-template-columns:minmax(0,1fr)}.opponents-column{display:flex;flex-direction:column;gap:10px}.opponents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.opponents-column h3{margin:0;font-family:var(--font-display),system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.opponent-card{border:1px solid var(--border-soft);background:var(--glass);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px}.opponent-card header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.opponent-mini-board{--mini-cell:10px;display:grid;grid-template-columns:repeat(6,var(--mini-cell));justify-content:center;grid-gap:2px;gap:2px}.opponent-mini-cell{width:var(--mini-cell);height:var(--mini-cell);border-radius:3px;background:hsla(206,6%,53%,.3)}.opponent-mini-cell.blocker{background:rgba(227,90,72,.8)}.opponent-mini-cell.piece{background:rgba(43,191,139,.8)}.multiplayer-main-board{align-items:center;width:100%}.multiplayer-side-card{display:grid;grid-gap:12px;gap:12px}.multiplayer-finished-view{width:min(1120px,100%);display:grid;grid-gap:14px;gap:14px}.multiplayer-finished-actions{justify-content:flex-start}.multiplayer-finished-boards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:12px;gap:12px}.multiplayer-finished-board-card{border:1px solid var(--border-soft);background:var(--glass);border-radius:16px;padding:12px;display:grid;grid-gap:10px;gap:10px}.multiplayer-finished-board-card.winner{border-color:rgba(242,193,78,.7);box-shadow:0 8px 24px rgba(242,193,78,.18)}.multiplayer-finished-board-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.multiplayer-finished-board-header strong{display:inline-flex;align-items:center;gap:6px}.multiplayer-winner-crown{line-height:1}.multiplayer-finished-board{--cell:clamp(18px,2.5vw,22px);--board-gap:1px;margin-inline:auto}.multiplayer-finished-board-stats{display:flex;flex-wrap:wrap;gap:8px 12px}.multiplayer-board-controls{width:min(720px,100%);display:flex;justify-content:space-between;align-items:center;gap:10px}.settings-actions.code{flex-wrap:nowrap}.settings-actions.code input{width:85px}.countdown-overlay{width:100%;height:100%;display:grid;place-items:center}.countdown-overlay-value{font-family:var(--font-display),system-ui,sans-serif;font-size:clamp(4.2rem,13vw,7.8rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(240,247,244,.96);text-shadow:0 0 28px rgba(6,10,11,.55),0 8px 28px rgba(6,10,11,.45)}.countdown-overlay-value-animated{animation:countdownFadeOut .92s ease-out forwards}@keyframes countdownFadeOut{0%{opacity:0;transform:scale(.9)}15%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.countdown-overlay-value-animated{animation:none}}@media (max-width:980px){.multiplayer-game-layout{grid-template-columns:1fr}.opponents-column{order:2}.multiplayer-main-board{order:1}.multiplayer-side-card{display:none}}@media (max-width:720px){.multiplayer-finished-board{--cell:18px}}