/* Kursor rozkazu RTS, etykieta „co zrobi PPM” i linijka stanu w karcie jednostki.
   Kolory rozkazów jak w public/js/ui/orders/order-intent.js (ORDER_TONES). docs/RTS-ORDERS.md */
:root{--order-move:#8dff9f;--order-attack:#ff5a45;--order-mine:#52e5ff;--order-board:#ffc54a;--order-blocked:#ff4b3e;--order-idle:#b8c7bd}

/* Kształt kursora nad płótnem gry: ciemny obrys dla kontrastu na piasku i jasny kolor rozkazu. */
#viewport canvas[data-order="move"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cg stroke='%23061009' stroke-width='5'%3E%3Ccircle cx='16' cy='16' r='7'/%3E%3Cpath d='M16 2v5M16 25v5M2 16h5M25 16h5'/%3E%3C/g%3E%3Cg stroke='%238dff9f' stroke-width='2.2'%3E%3Ccircle cx='16' cy='16' r='7'/%3E%3Cpath d='M16 2v5M16 25v5M2 16h5M25 16h5'/%3E%3C/g%3E%3Ccircle cx='16' cy='16' r='1.6' fill='%238dff9f'/%3E%3C/g%3E%3C/svg%3E") 16 16,crosshair}
#viewport canvas[data-order="attack"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cg stroke='%23140503' stroke-width='5'%3E%3Ccircle cx='16' cy='16' r='9'/%3E%3Cpath d='M16 1v10M16 21v10M1 16h10M21 16h10'/%3E%3C/g%3E%3Cg stroke='%23ff5a45' stroke-width='2.4'%3E%3Ccircle cx='16' cy='16' r='9'/%3E%3Cpath d='M16 1v10M16 21v10M1 16h10M21 16h10'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 16 16,crosshair}
#viewport canvas[data-order="board"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke='%23130d02' stroke-width='5'%3E%3Cpath d='M5 11V5h22v6M5 21v6h22v-6M11 12l5 5 5-5M16 5v12'/%3E%3C/g%3E%3Cg stroke='%23ffc54a' stroke-width='2.3'%3E%3Cpath d='M5 11V5h22v6M5 21v6h22v-6M11 12l5 5 5-5M16 5v12'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 16 16,pointer}
#viewport canvas[data-order="mine"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke-linejoin='round'%3E%3Cpath d='M16 3l10 13-10 13L6 16z' stroke='%23020e12' stroke-width='5'/%3E%3Cpath d='M16 3l10 13-10 13L6 16z' stroke='%2352e5ff' stroke-width='2.3'/%3E%3Cpath d='M16 10l4.5 6-4.5 6-4.5-6z' fill='%2352e5ff'/%3E%3C/g%3E%3C/svg%3E") 16 16,pointer}
#viewport canvas[data-order="blocked"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cg stroke='%23140302' stroke-width='5.5'%3E%3Ccircle cx='16' cy='16' r='11'/%3E%3Cpath d='M8.5 23.5l15-15'/%3E%3C/g%3E%3Cg stroke='%23ff4b3e' stroke-width='2.6'%3E%3Ccircle cx='16' cy='16' r='11'/%3E%3Cpath d='M8.5 23.5l15-15'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 16 16,not-allowed}

#order-cursor{--tone:var(--order-move);position:fixed;left:0;top:0;z-index:60;pointer-events:none;display:grid;gap:2px;min-width:74px;max-width:260px;padding:6px 10px 6px 11px;background:#0b1512e6;border:1px solid color-mix(in srgb,var(--tone) 55%,transparent);border-left:3px solid var(--tone);box-shadow:0 3px 14px #000a,0 0 12px color-mix(in srgb,var(--tone) 22%,transparent);font:700 12px/1.15 Arial,Helvetica,sans-serif;letter-spacing:.1em;color:var(--tone);white-space:nowrap;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}
#order-cursor small{font-size:9.5px;font-weight:700;letter-spacing:.12em;color:#d9e6df;opacity:.86;overflow:hidden;text-overflow:ellipsis}
#order-cursor[data-kind="attack"]{--tone:var(--order-attack)}
#order-cursor[data-kind="mine"]{--tone:var(--order-mine)}
#order-cursor[data-kind="board"]{--tone:var(--order-board)}
#order-cursor[data-kind="blocked"]{--tone:var(--order-blocked)}
#order-cursor[data-kind="blocked"] small{color:#ffc9c2}
#order-cursor.flash{animation:order-cursor-flash .45s steps(2) 1}
@keyframes order-cursor-flash{50%{background:#5a120ce6}}

/* Stan jednostki w karcie: kolorowa kropka rozkazu i jedna linijka zamiast „Order: …”. */
.unit-status{--tone:var(--order-idle);display:flex;align-items:center;gap:8px;margin:7px 0 2px;padding:6px 9px;background:color-mix(in srgb,var(--tone) 9%,#0b1512);border-left:3px solid var(--tone);font:700 11px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.09em;color:var(--tone)}
.unit-status::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--tone);box-shadow:0 0 7px var(--tone)}
.unit-status[data-tone="move"]{--tone:var(--order-move)}
.unit-status[data-tone="attack"]{--tone:var(--order-attack)}
.unit-status[data-tone="mine"]{--tone:var(--order-mine)}
.unit-status[data-tone="board"]{--tone:var(--order-board)}
.unit-status[data-tone="blocked"]{--tone:var(--order-blocked)}
.selection-summary .group-status{grid-column:1/-1;width:100%}

/* Rozkaz z minimapy (PPM): krótki puls w punkcie rozkazu, w kolorze rozkazu. */
.minimap-order-mark{--tone:var(--order-move);position:absolute;z-index:3;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--tone);border-radius:50%;pointer-events:none;box-shadow:0 0 8px var(--tone)}
.minimap-order-mark::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--tone)}
.minimap-order-mark[data-kind="mine"]{--tone:var(--order-mine)}
.minimap-order-mark[data-kind="blocked"]{--tone:var(--order-blocked)}
.minimap-order-mark.pulse{animation:minimap-order-pulse .9s ease-out 1 both}
@keyframes minimap-order-pulse{0%{transform:scale(.4);opacity:1}70%{transform:scale(1.5);opacity:.9}100%{transform:scale(1.9);opacity:0}}
#minimap{cursor:crosshair}
/* Nadmiar przy wsiadaniu: ilu się nie zmieści — dopisek na czerwono. */
#order-cursor.overflow small{color:#ff9a8f}

