/* Oyun 07 — Amiral Battı. Isolated stylesheet, print-friendly and dark-mode safe. */
.bs-catalog-art{background:linear-gradient(145deg,#dcecf4,#eaf4f8);color:#26546f;overflow:hidden;display:grid;place-items:center}
.bs-catalog-graphic{display:grid;grid-template-columns:repeat(5,1.9rem);gap:3px;transform:scale(.85)}
.bs-catalog-graphic i{font:800 1.05rem/1.9rem Nunito,sans-serif;width:1.9rem;height:1.9rem;text-align:center;font-style:normal;background:#f9fcff;border:1px solid #b6d1dc;border-radius:4px}
.bs-catalog-graphic i.ship{background:#256a86;color:#fff}.bs-catalog .catalog-open{color:#17647f}
.bs-game .playground{flex:1;min-height:0;display:flex;justify-content:center;align-items:center}
.bs-play-area{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 14px}
.bs-board{--bs-n:6;--bs-size:500px;display:grid;grid-template-columns:repeat(var(--bs-n),minmax(0,1fr));grid-template-rows:repeat(var(--bs-n),minmax(0,1fr));width:var(--bs-size);height:var(--bs-size);min-width:0;min-height:0;box-sizing:border-box;border:4px solid #253f58;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 0 5px #e6f0f5,0 10px 24px #1639511e}
.bs-cell,.bs-hint{display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #d1dde5;background:#fbfdff;color:#234055;font:800 clamp(.75rem,2.4vmin,1.45rem)/1 Nunito,Arial,sans-serif;cursor:pointer;padding:0;touch-action:manipulation;user-select:none}
.bs-cell.is-ship{background:#257f9a;color:#fff}.bs-cell.is-sea{background:#dcedf6;color:#31738a}.bs-cell.is-fixed{outline:2px solid #84a5b8;outline-offset:-3px;cursor:default}.bs-hint{background:#e8f3fa;color:#20506e;border-color:#acc6d7;cursor:default}.bs-hint:last-child{background:#c4d8e5}
.bs-cell:focus-visible{outline:3px solid #f39746;outline-offset:-3px}.bs-cell:hover:not(:disabled){filter:brightness(.94)}
.bs-fleet{font:700 .87rem Nunito,Arial,sans-serif;color:#2f627b;text-align:center;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bs-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.bs-controls .btn{min-width:104px;min-height:40px}
.bs-play-area .feedback{width:min(100%,630px);min-height:25px}.bs-race-area{gap:8px}.bs-race-board{--bs-size:330px;box-shadow:0 0 0 4px #fff8,0 10px 20px #16395125}
.bs-race-board .bs-cell,.bs-race-board .bs-hint{font-size:clamp(.65rem,1.8vmin,1.12rem)}
.bs-race-area .race-actions .btn{min-height:37px}.bs-race-stage .race-center-new{background:#099d86!important;color:#fff!important}
.bs-command-bar #bs-new,.bs-command-bar #bs-settings{background:#0d928c;color:#fff;border-color:#0b766e;box-shadow:0 4px 0 #086b66}
.bs-command-bar #bs-new:hover,.bs-command-bar #bs-settings:hover{background:#07746d!important;color:#fff!important}
html[data-theme="dark"] .bs-catalog-art{background:linear-gradient(145deg,#1b3445,#2b4a5d);color:#c3e7fa}
html[data-theme="dark"] .bs-board{background:#1b3041;border-color:#9ebacb;box-shadow:0 0 0 5px #2e465a}
html[data-theme="dark"] .bs-cell{background:#264358;color:#ebf6ff;border-color:#58748a}html[data-theme="dark"] .bs-hint{background:#385267;color:#fff;border-color:#688498}
html[data-theme="dark"] .bs-cell.is-ship{background:#257c9c;color:#fff}html[data-theme="dark"] .bs-cell.is-sea{background:#416076;color:#d9f8ff}
html[data-theme="dark"] .bs-fleet{color:#c2e6f7}html[data-theme="dark"] .bs-controls .btn.glass,html[data-theme="dark"] .bs-race-area .btn.glass{background:#2b4f68!important;color:#f3fbff!important;border-color:#628ba4!important}
@media(max-width:700px){.bs-board{border-width:3px;border-radius:9px}.bs-cell,.bs-hint{font-size:clamp(.63rem,3vw,1.1rem)}.bs-controls .btn{min-width:83px;min-height:35px;font-size:.8rem}.bs-fleet{font-size:.68rem}}
@page battleshipsA4{size:A4 portrait;margin:5mm}
@media print{
.bs-print-sheet{page:battleshipsA4;width:200mm!important;height:287mm!important;max-height:287mm!important}
.bs-print-sheet .sheet-head{height:25mm!important;min-height:25mm!important;padding-top:.25mm}
.bs-print-sheet .sheet-head h1{font-size:18pt!important}.bs-print-sheet .print-howto{font-size:8.5pt!important;margin-top:1mm!important}.bs-print-sheet .print-rule{font-size:8.9pt!important;margin-top:.5mm!important}
.bs-print-body{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:1.5mm;min-height:0;align-items:center;justify-items:center}
.bs-print-card{width:64.3mm;height:76.3mm;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;border:.28mm solid #888;border-radius:1.6mm;break-inside:avoid}
.bs-print-grid{width:57mm;height:57mm;display:grid;grid-template-columns:repeat(var(--bs-n),minmax(0,1fr));grid-template-rows:repeat(var(--bs-n),minmax(0,1fr));border:.4mm solid #333}
.bs-print-cell,.bs-print-hint{display:grid;place-items:center;border:.15mm solid #a2a2a2;color:#191919;font:bold 9.2pt/1 Arial,sans-serif}.bs-print-hint{background:#e9e9e9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bs-print-cell.is-ship{background:#444!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.bs-print-fleet{font:700 8pt Arial,sans-serif;color:#222;white-space:nowrap}.bs-print-sheet .sheet-footer{height:8mm}
}

.bs-tools{display:flex;justify-content:center;align-items:center;gap:6px}.bs-tools button{cursor:pointer;border:1px solid #acc8d7;border-radius:10px;padding:8px 15px;min-height:38px;font:800 .85rem Nunito,Arial,sans-serif;background:#f1f7fc;color:#315771;white-space:nowrap}.bs-tools button.selected{background:#0c8e8a;color:#fff;border-color:#08706a;box-shadow:0 3px 0 #086963}.bs-tools button:hover,.bs-tools button:focus-visible{border-color:#0e928e;outline-offset:2px}.bs-race-area .bs-tools button{padding:5px 9px;font-size:.75rem;min-height:30px}
html[data-theme="dark"] .bs-tools button{background:#29485e;color:#f5fcff;border-color:#6a90a4}html[data-theme="dark"] .bs-tools button.selected{background:#167e83;color:#fff;border-color:#78b7ba}
@media(max-width:700px){.bs-tools button{min-height:31px;padding:5px 9px;font-size:.75rem}}
