/* TBC talent inspection. Physical columns deliberately stay LTR in every locale. */
.talent-edition{color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.talent-builds{--talent-green:#80df64;--talent-gold:#efd184;--talent-silver:#a9afb6}
.talent-build{border:1px solid #ffffff14;border-radius:9px;background:#111821;min-width:0}
.talent-build+.talent-build{margin-block-start:16px}
.talent-build-summary{display:flex;align-items:center;gap:18px;min-height:74px;padding:18px 22px;list-style:none;border-radius:9px;color:var(--text);transition:background-color 150ms ease}
.talent-build-summary::-webkit-details-marker,.talent-node>summary::-webkit-details-marker{display:none}
.talent-build-summary:hover{background:#ffffff04}
.talent-build-name{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex:1;font-weight:600;font-size:.95rem}
.talent-build-name .badge{padding:3px 8px;font-size:.7rem;border:1px solid #8be49933;background:#84bfa00c;color:#a5dcb0}
.talent-distribution{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.05rem}
.talent-distribution>span:nth-child(even){color:#647081;font-weight:400;font-size:.8rem}
.active-build>.talent-build-summary .talent-distribution{color:var(--talent-gold)}
.talent-build-chevron{flex:none;width:8px;height:8px;margin-inline-start:4px;border-bottom:1.5px solid #9dabbc;border-right:1.5px solid #9dabbc;transform:rotate(45deg);transition:transform 150ms ease}
.talent-build[open]>.talent-build-summary{border-bottom:1px solid #ffffff12;border-radius:9px 9px 0 0}
.talent-build[open]>.talent-build-summary .talent-build-chevron{transform:rotate(225deg)}
.talent-build-content{padding:20px;min-width:0}
.talent-forest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.talent-tree{min-width:0;border:1px solid #6c65504d;border-radius:5px;background:#11161d;box-shadow:0 5px 18px #0003,0 0 0 1px #0005;scroll-margin-top:100px}
.talent-tree-heading{padding:15px 14px 13px;background:linear-gradient(120deg,#2c302f,#1c2229);border-bottom:1px solid #bfb29135;text-align:center;min-height:82px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.talent-tree-heading h3{margin:0;color:#f0e4c7;font:500 1.15rem/1.3 Georgia,serif;overflow-wrap:anywhere}
.talent-tree-heading>span{color:#a5afb9;font-size:.75rem;font-variant-numeric:tabular-nums}
.talent-board{position:relative;isolation:isolate;width:100%;height:558px;direction:ltr;background-color:#151e19;background-image:linear-gradient(#09100b15,#070a0d4d),var(--tree-art);background-size:100% 100%;box-shadow:inset 0 0 35px #0009,inset 0 0 0 3px #0007}
.talent-board::before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #f4d28612}
.talent-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 2px #000)}
.talent-connector{fill:none;stroke:#5d6866;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:round}
.talent-connector.is-met{stroke:#d4b371}
.talent-node{position:absolute;left:var(--node-x);top:var(--node-y);width:44px;height:44px;transform:translate(-50%,-50%);z-index:1;border:0;background:none}
.talent-node[open]{z-index:5}
.talent-node>summary{position:relative;display:block;width:44px;height:44px;padding:2px;list-style:none;border:2px solid #838b83;border-radius:3px;background:#080d0e;box-shadow:0 0 0 1px #050606,0 2px 5px #000c,inset 0 0 0 1px #ffffff38;cursor:pointer;outline-offset:5px;transition:border-color 130ms ease,box-shadow 130ms ease;touch-action:manipulation}
.talent-node img{display:block;width:36px;height:36px;object-fit:cover;border-radius:1px;filter:grayscale(1) brightness(.58)}
.talent-node.is-unknown>summary{border-style:dashed;border-color:#8293a0}
.talent-node.is-available>summary,.talent-node.is-learned>summary{border-color:#68b452}
.talent-node.is-maxed>summary{border-color:#dbc27b;box-shadow:0 0 0 1px #18150b,0 2px 5px #000c,inset 0 0 0 1px #ffffff45,0 0 9px #dfc77824}
.talent-node.is-available img{filter:brightness(.86)}
.talent-node.is-learned img,.talent-node.is-maxed img{filter:none}
.talent-node>summary:focus-visible,.talent-node[open]>summary{outline:2px solid #eee0b8;box-shadow:0 0 12px #dbc48450}
.talent-rank{position:absolute;right:-7px;bottom:-9px;min-width:30px;padding:1px 3px;border:1px solid #636a6466;border-radius:3px;background:#070a0a;color:#a9afb6;font:600 11px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 1px 3px #000b;text-shadow:0 1px #000}
.is-learned .talent-rank,.is-available .talent-rank{color:var(--talent-green);border-color:#52934188}
.is-maxed .talent-rank{color:var(--talent-gold);border-color:#c6ac6077}
.talent-tooltip{position:absolute;left:calc(100% + 12px);top:-5px;width:290px;max-width:calc(100vw - 36px);padding:16px 17px;border:1px solid #968560;border-radius:5px;background:linear-gradient(145deg,#11131efc,#10141cfc);color:#e0e4ed;box-shadow:0 16px 48px #0009,0 0 0 1px #000;cursor:auto;font:400 .8125rem/1.65 system-ui,sans-serif;text-align:start;overflow-wrap:anywhere}
.talent-node[data-col="2"]>.talent-tooltip,.talent-node[data-col="3"]>.talent-tooltip{left:auto;right:calc(100% + 12px)}
.talent-node[data-row="7"]>.talent-tooltip,.talent-node[data-row="8"]>.talent-tooltip{top:auto;bottom:0}
.talent-tooltip-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;color:#f0e2b7;line-height:1.4}
.talent-tooltip-heading>strong{font-size:.95rem;font-weight:650}
.talent-tooltip-heading>bdi{flex:none;font-size:.8125rem;white-space:nowrap}
.talent-tooltip .talent-tooltip-rank{margin:4px 0 11px;color:#a1abbc;font-size:.75rem}
.talent-tooltip-description p{margin:0 0 7px;white-space:pre-line}
.talent-tooltip-description p:last-child{margin:0}
.talent-prerequisites{margin:13px 0 0;padding:10px 0 0;border-top:1px solid #ffffff1c;list-style:none;font-size:.75rem;color:#c0c8d5}
.talent-prerequisites bdi{white-space:nowrap;color:#d6c9a6}
.talent-tooltip>a{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px solid #ffffff1c;color:#d8c28d;font-size:.75rem;text-decoration:none;min-height:32px}
.talent-tooltip>a:hover{text-decoration:underline;text-underline-offset:3px}
.talent-builds[data-talents-enhanced] .talent-tooltip{position:fixed;left:var(--tip-x,12px);top:var(--tip-y,12px);right:auto;bottom:auto;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;z-index:1000}
/* A fixed tooltip inside a transformed node would be positioned against that node.
   Its enhanced copy lives at body level; native details remain the no-JS fallback. */
body>.talent-tooltip{position:fixed;left:var(--tip-x,12px);top:var(--tip-y,12px);right:auto;bottom:auto;z-index:1000;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.talent-node[data-tooltip-ported]>.talent-tooltip{display:none}
.talent-tree-footer{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:12px 10px;background:#151b21;border-top:1px solid #ffffff10;color:#8f9da9;font-size:.6875rem}
.talent-key{font:600 11px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.talent-key.locked{color:var(--talent-silver)}.talent-key.learned{color:var(--talent-green)}.talent-key.maxed{color:var(--talent-gold)}
.talent-data-gap{flex-basis:100%;text-align:center;font-size:.6875rem;color:#acb5c4}
.talent-tree-nav{display:none}
.talent-fallback{margin-top:24px;padding-top:8px;border-top:1px solid #ffffff16}
@media(hover:hover){.talent-node>summary:hover{border-color:#fff0ba;box-shadow:0 0 11px #e6d6925e}}
@media(max-width:1020px){
  .talent-forest{grid-template-columns:minmax(0,380px);justify-content:center;gap:22px}
  .talent-tree-nav{display:flex;align-items:stretch;gap:4px;margin:0 auto 18px;padding:4px;max-width:600px;border:1px solid #ffffff13;border-radius:7px;background:#090f17}
  .talent-tree-nav a{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;min-width:0;min-height:46px;padding:8px 5px;border-radius:4px;color:#aebdce;text-align:center;text-decoration:none;font-size:.8125rem;line-height:1.4;overflow-wrap:anywhere;transition:color 140ms ease,background-color 140ms ease}
  .talent-tree-nav bdi{color:#d4be8f;font-variant-numeric:tabular-nums}
  .talent-tree-nav a[aria-selected="true"]{background:#27312f;color:#f1e4c0;box-shadow:inset 0 -2px #d5b97a}
  .talent-tree-nav a:hover{background:#ffffff08;color:#fff0cb}
  [data-tree-enhanced] .talent-tree[data-tree-selected="false"]{display:none}
  .talent-build-content{padding:16px}
  /* Native details remain readable on small screens when JavaScript is off. */
  .talent-builds:not([data-talents-enhanced]) .talent-node{left:calc(var(--node-x) - 22px);top:calc(var(--node-y) - 22px);transform:none}
  .talent-builds:not([data-talents-enhanced]) .talent-node>.talent-tooltip{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto;max-width:none;max-height:45vh;overflow:auto;z-index:1000}
}
@media(max-width:620px){
  .talent-build-summary{padding:16px 14px;gap:10px}
  .talent-build-name{gap:7px;font-size:.875rem}
  .talent-distribution{font-size:.9rem;gap:6px}
  .talent-build-content{padding:12px 8px}
  .talent-tree-heading{min-height:75px;padding-block:12px}
  .talent-tree-nav{gap:2px;padding:3px}
  .talent-tree-nav a{font-size:.75rem}
  .talent-tree-nav a span{flex-basis:100%}
  .talent-board{height:530px}
  .talent-tree-footer{gap:10px}
  .character .profile-section-content.talent-builds{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.talent-build-summary,.talent-build-chevron,.talent-node>summary,.talent-tree-nav a{transition:none}}