/* Pasek komend zaznaczenia (ui/order-commands.js): HOLD [H] i tryb DROP-OFF Condora. */
.order-commands{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.order-commands button{display:flex;align-items:center;gap:7px;padding:7px 10px;font:700 10px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.1em;color:#e4eee7;background:#16211ee6;border:1px solid #5d6f66}
.order-commands button:hover{border-color:var(--order-move);background:#1e2c27}
.order-commands kbd{display:grid;place-items:center;min-width:17px;height:17px;background:#0b1519;border:1px solid #657b7b;color:#e4eee7;font:700 10px Arial,Helvetica,sans-serif}
.order-commands button[data-command="drop"]{border-color:color-mix(in srgb,var(--order-board) 60%,#5d6f66);color:var(--order-board)}
.order-commands button[data-command="drop"][data-mode="hold"]{color:#c9d3cd;border-color:#5d6f66}
.order-commands button[hidden]{display:none}

/* Karta złoża (SPRINT C5, B1): pasek ilości kryształów i obrońcy na czerwono. */
.deposit-meter{--fill:1;position:relative;height:18px;margin:7px 0 2px;background:#0c1719;border:1px solid #2f5a60;overflow:hidden}
.deposit-meter::before{content:"";position:absolute;inset:0;width:calc(var(--fill)*100%);background:linear-gradient(90deg,#1c7f93,var(--order-mine))}
.deposit-meter span{position:relative;display:block;text-align:center;font:700 10px/18px Arial,Helvetica,sans-serif;letter-spacing:.08em;color:#f0fdff;text-shadow:0 1px 2px #000}
.selection-card dd.danger{color:var(--order-attack)}

/* Ładownia transportu (SPRINT C5, C6): kratka na miejsce z sylwetką pasażera. */
.cargo-grid{margin:8px 0 4px}
.cargo-head{font:700 10px Arial,Helvetica,sans-serif;letter-spacing:.12em;color:var(--order-board);margin-bottom:5px}
.cargo-slots{display:grid;grid-template-columns:repeat(var(--slots,9),minmax(0,1fr));gap:4px;max-width:330px}
.cargo-slot{position:relative;display:grid;align-content:end;justify-items:center;aspect-ratio:3/4;min-width:0;background:#101a18 center 30%/62% no-repeat;border:1px dashed #3d4d47}
.cargo-slot[data-kind="marine"],.cargo-slot[data-kind="player"]{border-style:solid;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238dff9f' d='M12 2c-4 0-7 2.6-7 6.4V11h14V8.4C19 4.6 16 2 12 2zM6 12h12l-1 3H7zM7 16h10l2 6H5z'/%3E%3C/svg%3E");border-color:#4f8d5e}
.cargo-slot[data-kind="player"]{border-color:var(--order-board);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffc54a' d='M12 2c-4 0-7 2.6-7 6.4V11h14V8.4C19 4.6 16 2 12 2zM6 12h12l-1 3H7zM7 16h10l2 6H5z'/%3E%3C/svg%3E")}
.cargo-slot small{font:700 7.5px Arial,Helvetica,sans-serif;letter-spacing:.04em;color:#d7e5dc;background:#000a;width:100%;text-align:center;line-height:1.5;overflow:hidden;white-space:nowrap}

/* Alarm ciała dowódcy (SPRINT C8): klikalny znacznik UNDER ATTACK — kamera na ciało. */
#unit-alerts .unit-alert.clickable{pointer-events:auto;cursor:pointer}
#unit-alerts .unit-alert.clickable .unit-alert-ring{pointer-events:auto}
#unit-alerts .unit-alert.clickable small{pointer-events:auto;border-color:#ffc54a;background:#4a1206f0}
