/* Port raid: one modal owner; preparation keeps its launch action visible,
   while result actions remain at the end of the scrolling report. */
.raid-layer{position:absolute;inset:0;z-index:var(--layer-modal);display:grid;place-items:center;box-sizing:border-box;padding:calc(var(--tg-safe-top,0px) + 10px) 10px calc(var(--tg-safe-bottom,0px) + 10px);background:radial-gradient(circle at 50% 18%,rgba(37,78,74,.25),transparent 38%),rgba(2,8,10,.93);font-family:var(--font-game);color:#e7e3d6}.raid-card{display:flex;flex-direction:column;width:min(100%,430px);height:min(100%,820px);min-height:0;overflow:hidden;border:1px solid rgba(107,170,158,.35);border-radius:16px;background:linear-gradient(180deg,rgba(8,18,20,.98),rgba(4,10,12,.99));box-shadow:0 22px 70px rgba(0,0,0,.72)}.raid-top{display:flex;align-items:center;gap:12px;min-height:62px;padding:9px 13px;border-bottom:1px solid rgba(107,170,158,.2)}.raid-top>div{flex:1;min-width:0}.raid-top small,.raid-section-heading small,.raid-attack-head small,.raid-footer small,.raid-result-head>small{display:block;color:#719f98;font:700 8px/1.2 var(--font-game);letter-spacing:.18em}.raid-top h1{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 19px/1.1 var(--font-game)}.raid-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:13px}.raid-banner{display:block;width:100%;height:154px;object-fit:cover;border-bottom:1px solid rgba(107,170,158,.2)}.raid-intro{padding:14px 16px 2px}.raid-intro p{margin:0 0 8px;color:#e4ddcc;font:12px/1.45 var(--font-game)}.raid-intro small{display:block;color:#91a4a0;font:9px/1.5 var(--font-game)}.raid-section{margin:12px;padding:12px;border:1px solid rgba(107,170,158,.2);border-radius:12px;background:rgba(7,25,26,.48)}.raid-section-heading h2,.raid-attack-head h2{margin:4px 0;font:700 16px/1.2 var(--font-game)}.raid-section-heading p,.raid-attack-head p{margin:0;color:#849d98;font:9px/1.4 var(--font-game)}.raid-ship-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0}.raid-ship-tools button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:70px;min-height:38px;padding:3px 8px;border:1px solid rgba(107,170,158,.22);border-radius:8px;background:rgba(3,12,14,.8);color:#9fb5b0;font:700 9px var(--font-game);text-transform:uppercase}.raid-ship-tools button.active{border-color:#85c7ba;color:#e5f5f0;box-shadow:0 0 13px rgba(78,169,152,.18)}.raid-marker-icon{display:block;width:30px;height:30px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.7))}.raid-board{position:relative;margin:15px 4px 2px;padding:18px 0 0 18px}.raid-axis{position:absolute;display:grid;color:#5f8881;font:700 8px var(--font-game);text-align:center}.raid-axis-top{top:0;left:18px;right:0;grid-template-columns:repeat(6,1fr)}.raid-axis-side{top:18px;bottom:0;left:0;width:18px;grid-template-rows:repeat(6,1fr);align-items:center}.raid-grid{display:grid;grid-template-columns:repeat(6,1fr);aspect-ratio:1;border:1px solid rgba(85,149,139,.42);background:rgba(0,8,10,.7);touch-action:none}.raid-cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;border:0;border-right:1px solid rgba(83,143,134,.2);border-bottom:1px solid rgba(83,143,134,.2);border-radius:0;background:transparent}.raid-cell.ship{background:rgba(64,126,116,.15)}.raid-cell.selected{box-shadow:inset 0 0 0 1px #8bd0c2}.raid-cell.target::before{content:"";position:absolute;width:28%;aspect-ratio:1;border:1px solid #d9c393;border-radius:50%;box-shadow:0 0 8px rgba(217,195,147,.3)}.raid-cell.mine::before{width:58%;border-color:#df7255;border-radius:5px;background:rgba(121,44,29,.24)}.raid-cell .raid-marker-icon{position:absolute;width:78%;height:78%}.raid-attack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.raid-attack-head>div:first-child{flex:1;min-width:0}.raid-footer{display:flex;align-items:center;gap:12px;padding:10px 13px;border-top:1px solid rgba(107,170,158,.22);background:rgba(3,10,12,.98)}.raid-footer>div{display:grid;gap:2px;flex:0 0 auto}.raid-footer b{font-size:15px}.raid-footer>button{flex:0 1 auto;min-height:var(--game-action-min-height);border:1px solid rgba(118,183,169,.6);border-radius:9px;background:linear-gradient(180deg,rgba(52,111,102,.68),rgba(25,67,63,.7));color:#eff7f1;font:800 10px var(--font-game);text-transform:uppercase;letter-spacing:.06em;width:fit-content;max-width:100%;min-width:44px;padding:var(--game-action-padding);box-sizing:border-box;}.raid-footer>button:disabled{opacity:.35}.raid-fog{display:grid;place-items:center;align-content:center;flex:1;padding:30px;text-align:center}.raid-fog h2{margin:24px 0 7px;font:700 15px/1.2 var(--font-game)}.raid-fog p{margin:0;color:#76918c;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.raid-fog>b{margin:24px 0;color:#b5d5ce;font-size:29px;letter-spacing:.08em}.raid-fog>button{min-height:var(--game-action-min-height);padding:var(--game-action-padding);border:1px solid rgba(107,170,158,.35);border-radius:9px;background:rgba(29,68,64,.4);color:#dfeae5;width:fit-content;max-width:100%;min-width:44px;box-sizing:border-box;flex:0 1 auto;}.raid-sonar{position:relative;width:140px;aspect-ratio:1;border:1px solid rgba(100,176,163,.5);border-radius:50%;overflow:hidden;background:rgba(31,86,78,.16)}.raid-sonar i{position:absolute;inset:17%;border:1px solid rgba(100,176,163,.22);border-radius:50%}.raid-sonar i:nth-child(2){inset:33%}.raid-sonar i:nth-child(3){inset:48%}.raid-sonar span{position:absolute;inset:50% 50% 0 50%;width:1px;background:#7ac0b4;transform-origin:top;animation:raid-sonar 2.4s linear infinite}.raid-sonar span::before{content:"";position:absolute;right:0;top:0;width:65px;height:65px;background:conic-gradient(from 270deg,rgba(101,190,174,.24),transparent 34%);transform-origin:top right}@keyframes raid-sonar{to{transform:rotate(360deg)}}.raid-result-head{padding:20px 18px 13px;text-align:center}.raid-result-head>strong{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border:1px solid rgba(108,174,162,.42);border-radius:50%;color:#98d6ca;font:31px var(--font-game);aspect-ratio:1;flex-shrink:0;min-width:58px;max-width:58px;min-height:58px;max-height:58px;}.raid-result-head h2{margin:5px 0;font:700 15px/1.2 var(--font-game)}.raid-result-head p{margin:0;color:#91a49f;font:10px/1.45 var(--font-game)}.raid-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 12px;border:1px solid rgba(107,170,158,.2);background:rgba(107,170,158,.2)}.raid-result-stats>div{display:grid;gap:3px;padding:10px 4px;background:#071214;text-align:center}.raid-result-stats b{font-size:15px}.raid-result-stats small{color:#73918b;font-size:8px}.raid-result-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.raid-result-fields article{padding:9px;border:1px solid rgba(107,170,158,.18);border-radius:9px}.raid-result-fields h3{margin:0 0 8px;color:#9dafaa;font-size:9px;text-align:center}.raid-mini-grid{display:grid;grid-template-columns:repeat(6,1fr);aspect-ratio:1;border:1px solid rgba(83,143,134,.28)}.raid-mini-grid i{border-right:1px solid rgba(83,143,134,.16);border-bottom:1px solid rgba(83,143,134,.16)}.raid-mini-grid i.ship{background:rgba(87,147,137,.38)}.raid-mini-grid i.miss{box-shadow:inset 0 0 0 2px rgba(199,190,160,.35)}.raid-mini-grid i.hit{background:#c1664e;box-shadow:inset 0 0 0 2px #ef9a7d}.raid-loot{display:grid;gap:7px;margin:0 12px 12px;padding:11px;border:1px solid rgba(181,151,88,.26);border-radius:10px;background:rgba(78,54,19,.1)}.raid-loot h3{margin:0 0 3px;color:#d4bd84;font:700 10px var(--font-game);text-transform:uppercase}.raid-loot>div,.raid-loot>button{display:flex;align-items:center;gap:8px;min-height:35px;padding:4px 7px;border:1px solid rgba(211,184,122,.15);border-radius:7px;background:rgba(255,255,255,.025);color:#e4d8ba;text-align:left}.raid-loot span{flex:1}.raid-loot img{width:31px;height:31px;object-fit:contain}.raid-loading,.raid-error{display:grid;place-items:center;flex:1;min-height:180px;padding:30px;text-align:center;color:#9eb7b1}.raid-toast{position:absolute;left:50%;bottom:calc(var(--tg-safe-bottom,0px) + 82px);z-index:3;max-width:80%;padding:8px 11px;border:1px solid rgba(224,130,108,.4);border-radius:8px;background:#17100e;color:#f0c4b6;font:9px/1.3 var(--font-game);text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.18s}.raid-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:360px){.raid-layer{padding-left:5px;padding-right:5px}.raid-section{margin:8px;padding:9px}.raid-banner{height:132px}.raid-result-fields{gap:6px;padding:8px}.raid-attack-head{display:grid}}

/* Raid mobile layout corrections: keep all boats on one row and let the
   salvo title use the full card width. */
.raid-ship-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.raid-ship-tools button{box-sizing:border-box;gap:3px;min-width:0;width:100%;padding-left:4px;padding-right:4px;font-size:8px}
.raid-ship-tools button span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.raid-ship-tools .raid-marker-icon{width:25px;height:30px}
.raid-attack-head{display:block}
.raid-result-actions{padding:0 12px 14px}
.raid-result-actions>button{width:fit-content;min-height:var(--game-action-min-height);border:1px solid rgba(118,183,169,.6);border-radius:9px;background:linear-gradient(180deg,rgba(52,111,102,.68),rgba(25,67,63,.7));color:#eff7f1;font:800 10px var(--font-game);text-transform:uppercase;letter-spacing:.06em;max-width:100%;min-width:44px;padding:var(--game-action-padding);box-sizing:border-box;flex:0 1 auto;display:block;margin-inline:auto;}
.raid-result-actions>button:disabled{opacity:.35}
@media(max-width:360px){.raid-attack-head{display:block}.raid-ship-tools{gap:4px}.raid-ship-tools button{gap:2px;padding-left:2px;padding-right:2px;font-size:7.5px}.raid-ship-tools .raid-marker-icon{width:23px}}
.raid-attack-title{display:flex;align-items:baseline;gap:8px;min-width:0}
.raid-attack-title h2{min-width:0;margin:0}
.raid-salvo-count{display:block;margin-top:7px;color:#d8c89e;font-size:9px;text-align:right}
