/* Search and branch controls belong to the tree, across all ERA themes. */
.era-visual .tree-skill-search{position:absolute;z-index:40;top:55px;left:50%;transform:translateX(-50%);width:min(82%,490px)}
.tree-skill-search>label{display:flex;align-items:center;gap:12px;padding:0 14px;height:47px;border:1px solid #438da078;border-radius:14px;background:linear-gradient(120deg,#0b2537ed,#071421ee);box-shadow:0 12px 45px #0005,inset 0 1px #b3eaff15;backdrop-filter:blur(18px);color:#73ddf8}
.tree-skill-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#d7f5ff!important;min-width:0;width:100%;padding:10px 0!important;font:12px system-ui!important}
.tree-skill-search input::placeholder{color:#7c9fad}.tree-skill-search label:focus-within{outline:2px solid #64d8ed;outline-offset:3px}.tree-skill-search kbd{padding:2px 6px;border:1px solid #4b7c8c66;border-radius:4px;font:10px monospace;color:#83a8b8}
.tree-skill-search>p{margin:9px 0;text-align:center;font:10px system-ui;color:#8db4c5;letter-spacing:.4px}
#tree-skill-results{position:absolute;top:52px;width:100%;padding:6px;border:1px solid #326478;border-radius:12px;background:#071622f5;box-shadow:0 20px 40px #0009;backdrop-filter:blur(18px)}
#tree-skill-results[hidden]{display:none}#tree-skill-results button{display:block;width:100%;padding:11px 12px;border:0;border-radius:7px;background:transparent;text-align:left;color:#bfe7f6;font:12px system-ui}#tree-skill-results button:hover,#tree-skill-results [aria-selected=true]{background:#123d50;color:#e4fbff}
.era-visual .tree-3d-controls{position:absolute;z-index:35;bottom:43px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px 20px;flex-wrap:wrap;width:90%;text-align:center}
.tree-3d-controls>span{font:8px ui-monospace,monospace;letter-spacing:2px;color:#6695a9}.tree-3d-controls b{display:block;margin-top:5px;font:12px system-ui;letter-spacing:3px;font-weight:500;color:#c2eafa}.tree-3d-controls button{border:1px solid #4e91a159;padding:7px 11px;border-radius:20px;background:#08212ccc;color:#92c9da;font:10px system-ui;cursor:pointer}.tree-3d-controls small{flex-basis:100%;font:9px system-ui;color:#5b879a}
.era-visual .tree-stage{position:absolute;inset:132px 0 100px!important;transform:none!important;transition:none;perspective:none;touch-action:pan-y;cursor:default}.tree-stage.is-over-tree{cursor:grab}.tree-stage.is-dragging{cursor:grabbing}.tree-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:4;outline:0}
.tree-skill-node{position:absolute;left:0;top:0;z-index:10;display:flex;align-items:center;gap:7px;border:0;background:none;padding:5px;color:#d5f5ff;cursor:pointer;opacity:var(--node-opacity,1);transition:opacity 180ms ease;touch-action:manipulation;white-space:nowrap;font:11px system-ui;text-align:left;text-shadow:0 1px 8px #000;pointer-events:auto}
.tree-skill-node .skill-pin{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #65d9f78c;border-radius:50%;background:#0a293ae8;color:#a8f1ff;box-shadow:0 0 17px #15cbff44,inset 0 0 10px #3cf1ff15;font:15px system-ui;transition:background-color 140ms ease}
.tree-skill-node .skill-name{padding:6px 10px;border:1px solid #4da2b54f;border-radius:8px;background:linear-gradient(110deg,#0b2939ef,#071b29e8);backdrop-filter:blur(7px)}.skill-name small{display:block;margin-top:3px;font:8px system-ui;color:#7ea9bb}
.tree-skill-node.is-back .skill-name{opacity:.5}.tree-skill-node:hover,.tree-skill-node:focus-visible,.tree-skill-node.is-selected{opacity:1!important;z-index:30!important}.tree-skill-node:hover .skill-pin,.tree-skill-node.is-selected .skill-pin{background:#14617a;box-shadow:0 0 24px #31d7ff88}.tree-skill-node.is-selected .skill-name{border-color:#8defff;background:#103e50f0}.tree-skill-node.is-muted{opacity:.17!important}
.era-visual:not(.tree-3d-ready) .tree-skill-node{display:none}.tree-3d-ready .tree-stage>.era-tree,.tree-3d-ready .tree-stage>.tree-node,.tree-3d-ready .tree-stage>.orbit,.tree-3d-ready .tree-ground{display:none!important}
.tree-3d-ready .tree-halo{width:90%;height:90%;top:45%;opacity:.7;pointer-events:none}.tree-3d-fallback .tree-stage{inset:132px 0 90px!important}
@media(max-width:1150px){.tree-skill-node{font-size:10px}.tree-skill-node .skill-name{padding:5px 7px}.skill-name small{display:none}}
@media(max-width:600px){.era-visual .tree-skill-search{top:48px;width:88%}.tree-skill-search>label{height:40px}.era-visual .tree-stage{inset:118px 0 82px!important}.tree-skill-node .skill-name{font-size:9px;padding:5px}.tree-skill-node{gap:3px}.tree-skill-node .skill-pin{width:23px;height:23px;font-size:12px}.tree-skill-node.is-back .skill-name{display:none}.era-visual .tree-3d-controls{bottom:32px;gap:6px 14px}.tree-3d-controls>span{display:none}.tree-3d-controls small{font-size:8px}.tree-skill-search>p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.tree-skill-node{transition:none}}

/* Back-facing labels are depth cues, never input targets. */
.tree-skill-node.is-back{pointer-events:none!important;cursor:default;opacity:.28!important}
.tree-skill-node.is-back .skill-name{opacity:.5}
.tree-skill-node.is-near .skill-pin{background:#14617a;box-shadow:0 0 26px #31d7ff88}
.tree-skill-node.is-near .skill-name{border-color:#72d4e7;background:#10394cf5}

.tree-skill-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:8;overflow:hidden;pointer-events:none}
.tree-skill-connectors line{stroke:#66d8ed;stroke-width:1;stroke-opacity:.42;stroke-dasharray:3 4}
.tree-skill-node .skill-name{min-width:0;overflow:hidden;text-overflow:ellipsis}

.tree-skill-node.is-inactive{pointer-events:none!important;cursor:default}
.tree-skill-node.is-front .skill-name{border-color:#80d8e9;background:#10394cf5}


/* Branch labels follow the actual 3D endpoints, with readable, stationary hit areas on hover. */
.era-visual .tree-skill-node{min-height:40px;padding:6px 8px;gap:7px;font:12px system-ui;white-space:nowrap;border-radius:10px;touch-action:manipulation}
.tree-skill-node .skill-name{background:#082337ef;border-color:#498ba49c;padding:7px 9px;white-space:nowrap}
.tree-skill-node .skill-name small{font:9px system-ui;color:#9cc8d8}
.tree-skill-node .skill-pin{transition:transform 140ms ease,background-color 140ms ease}
.tree-skill-node:hover .skill-pin,.tree-skill-node:focus-visible .skill-pin{transform:scale(1.12)}
.tree-skill-node:disabled{pointer-events:none!important}
@media(max-width:600px){.era-visual .tree-skill-node{font-size:11px;min-height:38px;padding:4px;gap:4px}.tree-skill-node .skill-name{padding:7px}.tree-skill-node .skill-name small{display:none}}
