:root{
  --bg:#040a12;--panel:#07131f;--panel2:#0b1a28;--panel3:#0e2233;--line:#19344c;--line2:#285171;
  --text:#e7f2fb;--muted:#718aa0;--soft:#9fb3c4;--blue:#025ADD;--blue2:#2d8cff;--cyan:#26d9ff;
  --green:#32d583;--amber:#f5b942;--red:#ff5f6d;--purple:#bd8cff;--shadow:#000a;
}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a{color:inherit}.cop-app{height:100%;display:grid;grid-template-rows:58px minmax(0,1fr)}
.topbar{display:flex;align-items:center;gap:16px;min-width:0;padding:0 16px;background:linear-gradient(180deg,#091725,#06111c);border-bottom:1px solid var(--line);box-shadow:0 8px 30px #0004;z-index:50}.brand{text-decoration:none;font-weight:900;letter-spacing:.13em;font-size:14px;white-space:nowrap}.brand span{color:var(--blue2)}.product-title{display:flex;align-items:baseline;gap:10px;border-left:1px solid var(--line);padding-left:16px;white-space:nowrap}.product-title b{font-size:15px}.product-title span{color:var(--muted);font:700 9px ui-monospace,monospace;letter-spacing:.13em}.domain-switch{display:grid;grid-template-columns:repeat(3,1fr);min-width:256px;margin:auto;background:#02070d;border:1px solid var(--line2);border-radius:9px;padding:3px;box-shadow:inset 0 0 20px #0008}.mode-button{border:0;background:transparent;color:var(--muted);padding:8px 17px;border-radius:6px;font-size:12px;font-weight:850;letter-spacing:.04em;cursor:pointer}.mode-button:hover{color:var(--text)}.mode-button.active{background:linear-gradient(180deg,#0c64df,#0247b2);color:#fff;box-shadow:0 0 22px #025add66}.top-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.top-actions a{font:700 10px ui-monospace,monospace;color:var(--muted);text-decoration:none}.top-actions a:hover{color:var(--text)}.clock{font:700 11px ui-monospace,monospace;color:var(--soft);margin-left:5px}.live-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:999px;padding:5px 8px;font:800 9px ui-monospace,monospace;color:var(--amber)}.live-pill i,.stage-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.live-pill.live{color:var(--green)}.live-pill.degraded{color:var(--red)}
.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:0}.command-deck{min-height:0;overflow:auto;background:linear-gradient(180deg,#091827,#06111d 60%,#050d16);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.command-deck section{padding:14px 15px;border-bottom:1px solid var(--line)}.mission-header{position:relative;overflow:hidden;background:radial-gradient(circle at 100% -15%,#025add55,transparent 45%)}.mission-header:after{content:"";position:absolute;right:-40px;top:-55px;width:150px;height:150px;border:1px solid #2d8cff44;border-radius:50%;box-shadow:0 0 0 25px #2d8cff0b,0 0 0 50px #2d8cff08}.eyebrow{font:850 9px ui-monospace,monospace;letter-spacing:.16em;color:var(--blue2)}.title-row{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.title-row h1{font-size:24px;margin:6px 0 4px;letter-spacing:-.035em}.title-row span{margin-left:auto;border:1px solid #2d8cff66;border-radius:4px;padding:3px 5px;color:#7cb7ff;font:800 8px ui-monospace,monospace}.mission-header p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.metrics article{padding:9px;background:linear-gradient(180deg,#0d2030,#091823);border:1px solid var(--line);border-radius:7px}.metrics strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}.metrics span{display:block;margin-top:3px;color:var(--muted);font:750 8px ui-monospace,monospace;letter-spacing:.08em}.command-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.command-actions button,.stage-toolbar button,.inspector button,.modal button{border:1px solid var(--line2);background:#0e2232;color:var(--text);border-radius:6px;padding:8px 9px;font-size:9px;font-weight:800;letter-spacing:.045em;cursor:pointer}.command-actions button:hover,.stage-toolbar button:hover,.inspector button:hover,.modal button:hover{background:#13304a}.primary{background:linear-gradient(180deg,#0d68e8,#034ebd)!important;border-color:#2c85f4!important;color:white!important}.section-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}.section-heading h2{margin:0;color:var(--soft);font:850 10px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.section-heading>*:last-child{margin-left:auto}.text-button{border:0;background:transparent;color:var(--blue2);padding:2px;font:850 9px ui-monospace,monospace;cursor:pointer}.count-chip{border:1px solid var(--line2);padding:2px 6px;border-radius:999px;color:var(--muted);font:800 9px ui-monospace,monospace}.layer-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.layer-item{display:flex;align-items:center;gap:7px;min-width:0;padding:7px;background:#091925;border:1px solid var(--line);border-radius:6px;cursor:pointer}.layer-item:hover{border-color:var(--line2)}.layer-item input{appearance:none;width:24px;height:13px;flex:none;border-radius:999px;background:#172c3d;border:1px solid #2b475c;position:relative;cursor:pointer}.layer-item input:after{content:"";position:absolute;left:2px;top:2px;width:7px;height:7px;border-radius:50%;background:#61798d;transition:.15s}.layer-item input:checked{background:#0247b2;border-color:#2d8cff}.layer-item input:checked:after{left:13px;background:white;box-shadow:0 0 7px #fff}.layer-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--soft);font-size:9px}.layer-item small{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}.layer-item.available small{background:var(--green);box-shadow:0 0 7px #32d58377}.objects-section{display:flex;flex-direction:column;min-height:280px}.search-wrap{margin-bottom:8px}.search-wrap input,.modal input,.modal select,.modal textarea{width:100%;border:1px solid var(--line2);border-radius:6px;background:#050e18;color:var(--text);padding:9px 10px;outline:none;font-size:11px}.search-wrap input:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 2px #025add22}.object-list{display:flex;flex-direction:column;gap:6px;padding-bottom:14px}.object-card{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 8px;background:#081722;border:1px solid var(--line);border-radius:7px;cursor:pointer}.object-card:hover,.object-card.selected{border-color:#2d8cff;background:#0b2032}.object-card .symbol{width:11px;height:11px;border:2px solid currentColor;border-radius:50%}.object-card .symbol.task-objective{border-radius:1px;transform:rotate(45deg)}.object-card .symbol.rf-emitter{border:0;background:currentColor;clip-path:polygon(50% 0,100% 100%,0 100%)}.object-card .main{min-width:0}.object-card b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.object-card em{display:block;margin-top:2px;color:var(--muted);font:normal 8px ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-card time{color:var(--muted);font:700 8px ui-monospace,monospace}.empty-state{padding:24px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:7px;font-size:10px}
.picture-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#02070d}.mode-view{position:absolute;inset:0;opacity:0;pointer-events:none;transform:scale(1.006);transition:opacity .18s ease,transform .18s ease}.mode-view.active{opacity:1;pointer-events:auto;transform:none}.mode-view canvas{display:block;width:100%;height:100%;cursor:crosshair;outline:none;background:radial-gradient(circle at 50% 45%,#0a2234,#02070d 70%)}.map-watermark{position:absolute;left:18px;bottom:48px;display:flex;flex-direction:column;gap:2px;pointer-events:none}.map-watermark b{font:900 10px ui-monospace,monospace;letter-spacing:.12em;color:#7fb9ff}.map-watermark span{font:700 8px ui-monospace,monospace;color:#547289}.video-stage{position:absolute;inset:0;background:#02070d;display:grid;place-items:center}.video-stage img{width:100%;height:100%;object-fit:contain;display:none;background:#000}.video-stage img.live{display:block}.renderer-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#0a2540,#02070d 68%)}.renderer-placeholder.hidden{display:none}.placeholder-copy{position:relative;z-index:2;width:min(680px,75%);text-align:center;padding:28px;background:#06131fd9;border:1px solid #285171;border-radius:13px;box-shadow:0 28px 90px #000b,0 0 70px #025add22}.placeholder-copy h2{font-size:27px;margin:8px 0}.placeholder-copy p{color:var(--muted);font-size:12px;line-height:1.6}.architecture-strip{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}.architecture-strip span{padding:6px 9px;border:1px solid #285171;border-radius:5px;background:#0b2032;font:800 9px ui-monospace,monospace}.architecture-strip b{color:var(--blue2)}.wireframe-world{position:absolute;width:min(70vw,900px);aspect-ratio:1;border:1px solid #2d8cff55;border-radius:50%;transform:perspective(700px) rotateX(70deg);box-shadow:0 0 70px #025add33,inset 0 0 70px #025add22}.wireframe-world:before,.wireframe-world:after,.wireframe-world i{content:"";position:absolute;inset:10%;border:1px solid #2d8cff2e;border-radius:50%}.wireframe-world:after{inset:25%}.wireframe-world i:nth-child(1){inset:40%}.wireframe-world i:nth-child(2){left:50%;top:0;bottom:0;width:0;border-radius:0}.wireframe-world i:nth-child(3){top:50%;left:0;right:0;height:0;border-radius:0}.wireframe-world i:nth-child(4){inset:-20%;border-style:dashed;animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.three-d-hud{position:absolute;left:16px;right:16px;bottom:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;pointer-events:none}.three-d-hud div{padding:8px 10px;background:#05111dde;border:1px solid var(--line2);border-radius:7px;box-shadow:0 8px 25px #0008}.three-d-hud span{display:block;color:var(--muted);font:750 8px ui-monospace,monospace}.three-d-hud b{display:block;margin-top:3px;font:850 10px ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-view iframe{width:100%;height:100%;border:0;background:#02070d}.space-cover{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,#102b52,#02070d 64%);transition:opacity .6s}.space-cover.hidden{opacity:0;pointer-events:none}.space-cover>div:last-child{position:relative;z-index:2;width:min(600px,75%);padding:24px}.space-cover h2{font-size:28px;margin:8px 0}.space-cover p{color:var(--muted);line-height:1.6}.orbit-rings{position:absolute;width:min(75vw,800px);aspect-ratio:1;border:1px solid #2d8cff44;border-radius:50%;transform:rotateX(68deg)}.orbit-rings:before,.orbit-rings:after,.orbit-rings i{content:"";position:absolute;inset:15%;border:1px solid #2d8cff3b;border-radius:50%}.orbit-rings:after{inset:30%}.orbit-rings i:nth-child(1){inset:45%;background:#2d8cff;box-shadow:0 0 35px #2d8cff}.orbit-rings i:nth-child(2){width:8px;height:8px;left:12%;top:48%;background:white;box-shadow:0 0 15px white}.orbit-rings i:nth-child(3){width:6px;height:6px;left:78%;top:25%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.stage-status{position:absolute;left:14px;right:14px;bottom:10px;display:flex;align-items:center;pointer-events:none;z-index:20}.stage-status>div{background:#050f19dd;border:1px solid var(--line);padding:7px 9px;box-shadow:0 7px 25px #0008}.stage-status>div:first-child{display:flex;align-items:center;gap:7px;border-radius:6px 0 0 6px;color:var(--amber)}.stage-status b{font:850 9px ui-monospace,monospace}.stage-status span{font:700 9px ui-monospace,monospace;color:var(--muted)}#coordinate-readout{margin-left:auto;border-radius:6px;font:700 9px ui-monospace,monospace;color:var(--soft)}.stage-toolbar{position:absolute;right:14px;top:14px;display:flex;gap:5px;z-index:25}.stage-toolbar button{width:35px;height:32px;padding:0;background:#061522e8;box-shadow:0 7px 22px #0008}.inspector{position:absolute;right:14px;top:58px;bottom:54px;width:min(390px,42vw);z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#071522f2;border:1px solid var(--line2);border-radius:10px;box-shadow:0 22px 70px #000c;transform:translateX(calc(100% + 30px));transition:transform .18s ease;overflow:hidden}.inspector.open{transform:none}.inspector header{display:flex;align-items:flex-start;padding:14px;border-bottom:1px solid var(--line)}.inspector header>div{min-width:0;flex:1}.inspector header span{font:800 8px ui-monospace,monospace;color:var(--blue2);letter-spacing:.12em}.inspector h2{margin:4px 0 0;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector header button{border:0;background:transparent;font-size:20px;padding:0 5px}.inspector-body{overflow:auto;padding:14px}.inspector footer{display:flex;gap:7px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line)}.inspector footer a,.inspector footer button{display:inline-block;text-decoration:none;border:1px solid var(--line2);background:#0e2232;border-radius:6px;padding:8px 9px;font-size:9px;font-weight:800}.detail-section{margin-bottom:16px}.detail-section h3{margin:0 0 8px;color:var(--muted);font:850 9px ui-monospace,monospace;letter-spacing:.1em}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:7px 9px;font-size:11px}.detail-grid .key{color:var(--muted)}.detail-grid .value{overflow-wrap:anywhere}.relationship{display:flex;gap:7px;margin:5px 0;padding:7px;background:#091b29;border:1px solid var(--line);border-radius:5px;font-size:10px}.relationship b{color:var(--blue2)}.context-menu{position:absolute;display:none;z-index:40;min-width:210px;padding:5px;background:#071522f5;border:1px solid var(--line2);border-radius:7px;box-shadow:0 18px 55px #000d}.context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:9px;border-radius:4px;font-size:10px;cursor:pointer}.context-menu button:hover{background:#0d2b43}.modal-backdrop{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:#000b}.modal-backdrop.open{display:grid}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:#071522;border:1px solid var(--line2);border-radius:12px;box-shadow:0 25px 90px #000;padding:17px}.modal header{display:flex;align-items:flex-start;margin-bottom:15px}.modal header>div{flex:1}.modal header span{font:850 8px ui-monospace,monospace;color:var(--blue2);letter-spacing:.14em}.modal h2{margin:4px 0 0}.modal header button{border:0;background:transparent;font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal label{display:block;margin-bottom:10px;color:var(--muted);font:800 9px ui-monospace,monospace;letter-spacing:.07em}.modal label input,.modal label select,.modal label textarea{margin-top:6px;font-family:Inter,system-ui,sans-serif;color:var(--text)}.modal textarea{min-height:85px;resize:vertical}.check-label{display:flex!important;align-items:center;gap:8px;margin-top:22px}.check-label input{width:auto!important;margin:0!important}.modal-actions{display:flex;gap:8px;margin-top:5px}.toast{position:fixed;right:16px;bottom:16px;z-index:200;display:none;max-width:440px;padding:11px 13px;background:#0a2132;border:1px solid var(--line2);border-radius:7px;box-shadow:0 15px 50px #000d;font-size:11px}.toast.error{border-color:#8c3340;color:#ffb5bd}
@media(max-width:1100px){.top-actions a{display:none}.product-title span{display:none}.workspace{grid-template-columns:300px minmax(0,1fr)}.layer-list{grid-template-columns:1fr}.three-d-hud{grid-template-columns:1fr 1fr}.three-d-hud div:nth-child(4){display:none}}
@media(max-width:760px){html,body{overflow:auto}.cop-app{height:auto;min-height:100%;grid-template-rows:auto}.topbar{height:auto;min-height:58px;flex-wrap:wrap;padding:8px 10px}.product-title{display:none}.domain-switch{order:3;width:100%;margin:0}.top-actions{margin-left:auto}.workspace{display:block}.command-deck{height:auto;border-right:0}.mission-header,.metrics,.command-actions{display:none}.layer-section{padding:10px!important}.layer-list{grid-template-columns:1fr 1fr}.objects-section{max-height:240px}.picture-stage{height:70vh;min-height:520px}.inspector{left:8px;right:8px;top:auto;bottom:45px;width:auto;max-height:65%;transform:translateY(calc(100% + 60px))}.inspector.open{transform:none}.stage-toolbar{top:8px;right:8px}.stage-toolbar button{width:31px}.three-d-hud{left:8px;right:8px;bottom:44px}.placeholder-copy{width:90%;padding:18px}.placeholder-copy h2{font-size:21px}.architecture-strip span{font-size:7px}}

/* OPENCOP_LEAFLET_2D_V1 */
#view-2d {
  background:#02070d;
}

#leaflet-map {
  position:absolute;
  inset:0;
  z-index:1;
  background:#06111d;
}

#view-2d #map-canvas {
  position:absolute;
  inset:0;
  z-index:10;
  width:100%;
  height:100%;
  background:transparent;
  pointer-events:none;
}

#view-2d .leaflet-container {
  width:100%;
  height:100%;
  background:#06111d;
  font-family:Inter,system-ui,sans-serif;
}

#view-2d .leaflet-control-attribution {
  background:#05111dcc;
  color:#7b91a3;
  font-size:8px;
}

#view-2d .leaflet-control-attribution a {
  color:#69aaff;
}

#view-2d .leaflet-control-zoom {
  display:none;
}

#view-2d .leaflet-tile-pane {
  filter:brightness(.72) saturate(.72) contrast(1.15);
}

#view-2d .map-watermark {
  z-index:15;
}

/* OPENCOP_2D_MAP_FIX_v1_0_1 */
/* Both layers share one untransformed CSS-pixel coordinate space. */
#view-2d { transform:none !important; transition:opacity .18s ease; }
#view-2d #leaflet-map {
  position:absolute; inset:0; z-index:1; width:100%; height:100%;
}
#view-2d #map-canvas {
  position:absolute; inset:0; z-index:10; display:block;
  width:100%; height:100%; background:transparent !important;
  pointer-events:none; transform:none !important;
}
/* END_OPENCOP_2D_MAP_FIX_v1_0_1 */
