/* v7.1 visual layer: independent from core graph + catalog components. */
#constellation-hud[hidden], #constellation-suggestions[hidden], #constellation-source[hidden] { display:none!important; }
.constellation-hud { position:fixed;z-index:26;top:83px;left:16px;width:min(345px,calc(100vw - 32px));padding:13px 14px 12px;
 background:linear-gradient(145deg,rgba(12,39,32,.94),rgba(9,18,29,.95));backdrop-filter:blur(16px);
 border:1px solid rgba(218,185,108,.42);border-radius:17px;box-shadow:0 12px 40px rgba(0,0,0,.48);color:#eefbf5;pointer-events:auto; }
.constellation-hud-heading {display:flex;justify-content:space-between;align-items:center;gap:12px}
.constellation-eyebrow {font-size:9px;font-weight:800;letter-spacing:.14em;color:#c3ae75;display:block}
#constellation-heading {font-size:14px;font-weight:750;color:#edfbef;display:block;line-height:1.5;overflow-wrap:anywhere}
#constellation-close {width:32px;height:32px;flex:none;border:1px solid #54715b;border-radius:10px;color:#f0d49b;background:#17372d}
.constellation-search-wrap {display:flex;gap:9px;align-items:center;margin-top:9px;border:1px solid #436a56;border-radius:10px;padding:7px 10px;background:rgba(2,14,19,.68);color:#d8bb77}
#constellation-search {color:#fff;background:transparent;outline:0;border:0;width:100%;min-width:0;font-size:13px}
#constellation-search::placeholder {color:#9db6a8}
.constellation-suggestions {position:absolute;top:calc(100% - 10px);left:12px;right:12px;max-height:240px;overflow-y:auto;background:#0e2725;border:1px solid #4c7867;border-radius:0 0 12px 12px;box-shadow:0 16px 35px #0009;z-index:31;color:#dcefe5;font-size:12px}
.constellation-suggestions button {display:block;width:100%;padding:10px;text-align:left;border-bottom:1px solid #315248;color:#edfbef}
.constellation-suggestions button:hover,.constellation-suggestions button:focus-visible {background:#1c493b}
.constellation-status {font-size:11px;line-height:1.5;color:#b7d3c1;margin-top:8px;min-height:18px}
.constellation-actions {display:flex;align-items:center;gap:5px;margin-top:8px}
.constellation-actions button,.constellation-actions a {border:1px solid #426957;border-radius:8px;color:#e5c98a;padding:5px 9px;font-size:11px;font-weight:700;min-height:28px;white-space:nowrap}
.constellation-actions button:disabled {opacity:.35}
#constellation-page {font-size:10px;min-width:62px;color:#a8d3bf;text-align:center;font-variant-numeric:tabular-nums}
#constellation-audit {margin-left:auto}
#constellation-source {background:#166a51;color:#fff;border-color:#3cc99a}
.constellation-svg-layer {pointer-events:none}
.constellation-edge {stroke-width:1.5;stroke-dasharray:5 7;animation:constellation-flow 9s linear infinite;opacity:.8}
.constellation-tag-pill {fill:#182c27;stroke:#e0c17b;stroke-width:1.3;filter:url(#neon-glow)}
.constellation-category-pill {fill:#122d2a;stroke:#58d5a9;stroke-width:1.3;filter:url(#neon-glow)}
.constellation-satellite {cursor:pointer;pointer-events:auto;animation:constellation-arrive .28s ease-out both;outline:none}
.constellation-satellite:hover rect,.constellation-satellite:focus-visible rect {stroke-width:2.7;fill:#255b4a}
.constellation-satellite:focus-visible rect {stroke:#fff1c1}
.constellation-pill-title {fill:#f8faf5;font-size:11px;font-weight:750;pointer-events:none}
.constellation-pill-count {fill:#accab8;font-size:9px;pointer-events:none}
.constellation-central-node rect {stroke-width:2.1;filter:url(#neon-glow)}
.constellation-central-article {fill:#1a332b;stroke:#eac679}
.constellation-central-tag {fill:#142e2a;stroke:#59deac}
.constellation-central-category {fill:#1f322a;stroke:#e1c37a}
.constellation-central-title {fill:#f5f7ec;font-size:12px;font-weight:800}
.constellation-central-subtitle {fill:#deb96f;font-size:9px;letter-spacing:1.1px}
.constellation-category-halo {fill:rgba(218,189,109,.08);stroke:#e6c475;stroke-width:1.8;stroke-dasharray:4 6;animation:constellation-flow 9s linear infinite}
.constellation-map-label {fill:#ebcf94;font-size:11px;font-weight:750;letter-spacing:1.4px;paint-order:stroke;stroke:#0b1820;stroke-width:4px}
.constellation-empty-label {fill:#e5c98f;font-size:12px;paint-order:stroke;stroke:#0b1920;stroke-width:4px}
body.constellation-spotlight .viewport-group {opacity:.08;pointer-events:none;transition:opacity .2s}
body.constellation-category .viewport-group {opacity:.6;transition:opacity .2s}
body.constellation-active #canvas-container {cursor:default}
.article-constellation-button {display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(222,191,113,.45);color:#eccf8b;background:rgba(79,69,36,.22);font-size:11px;font-weight:750;border-radius:9px;padding:7px 11px;margin-top:9px;min-height:34px}
.article-constellation-button:hover,.article-constellation-button:focus-visible {background:rgba(177,135,56,.25);border-color:#ebcd81}
@keyframes constellation-flow {from{stroke-dashoffset:0}to{stroke-dashoffset:-220}}
@keyframes constellation-arrive {from{opacity:.05}to{opacity:1}}
@media(max-width:767px){
 .constellation-hud {top:76px;left:8px;width:min(285px,calc(100vw - 58px));padding:9px 10px}
 .constellation-eyebrow{font-size:8px}
 #constellation-heading{font-size:12px}
 .constellation-search-wrap{margin-top:5px;padding:5px 8px}
 #constellation-search{font-size:16px}
 .constellation-status{font-size:10px;line-height:1.35;margin-top:5px;max-height:46px;overflow-y:auto}
 .constellation-actions{margin-top:5px}
 .constellation-actions button,.constellation-actions a{padding:5px 7px;font-size:10px}
 #constellation-page{min-width:52px}
 .constellation-pill-title{font-size:10px}
 .constellation-pill-count{font-size:8px}
 .constellation-central-title{font-size:10px}
}
@media(max-width:350px){.constellation-hud {width:250px}.constellation-hud #constellation-audit{padding:5px}}
@media(prefers-reduced-motion:reduce){.constellation-edge,.constellation-category-halo,.constellation-satellite{animation:none!important}}

/* v7.3 Cinematic Orbit — GPU-light strokes, text remains upright. */
.constellation-orbit-rings {pointer-events:none;}
.constellation-orbit-track {fill:none;stroke:#b8d9bd;stroke-width:1;stroke-dasharray:3 10;opacity:.26;filter:drop-shadow(0 0 3px #2ec9a444);}
.constellation-orbit-track-inner {stroke:#deb974;stroke-dasharray:2 13;opacity:.14;}
.constellation-ambient-ring {fill:none;stroke:#dbb969;stroke-width:1;opacity:.33;stroke-dasharray:2 7;animation:constellation-aura 9s ease-in-out infinite;}
.constellation-central-node {animation:constellation-core-arrive .52s cubic-bezier(.15,.85,.25,1) both;}
.constellation-central-node rect {filter:drop-shadow(0 0 9px #e6c27759);}
.constellation-edge {stroke-width:1.45;filter:drop-shadow(0 0 3px #d7c48e66);}
.constellation-satellite {animation:constellation-arrive .55s cubic-bezier(.17,.85,.2,1) both;}
.constellation-transition-ghost {pointer-events:none!important;}
@keyframes constellation-aura {0%,100%{opacity:.17;stroke-width:.8}50%{opacity:.5;stroke-width:1.65}}
@keyframes constellation-core-arrive {from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce) {
  .constellation-central-node,.constellation-ambient-ring,.constellation-satellite {animation:none!important;}
}

@media(max-width:767px){.constellation-edge,.constellation-orbit-track{filter:none;}}

/* v8.6 — Cross-Branch Semantic Bridges. Kejelasan lebih penting daripada dekorasi. */
#tag-bridge-scope[hidden], #tag-bridge-cross-legend[hidden] { display:none!important; }
.tag-bridge-scope {margin-top:10px;padding:10px 11px;border:1px solid rgba(76,139,113,.6);border-radius:11px;
  background:rgba(7,28,30,.76);min-width:0;box-sizing:border-box;}
.tag-bridge-eyebrow {display:block;font-size:9px;letter-spacing:.1em;font-weight:800;color:#e2c57e;}
.tag-bridge-switch {display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}
.tag-bridge-switch button {font-size:11px;font-weight:700;flex:1 1 100px;min-width:0;min-height:32px;
  padding:6px 8px;border:1px solid rgba(74,128,109,.8);border-radius:8px;background:#15352f;color:#d2e8db;}
.tag-bridge-switch button[aria-pressed="true"] {background:#0d805f;border-color:#64d7ac;color:#fff;}
.tag-bridge-switch button:disabled {opacity:.43;cursor:not-allowed;}
.tag-bridge-switch button:focus-visible {outline:2px solid #f1d38a;outline-offset:2px;}
.tag-bridge-context {margin:6px 0 0;color:#abc9bd;font-size:10px;overflow-wrap:anywhere;}
.tag-bridge-legend {display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:6px;color:#d0e9dc;font-size:10px;}
.tag-bridge-legend > span {display:inline-flex;align-items:center;gap:5px;}
.tag-bridge-dot {display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;}
.tag-bridge-dot-local {background:#53dba7;box-shadow:0 0 6px #53dba788;}
.tag-bridge-dot-cross {background:#69d7ed;box-shadow:0 0 6px #69d7ed88;}
@media(max-width:767px){.tag-bridge-scope{padding:8px;margin-top:7px}.tag-bridge-switch button{font-size:10px;min-height:30px}}
