/* Panel RTS rezerwuje miejsce obok sceny. Menu i FPP zachowują pełny kadr. */
:root { --command-width: 280px; }
.building-benefit { font-size:9px; line-height:1.35; color:#b9b4a4; text-transform:none; }
#crystal-tooltip { position:fixed; z-index:40; pointer-events:none; padding:11px 14px; background:#12272af2; border:1px solid #68c7d1; color:#b5f0f3; font-size:11px; box-shadow:0 3px 15px #0009; }
#commander-abilities { position:absolute; bottom:20px; left:calc((100% - var(--command-width)) / 2); transform:translateX(-50%); display:flex; gap:8px; pointer-events:auto; }
#commander-abilities[hidden],#crystal-tooltip[hidden] { display:none; }
/* Podpowiedź jaja (brood-tooltip.js): ten sam kształt co kryształy, barwa zagrożenia. */
#brood-tooltip { position:fixed;z-index:40;pointer-events:none;max-width:260px;padding:10px 14px;background:#2a1411f2;border:1px solid #d9674f;color:#ffd9cc;font-size:11px;box-shadow:0 3px 15px #0009; }
#brood-tooltip strong { display:block;letter-spacing:.14em;font-size:11px;color:#ff9a80; }
#brood-tooltip p { margin:5px 0 4px;line-height:1.4; }
#brood-tooltip small { color:#e6a896;letter-spacing:.08em; }
#brood-tooltip[hidden] { display:none; }
#commander-abilities .ability-card { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:96px;min-width:96px;height:108px;padding:7px 8px 15px;border:1px solid #667977;border-top:2px solid #a3bab2;background:linear-gradient(145deg,#263936,#111d1e 65%,#1c2c2b);box-shadow:inset 0 0 0 3px #080f11,0 5px 12px #0008;color:#c0d8d0;cursor:pointer;transition:border-color .15s,background .15s; }
#commander-abilities .ability-card kbd { position:absolute;top:6px;left:7px;display:grid;place-items:center;min-width:17px;height:18px;background:#0b1519;border:1px solid #657b7b;color:#e4eee7;font-family:inherit;font-size:11px;font-weight:700; }
#commander-abilities .ability-art { display:block;width:62px;height:65px; }
#commander-abilities svg { display:block;width:100%;height:100%; }
#commander-abilities .ability-state { color:inherit;font-size:8px;font-weight:700;letter-spacing:.6px;white-space:nowrap; }
#commander-abilities .ability-charge { position:absolute;left:7px;right:7px;bottom:6px;height:5px;background:#071114;border:1px solid #53716d;overflow:hidden; }
#commander-abilities .ability-charge i { display:block;width:100%;height:100%;background:linear-gradient(90deg,#397f83,#9bf8d2);transform-origin:left;transition:transform .12s linear; }
#commander-abilities .ability-card.ready { color:#aeefda;border-color:#7ebdaf; }
#commander-abilities .ability-card.ready:hover,#commander-abilities .ability-card.active { background:linear-gradient(145deg,#385c50,#152e2d);border-color:#bdffe2;box-shadow:inset 0 0 0 3px #0a1b18,0 0 16px #72e6b629; }
#commander-abilities .ability-card:active:not(:disabled) { translate:0 1px; }
#commander-abilities .ability-card:disabled { cursor:default;opacity:1; }
#commander-abilities .ability-card.ability-reserved { color:#596764;border-color:#3d4c49;border-top-color:#64716b;background:linear-gradient(145deg,#1c2826,#0f191a); }
#commander-abilities .ability-reserved kbd { color:#8a9991;border-color:#495650; }
#build-tools button[data-build=extractor]::before { background:linear-gradient(90deg,#637c65 25%,#76d9df 25% 40%,#343f3f 40% 60%,#76d9df 60% 75%,#637c65 75%); }
#build-tools button[data-build=academy]::before { clip-path:polygon(0 100%,0 30%,35% 30%,35% 0,65% 0,65% 30%,100% 30%,100% 100%); }
#build-tools button[data-build=alarm-beacon]::before { clip-path:polygon(30% 0,70% 0,70% 20%,58% 20%,58% 85%,100% 85%,100% 100%,0 100%,0 85%,42% 85%,42% 20%,30% 20%); background:#d1a161; }
body.playing:not(.fpp) #viewport { right: var(--command-width); width: auto; }
#commander-panel { position: absolute; inset: 0 0 0 auto; width: var(--command-width); padding: 14px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; pointer-events: auto; background: linear-gradient(105deg,#252626,#111415 65%); border-left: 3px solid #655950; box-shadow: -3px 0 0 #111, -4px 0 0 #a48f76; }
#commander-panel > * { flex-shrink: 0; min-width: 0; }
#commander-panel { transform:translateX(0);opacity:1;visibility:visible;transition:transform .28s cubic-bezier(.22,.75,.25,1),opacity .22s ease,visibility 0s; }
#commander-panel[data-closed=true] { transform:translateX(calc(100% + 8px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.22,.75,.25,1),opacity .22s ease,visibility 0s .28s; }
#commander-panel[data-closed=true] * { pointer-events:none!important; }
@media(prefers-reduced-motion:reduce){#commander-panel,#commander-panel[data-closed=true]{transition:none;}}
.command-heading { display: grid; gap: 4px; padding: 0 0 10px; border-bottom: 2px solid #ab3c2b; }
.command-heading span { color: #a49683; font-size: 9px; letter-spacing: 2px; }
.command-heading strong { color: #eee2ce; font-size: 18px; letter-spacing: 1px; }
#commander-panel .topbar { position: static; padding: 0; width: auto; min-height: 0; background: none; border: 0; box-shadow: none; }
#commander-panel .resources { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; width: 100%; }
#commander-panel .resources span { display: grid; gap: 4px; padding: 7px 4px 7px 17px; background: #090c0e; font-size: 8px; color: #aa9c8e; }
#commander-panel .resources b { font-size: 17px; color: #e7d7b8; white-space: nowrap; }
#commander-panel #session-tools { position: static; display: flex; gap: 6px; }
#commander-panel #session-tools button { flex: 1; font-size: 10px; min-height: 34px; padding: 9px 6px; white-space: nowrap; }
#commander-panel #minimap-panel { position: static; width: 210px; align-self: center; padding: 8px; border-width: 8px; }
#commander-panel #minimap { display: block; width: 100%; aspect-ratio: 1; touch-action: none; }
#commander-panel .minimap-heading { font-size: 10px; }
#commander-panel .minimap-footer { font-size: 8px; }
#command-sections { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; }
#command-sections button { padding: 10px 2px; font-size: 10px; min-width: 0; }
#command-sections button[aria-pressed=true] { background-color: #81291d; color: #fff1d2; }
#commander-panel .bottom-dock { position: static; width: 100%; max-width: none; padding: 0; background: none; border: 0; }
#commander-panel .bottom-dock > div { width: 100%; min-width: 0; padding: 7px; }
#commander-panel #build-tools,
#commander-panel #support-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
#commander-panel #build-tools[hidden],
#commander-panel #support-info[hidden] { display: none !important; }
#commander-panel #build-tools button[data-build][hidden] { display:none !important; }
#commander-panel .new-build-option{animation:base-option-flash .55s ease-in-out 5;outline:2px solid #f5d875;outline-offset:-3px}
@keyframes base-option-flash{0%,100%{box-shadow:0 0 0 #ffd76a00}50%{box-shadow:0 0 18px 5px #ffd76acc}}
@media(prefers-reduced-motion:reduce){#commander-panel .new-build-option{animation:none}}
#commander-panel #build-tools button[data-build] { display: grid; place-content: center; gap: 5px; min-width: 0; min-height: 76px; padding: 8px; font-size: 11px; text-align: center; }
#commander-panel #build-tools button small { margin: 0; color: #b6d68b; }
#build-tools button[data-build]::before { content: ''; display: block; justify-self: center; width: 50px; height: 26px; border: 2px solid #c4bbae; background: repeating-linear-gradient(90deg,#6a6860 0 12px,#2c3535 12px 16px); transform: skewY(-10deg); }
#build-tools button[data-build=stairs]::before { clip-path: polygon(0 80%,20% 80%,20% 60%,40% 60%,40% 40%,60% 40%,60% 20%,80% 20%,80% 0,100% 0,100% 100%,0 100%); background: #a6a18d; }
#build-tools button[data-build=laser-tower]::before { width:28px;height:32px;transform:none;border:0;clip-path:polygon(50% 0,80% 15%,75% 45%,62% 45%,70% 85%,100% 100%,0 100%,30% 85%,38% 45%,25% 45%,20% 15%);background:linear-gradient(#ff7453 0 35%,#56666b 35% 80%,#b7b19b 80%); }
#build-tools button[data-build=tesla-tower]::before { width:28px;height:32px;transform:none;border:0;clip-path:polygon(10% 0,90% 0,100% 15%,72% 65%,65% 85%,100% 100%,0 100%,35% 85%,28% 65%,0 15%);background:repeating-linear-gradient(#94caff 0 3px,#b98d55 3px 6px,#293a42 6px 8px); }
#build-tools button[data-build=railgun-tower]::before { width:34px;height:32px;transform:none;border:0;clip-path:polygon(20% 0,35% 0,35% 38%,65% 38%,65% 0,80% 0,80% 58%,62% 58%,70% 85%,100% 100%,0 100%,30% 85%,38% 58%,20% 58%);background:linear-gradient(#8ce7ed 0 40%,#53664d 40% 85%,#9aa9a5 85%); }
#build-tools button[data-build=mortar-tower]::before { width:32px;height:32px;transform:rotate(-15deg);border:0;clip-path:polygon(25% 0,75% 0,75% 12%,65% 12%,65% 65%,90% 80%,100% 100%,0 100%,10% 80%,35% 65%,35% 12%,25% 12%);background:repeating-linear-gradient(#a7a58e 0 4px,#4a5145 4px 8px); }
#build-tools button[data-build=machinegun-tower]::before { width:38px;height:32px;transform:none;border:0;clip-path:polygon(0 18%,45% 18%,45% 5%,100% 5%,100% 18%,65% 18%,65% 52%,53% 52%,60% 85%,85% 85%,100% 100%,0 100%,15% 85%,36% 85%,40% 52%,0 52%);background:linear-gradient(#c9bd8b 0 18%,#677052 18% 52%,#929780 52% 85%,#454b3e 85%); }
#build-tools button[data-build=chaser-tower]::before { width:34px;height:34px;transform:none;border:0;clip-path:polygon(0 100%,8% 15%,18% 0,40% 0,47% 15%,53% 15%,60% 0,82% 0,92% 15%,100% 100%);background:repeating-linear-gradient(0deg,#66704f 0 6px,#252d23 6px 9px);box-shadow:inset 0 3px #eab56f; }
#commander-panel #placement-status { margin: 8px 0 0; padding: 8px; font-size: 11px; line-height: 1.4; }
.command-section { border-top: 1px solid #5e5147; padding-top: 9px; }
.command-section h3 { display: flex; justify-content: space-between; font-size: 10px; letter-spacing: 1.4px; color: #a99984; margin: 0 0 9px; }
#construction-queue, #selection-info { font-size: 11px; color: #ddd3bf; line-height: 1.6; }
#construction-queue { max-height: 140px; overflow-y: auto; }
#selection-info { max-height: 100px; overflow-y: auto; }
#selection-info:has(.selection-card) { max-height:300px; }
.selection-card { padding:8px 0;border-bottom:1px solid #635d4e; }
.selection-card > strong { color:#eadfc5; }
.selection-card dl { display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:6px 0; }
.selection-card dd { margin:0;color:#c5e6b4;text-align:right; }
.selection-card small { display:block;font-size:10px;color:#aaa;line-height:1.4; }
#construction-queue:empty::after { content: 'No active construction'; color: #797c77; }
.construction-row { display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; margin-bottom: 8px; }
.construction-row progress { width: 100%; height: 5px; grid-column: 1 / -1; accent-color: #dfac62; }
.selection-section { margin-top: 0; }
.command-hints { position: static; display: block; padding: 0; border: 0; background: none; font-size: 9px; color: #83857d; line-height: 1.7; }
#selection-box { position: fixed; z-index: 8; pointer-events: none; border: 1px solid #b1efba; background: #93daaa13; box-shadow: 0 0 0 1px #172c25; }
body.playing:not(.fpp) #field-menu { right: calc(var(--command-width) + 12px); }
body.playing:not(.fpp) #toast { left: calc((100% - var(--command-width)) / 2); }
@media (max-width: 1000px) { :root { --command-width: 232px; } #commander-panel { padding: 10px; gap: 9px; } .command-heading strong { font-size: 15px; } }
@media (max-height: 760px) { #commander-panel { gap: 6px; } #commander-panel #minimap-panel { width: 150px; } #commander-panel #build-tools button[data-build] { min-height: 58px; padding: 4px; } #commander-panel .resources b { font-size: 14px; } #commander-panel .resources span { padding-left: 5px; font-size: 7px; } #commander-panel .resources span::before { display: none; } #selection-info { max-height: 78px; line-height: 1.4; } .command-hints { display: none; } }
/* Zasoby i mapa wykorzystują pełną szerokość panelu; kontrolki na mapie. */
body.playing #commander-panel .topbar { clip-path:none;border-image:none; }
body.playing #commander-panel .topbar::before,body.playing #commander-panel .topbar::after { display:none; }
body.playing #commander-panel, #construction-queue, #selection-info { scrollbar-width:thin;scrollbar-color:#686852 #121714; }
body.playing #commander-panel .resources { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
body.playing #commander-panel .resources > span { position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 10px 10px 36px;border:1px solid #827f72;background:linear-gradient(180deg,#2e3230 0%,#15191a 15%,#0a0d0e 85%,#212525 100%);box-shadow:inset 0 0 0 2px #060707,inset 0 0 0 3px #4d4d4655;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);font-size:8px;letter-spacing:.16em;color:#a7afa5; }
body.playing #commander-panel .resources > span::before { content:'⬢';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:19px;line-height:1;color:#e6b45c;text-shadow:0 0 9px #e6b45c44; }
body.playing #commander-panel .resources > span:nth-child(2)::before { content:'◆';color:#9cdc66;text-shadow:0 0 9px #9cdc6644; }
body.playing #commander-panel .resources b { margin:0;font-size:22px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.05;color:#f3eddd; }
body.playing #commander-panel #minimap-panel { position:relative;inset:auto;width:100%;padding:5px;border-width:4px;align-self:stretch; }
body.playing #commander-panel .minimap-heading { position:absolute;inset:11px 11px auto auto;z-index:3;padding:0; }
/* Home na minimapie: mała ścięta płytka z ikoną SVG w kolorach mapy (styl nadpisuje motyw przycisków). */
body.playing #commander-panel #minimap { width:100%;aspect-ratio:1; }
#wall-drag-cost { position:fixed;z-index:9;pointer-events:none;max-width:320px;padding:10px 12px;background:#112017f2;border:1px solid #9fd178;box-shadow:0 3px 12px #0008;font-size:12px;line-height:1.5;color:#d6f6ba;font-variant-numeric:tabular-nums; }
#wall-drag-cost.invalid { color:#ffd3bd;border-color:#ee7457;background:#321710f2; }
@media(max-width:1000px) {
  body.playing #commander-panel .resources > span { padding:10px 5px 10px 25px;font-size:8px; }
  body.playing #commander-panel .resources > span::before { left:6px;font-size:16px; }
  body.playing #commander-panel .resources b { font-size:20px; }
}

/* Wysuwany panel selekcji — osobno od prawego panelu; budowa zostaje po prawej. */
#command-drawer{position:fixed;right:calc(var(--command-width) + 16px);bottom:16px;width:min(440px,72vw);max-height:68vh;overflow:auto;z-index:6;display:flex;flex-direction:column;gap:10px;padding:16px;background:linear-gradient(180deg,#151a18,#0b0e0d);box-shadow:0 12px 30px #000a;transform:translateY(calc(100% + 40px));transition:transform .22s ease;pointer-events:none}
#command-drawer.open{transform:translateY(0);pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff1c;padding-bottom:9px}
.drawer-head .eyebrow{color:#e6b45c}
#drawer-close{width:auto;padding:5px 12px;font-size:12px;text-align:center;line-height:1}
.drawer-body{display:flex;flex-direction:column;gap:8px}
.drawer-body .command-section{border-top:0;padding-top:0}
.drawer-body .selection-section{margin-top:0}
.drawer-head #drawer-close{margin-left:auto}
.selection-total{font-size:12px;color:#ecddbc;background:#26342d;padding:3px 8px}
#selection-info.selection-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:330px;overflow-y:auto}
.selection-portrait{display:grid;grid-template-rows:72px auto;position:relative;padding:5px;min-width:0;text-align:center;font-size:10px;letter-spacing:0;line-height:1.3}
.selection-portrait img{width:100%;height:72px;object-fit:contain;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
.selection-portrait>b{position:absolute;right:8px;top:8px;min-width:22px;padding:3px;background:#09110deb;color:#c3f6b9;font-size:16px;font-variant-numeric:tabular-nums}
.selection-health{position:relative;margin:12px 0 10px;height:24px;--health-color:#83c977}
.selection-health.critical{--health-color:#ed6955}
.selection-health-cells{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;height:100%}
.selection-health-cells i{position:relative;background:#18221c;border:1px solid #50614c}
.selection-health-cells i::before{content:'';position:absolute;inset:0;background:var(--health-color);transform-origin:left;transform:scaleX(var(--fill))}
.selection-health>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 3px #000,1px 0 2px #000;font-variant-numeric:tabular-nums}
#control-groups{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
#control-groups button{padding:4px 1px;min-width:0;min-height:26px;font-size:8px;letter-spacing:0;color:#747e75;white-space:normal}
#control-groups button.assigned{color:#c6efb9;border-color:#8aac75;background:#263923}
/* Ta sama geometria skosów na obwodzie i na wewnętrznej powierzchni. */
body.playing #commander-panel #minimap{border:0;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
body.playing #commander-panel .resources>span,
#commander-panel #build-tools button.model-tile,
#commander-panel #support-info button.model-tile,
#commander-panel #build-tools button[data-build],.selection-portrait{
 isolation:isolate;border:0;box-shadow:none;background:linear-gradient(135deg,#a2a695,#3d4841 45%,#7d887b);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)
}
body.playing #commander-panel .resources>span::after,
#commander-panel #build-tools button.model-tile::after,
#commander-panel #support-info button.model-tile::after,
#commander-panel #build-tools button[data-build]::after,.selection-portrait::after{
 content:'';position:absolute;inset:2px;z-index:-1;pointer-events:none;background:linear-gradient(#26302b,#0b100e 40%,#111a15);clip-path:polygon(6.8px 0,calc(100% - 6.8px) 0,100% 6.8px,100% calc(100% - 6.8px),calc(100% - 6.8px) 100%,6.8px 100%,0 calc(100% - 6.8px),0 6.8px)
}
#commander-panel #build-tools button.model-tile.active::after,
#commander-panel #build-tools button.model-tile:hover::after,
#commander-panel #support-info button.model-tile.active::after,
#commander-panel #support-info button.model-tile:hover::after,
#commander-panel #build-tools button[data-build].active::after,
#commander-panel #build-tools button[data-build]:hover::after,.selection-portrait:hover::after{background:linear-gradient(#592720,#210b09)}
body.playing #commander-panel .resources>span:first-child{background:linear-gradient(135deg,#d6b36b,#64553c 60%,#85836c)}
body.playing #commander-panel .resources>span:nth-child(2){background:linear-gradient(135deg,#9cbb73,#3e5238 60%,#7d9871)}
@media(max-width:1000px){#command-drawer{right:calc(var(--command-width) + 10px);width:min(360px,80vw)}}
.tower-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}
.tower-tags span{font-size:10px;letter-spacing:.06em;padding:4px 7px;border:1px solid #75928866;background:#26362f;color:#cfead6}
.tower-effective{font-size:12px;line-height:1.5;color:#c3cdbf;margin:6px 0 12px}
#build-tools button[data-build=watchtower]::before{width:36px;height:34px;transform:none;border:0;clip-path:polygon(0 0,100% 0,100% 30%,85% 30%,85% 100%,70% 100%,70% 30%,30% 30%,30% 100%,15% 100%,15% 30%,0 30%);background:linear-gradient(#b6bea5 0 20%,#ddaa5a 20% 30%,#667c69 30%)}
#build-tools button[data-build=extractor]::before { transform:none; border:0; background:linear-gradient(90deg,#637c65 25%,#76d9df 25% 40%,#343f3f 40% 60%,#76d9df 60% 75%,#637c65 75%); clip-path:polygon(0 100%,0 20%,20% 20%,20% 0,80% 0,80% 20%,100% 20%,100% 100%,65% 100%,65% 30%,35% 30%,35% 100%); }
#build-tools button[data-build=academy]::before { transform:none; border:0; background:#8b9b7e; clip-path:polygon(0 100%,0 30%,35% 30%,35% 0,65% 0,65% 30%,100% 30%,100% 100%); }
#build-tools button[data-build=arsenal]::before { transform:none; border-color:#96a47a; background:repeating-linear-gradient(0deg,#576348 0 5px,#263b33 5px 7px); }
#build-tools button[data-build=alarm-beacon]::before { transform:none; border:0; background:#e1ac65; clip-path:polygon(30% 0,70% 0,70% 20%,58% 20%,58% 85%,100% 85%,100% 100%,0 100%,0 85%,42% 85%,42% 20%,30% 20%); }
/* Support: krótka karta poza minimapą i mapa taktyczna FPP. */
#build-tooltip{position:fixed;width:270px;padding:16px;z-index:45;pointer-events:none;color:#e3ddd1;background:#161a1e}
#build-tooltip p{font-size:12px;line-height:1.5;color:#bbbcb8;margin:9px 0 12px}
.build-tooltip-stats{display:flex;gap:6px}.build-tooltip-stats div{flex:1;padding:8px;background:#252b2e;border-bottom:2px solid #aa4931}
.build-tooltip-stats small,.build-tooltip-stats b{display:block}.build-tooltip-stats small{font-size:9px;color:#a9aaa3;margin-bottom:4px}.build-tooltip-stats b{font-size:14px}
#tactical-map{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,92vw);max-height:94vh;padding:18px;z-index:60;background:#131a1ef5;pointer-events:none;color:#ddd6c5}
#tactical-map header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;letter-spacing:2px}#tactical-map canvas{display:block;width:min(100%,70vh);max-height:72vh;aspect-ratio:1;margin:auto;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.world-order-marker{position:fixed;transform:translate(-50%,-100%);padding:0;background:none;border:0;color:#e2eee8;font-size:10px;font-weight:500;line-height:1.4;text-shadow:0 2px 3px #000,0 0 5px #000;pointer-events:none;z-index:25;white-space:nowrap}
@media(max-width:850px){#commander-abilities{gap:5px}#commander-abilities .ability-card{width:70px;min-width:70px;height:94px}#commander-abilities .ability-art{width:52px;height:56px}}
/* Status fali w kartach HUD: numer fali, odliczanie i liczba wrogów. */
#wave-status { position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;gap:8px;color:#f3eddd;pointer-events:none;z-index:4; }
#wave-status button { pointer-events:auto;align-self:center;font-size:10px;padding:12px 14px; }
/* RTS: środek pola gry (bez bocznego panelu dowódcy), ta sama oś co skład fali pod płytą (wave-intel.css). */
body.playing:not(.fpp) #wave-status { left:calc((100% - var(--fit-command-width,var(--command-width,280px))) / 2); }
/* START WAVE: pulsujący blask, oddech skali i przebiegający połysk zachęcają do startu. */
#wave-status .wave-start { overflow:hidden;font-size:12px;padding:14px 20px;letter-spacing:.14em;animation:wave-start-pulse 1.6s ease-in-out infinite; }
#wave-status .wave-start::after { content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffd9c455 50%,transparent 65%);transform:translateX(-120%);animation:wave-start-shine 3.2s ease-in-out infinite;pointer-events:none; }
#wave-status .wave-start:hover { animation:none;transform:scale(1.06);box-shadow:inset 0 0 0 2px #170403,inset 0 0 0 3px #ff7a5c,0 0 26px #ff3a24aa; }
@keyframes wave-start-pulse {
  0%,100% { transform:scale(1);box-shadow:inset 0 0 0 2px #170403,inset 0 0 0 3px #d8412c,0 0 8px #d3211840; }
  50% { transform:scale(1.07);box-shadow:inset 0 0 0 2px #170403,inset 0 0 0 3px #ff7a5c,0 0 28px #ff3a24b0,0 0 52px #ff3a2440; }
}
@keyframes wave-start-shine { 0%,55% { transform:translateX(-120%); } 85%,100% { transform:translateX(120%); } }
@media (prefers-reduced-motion:reduce) { #wave-status .wave-start,#wave-status .wave-start::after { animation:none; } #wave-status .wave-start { box-shadow:inset 0 0 0 2px #170403,inset 0 0 0 3px #ff7a5c,0 0 22px #ff3a2490; } }
.wave-card { --wave-accent:#e6b45c;position:relative;display:grid;align-content:center;gap:3px;min-width:104px;padding:8px 14px 9px;border:1px solid #827f72;background:linear-gradient(180deg,#2e3230 0%,#15191a 15%,#0a0d0e 85%,#212525 100%);box-shadow:inset 0 0 0 2px #060707,inset 0 0 0 3px #4d4d4655;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);text-shadow:0 1px 3px #000; }
/* Płyta fali (wave-status.js .wave-plate): segmenty WAVE | STARTS IN | INCOMING albo HOSTILES w jednej ramie,
   rozdzielone cienką kreską. Każda informacja jest na ekranie raz; START WAVE stoi obok płyty. */
.wave-plate { display:flex;align-items:stretch;border:1px solid #827f72;background:linear-gradient(180deg,#2e3230 0%,#15191a 15%,#0a0d0e 85%,#212525 100%);box-shadow:inset 0 0 0 2px #060707,inset 0 0 0 3px #4d4d4655;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px); }
.wave-plate .wave-card { border:0;background:none;box-shadow:none;clip-path:none; }
.wave-plate .wave-card+.wave-card { border-left:1px solid #ffffff1f; }
.wave-card small { font-size:9px;font-weight:700;letter-spacing:.16em;color:#aab0a6;white-space:nowrap; }
.wave-card b { font-size:24px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;color:#f3eddd;white-space:nowrap; }
.wave-card b span { font-size:13px;font-weight:600;color:#9fa59c;margin-left:3px; }
.wave-bar { display:block;height:3px;margin-top:4px;background:#ffffff14;overflow:hidden; }
.wave-bar i { display:block;height:100%;background:var(--wave-accent);transform-origin:left;transition:transform .35s linear; }
.wave-card[data-kind=timer] b { color:#ffd79a; }
.wave-card[data-kind=hostiles] { --wave-accent:#ef6251; }
.wave-card[data-kind=hostiles] b { color:#ffab98; }
.wave-card[data-kind=incoming] { --wave-accent:#ef6251; }
.wave-card[data-kind=incoming] b { color:#ffab98; }
.wave-card[data-kind=status] { min-width:0; }
.wave-card[data-kind=status] b { font-size:14px;letter-spacing:.08em; }
.wave-card[data-kind=status].resupply b { color:#9cdc66; }
.wave-badge { justify-self:start;margin-top:3px;font-size:8px;font-weight:800;letter-spacing:.14em;padding:2px 6px;color:#fff0e8;background:#9b100b;border:1px solid #ef7762; }
.wave-card.urgent { --wave-accent:#ef6251;border-color:#ef6251;animation:wave-urgent 1s ease-in-out infinite; }
.wave-card.urgent b { color:#ff8a70; }
@keyframes wave-urgent { 50% { background:linear-gradient(180deg,#43302b 0%,#221412 15%,#120908 85%,#2d1c19 100%); } }
@media (prefers-reduced-motion:reduce) { .wave-card.urgent { animation:none; } }
@media (max-width:760px) { #wave-status { gap:5px; } .wave-card { min-width:0;padding:6px 9px; } .wave-card b { font-size:18px; } .wave-card small { font-size:8px;letter-spacing:.1em; } }
#wave-status[hidden],#respawn-map[hidden] { display:none; }
#wave-status.fpp{top:318px;right:18px;left:auto;transform:none;width:232px;flex-wrap:wrap;gap:6px}
#wave-status.fpp .wave-card{box-sizing:border-box;min-width:0;flex:1;padding:8px 10px}
#wave-status.fpp .wave-card small{font-size:8px;letter-spacing:.08em}
#wave-status.fpp button{width:100%;margin:0}
#respawn-map { position:absolute;inset:0;z-index:100;background:#091214f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:auto;color:#d4e5df;text-align:center; }
#respawn-map h2 { margin:0 0 4px;font-size:22px;letter-spacing:3px; }
#respawn-map h2.invalid { color:#ff8b75; }
#respawn-map header strong { display:block;font:700 44px/1 monospace;font-variant-numeric:tabular-nums;color:#94dfff;text-shadow:0 0 18px #4bbfe888; }
.respawn-map-frame { position:relative;width:min(65vh,80vw);height:min(65vh,80vw);border:1px solid #84b5bf;box-shadow:0 0 45px #4baabe18; }
.respawn-map-frame canvas { width:100%;height:100%;cursor:crosshair; }
.respawn-zone { position:absolute;transform:translate(-50%,-50%);border:2px solid #86e6ca;border-radius:50%;background:#5ed9ae18;box-shadow:0 0 24px #52e4b566,inset 0 0 18px #52e4b533;pointer-events:none; }
.respawn-death { position:absolute;transform:translate(-50%,-50%);font:28px/1 Georgia,serif;color:#ff8b75;text-shadow:0 1px 2px #101010,0 0 9px #ff3e2d,0 0 20px #ff3e2d;pointer-events:none; }
.respawn-death[hidden] { display:none; }
/* Sprzęt z tej śmierci leży przy ciele (docs/DEATH-DROPS.md): złota poświata zamiast czerwonej. */
.respawn-death.gear { color:#ffd36a;text-shadow:0 1px 2px #101010,0 0 9px #e8a93a,0 0 22px #e8bd66; }
/* Aktualne miejsce zrzutu: znacznik mruga i pulsuje, od niego rozchodzi się pierścień (0.40.4). */
.respawn-map-frame i { position:absolute;width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid #eafff7;border-radius:50%;background:#59ffbf;box-shadow:0 0 16px 3px #59ffbf;pointer-events:none;animation:respawn-pin 1s ease-in-out infinite; }
.respawn-map-frame i::after { content:'';position:absolute;inset:-2px;border:2px solid #9dffde;border-radius:50%;animation:respawn-pin-ring 1s ease-out infinite; }
.respawn-map-frame i[hidden] { display:none; }
@keyframes respawn-pin { 0%,100% { transform:translate(-50%,-50%) scale(.75);opacity:.45; } 50% { transform:translate(-50%,-50%) scale(1.25);opacity:1; } }
@keyframes respawn-pin-ring { from { transform:scale(1);opacity:.9; } to { transform:scale(3.6);opacity:0; } }
@media (prefers-reduced-motion:reduce) { .respawn-map-frame i,.respawn-map-frame i::after { animation:none; } }
#respawn-pod[hidden] { display:none; }
#respawn-pod { position:absolute;inset:0;z-index:100;pointer-events:none;color:#c7eff5;background:linear-gradient(90deg,#071319ed 0%,transparent 22%,transparent 78%,#071319ed 100%);box-shadow:inset 0 0 100px 24px #091a24; }
#respawn-pod .pod-window { position:absolute;inset:8% 12% 17%;border:18px solid #25343c;border-radius:35% 35% 22% 22%;outline:5px solid #0b151e;box-shadow:inset 0 0 50px #79dfff44,0 0 0 120px #0b151e66;background:repeating-linear-gradient(0deg,#5ec5de09 0 1px,transparent 1px 4px); }
#respawn-pod header { position:absolute;top:4%;width:100%;text-align:center;letter-spacing:4px;font-size:18px; }
#respawn-pod small { display:block;font-size:11px;letter-spacing:2px;color:#93b7c3;margin:10px; }
#respawn-pod strong { font:38px monospace;color:#d1f8ff; }
body.respawning #crosshair,body.respawning #commander-panel,body.respawning #sniper-scope,body.respawning #tactical-map { display:none!important; }
#tactical-map canvas{width:min(100%,calc(90vh - 125px));max-height:calc(90vh - 125px)}
.build-tooltip-stats div{clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
@media(max-width:750px){#build-tooltip{width:220px;right:calc(var(--command-width) + 5px)!important;padding:12px}}
#build-tooltip{opacity:0;transform:translateX(22px);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}
#build-tooltip.open{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){#build-tooltip{transition:none;transform:none}}
#commander-panel #build-tools button.model-tile::before{display:none!important;content:none!important}
#commander-panel #build-tools button.model-tile,
#commander-panel #support-info button.model-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;padding:7px 4px 9px;min-height:128px;font-size:10px;text-align:center;line-height:1.2;overflow:hidden;color:#ecddbc}
#commander-panel #build-tools button.model-tile span,
#commander-panel #support-info button.model-tile span{display:block;width:100%;font-size:10px;font-weight:700;letter-spacing:.04em;color:#ecddbc;text-align:center;float:none}
#commander-panel .build-model-icon{display:block;width:100%;height:78px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 3px #0008)}
#commander-panel #build-tools button.model-tile small,
#commander-panel #support-info button.model-tile small{margin:auto 0 0;font-size:10px;color:#b6d68b;font-weight:700}
#commander-panel[data-section=base] #build-tools button.model-tile{min-height:104px;padding:5px 4px 7px;gap:3px}
#commander-panel[data-section=base] .build-model-icon{height:54px}
@media(max-height:760px){#commander-panel #build-tools button.model-tile,#commander-panel #support-info button.model-tile{min-height:105px;font-size:9px;gap:3px}#commander-panel .build-model-icon{height:60px}}
/* Kolejka budowy: wysuwany panel w lewym dolnym rogu widoku dowódcy. */
#construction-dock{position:fixed;left:16px;bottom:16px;width:260px;padding:12px 14px;z-index:6;pointer-events:none;opacity:0;transform:translateX(calc(-100% - 24px));transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .25s ease}
#construction-dock.open{opacity:1;transform:none}
body.fpp #construction-dock{display:none}
#construction-dock header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
#construction-dock header .eyebrow{color:#e6b45c;font-size:9px;letter-spacing:.18em}
#construction-dock header b{font-size:11px;color:#eadfc5;background:#26342d;padding:2px 8px}
#construction-dock #construction-queue{max-height:none;overflow:visible;display:grid;gap:9px;font-size:11px;color:#ddd3bf;line-height:1.5}
#construction-dock #construction-queue:empty::after{content:none}
#construction-dock .construction-row{margin:0}
#construction-dock .construction-time{font-variant-numeric:tabular-nums;color:#c9bfa9}
#construction-dock progress{-webkit-appearance:none;appearance:none;height:4px;border:0;background:#ffffff14}
#construction-dock progress::-webkit-progress-bar{background:#ffffff14}
#construction-dock progress::-webkit-progress-value{background:#e6b45c}
#construction-dock progress::-moz-progress-bar{background:#e6b45c}
#construction-dock .construction-row.done .construction-name::before{content:'✓ ';color:#9cdc66;font-weight:800}
#construction-dock .construction-row.done .construction-time{color:#9cdc66;font-weight:700;letter-spacing:.08em}
#construction-dock .construction-row.done progress::-webkit-progress-value{background:#9cdc66}
#construction-dock .construction-row.done progress::-moz-progress-bar{background:#9cdc66}
@media (prefers-reduced-motion:reduce){#construction-dock{transition:none}}
/* Umiejętności dowódcy: kłódka na zablokowanych kartach i podpowiedź z warunkiem odblokowania. */
#commander-abilities .ability-card:disabled{pointer-events:none}
#commander-abilities .ability-card.locked{color:#8d9a95;border-color:#3d4c49;border-top-color:#64716b;background:linear-gradient(145deg,#1c2826,#0f191a)}
#commander-abilities .ability-card.locked kbd{color:#8a9991;border-color:#495650}
#commander-abilities .ability-card.hovered{border-color:#bdffe2}
/* Odnowienie po użyciu: czerwona karta sygnalizuje, że umiejętność jest nieaktywna. */
#commander-abilities .ability-card.charging{color:#ffb4a6;border-color:#a8382b;border-top-color:#e0584a;background:linear-gradient(145deg,#4a1712,#1e0907 65%,#32100c);box-shadow:inset 0 0 0 3px #140504,0 5px 12px #0008}
#commander-abilities .ability-card.charging .ability-art{filter:grayscale(.55) sepia(.6) hue-rotate(-35deg) saturate(2.2) brightness(.8)}
#commander-abilities .ability-card.charging kbd{color:#ffcfc5;border-color:#a8382b;background:#1d0706}
#commander-abilities .ability-card.charging .ability-charge{border-color:#8b2c22}
#commander-abilities .ability-card.charging .ability-charge i{background:linear-gradient(90deg,#8b1d14,#ff6a4f)}
#commander-abilities .ability-card.charging.hovered{border-color:#ff8a74}
#commander-abilities .ability-card.locked.hovered{border-color:#e6b45c;color:#d8c9a0}
#ability-tooltip{position:fixed;width:260px;padding:13px 15px;z-index:45;pointer-events:none;color:#e3ddd1;background:#161a1e;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .15s ease}
#ability-tooltip.open{opacity:1}
#ability-tooltip header{display:flex;align-items:center;gap:8px;margin-bottom:7px}
#ability-tooltip header kbd{display:grid;place-items:center;min-width:18px;height:18px;background:#0b1519;border:1px solid #657b7b;color:#e4eee7;font:700 11px/1 inherit}
#ability-tooltip header strong{font-size:14px;color:#eadfc5}
#ability-tooltip .ability-tooltip-status{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.14em;padding:2px 6px;border:1px solid currentColor}
#ability-tooltip .ability-tooltip-status.locked{color:#ffcf8a}
#ability-tooltip .ability-tooltip-status.ready{color:#9fe3b0}
#ability-tooltip .ability-tooltip-status.charging{color:#85d9ff}
#ability-tooltip p{font-size:12px;line-height:1.5;color:#bbbcb8;margin:0}
#ability-tooltip .ability-tooltip-stats{margin-top:7px;font-size:11px;color:#c9bfa9;font-variant-numeric:tabular-nums}
#ability-tooltip .ability-tooltip-unlock{margin-top:9px;padding-top:9px;border-top:1px solid #ffffff1c;color:#e3ddd1;font-size:12px;line-height:1.45}
#ability-tooltip .ability-tooltip-unlock b{display:block;font-size:9px;letter-spacing:.16em;color:#e6b45c;margin-bottom:3px}
#ability-tooltip[hidden]{display:none}
/* Wysokościomierz kapsuły: duża wartość, skala od orbity do ziemi i prędkość opadania. */
#respawn-pod .pod-altimeter { position:absolute;right:3.5%;top:50%;transform:translateY(-50%);width:110px;display:grid;justify-items:center;gap:8px;padding:14px 10px;background:#0b1721e8;border:1px solid #5f8796; }
#respawn-pod .pod-altimeter small { margin:0;font-size:10px;letter-spacing:2px; }
#respawn-pod .altimeter-scale { position:relative;width:14px;height:260px;border:1px solid #5f8796;background:repeating-linear-gradient(0deg,#5f879655 0 1px,transparent 1px 26px),#06101a; }
#respawn-pod .altimeter-fill { position:absolute;inset:0;background:linear-gradient(0deg,#ff7a4a,#6fe6ff 35%,#2b6f8a);transform-origin:bottom;transform:scaleY(1); }
#respawn-pod .altimeter-marker { position:absolute;left:-9px;right:-9px;height:3px;background:#d1f8ff;box-shadow:0 0 8px #6fe6ff;transform:translateY(50%); }
#respawn-pod .altimeter-value { font:30px monospace;color:#d1f8ff;font-variant-numeric:tabular-nums; }
#respawn-pod .altimeter-value span { font-size:13px;margin-left:3px;color:#93b7c3; }
#respawn-pod .altimeter-speed { color:#ffcf8a !important; }
#respawn-pod .pod-altimeter.critical { border-color:#ff7a4a;animation:altimeter-alert .5s steps(2) infinite; }
#respawn-pod .pod-altimeter.critical .altimeter-value { color:#ffb08a; }
@keyframes altimeter-alert { 50% { background:#2a120ce8; } }
@media (max-width:760px) { #respawn-pod .pod-altimeter { width:80px;right:2%; } #respawn-pod .altimeter-scale { height:160px; } #respawn-pod .altimeter-value { font-size:22px; } }
#respawn-pod .pod-look-hint { position:absolute;top:3%;left:50%;transform:translateX(-50%);padding:6px 14px;background:#0b1721cc;border:1px solid #5f8796;font-size:11px;letter-spacing:2px; }
#respawn-pod .pod-look-hint[hidden] { display:none; }
/* Inspekcja: przycisk sprzedaży obok zamknięcia i tekst odsunięty od krawędzi przy pasku przewijania. */
#drawer-sell{width:auto;margin-left:auto;padding:5px 12px;font-size:10px;letter-spacing:.1em;text-align:center;line-height:1;color:#fff1ea;background:linear-gradient(#8c2016,#4a0c07);border-color:#e2553f;box-shadow:inset 0 0 0 2px #1e0503}
#drawer-sell:hover{background:linear-gradient(#b12a1c,#621009);border-color:#ff8a70}
#drawer-sell.armed{background:linear-gradient(#d8391f,#7b1409);border-color:#ffd1c2;animation:sell-armed .6s steps(2) infinite}
#drawer-sell[hidden]{display:none}
.drawer-head #drawer-sell + #drawer-close{margin-left:8px}
@keyframes sell-armed{50%{filter:brightness(1.35)}}
#selection-info:has(.selection-card){padding:0 14px 0 6px;scrollbar-gutter:stable}
.selection-card dl{gap:4px 16px}
/* Znacznik jednostki pod atakiem (unit-alert.js) — tylko widok dowódcy. */
#unit-alerts { position:absolute;inset:0;pointer-events:none;z-index:4; }
#unit-alerts[hidden] { display:none; }
.unit-alert { position:absolute;width:0;height:0;animation:unit-alert-blink .5s linear 8; }
.unit-alert-ring { position:absolute;left:-26px;top:-26px;width:52px;height:52px;border:3px solid #ff3b2a;border-radius:50%;box-shadow:0 0 14px #ff2a1acc,inset 0 0 10px #ff2a1a88;animation:unit-alert-ring 1s ease-out infinite; }
.unit-alert small { position:absolute;left:0;top:-48px;transform:translateX(-50%);white-space:nowrap;padding:3px 7px;background:#3a0906e6;border:1px solid #ff6a50;color:#ffe9dc;font:700 9px system-ui;letter-spacing:.14em;text-shadow:0 1px 2px #000; }
.unit-alert-arrow { display:none;position:absolute;left:-9px;top:-11px;width:18px;text-align:center;color:#ff4a35;font-size:20px;text-shadow:0 0 8px #ff2a1a;transform:rotate(var(--arrow,0rad)); }
.unit-alert.offscreen .unit-alert-ring { left:-18px;top:-18px;width:36px;height:36px; }
.unit-alert.offscreen .unit-alert-arrow { display:block; }
.unit-alert.offscreen small { top:22px; }
@keyframes unit-alert-blink { 0%,55% { opacity:1; } 56%,100% { opacity:.2; } }
@keyframes unit-alert-ring { 0% { transform:scale(.55);opacity:1; } 100% { transform:scale(1.35);opacity:.35; } }
@media (prefers-reduced-motion:reduce) { .unit-alert,.unit-alert-ring { animation:none; } }
/* FPP: liczniki fal w stylu wizjera — równa kolumna szerokości minimapy. Każdy licznik to wiersz
   „podpis … wartość" w jednym rozmiarze, pasek na całą szerokość, START WAVE też na całą szerokość. */
#wave-status.fpp { top:294px;right:66px;width:200px;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:9px;color:#bfded5;text-shadow:0 1px 4px #001319; }
/* W FPP płyta się rozpada na wiersze kolumny; liczbę robali pokazuje wiersz nad żetonami składu (wave-intel.css). */
#wave-status.fpp .wave-plate { display:contents; }
#wave-status.fpp .wave-card[data-kind=incoming] { display:none; }
#wave-status.fpp .wave-card { flex:0 0 auto;display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:10px;row-gap:0;min-width:0;padding:0;background:none;border:0;box-shadow:none;clip-path:none;text-align:left;animation:none; }
#wave-status.fpp .wave-card small { font-size:9px;font-weight:400;letter-spacing:.2em;color:#bfded5;opacity:.6; }
#wave-status.fpp .wave-card b { justify-self:end;font-size:18px;font-weight:500;letter-spacing:0;color:#bfded5; }
#wave-status.fpp .wave-card b span { font-size:11px;font-weight:400;color:#bfded5;opacity:.6; }
#wave-status.fpp .wave-card[data-kind=timer] b { color:#f1d58c; }
#wave-status.fpp .wave-card[data-kind=hostiles] b { color:#ff9171; }
#wave-status.fpp .wave-bar { grid-column:1/-1;height:2px;margin-top:5px;background:#0d181ac9;transform:scaleX(-1); }
#wave-status.fpp .wave-bar i { box-shadow:0 0 8px var(--wave-accent); }
#wave-status.fpp .wave-card.urgent b { color:#ff8a70;animation:wave-fpp-urgent 1s ease-in-out infinite; }
#wave-status.fpp .wave-badge { grid-column:1/-1;justify-self:end;margin-top:3px;background:none;border:0;padding:0;color:#ff9171; }
@keyframes wave-fpp-urgent { 50% { opacity:.55; } }
#wave-status.fpp .wave-start { align-self:stretch;width:100%;margin:3px 0 0;padding:9px 0;font-size:10px;text-align:center;background:#3a09067a;border:1px solid #ff6a50aa;box-shadow:0 0 12px #ff3a2455;text-shadow:0 1px 3px #000; }
@media (prefers-reduced-motion:reduce) { #wave-status.fpp .wave-card.urgent b { animation:none; } }
/* FPP: ostatnie 10 s przed falą — duża cyfra u góry ekranu (wave-status.js #wave-countdown). */
#wave-countdown { position:absolute;top:70px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;pointer-events:none;z-index:6;color:#ffd79a;text-shadow:0 2px 8px #000,0 0 18px #ff6a3a88; }
#wave-countdown[hidden] { display:none; }
#wave-countdown small { font-size:11px;font-weight:700;letter-spacing:.32em;color:#ffb18a; }
#wave-countdown b { font-size:64px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;animation:wave-countdown-tick 1s ease-out; }
@keyframes wave-countdown-tick { 0% { transform:scale(1.35);color:#fff3dc;opacity:.4; } 25% { opacity:1; } 100% { transform:scale(1); } }
@media (prefers-reduced-motion:reduce) { #wave-countdown b { animation:none; } }
