.network-game-dialog{width:min(850px,94vw);max-height:92vh;overflow:auto;border:1px solid #cad4df;border-radius:16px;padding:22px;margin:auto;background:var(--paper,#fff);color:var(--text,#172b42);box-shadow:0 20px 80px #0005}
.network-game-dialog::backdrop{background:#0b1929aa}
.network-game-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.network-game-toolbar h2{flex:1;margin:0}.network-game-toolbar select{max-width:100%;min-width:180px;padding:8px}
.network-game-error{color:#b91c1c;white-space:pre-wrap}.network-game-error:empty{display:none}
.network-game-status{font-size:20px;font-weight:700;margin:14px 0}.network-game-players{font-weight:600}
.network-game-matches{display:grid;gap:8px;margin-top:18px}
.network-game-match{text-align:left;border:1px solid #cbd5e1;border-radius:8px;padding:14px;background:transparent;color:inherit;cursor:pointer}
.network-game-match:hover{background:#64748b20}
.network-game-board{display:grid;gap:0;border:2px solid #334155;aspect-ratio:1;width:100%;margin-top:12px}
.board-eight{grid-template-columns:repeat(8,1fr);max-width:520px}.board-ten{grid-template-columns:repeat(10,1fr)}
.network-game-cell{border:0;border-radius:0;position:relative;aspect-ratio:1;min-width:0;padding:0;display:grid;place-items:center;cursor:pointer;font-size:clamp(22px,5vw,46px);font-family:'Segoe UI Symbol','DejaVu Sans',sans-serif;color:#121b27}
.network-game-cell:disabled{opacity:1;cursor:default}.network-game-cell.dark{background:#9aacbb}.network-game-cell.light{background:#eff3f6}
.network-game-cell.chosen{box-shadow:inset 0 0 0 4px #2563eb}.network-game-cell.legal{box-shadow:inset 0 0 0 4px #16a34a}.network-game-cell.captured{opacity:.4}
.network-game-cell:focus-visible{outline:3px solid #d97706;outline-offset:-3px;z-index:1}.network-game-coordinate{position:absolute;left:3px;bottom:1px;font:9px Arial;color:#26384a}
.network-game-seas{display:grid;grid-template-columns:1fr 1fr;gap:24px}.network-game-seas h3{font-size:16px;margin-bottom:0}
.board-ten .network-game-cell{font-size:24px;background:#eaf4fc;border:1px solid #c3d7e5;color:#14517a}
.board-ten .sea-ship{background:#708ba2;color:#fff}.board-ten .sea-hit{background:#fed7aa;color:#9a3412}.board-ten .sea-sunk{background:#fecaca;color:#991b1b}.board-ten .sea-miss{color:#526475;font-size:30px}
#home_battleship{padding:16px}#home_battleship h3{margin:0}#home_battleship .network-game-toolbar{margin:0 0 12px}#home_battleship .network-game-toolbar h3{flex:1}
#battleship_body .btn-secondary{margin:6px 4px 0 0}
@media(max-width:600px){.network-game-seas{grid-template-columns:1fr;gap:12px}.network-game-dialog{padding:12px}.network-game-cell{font-size:32px}.board-ten .network-game-cell{font-size:24px}.network-game-toolbar{gap:6px}}
.network-game-cell.checker-white{color:#fff;text-shadow:0 0 0 #fff;-webkit-text-stroke:2px #6b7280}
.network-game-cell.checker-black{color:#16181c;text-shadow:none;-webkit-text-stroke:2px #6b7280}
.network-game-cell.checker-king{font-weight:800}

/* v5.04.008-alpha — плиточный игровой центр и отдельное окно каждой игры. */
.games-page{max-width:none;width:100%;box-sizing:border-box}
.games-head{margin-bottom:18px}
.game-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.game-tile{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 14px;align-items:center;min-height:148px;padding:20px;text-align:left;border:1px solid var(--line,#d7dee7);border-radius:16px;background:var(--paper,#fff);color:var(--ink,#172b42);box-shadow:0 3px 14px rgb(15 23 42 / 7%);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}
.game-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue,#2563eb) 55%,var(--line,#d7dee7));box-shadow:0 10px 28px rgb(15 23 42 / 12%);background:color-mix(in srgb,var(--blue-soft,#eef5ff) 35%,var(--paper,#fff))}
.game-tile:focus-visible{outline:3px solid color-mix(in srgb,var(--blue,#2563eb) 60%,transparent);outline-offset:2px}
.game-tile-icon{grid-row:1 / 3;display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:var(--paper-soft,#f5f7fa);font-size:30px;line-height:1;border:1px solid var(--line,#d7dee7)}
.game-tile-copy{display:grid;gap:7px;align-self:end}
.game-tile-copy strong{font-size:18px;line-height:1.15}
.game-tile-copy small{font-size:12px;line-height:1.45;color:var(--ink-mute,#667085);font-weight:500}
.game-tile-meta{align-self:start;font-size:11px;font-weight:700;color:var(--blue,#2563eb)}
.game-tile-arrow{grid-column:3;grid-row:1 / 3;align-self:center;font-size:22px;color:var(--ink-mute,#667085)}
.game-tile-standings{grid-column:span 2}
.games-empty{padding:34px;border:1px dashed var(--line,#d7dee7);border-radius:14px;text-align:center;color:var(--ink-mute,#667085);background:var(--paper-soft,#f5f7fa)}

.game-window{width:min(1040px,calc(100vw - 40px));max-width:none;max-height:calc(100vh - 40px);padding:0;border:1px solid var(--line,#d7dee7);border-radius:18px;background:var(--paper,#fff);color:var(--ink,#172b42);box-shadow:0 24px 90px rgb(0 0 0 / 34%);overflow:hidden}
.game-window::backdrop{background:rgb(11 25 41 / 62%);backdrop-filter:blur(2px)}
.game-window-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 40px);min-height:min(720px,calc(100vh - 40px))}
.game-window-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line,#d7dee7);background:var(--paper,#fff)}
.game-window-head h2{margin:2px 0 0;font-size:22px}
.game-window-kicker{display:block;color:var(--ink-mute,#667085);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.game-window-close{white-space:nowrap}
.game-window-content{min-height:0;overflow:auto;padding:22px;background:var(--paper-soft,#f6f8fb)}
.game-window-panel[hidden]{display:none!important}
.game-window-panel.rail-card{width:min(100%,760px)!important;max-width:none;margin:0 auto;padding:18px 20px;border-radius:14px;box-sizing:border-box;background:var(--paper,#fff);box-shadow:0 2px 12px rgb(15 23 42 / 8%)}
.game-window-panel.battleship-card{width:min(100%,820px)!important}
.game-window .game-panel-collapse{display:none!important}
.game-window .sudoku-grid{max-width:430px}
.game-window .chess-board,.game-window .checkers-board{width:min(100%,520px);max-width:520px}
.game-window .chess-piece{font-size:clamp(30px,6vw,52px)}
.game-window .sudoku-status,.game-window .chess-status,.game-window .checkers-status{font-size:12px}
.game-window .sudoku-difficulty,.game-window .chess-difficulty,.game-window .checkers-difficulty,.game-window .checkers-side{min-height:34px;font-size:12px}
.game-window .sudoku-actions .btn-secondary,.game-window .chess-actions .btn-secondary,.game-window .checkers-actions .btn-secondary{min-height:36px;font-size:12px}
.game-inline-option{display:grid;gap:6px;max-width:240px;color:var(--ink-mute,#667085);font-size:12px;font-weight:600}
.game-inline-option select{min-height:36px;padding:6px 30px 6px 10px}
.battleship-start{display:grid;gap:16px}
.battleship-actions{display:flex;gap:10px;flex-wrap:wrap}
.battleship-actions .btn-primary,.battleship-actions .btn-secondary{min-width:160px;min-height:38px}
.game-window .game-standings-card{margin:0;padding:18px 20px;border-radius:14px;background:var(--paper,#fff);box-shadow:0 2px 12px rgb(15 23 42 / 8%)}
.game-standings-head{align-items:flex-start;gap:14px}
.game-standings-head>div{display:grid;gap:4px}

@media(max-width:1350px){
  .game-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .game-tile-standings{grid-column:span 2}
  .game-window{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
  .game-window-shell{min-height:calc(100vh - 16px);max-height:calc(100vh - 16px)}
  .game-window-content{padding:14px}
  .game-window-head{padding:14px 16px}
  .game-window .chess-board,.game-window .checkers-board{width:min(100%,460px)}
}
@media(max-width:560px){
  .game-tiles{grid-template-columns:1fr}
  .game-tile-standings{grid-column:auto}
  .game-tile{grid-template-columns:48px minmax(0,1fr) auto;min-height:124px;padding:16px;gap:4px 11px}
  .game-tile-icon{width:48px;height:48px;border-radius:12px;font-size:25px}
  .game-tile-copy strong{font-size:16px}
  .game-window-head{align-items:flex-start}
  .game-window-close{padding:7px 9px;font-size:0}
  .game-window-close::first-letter{font-size:14px}
  .game-window-content{padding:8px}
  .game-window-panel.rail-card,.game-window .game-standings-card{padding:14px 12px;border-radius:12px}
  .game-window .sudoku-grid{max-width:100%}
  .game-window .chess-board,.game-window .checkers-board{width:100%}
  .game-window .sudoku-keypad{grid-template-columns:repeat(5,minmax(0,1fr))}
  .battleship-actions{display:grid;grid-template-columns:1fr}
  .battleship-actions .btn-primary,.battleship-actions .btn-secondary{min-width:0;width:100%}
}
