.radar-workbench.has-target { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,360px); gap:16px; align-items:start; }
.radar-main { min-width:0; }
.targeting-panel { min-width:0; padding:16px; position:sticky; top:18px; max-height:calc(100dvh - 36px); overflow-y:auto; scrollbar-width:thin; overscroll-behavior:contain; }
.radar-command-tools { display:flex; align-items:flex-end; gap:10px; min-width:0; }
.radar-station .map-controls { top:90px; bottom:auto; }
.island-picker { min-width:0; width:180px; }
.island-picker label { display:block; margin:0 0 4px; font:8px var(--mono); color:var(--muted); letter-spacing:.8px; }
.island-picker select { width:100%; padding:7px 24px 7px 9px; font:10px var(--mono); }
.target-summary { position:absolute; left:12px; right:12px; bottom:12px; display:flex; align-items:center; gap:8px; padding:10px 12px; background:#15221eed; border:1px solid #697e60; box-shadow:inset 0 1px 0 #d0dfc710; }
.target-summary-copy { flex:1; min-width:0; }
.target-summary .eyebrow { display:block; font-size:8px; margin-bottom:4px; }
.target-summary .target-name { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#cdddbe; font:12px var(--mono); }
button.target-name { border:0; background:none; padding:0; text-align:left; }
button.target-name:hover { text-decoration:underline; }
.target-summary > button { flex:none; }
.target-summary .icon-button { width:30px; height:30px; }
.target-summary > .small { font-size:10px; padding:7px 9px; }
.command-menu { position:fixed; z-index:30; width:225px; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); overflow:auto; padding:5px; border:1px solid #61755c; background:#17251f; box-shadow:0 12px 30px #0b111477,inset 0 1px 0 #d0dfc710; }
.command-menu[hidden] { display:none; }
.command-menu button { display:flex; align-items:center; gap:8px; width:100%; padding:10px; border:0; background:none; text-align:left; font:11px/1.4 var(--mono); color:#c3d2b8; }
.command-menu button:hover,.command-menu button:focus-visible { outline:none; background:#30432c; color:#e1ebd9; }
.command-menu button:disabled { opacity:.45; }
.menu-label { padding:9px 10px 4px; border-top:1px solid #364b37; margin-top:4px; font:8px var(--mono); color:#9aaf92; letter-spacing:1px; }
.menu-check { width:12px; }
.island-inspection,.command-readiness,.geospatial-workspace { margin:0 0 16px; }
.island-inspection > summary,.command-readiness > summary,.geospatial-workspace > summary,.priority-notices > summary { cursor:pointer; padding:12px 0; border-bottom:1px solid #3d5144; color:#b4c5a9; font:11px var(--mono); }
.island-inspection[open] > summary { margin-bottom:12px; }
.radar-tracks { margin-top:10px; }
@media (max-width:600px) {
  .radar-command-tools { gap:6px; }
  .island-picker { width:140px; }
  .radar-station .atlas-header { gap:10px; flex-wrap:wrap; }
  .target-summary { left:8px; right:8px; bottom:8px; padding:9px; flex-wrap:wrap; gap:7px; }
  .target-summary-copy { flex-basis:calc(100% - 76px); }
  .target-summary > .small { order:4; width:100%; text-align:center; }
  .command-menu button { min-height:42px; }
}
.production-stockpiles { margin-top:18px; margin-bottom:22px; }
.stockpile-register { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.stockpile-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border:1px solid #3f523d; background:#18271d; min-width:0; }
.stockpile-row .row { min-width:0; }
.stockpile-row .row > .icon { flex:none; width:24px; height:24px; }
.stockpile-row strong { font-size:11px; overflow-wrap:anywhere; }
.stockpile-row small { display:block; font:9px/1.7 var(--mono); color:#a6b89d; margin-top:4px; }
.stockpile-row > button { font-size:9px; flex:none; }
.individual-unit-planner > summary { display:flex; align-items:center; gap:9px; padding:13px; border:1px solid #40583c; background:#1b2c20; font:11px var(--mono); color:#b7cda9; cursor:pointer; }
.individual-unit-planner > summary::before { content:'+'; }
.individual-unit-planner[open] > summary::before { content:'−'; }
.research-funding-readouts { display:flex; flex-wrap:wrap; gap:6px 16px; color:#abc399; font:11px/1.8 var(--mono); margin-top:7px; }
.target-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:12px; }
.target-panel-header h2 { font-size:16px; margin:5px 0 0; overflow-wrap:anywhere; }
.target-panel-header .icon-button { flex:none; }
.target-selection-mode { display:grid; grid-template-columns:1fr; gap:7px; padding:10px 0 0; margin:8px 0; border:0; }
.target-selection-mode legend { font:10px var(--mono); color:#acbaa4; margin-bottom:5px; }
.target-selection-mode label { display:flex; align-items:center; gap:8px; font-size:11px; }
.target-selection-mode input { width:auto; }
.target-selection-mode .icon { width:19px; height:19px; }
.target-ready-choices { max-height:220px; overflow:auto; padding:2px; display:grid; gap:6px; border-top:1px solid #39493c; border-bottom:1px solid #39493c; }
.target-force-choice { display:flex; align-items:flex-start; gap:8px; padding:8px 4px; border-bottom:1px solid #2c3c31; margin:0; }
.target-force-choice:last-child { border:0; }
.target-force-choice input { flex:none; margin:3px 0 0; width:15px; height:15px; }
.target-force-choice > span { min-width:0; }
.target-force-choice strong { display:block; font-size:11px; overflow-wrap:anywhere; }
.target-force-choice small { display:block; color:#a5b5a0; font:9px/1.65 var(--mono); margin-top:4px; }
.target-force-choice.different-base { opacity:.55; }
.target-transit,.target-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:14px 0; }
.target-transit > div,.target-stat-grid > div { min-width:0; padding:6px 0; border-bottom:1px solid #2e4033; }
.target-transit dt,.target-stat-grid dt { font:9px/1.5 var(--mono); color:#a5b79c; }
.target-transit dd,.target-stat-grid dd { margin:4px 0 0; font:12px var(--mono); color:#d1e3c6; }
.target-force-stats { border-bottom:1px solid #354936; margin:9px 0; padding:8px 0; }
.target-force-stats summary { font:10px var(--mono); color:#b9cbae; }
.target-observed-composition { list-style:none; padding:0; display:grid; gap:7px; }
.target-observed-composition li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; font:10px/1.5 var(--mono); color:#bbceae; }
.target-observed-composition small { grid-column:1 / -1; color:#d0bb86; font-size:8px; }
.target-plan-status { display:flex; gap:5px; flex-wrap:wrap; margin-top:12px; }
.target-plan-status .badge { font-size:8px; }
.target-state { color:#a9ba9f; font:10px/1.7 var(--mono); }
.target-warning { margin:10px 0; padding:9px; border:1px solid #876440; background:#392d20; color:#e8cba8; font:10px/1.7 var(--mono); }
.target-outcome { margin:15px 0; font:10px var(--mono); }
.target-outcome .row { gap:8px; }
.target-outcome-bar { overflow:hidden; border:1px solid #526846; height:13px; margin-top:9px; background:#59412e; }
.target-outcome-bar i { display:block; height:100%; background:repeating-linear-gradient(90deg,#a8c17f 0,#a8c17f 6px,#718959 6px,#718959 8px); }
.target-interception { margin:14px 0; padding:11px; border:1px solid #a07e51; background:#322b21; }
.target-interception h3 { display:flex; align-items:center; gap:7px; font-size:12px; margin:0; }
.interception-state { color:#e2cda9; font:10px/1.7 var(--mono); }
.interception-chance { display:block; font:12px var(--mono); margin-bottom:12px; }
.target-interception button { width:100%; }
.pinned-resource { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #8e774d; border-left:4px solid #b8a064; background:#30291d; padding:12px; margin-bottom:10px; }
.pinned-resource.critical { border-color:#ab704f; border-left-color:#db9c6f; }
.pinned-resource .resource-pin-copy { display:flex; align-items:center; gap:12px; min-width:0; }
.resource-pin-copy > .icon { width:25px; height:25px; flex:none; }
.resource-pin-copy small { display:block; font:8px var(--mono); letter-spacing:.8px; color:#c9ae7c; }
.resource-pin-copy strong { display:block; font-size:12px; color:#e7dab9; margin:4px 0; }
.resource-pin-copy p { font:10px/1.65 var(--mono); color:#cfbb97; margin:0; }
.foreign-affairs-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.foreign-affairs-controls .diplomatic-reserves { font:11px var(--mono); color:#bbcdb1; }
.flag-designer-dialog { width:min(1100px,calc(100vw - 32px)); max-width:calc(100vw - 32px); }
.flag-designer-dialog .dialog-content { padding:16px; }
.sensor-allocation > summary { padding:13px 16px; display:flex; align-items:center; gap:10px; cursor:pointer; background:#1e3024; border:1px solid #465d44; font:11px var(--mono); color:#c5d8b8; }
.sensor-allocation > summary::before { content:'+'; color:#aac78b; }
.sensor-allocation[open] > summary::before { content:'−'; }
.sensor-allocation .radar-budget { margin-top:0; }
@media (max-width:1100px) { .radar-workbench.has-target { grid-template-columns:minmax(0,1fr) 300px; } }
@media (max-width:850px) { .radar-workbench.has-target { grid-template-columns:minmax(0,1fr); } .targeting-panel { position:static; max-height:none; } .target-ready-choices { max-height:200px; } .stockpile-register { grid-template-columns:minmax(0,1fr); } }
@media (max-width:600px) { .targeting-panel { padding:13px; } .pinned-resource { flex-wrap:wrap; padding:10px; } .foreign-affairs-controls { align-items:flex-start; gap:8px; } .foreign-affairs-controls .diplomatic-reserves { font-size:10px; line-height:1.8; } .flag-designer-dialog { width:calc(100vw - 16px); max-width:calc(100vw - 16px); } .flag-designer-dialog .dialog-content { padding:8px; } }
.dossier-register > summary { display:flex; align-items:center; gap:12px; }
.dossier-register > summary > span { flex:1; }
.dossier-retention { display:inline-flex; align-items:center; gap:7px; margin:0; font:9px var(--mono); color:var(--muted); }
.dossier-retention output { min-width:27px; text-align:right; }
.retention-dial { position:relative; display:block; width:30px; height:30px; border:1px solid #62766c; border-radius:50%; background:radial-gradient(circle at 38% 30%,#3e4e43,#14221d); box-shadow:inset 0 0 0 3px #101c18; }
.retention-dial input[type="range"] { position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:ns-resize; touch-action:none; }
.retention-dial i { position:absolute; inset:4px; pointer-events:none; transform:rotate(var(--dial-angle)); }
.retention-dial i::before { content:""; display:block; width:2px; height:6px; margin:0 auto; background:#c2d4b2; }
.retention-dial:focus-within { outline:2px solid #c2d4b2; outline-offset:3px; }
.contact-row[data-affiliation="friendly"] > .icon { color:#83c7ef; }
.contact-row[data-affiliation="neutral"] > .icon { color:#a5d596; }
.contact-row[data-affiliation="hostile"] > .icon { color:#f58e80; }
.contact-register .contact-row > .icon { animation:radar-unit-pulse 4s cubic-bezier(.4,0,.2,1) infinite; }
.contact-register .contact-row:nth-child(3n+2) > .icon { animation-delay:-1.3s; }
.contact-register .contact-row:nth-child(3n) > .icon { animation-delay:-2.6s; }
@keyframes radar-unit-pulse { 0%,100% { opacity:1; } 50% { opacity:.6; } }
@media (prefers-reduced-motion:reduce) { .contact-register .contact-row > .icon { animation:none; } }
body[data-motion="off"] .contact-register .contact-row > .icon { animation:none; }
body[data-hidden="true"] .contact-register .contact-row > .icon { animation-play-state:paused; }

.command-menu.contact-peek-menu { width:280px; max-width:calc(100vw - 16px); padding:0; border:1px solid #667969; background:linear-gradient(135deg,#20342f,#101e21); box-shadow:inset 0 1px #c3d5bb3b,inset 0 -1px #071412,0 7px 20px #0008; }
.contact-peek header { padding:11px 12px 8px; border-bottom:1px solid #4e6659; background:linear-gradient(#324839,#22342d); }
.contact-peek header > span { display:flex; align-items:center; gap:7px; }
.contact-peek header b { min-width:0; color:#d5e3cc; font:500 11px/1.4 var(--mono); overflow-wrap:anywhere; }
.contact-peek header small { display:block; padding-top:5px; color:#a6c0ac; font:9px var(--mono); text-transform:uppercase; }
.contact-peek .icon { flex:none; width:18px; height:18px; }
.contact-peek-body { max-height:min(var(--peek-body-max,260px),50vh); overflow:auto; scrollbar-width:thin; padding:9px 12px; }
.contact-peek dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; margin:0; }
.contact-peek dt { color:#96aca5; font:8px/1.4 var(--mono); text-transform:uppercase; }
.contact-peek dd { margin:2px 0 0; color:#d7e3cf; font:10px/1.4 var(--mono); overflow-wrap:anywhere; }
.contact-peek-models { display:grid; gap:6px; border-top:1px solid #3e564c; margin-top:10px; padding-top:8px; color:#bacfba; font:9px/1.4 var(--mono); }
.contact-peek-models span { overflow-wrap:anywhere; }
.contact-peek-models b { float:right; color:#d3dfca; }
.contact-peek-models small { display:block; color:#99b3a4; }
.contact-peek details { margin-top:9px; color:#b4c6b4; font:9px/1.5 var(--mono); }
.contact-peek ol { padding-left:16px; }
.contact-peek > button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; border-top:1px solid #61715f; color:#d9e3c8; background:linear-gradient(#465342,#303b31); box-shadow:inset 0 1px #9caf8047,inset 0 -2px #131c15; }
.intel-domestic-target strong { display:block; margin-top:8px; }
.procurement-shortfall { font-size:10px; color:#d9ac8c; }
.procurement-shortfall:empty { display:none; }
.patrol-holding { color:#b6dda0; }
.target-priority-controls{margin:8px 0;padding:12px;border:1px solid var(--line)}
.target-priority-controls legend{font-size:10px;letter-spacing:.08em}
.target-priority-controls label{display:block;margin:8px 0 4px;font-size:11px}
.target-priority-controls select{width:100%}
