.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.talent-workbench { --skill-gold:#efcf86; --skill-purple:#aca1ff; border:1px solid #73513d; border-radius:7px; background:#141016; box-shadow:0 0 0 3px #231b1d,inset 0 0 45px #0c0912; margin:24px 3px; overflow:hidden; }
.talent-workbench-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px 26px; border-bottom:1px solid #6b4b37; background:linear-gradient(100deg,#4a1727,#231325 70%); }
.talent-workbench-head h3 { color:#f7e5b3; margin:0; font-size:24px; font-weight:750; }
.talent-workbench-head .eyebrow { color:#bc8f77; letter-spacing:2px; }
.talent-workbench-head > span { color:#c4b4a5; }
.talent-workbench-head b { color:var(--skill-gold); font-size:27px; margin-left:12px; }
.talent-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:18px 26px 0; }
.skill-search { flex:1; min-width:160px; max-width:380px; }
.skill-search input { background:#0d0a10; border-color:#4d3a3e; }
.skill-inspect-toggle { display:flex; align-items:center; gap:8px; color:#cbbba9; font-size:12px; }
.skill-inspect-toggle input { width:17px; height:17px; accent-color:#d5b578; }
.talent-help { padding:0 26px; margin:12px 0 20px; font-size:12px; color:#a99ca6; }
.talent-help b { color:#dbc79d; font-weight:600; }
.talent-workbench-body { display:grid; grid-template-columns:minmax(320px,1fr) minmax(260px,.7fr); gap:24px; padding:0 24px 26px; align-items:start; }
.talent-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.talent-branch { padding:14px 10px 22px; background:radial-gradient(ellipse at 50% 30%,#30213d99,transparent 75%),linear-gradient(170deg,#1b1223,#140e19); border:1px solid #493448; border-radius:5px; min-width:0; }
.talent-branch h4 { color:#b8a5c2; margin:0 0 14px; font-size:12px; font-weight:500; text-align:center; letter-spacing:3px; }
.talent-nodes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 7px; }
.talent-nodes > div:last-child:nth-child(odd) { grid-column:1 / -1; width:50%; justify-self:center; }
.talent-nodes > div { min-width:0; transition:opacity .15s; }
.talent-branch:only-of-type { grid-column:1 / -1; }
.talent-branch:only-of-type .talent-nodes { grid-template-columns:repeat(3,minmax(0,1fr)); }
.talent-nodes > .search-muted { opacity:.3; }
.allocation-node { display:flex; flex-direction:column; align-items:center; justify-content:start; position:relative; width:100%; min-height:107px; padding:7px 2px 4px; border:1px solid transparent; border-radius:4px; background:transparent; color:#9b949f; touch-action:manipulation; }
.allocation-node:hover,.allocation-node:focus-visible { background:#372b4080; border-color:#90734f; }
.allocation-node.selected { border-color:#91704c; background:linear-gradient(#45314580,#3d253650); }
.allocation-glyph { width:49px; height:49px; display:grid; place-items:center; border:2px solid #443e4c; background:#09080e; box-shadow:0 2px 7px #000; border-radius:5px; position:relative; }
.skill-art { display:inline-block; background-image:var(--skill-atlas); background-size:var(--skill-atlas-size); background-repeat:no-repeat; image-rendering:pixelated; flex-shrink:0; }
.allocation-node:not(.invested) .skill-art { filter:grayscale(.72) brightness(.7); }
.allocation-node.invested .allocation-glyph { border-color:#bea256; box-shadow:0 0 8px #b27f4240; }
.allocation-node.selected .allocation-glyph { border-color:#ffe0a3; box-shadow:0 0 12px #d9a66065; }
.allocation-name { display:block; font-size:11px; font-weight:600; line-height:1.35; margin:12px 0 2px; overflow-wrap:anywhere; }
.allocation-node.invested .allocation-name { color:#eddbb3; }
.allocation-rank { position:absolute; top:49px; left:50%; transform:translateX(-50%); min-width:29px; max-width:100%; border:1px solid #65513b; padding:0 4px; line-height:18px; font-size:12px; font-weight:750; background:#161017; color:#a8997f; overflow-wrap:anywhere; }
.allocation-node.invested .allocation-rank { color:#ffe3a4; border-color:#a0834e; }
.allocation-note { color:#716775; font-size:10px; }
.allocation-fallback { color:#bc9e67; font-size:22px; }
.skill-detail { min-width:0; position:sticky; top:18px; border:1px solid #67503c; padding:23px; background:linear-gradient(150deg,#1b1620,#0c0b10); box-shadow:inset 0 0 0 3px #201923; }
.skill-detail-title { display:flex; align-items:center; gap:14px; }
.skill-detail-title .skill-art { transform:scale(1.12); margin:4px; }
.skill-detail-title h3 { color:var(--skill-gold); margin:3px 0 0; font-size:22px; line-height:1.4; }
.skill-detail-title .eyebrow { font-size:10px; letter-spacing:1px; color:#a99aaf; overflow-wrap:anywhere; }
.skill-detail-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0 0; font-size:11px; color:#918393; }
.skill-detail-meta .level-warning { color:#f1a694; }
.skill-description { font-size:15px; font-weight:500; color:#d6cadc; line-height:1.9; min-height:85px; white-space:pre-line; margin:16px 0 26px; }
.skill-investment { padding-top:18px; border-top:1px solid #463544; }
.skill-investment > label { color:#a79ab1; font-size:12px; }
.skill-stepper { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:9px; margin-top:10px; }
.skill-stepper button { padding:0; font-size:24px; min-height:44px; color:var(--skill-gold); border-color:#745b3c; background:#2a1b27; }
.skill-stepper input { min-width:0; text-align:center; font-size:24px; font-weight:700; color:#efcf86; border-color:#4a3748; background:#100c14; padding:4px; }
.skill-next { color:#86798b; font-size:11px; margin:9px 0 0; }
.skill-next b { color:#caba9b; }
.skill-saved-subs { color:#bda7d2; font-size:12px; padding-top:18px; }
.skill-saved-subs a { color:#bda7d2; text-underline-offset:4px; }
.skill-detail-footnote { border-top:1px solid #372b38; padding-top:16px; margin:25px 0 0; font-size:11px; line-height:1.8; color:#8c7f92; }
.talent-workbench-foot { border-top:1px solid #493747; padding:14px 24px; display:flex; flex-wrap:wrap; gap:12px; align-items:start; justify-content:space-between; color:#a698a4; font-size:11px; }
.talent-workbench-foot details { max-width:350px; }
.talent-workbench-foot summary { cursor:pointer; color:#bda982; }
.talent-workbench-foot input { max-width:100%; font-size:11px; }
#board-skill-empty { grid-column:1 / -1; color:#d6bbc5; }
#skill-subtalents { scroll-margin-top:20px; }
@media (max-width:1200px) { .talent-workbench-body { grid-template-columns:1fr; } .skill-detail { position:static; } .skill-description { min-height:0; } .allocation-node { min-height:108px; } }
@media (max-width:640px) { .talent-workbench-body { padding:0 12px 18px; gap:16px; } .talent-workbench-head { padding:16px; } .talent-toolbar { padding:16px 16px 0; } .talent-help { padding:0 16px; } .talent-groups { gap:10px; } .talent-branch { padding:12px 5px 16px; } .talent-nodes { gap:10px 3px; } .allocation-name { font-size:10px; } .skill-detail { padding:18px; } .talent-workbench-foot { padding:14px 16px; } }
@media (prefers-reduced-motion:reduce) { .talent-nodes > div { transition:none; } }
