/* Talents tab (client/js/talents.js, TALENT_TREES). Palette tokens only: --k is the node kind's colour. */
.tal-head{display:grid;gap:8px;margin-bottom:10px;font-size:var(--fs-sm)}
.tal-pts b{color:var(--amber);font-size:var(--fs-xl)}
.tal-asc{display:flex;align-items:center;gap:8px;color:var(--txt)}
.tal-asc>span{flex:1;min-width:0}
.tal-asc .tal-ascend{margin:0 0 0 auto;padding:4px 14px}
.tal-acts{display:flex;gap:6px;flex-wrap:wrap}
.tal-acts button{flex:1;margin:0;min-width:140px}
.tal-sec{border:1px solid var(--line);border-radius:var(--radius-lg);padding:6px 9px;background:var(--inset)}
.tal-sec summary{cursor:pointer;color:var(--sub);font-size:var(--fs-tiny);font-weight:700;letter-spacing:1px;text-transform:uppercase}
.tal-sec[open] summary{margin-bottom:6px}
.tal-bins{display:flex;flex-wrap:wrap;gap:5px}
.tal-chip{margin:0;padding:4px 10px;min-height:0;font-size:var(--fs-tiny);background:var(--panel2);color:var(--sub);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:none}
.tal-chip.on{color:var(--violet);border-color:var(--violet)}
.tal-build{display:flex;align-items:center;gap:5px;padding:3px 0}
.tal-build b{flex:1;min-width:0;font-weight:600;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tal-build button{margin:0}
.tal-build .tal-bname{cursor:pointer}
.tal-build input.tal-bname{flex:1;min-width:0;margin:0;padding:3px 6px;font:inherit;font-size:var(--fs-sm);color:var(--txt);background:var(--panel2);border:1px solid var(--neon);border-radius:var(--radius-lg)}
.tal-tabs{margin-bottom:8px}
.tal-tabs button{font-size:var(--fs-tiny);letter-spacing:.2px;padding:0 3px;line-height:1.15}
.tal-tabs .tal-ct{color:var(--dim);font-weight:400}
.tal-desc{color:var(--dim);font-size:var(--fs-tiny);margin:-2px 0 8px}
.tal-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}
.tal-n{--k:var(--neon);display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:7px 8px;min-width:0;min-height:calc(76px*var(--tscale));text-align:left;font:inherit;color:var(--txt);background:var(--inset);border:1px solid var(--line);border-left:3px solid var(--k);border-radius:var(--radius-lg);box-shadow:none;cursor:pointer}
.tal-n .tal-kind,.tal-sheet .tal-kind{font-size:var(--fs-tiny);font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--k)}
.tal-n b{max-width:100%;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tal-n .tal-rk{font-family:var(--mono);font-size:var(--fs-tiny);color:var(--sub)}
.tal-n .tal-fx{font-size:var(--fs-tiny);line-height:1.25;color:var(--dim);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tal-n.st-avail{border-color:var(--k)}
.tal-n.st-part .tal-rk{color:var(--k)}
.tal-n.st-max{background:color-mix(in srgb,var(--k) 14%,var(--inset))}
.tal-n.st-max .tal-rk{color:var(--k);font-weight:800}
.tal-n.st-lk{opacity:.45}
@media(hover:hover){.tal-n:hover{border-color:var(--k)}}
.tal-sep{display:flex;align-items:center;gap:8px;margin:4px 0 8px;font-size:var(--fs-tiny);letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
.tal-sep::before,.tal-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.tal-sep.lk{color:var(--amber)}
.tal-sheet{display:grid;gap:4px;align-content:start;font-size:var(--fs-sm)}
.tal-lbl{margin-top:6px;font-size:var(--fs-tiny);font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--sub)}
.tal-line{color:var(--txt)}
.tal-why{color:var(--amber)}
.tal-opt{display:block;width:100%;margin:4px 0 0;padding:8px 10px;text-align:left;font:inherit;color:var(--txt);background:var(--inset);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}
.tal-opt.on{border-color:var(--cyan)}
.tal-opt .tal-line{color:var(--dim);font-size:var(--fs-tiny)}
