/* Apex Atlas — live Obsidian-style operational map */
.atlas-page-head{align-items:flex-start}
.atlas-kicker{display:flex;align-items:center;gap:8px;color:var(--accent,#ff6a00);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.atlas-kicker::before{content:"";width:22px;height:1px;background:currentColor;box-shadow:0 0 10px currentColor}
.atlas-head-copy{max-width:780px}
.atlas-head-copy h2{margin:.3rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.5rem);letter-spacing:-.04em}
.atlas-head-copy p{margin:0;color:var(--muted,#94a3b8);max-width:70ch}
.atlas-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.atlas-action{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:rgba(15,23,42,.68);color:#dbe6f4;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.atlas-action:hover,.atlas-action:focus-visible{border-color:rgba(255,106,0,.62);background:rgba(255,106,0,.1);transform:translateY(-1px);outline:none}
.atlas-action[aria-pressed="true"]{color:#fff4e8;border-color:rgba(255,106,0,.74);background:linear-gradient(135deg,rgba(255,106,0,.27),rgba(255,138,0,.1));box-shadow:inset 0 0 0 1px rgba(255,180,100,.08),0 0 22px rgba(255,106,0,.12)}
.atlas-live-dot{width:7px;height:7px;border-radius:50%;background:#64748b;box-shadow:0 0 0 0 rgba(34,197,94,0)}
.atlas-action[aria-pressed="true"] .atlas-live-dot{background:#22c55e;box-shadow:0 0 13px rgba(34,197,94,.9);animation:atlas-live-pulse 1.8s ease-in-out infinite}

.atlas-console{margin-top:16px;border:1px solid rgba(148,163,184,.16);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(8,13,23,.94),rgba(3,7,14,.98));box-shadow:0 24px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03)}
.atlas-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.13);background:rgba(8,13,23,.82);backdrop-filter:blur(16px)}
.atlas-search-wrap{position:relative;display:flex;align-items:center;max-width:560px}
.atlas-search-wrap svg{position:absolute;left:12px;width:15px;height:15px;color:#6f8298;pointer-events:none}
.atlas-search{width:100%;height:38px;padding:0 80px 0 36px;border:1px solid rgba(148,163,184,.17);border-radius:10px;background:rgba(2,6,12,.72);color:#f8fafc;font:inherit;font-size:.82rem;outline:none;transition:border-color .2s,box-shadow .2s}
.atlas-search:focus{border-color:rgba(255,106,0,.55);box-shadow:0 0 0 3px rgba(255,106,0,.08)}
.atlas-search::placeholder{color:#64748b}
.atlas-search-hint{position:absolute;right:10px;color:#53657a;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.atlas-lenses{display:flex;gap:5px;padding:4px;border:1px solid rgba(148,163,184,.13);border-radius:11px;background:rgba(2,6,12,.54)}
.atlas-lens{height:29px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:#75879c;font:inherit;font-size:.67rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}
.atlas-lens:hover,.atlas-lens:focus-visible{color:#dce7f5;outline:none}
.atlas-lens.is-active{background:rgba(255,106,0,.16);color:#ffb36f;box-shadow:inset 0 0 0 1px rgba(255,106,0,.2)}

.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;min-height:690px}
.atlas-stage-wrap{position:relative;min-width:0;overflow:hidden;border-right:1px solid rgba(148,163,184,.13);background:radial-gradient(circle at 50% 48%,rgba(255,106,0,.045),transparent 31%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),#02060c;background-size:auto,42px 42px,42px 42px,auto}
.atlas-stage-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,6,12,.42),transparent 9%,transparent 91%,rgba(2,6,12,.42)),linear-gradient(rgba(2,6,12,.34),transparent 10%,transparent 90%,rgba(2,6,12,.48));z-index:3}
.atlas-stage{position:absolute;inset:0;min-height:690px;overflow:hidden;touch-action:none;cursor:grab}
.atlas-stage.is-panning{cursor:grabbing}
.atlas-stage svg{display:block;width:100%;height:100%;min-height:690px;user-select:none;-webkit-user-select:none}
.atlas-loading{display:grid;place-items:center;height:100%;min-height:690px;color:#64748b;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.atlas-stage-controls{position:absolute;top:14px;right:14px;z-index:5;display:flex;align-items:center;padding:3px;border:1px solid rgba(148,163,184,.17);border-radius:11px;background:rgba(2,6,12,.82);backdrop-filter:blur(12px);box-shadow:0 10px 24px rgba(0,0,0,.24)}
.atlas-stage-controls button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#dce7f5;font:800 1.15rem/1 var(--font-sans,Inter,sans-serif);cursor:pointer}
.atlas-stage-controls button:hover,.atlas-stage-controls button:focus-visible{background:rgba(255,106,0,.15);color:#ffb36f;outline:2px solid rgba(255,106,0,.55);outline-offset:-2px}
.atlas-stage-controls output{min-width:49px;color:#8092a7;font-size:.66rem;font-weight:850;text-align:center}
.atlas-hud{position:absolute;left:14px;right:14px;bottom:14px;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;pointer-events:none}
.atlas-gesture{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(148,163,184,.13);border-radius:9px;background:rgba(2,6,12,.74);backdrop-filter:blur(12px);color:#66798f;font-size:.65rem;font-weight:750;letter-spacing:.04em}
.atlas-gesture strong{color:#9dafc2}
.atlas-selection{max-width:min(430px,60%);padding:10px 12px;border:1px solid rgba(255,106,0,.22);border-radius:11px;background:rgba(7,11,18,.84);backdrop-filter:blur(14px);box-shadow:0 16px 35px rgba(0,0,0,.25);color:#9dafc2;font-size:.7rem;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .22s,transform .22s}
.atlas-selection.is-visible{opacity:1;transform:none}
.atlas-selection strong{display:block;color:#fff2e7;font-size:.8rem}

.atlas-rail{display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(8,13,23,.84),rgba(3,7,14,.95));min-width:0}
.atlas-rail-section{padding:15px;border-bottom:1px solid rgba(148,163,184,.12)}
.atlas-rail-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 11px;color:#718399;font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.atlas-rail-title span{color:#ff8b32}
.atlas-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.atlas-stat{padding:10px;border:1px solid rgba(148,163,184,.11);border-radius:10px;background:rgba(2,6,12,.48)}
.atlas-stat strong{display:block;color:#f8fafc;font-size:1.05rem;letter-spacing:-.03em}
.atlas-stat span{color:#65778d;font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.atlas-legend{display:flex;flex-wrap:wrap;gap:6px}
.atlas-type-chip{display:inline-flex;align-items:center;gap:6px;height:27px;padding:0 8px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:rgba(2,6,12,.42);color:#8ea0b4;font:inherit;font-size:.63rem;font-weight:740;cursor:pointer;transition:opacity .2s,border-color .2s,color .2s}
.atlas-type-chip:hover,.atlas-type-chip:focus-visible{border-color:var(--chip-color);color:#fff;outline:none}
.atlas-type-chip.is-active{border-color:var(--chip-color);color:#fff;background:color-mix(in srgb,var(--chip-color) 14%,rgba(2,6,12,.42))}
.atlas-type-chip.is-muted{opacity:.3}
.atlas-type-swatch{width:7px;height:7px;border-radius:50%;background:var(--chip-color);box-shadow:0 0 9px color-mix(in srgb,var(--chip-color) 65%,transparent)}
.atlas-type-count{color:#52657b}
.atlas-signals{display:flex;flex-direction:column;gap:3px;max-height:260px;overflow:auto;scrollbar-width:thin}
.atlas-signal{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;width:100%;padding:8px 5px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.atlas-signal:hover,.atlas-signal:focus-visible{background:rgba(255,106,0,.07);outline:none}
.atlas-signal-dot{width:6px;height:6px;margin-top:5px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 9px rgba(255,106,0,.5)}
.atlas-signal-copy{min-width:0}
.atlas-signal-copy strong{display:block;overflow:hidden;color:#c7d3e1;font-size:.69rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}
.atlas-signal-copy span{display:block;margin-top:2px;color:#5f7288;font-size:.6rem}
.atlas-signal.is-unmapped{cursor:default}
.atlas-rail-note{margin-top:auto;padding:14px 15px;color:#52657a;font-size:.62rem;line-height:1.5}
.atlas-rail-note strong{color:#8496aa}

.atlas-edge{stroke:#243345;stroke-width:1;opacity:.38;vector-effect:non-scaling-stroke;transition:opacity .2s,stroke .2s,stroke-width .2s}
.atlas-edge.edge-contains{stroke:#34485c}
.atlas-edge.edge-owns{stroke:#bf5a18}
.atlas-edge.edge-linked{stroke:#3b82f6}
.atlas-edge.edge-blocks{stroke:#ef4444;stroke-dasharray:4 5}
.atlas-edge.edge-supports{stroke:#8b5cf6}
.atlas-edge.is-neighbor{opacity:.92;stroke:#ff8a32;stroke-width:1.45}
.atlas-edge.is-dimmed{opacity:.045}
.is-live .atlas-edge:not(.is-dimmed){stroke-dasharray:3 8;animation:atlas-signal-flow 13s linear infinite}
.is-live .atlas-edge.is-neighbor{animation-duration:3.6s}

.atlas-node{--node-color:#94a3b8;cursor:pointer;outline:none;transition:opacity .2s}
.atlas-node .node-hit{fill:transparent}
.atlas-node .node-halo{fill:none;stroke:var(--node-color);stroke-width:1;opacity:.12;vector-effect:non-scaling-stroke;transition:opacity .2s,stroke-width .2s}
.atlas-node .node-body{fill:color-mix(in srgb,var(--node-color) 15%,#07101a);stroke:color-mix(in srgb,var(--node-color) 78%,#fff 4%);stroke-width:1.35;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--node-color) 35%,transparent));transition:r .2s,filter .2s,fill .2s}
.atlas-node .node-mark{fill:#f8fafc;font-family:var(--font-sans,Inter,sans-serif);font-size:6px;font-weight:900;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.atlas-node .node-label{fill:#8295aa;font-family:var(--font-sans,Inter,sans-serif);font-size:8px;font-weight:700;paint-order:stroke;stroke:#02060c;stroke-width:3px;stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity .18s,fill .18s}
.atlas-node.type-workspace .node-label,.atlas-node.type-project .node-label,.atlas-node.type-agent .node-label{opacity:.88}
.atlas-node.type-workspace .node-label{fill:#f7c79d;font-size:9px;font-weight:850}
.atlas-stage.is-compact .atlas-node.type-workspace .node-label,
.atlas-stage.is-compact .atlas-node.is-selected .node-label,
.atlas-stage.is-compact .atlas-node:focus-visible .node-label,
.atlas-stage.is-compact .atlas-node.is-search-match .node-label{font-size:17px}
.atlas-stage.is-compact .atlas-node:not(.type-workspace):not(.is-selected):not(:focus-visible):not(.is-search-match) .node-label{display:none}
.atlas-node:hover .node-halo,.atlas-node:focus-visible .node-halo,.atlas-node.is-selected .node-halo,.atlas-node.is-neighbor .node-halo{opacity:.6;stroke-width:2}
.atlas-node:hover .node-body,.atlas-node:focus-visible .node-body,.atlas-node.is-selected .node-body{fill:color-mix(in srgb,var(--node-color) 30%,#07101a);filter:drop-shadow(0 0 11px color-mix(in srgb,var(--node-color) 70%,transparent))}
.atlas-node:hover .node-label,.atlas-node:focus-visible .node-label,.atlas-node.is-selected .node-label,.atlas-node.is-neighbor .node-label,.atlas-node.is-search-match .node-label{opacity:1;fill:#f8fafc}
.atlas-node.is-selected .node-label{font-weight:900}
.atlas-node.is-dimmed{opacity:.09}
.atlas-node.is-search-match .node-halo{opacity:1;stroke-width:2.3}
.atlas-node.is-search-match .node-body{filter:drop-shadow(0 0 13px color-mix(in srgb,var(--node-color) 90%,transparent))}
.atlas-node.is-signal .node-halo{animation:atlas-node-signal 1.4s ease-out 2}
.atlas-node.is-recent .node-halo{opacity:.3}
.is-live .atlas-node.is-recent .node-halo{animation:atlas-node-breathe 3.4s ease-in-out infinite}

.atlas-core .core-glow{fill:url(#atlas-core-gradient);filter:url(#atlas-glow);opacity:.94}
.atlas-core .core-shell{fill:rgba(8,13,21,.93);stroke:#ff8129;stroke-width:1.2;filter:drop-shadow(0 0 15px rgba(255,106,0,.4))}
.atlas-core .core-mark{fill:#fff6ee;filter:drop-shadow(0 0 8px rgba(255,106,0,.7))}
.atlas-core .core-ring{fill:none;stroke:#ff7a1a;stroke-width:.75;stroke-dasharray:3 7;opacity:.58;transform-box:fill-box;transform-origin:center}
.atlas-core .core-ring.ring-b{stroke:#385370;stroke-dasharray:2 5;opacity:.7}
.atlas-core .core-label{fill:#fff6ee;font-family:var(--font-sans,Inter,sans-serif);font-size:8px;font-weight:950;letter-spacing:2.2px;text-anchor:middle;dominant-baseline:central}
.atlas-core .core-sub{fill:#ff9b53;font-family:var(--font-sans,Inter,sans-serif);font-size:3.6px;font-weight:850;letter-spacing:1.1px;text-anchor:middle}
.is-live .atlas-core .core-ring{animation:atlas-orbit 18s linear infinite}
.is-live .atlas-core .core-ring.ring-b{animation-direction:reverse;animation-duration:27s}
.is-live .atlas-core .core-glow{animation:atlas-core-breathe 4.4s ease-in-out infinite}

.atlas-empty{display:grid;place-items:center;height:100%;min-height:560px;color:#64748b;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

@keyframes atlas-signal-flow{to{stroke-dashoffset:-44}}
@keyframes atlas-node-signal{0%{r:10;opacity:.95}100%{r:24;opacity:0}}
@keyframes atlas-node-breathe{0%,100%{opacity:.14}50%{opacity:.55}}
@keyframes atlas-live-pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.45),0 0 10px rgba(34,197,94,.8)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0),0 0 15px rgba(34,197,94,.95)}}
@keyframes atlas-orbit{to{transform:rotate(360deg)}}
@keyframes atlas-core-breathe{0%,100%{opacity:.72;transform:scale(.96);transform-origin:center}50%{opacity:1;transform:scale(1.07);transform-origin:center}}

body[data-visual-mode="calm"] .atlas-edge,body[data-visual-mode="calm"] .atlas-core *,body[data-visual-mode="calm"] .atlas-node *{animation:none!important}

@media (max-width:1100px){
  .atlas-toolbar{grid-template-columns:1fr}.atlas-lenses{justify-self:start}
  .atlas-layout{grid-template-columns:minmax(0,1fr) 245px}
}
@media (max-width:820px){
  .atlas-page-head{display:block}.atlas-head-actions{justify-content:flex-start;margin-top:12px}
  .atlas-layout{display:block}.atlas-stage-wrap{height:560px;border-right:0;border-bottom:1px solid rgba(148,163,184,.13)}.atlas-stage,.atlas-stage svg{min-height:560px}
  .atlas-rail{display:grid;grid-template-columns:1fr 1fr}.atlas-rail-section{border-right:1px solid rgba(148,163,184,.12)}.atlas-rail-note{grid-column:1/-1}
}
@media (max-width:560px){
  .atlas-toolbar{padding:10px}.atlas-lenses{width:100%;overflow:auto}.atlas-lens{flex:1;padding:0 7px;font-size:.59rem}
  .atlas-stage-wrap{height:500px}.atlas-stage,.atlas-stage svg{min-height:500px}.atlas-hud{left:9px;right:9px;bottom:9px}.atlas-gesture{display:none}.atlas-selection{max-width:100%;width:100%}
  .atlas-rail{display:block}.atlas-head-actions .atlas-action{flex:1;justify-content:center}.atlas-stats{grid-template-columns:repeat(4,1fr)}.atlas-stat{padding:8px 5px}.atlas-stat strong{font-size:.9rem}.atlas-stat span{font-size:.5rem}
}
@media (prefers-reduced-motion:reduce){
  .atlas-edge,.atlas-node *,.atlas-core *,.atlas-action,.atlas-selection,.atlas-live-dot{animation:none!important;transition:none!important}
}
