.cosmic-orbit{isolation:isolate;background:#080d1b!important;border-color:#434057!important;box-shadow:0 18px 80px #0005}
.orbit-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;background:#0b1020;border-bottom:1px solid #d9bd8b24}.orbit-kicker{color:#d9bd8b;font-size:9px;letter-spacing:2px}.orbit-kicker b{display:block;color:#eef3ff;font:500 19px 'Noto Serif KR',serif;letter-spacing:0;margin-top:5px}.orbit-controls>div{display:flex;gap:5px;flex-wrap:wrap}.orbit-controls button{font-size:11px;padding:7px 9px;min-height:32px}.orbit-controls button[aria-pressed=true]{border-color:#d9bd8b80;background:#22243a;color:#f7d6b4}
.cosmic-orbit #graphOverviewV3{background:radial-gradient(ellipse at 60% 25%,#3c24542e,transparent 65%),#080d1b;background-image:none}.orbit-sky{pointer-events:none}.orbit-sky text{fill:#d9bd8b99;font-size:15px;letter-spacing:7px}.cosmic-orbit .map-orbit{stroke:#b8a1dc38;stroke-width:1.5;stroke-dasharray:3 14;pointer-events:none}
.cosmic-orbit .ontology-node{opacity:var(--orbit-depth,1)}.cosmic-orbit .ontology-node.faded{opacity:.18}.cosmic-orbit .ontology-node.dim{opacity:.12}.cosmic-orbit .ontology-node circle,.cosmic-orbit .ontology-node rect{filter:drop-shadow(0 0 10px #a6c8f577);stroke-width:2.5}.cosmic-orbit .ontology-node.female circle{filter:drop-shadow(0 0 11px #f7bad277)}.cosmic-orbit .ontology-node.host rect{filter:drop-shadow(0 0 12px #d9bd8b66)}.cosmic-orbit .ontology-node.self rect{fill:#40283f;stroke:#ff9c9d;stroke-width:5;filter:drop-shadow(0 0 27px #ff7a8499)}.cosmic-orbit .ontology-node.self .node-glyph{fill:#ffe6d4}.cosmic-orbit .ontology-node.focused,.cosmic-orbit .ontology-node.chosen{opacity:1}.cosmic-orbit .ontology-node .node-label{font-size:20px;stroke-width:7;stroke:#080d1b}.cosmic-orbit .ontology-node.self .node-label{font-size:25px}
.cosmic-orbit .ontology-edge path{stroke-opacity:.5}.cosmic-orbit .ontology-edge.neighbor path,.cosmic-orbit .ontology-edge.chosen path{stroke-opacity:1;filter:drop-shadow(0 0 4px #d9bd8b55)}.cosmic-orbit .ontology-edge .orbit-edge-hit{stroke:transparent!important;stroke-width:22!important;stroke-dasharray:none!important;filter:none!important;pointer-events:stroke;cursor:pointer}.cosmic-orbit .ontology-edge .edge-caption{font-size:22px;fill:#f7d6b4;stroke:#080d1b;stroke-width:9;paint-order:stroke;pointer-events:none}.cosmic-orbit .ontology-edge.orbit-picked path:not(.orbit-edge-hit),.cosmic-orbit .ontology-edge:focus-visible path:not(.orbit-edge-hit){stroke:#fff1d6;stroke-opacity:1;stroke-width:6}.cosmic-orbit .ontology-edge.orbit-picked .edge-caption,.cosmic-orbit .ontology-edge:focus-visible .edge-caption{display:block}.cosmic-orbit.orbit-hide-labels .edge-caption{display:none}.cosmic-orbit .ontology-edge.locked .edge-caption{display:none}
.orbit-relation{padding:15px 18px 18px;background:linear-gradient(110deg,#1e1b30,#101626);border-top:1px solid #d9bd8b38;min-height:110px}.orbit-relation>span{display:block;font-size:9px;letter-spacing:2.5px;color:#d9bd8b;margin-bottom:7px}.orbit-relation strong{display:block;font-size:14px;line-height:1.65;color:#f7d6b4;overflow-wrap:anywhere}.orbit-relation p{font-size:12px;line-height:1.7;color:#aeb8cd;margin:6px 0 0}.cosmic-orbit .map-footer{background:#0b1020}.cosmic-orbit.orbit-flat .ontology-node circle,.cosmic-orbit.orbit-flat .ontology-node rect{filter:none}
.cosmic-orbit:not(:has(.labels-expanded)) .ontology-node.locked .node-label{display:none}.cosmic-orbit .ontology-edge.neighbor .edge-caption{display:none}.cosmic-orbit .ontology-edge.orbit-featured .edge-caption,.cosmic-orbit .ontology-edge.chosen .edge-caption,.cosmic-orbit .ontology-edge:hover .edge-caption,.cosmic-orbit .ontology-edge.orbit-picked .edge-caption{display:block}.cosmic-orbit.orbit-hide-labels .ontology-edge .edge-caption,.cosmic-orbit .ontology-edge.locked .edge-caption{display:none}
.cosmic-orbit .ontology-edge:focus-visible .edge-caption{display:block}.cosmic-orbit.orbit-hide-labels .ontology-edge:focus-visible .edge-caption{display:none}
/* Expanded views retain a small relevant caption set instead of exposing every edge. */
#graphOverviewV3 .ontology-edge .edge-caption{display:none}
#graphOverviewV3 .ontology-edge .edge-caption{pointer-events:all;cursor:pointer}
#graphOverviewV3 .ontology-edge:is(.orbit-featured,.chosen,.orbit-picked,:hover,:focus-visible) .edge-caption{display:block}
.cosmic-orbit.orbit-hide-labels #graphOverviewV3 .ontology-edge .edge-caption,#graphOverviewV3 .ontology-edge.locked .edge-caption{display:none}
@media(max-width:600px){.orbit-controls{display:block;padding:12px}.orbit-kicker{display:block;margin-bottom:10px}.orbit-controls>div{gap:6px}.orbit-controls button{flex:1 0 calc(50% - 6px);min-height:38px}.orbit-relation{padding:13px;min-height:125px}.cosmic-orbit #graphOverviewV3{min-height:350px}.orbit-relation strong{font-size:13px}.orbit-sky text{font-size:20px;letter-spacing:4px}}
.orbit-travel{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:#14182a;border-bottom:1px solid #d9bd8b30}.orbit-travel strong{display:block;font-size:14px;color:#f7d6b4}.orbit-travel small{display:block;font-size:11px;color:#aeb8cd;line-height:1.6;margin-top:5px}.orbit-travel>div:last-child{display:flex;gap:6px;flex-shrink:0}.orbit-travel button,.orbit-neighbours button,.orbit-candidates button{min-height:44px;padding:10px 12px;font-size:13px}
.orbit-travel small{width:auto;text-align:left}.orbit-local .ontology-node.focused rect,.orbit-local .ontology-node.focused circle:not(.orbit-node-hit){stroke-width:3;stroke:#fff0d6}.orbit-local .ontology-node.self:not(.focused) .node-label{font-size:13px}
.orbit-local .ontology-edge .orbit-edge-hit{vector-effect:non-scaling-stroke;stroke-width:44px!important}
#graphOverviewV3 .ontology-edge:focus,#graphOverviewV3 .ontology-node:focus{outline:none}
.orbit-distant{display:none!important}.cosmic-orbit .ontology-node .orbit-node-hit{fill:transparent!important;stroke:none!important;filter:none!important;pointer-events:all}.orbit-local .ontology-node .node-label{font-size:13px;stroke-width:4}.orbit-local .ontology-node.self .node-label{font-size:14px}.orbit-local .ontology-node .node-glyph{font-size:14px}.orbit-local .ontology-node.self rect{stroke-width:3}.orbit-local .ontology-node circle,.orbit-local .ontology-node rect{stroke-width:1.5}.orbit-local .ontology-edge path:not(.orbit-edge-hit){vector-effect:non-scaling-stroke;stroke-width:1.5}.orbit-local .ontology-edge .edge-caption{stroke-width:14}.orbit-local .ontology-node.locked .node-label{display:none!important}
.orbit-neighbours,.orbit-candidates{margin-top:16px;padding-top:12px;border-top:1px solid #d9bd8b33}.orbit-neighbours h3,.orbit-candidates h3{font-size:13px;margin:0 0 10px;color:#eef3ff}.orbit-neighbours>div,.orbit-candidates>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.orbit-neighbours button{text-align:left;display:grid;gap:4px;min-width:0}.orbit-neighbours button strong{font-size:13px}.orbit-neighbours button span{font-size:11px;color:#aeb8cd;white-space:normal;overflow-wrap:anywhere}.orbit-candidates button{min-width:0;overflow-wrap:anywhere}.orbit-candidates[hidden]{display:none}.orbit-neighbours p{grid-column:1/-1}
@media(max-width:600px){.orbit-travel{display:block;padding:12px}.orbit-travel>div:last-child{margin-top:10px}.orbit-travel button{flex:1}.orbit-local #graphOverviewV3{min-height:380px}.map-toolbar button{min-height:44px}.orbit-controls button{min-height:44px}}
