.talents-ui{--tui-line:#383346;--tui-muted:#aaa5b8;color:#e9e4f1}.talents-ui .tui-kicker{display:block;font-size:10px;font-weight:650;letter-spacing:1.1px;color:#a99bbb;line-height:1.5}.tui-toolbar{display:flex;align-items:center;gap:17px;margin-bottom:17px}.tui-toolbar>div:first-child{margin-right:auto}.tui-toolbar h2{font-size:22px;font-weight:650;letter-spacing:-.5px;margin-top:4px}.tui-mode{display:flex;background:#14141e;border:1px solid #3a3049;border-radius:8px;padding:4px;gap:3px}.tui-mode button{font-size:12px;font-weight:550;padding:8px 16px;border:0;background:none;color:#a79caf;border-radius:5px}.tui-mode button[aria-selected=true]{color:#e2d0f4;background:#3a294b;box-shadow:0 1px 4px #080810}.tui-reset{font-size:12px!important;padding:10px 13px!important;background:#24212e!important;color:#b8a9c8!important;border-color:#423748!important}.tui-budget{display:flex;align-items:center;gap:24px;padding:15px 18px;border:1px solid var(--tui-line);border-radius:9px;background:#211d2d;margin-bottom:18px}.tui-budget>div:first-child{display:flex;align-items:center;gap:10px}.tui-budget>div:first-child>b{font-size:30px;color:#cfb4ec;line-height:1;font-weight:650}.tui-budget>div:first-child>span{font-size:10px;line-height:1.5;letter-spacing:.8px;width:50px;color:#b5a5c7}.tui-budget-meter{flex:1;min-width:100px}.tui-budget-meter>div{display:flex;justify-content:space-between;color:#b6abc5;font-size:12px;gap:10px}.tui-budget-meter progress{height:4px;margin:9px 0 0}.tui-budget-context{font-size:12px;color:#d0c4dd;text-align:right}.tui-budget-context small{display:block;font-size:10px;margin-top:5px;color:#9c90ab}.tui-budget label{display:flex;align-items:center;gap:10px;font-size:12px;max-width:170px;line-height:1.4;color:#b9acc9}.tui-budget input{width:56px;padding:8px;text-align:center;font-size:13px}.tui-trees{display:grid;grid-template-columns:repeat(3,minmax(245px,1fr));gap:12px;overflow-x:auto;padding:1px 1px 8px;margin-bottom:13px;scrollbar-width:thin;scrollbar-color:#574366 #171720}.tui-tree{min-width:0;background:linear-gradient(145deg,#282132,#191b27 75%);border:1px solid #44364f;border-radius:10px;padding:14px 9px 15px}.tui-tree>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 5px 13px;border-bottom:1px solid #3d3348;margin-bottom:17px}.tui-tree h3{font-size:14px;font-weight:600;color:#e0ccef}.tui-tree>header>span{font-size:12px;color:#b9a6cd;white-space:nowrap}.talents-ui .tui-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(124px,auto);gap:12px 4px;align-items:start}.talents-ui .tui-node{padding:2px 0 0;min-width:0;text-align:center}.talents-ui .tui-node-info{padding:0;background:none;border:0;display:grid;justify-items:center;gap:8px;width:100%}.talents-ui .tui-node-info>img{width:40px;height:40px;border-radius:5px;border:1px solid #806093;box-shadow:0 0 0 2px #15111e}.talents-ui .tui-node-info>span:not(.tui-empty-icon){font-size:12px;line-height:1.25;color:#c8bbd4;max-width:100%;min-height:45px;overflow-wrap:normal;letter-spacing:-.2px}.talents-ui .tui-node-info:hover>img{border-color:#d2a9f3;box-shadow:0 0 0 2px #5b3774}.talents-ui .allocated .tui-node-info>img{border:2px solid #d4b689;box-shadow:0 0 0 2px #54412a}.talents-ui .allocated .tui-node-info>span{color:#e3d0ad}.talents-ui .locked .tui-node-info>img{filter:grayscale(1);opacity:.4}.talents-ui .locked .tui-node-info>span{color:#8c8397}.talents-ui .rank-controls{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:6px}.talents-ui .rank-controls button{width:20px;height:22px;padding:0;font-size:14px;line-height:20px;border-radius:4px;background:#32263e;border:1px solid #654972;color:#dcc8ef}.talents-ui .rank-controls button:disabled{opacity:.3;cursor:default}.talents-ui .rank-controls b{font-size:12px;font-weight:600;min-width:27px;color:#bdb1c9;letter-spacing:-.5px}.talents-ui .rank-controls b span{color:#766b83;margin:0 1px}.talents-ui .allocated .rank-controls b{color:#e4cc9e}.tui-empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:5px;border:1px solid #574860;background:#221d2c;color:#7d6a8c;font-size:23px}.tui-legacy .tui-tree{background:linear-gradient(140deg,#24292a,#181d25);border-color:#3c4946}.tui-legacy .tui-tree>header{border-color:#3d4643}.tui-legacy .tui-tree h3{color:#c8d7cd}.tui-insight{border:1px solid #5a426b;border-radius:10px;padding:17px 19px;background:#211c2c;margin-top:12px}.tui-insight-heading{display:flex;align-items:center;gap:12px;margin-bottom:17px}.tui-insight-heading>img{width:40px;height:40px;border:1px solid #9371ad}.tui-insight-heading h3{font-size:17px;color:#dec8f0;margin-top:4px}.tui-insight-rank{margin-left:auto;font-size:17px;color:#d7bd9b;font-weight:650}.tui-insight-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px}.tui-insight p{font-size:12px;line-height:1.65;color:#c3b5d0;margin-top:8px}.tui-insight .tui-next-rank{padding-top:11px;border-top:1px solid #3d3049;margin-top:13px}.tui-next-rank b{display:block;color:#d7b9eb;font-size:12px;margin-bottom:5px}.talents-ui .tui-all-ranks{margin:14px 0 0;background:#191521;border-color:#3e304b}.tui-all-ranks>summary{font-size:12px;padding:10px 12px;color:#bea6d0}.tui-all-ranks p{padding:0 12px 11px;margin:6px 0;font-size:12px}.tui-all-ranks p b{display:block;color:#d2bfdf;margin-bottom:4px}.tui-gates{border-left:1px solid #44334f;padding-left:22px}.tui-gates ul{list-style:none;margin:10px 0 0;padding:0}.tui-gates li{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:#b7a9c6;margin:11px 0}.tui-gates li>span{color:#9470ab;flex-shrink:0}.tui-gates li>b{margin-left:auto;white-space:nowrap;font-weight:550}.tui-gates .met>span,.tui-gates .met>b{color:#a1c3af}.tui-gates .unmet>b{color:#d1b58d}.tui-insight-empty{display:flex;gap:16px;align-items:center;border-style:dashed;border-color:#43354f;background:#1a1724}.tui-insight-empty>span{font-size:26px;color:#a081bd}.tui-insight-empty h3{font-size:14px;color:#d1bddf}.tui-insight-empty p{margin-top:5px}.tui-footer{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-top:15px}.tui-footer p,.tui-footer a{font-size:12px;line-height:1.6;color:#9e91ad}.tui-footer a{white-space:nowrap;color:#bea4d4}.tui-validation{font-size:12px;line-height:1.6;padding:12px 15px;background:#34222e;color:#dab5c7;border:1px solid #6b4057;border-radius:8px;margin:12px 0}
@media(max-width:900px){.tui-trees{grid-template-columns:repeat(3,minmax(245px,1fr))}.tui-budget{gap:16px}.tui-budget-context{max-width:130px}.tui-insight-columns{grid-template-columns:1fr}.tui-gates{border-left:0;border-top:1px solid #44334f;padding:16px 0 0}.tui-toolbar{flex-wrap:wrap;gap:10px}.tui-toolbar h2{font-size:20px}.tui-footer{display:grid;gap:7px}}
@media(max-width:550px){.tui-toolbar>div:first-child{flex-basis:100%}.tui-mode{flex:1}.tui-mode button{flex:1;padding:8px 12px}.tui-reset{font-size:12px!important}.tui-budget{flex-wrap:wrap;gap:14px;padding:13px}.tui-budget>div:first-child>b{font-size:27px}.tui-budget-meter{flex:1}.tui-budget-context,.tui-budget label{flex-basis:100%;text-align:left;max-width:none;display:flex;align-items:center;gap:10px}.tui-budget-context small{margin:0}.tui-insight{padding:15px}.tui-insight-heading h3{font-size:15px}.tui-trees{gap:10px}.tui-tree{padding-left:8px;padding-right:8px}.tui-footer a{white-space:normal}}
.talents-ui .tui-kicker,.talents-ui .tui-budget>div:first-child>span,.talents-ui .tui-budget-context small{font-size:12px}.talents-ui .tui-budget>div:first-child>span{width:58px;letter-spacing:.3px}
.tui-insight-actions{display:flex;flex-wrap:wrap;gap:9px;margin:-2px 0 20px}.tui-insight-actions button{min-height:44px;padding:10px 17px;font-size:13px;font-weight:600;border:1px solid #806095;background:#684982;color:#f2e6ff}.tui-insight-actions button+button{background:#2b2336;border-color:#564263;color:#d6c3e5}.tui-insight-actions button:disabled{opacity:.4;cursor:default}.tui-insight-actions button:not(:disabled):hover{background:#8762a3;border-color:#c1a1d8}.tui-insight-actions button+button:not(:disabled):hover{background:#44304f}@media(max-width:550px){.tui-insight-actions button{flex:1;padding-left:12px;padding-right:12px}}

/* Keep the inspected rank beside the trees in the bounded desktop workspace. */
body[data-view=talents] .tui-toolbar{margin-bottom:10px;gap:12px}
body[data-view=talents] .tui-budget{padding:10px 14px;gap:16px;margin-bottom:12px}
body[data-view=talents] .tui-budget-context{min-width:160px;max-width:215px}
body[data-view=talents] .tui-budget-context small.tui-talented-status{gap:3px;margin-top:3px}
body[data-view=talents] .tui-talented-icons{min-height:0}
body[data-view=talents] .tui-talented-icon{width:22px;height:22px}
.tui-workbench{display:grid;gap:14px;align-items:start;min-width:0}
body[data-view=talents] .tui-workbench .tui-insight{margin-top:0;min-width:0;padding:14px}
body[data-view=talents] .tui-insight-columns{grid-template-columns:1fr;gap:16px}
body[data-view=talents] .tui-gates{border-left:0;border-top:1px solid #44334f;padding:12px 0 0}
body[data-view=talents] .tui-insight-actions{gap:7px;margin-bottom:12px}
body[data-view=talents] .tui-insight-actions button{flex:1;padding:9px;font-size:12px}
body[data-view=talents] .tui-unlock-reason{padding:9px;border-left:3px solid #d1b58d;background:#302630;margin:8px 0 14px}
.tui-field-error{flex-basis:100%;font-size:12px;line-height:1.5;color:#efc1b5}
.tui-field-error:empty{display:none}
.tui-provenance{margin-top:14px}
.tui-provenance p{padding:0 14px 12px;font-size:12px;line-height:1.6;color:#beb2ca}
body[data-view=talents] .tui-node.selected .tui-node-info>img{outline:3px solid #edcd94;outline-offset:3px}
.vr-compact body[data-view=talents] .vr-workspace-context{grid-template-rows:48px;gap:0}
.vr-compact body[data-view=talents] .vr-workspace-context>.page-top{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1100px){
 .tui-workbench{grid-template-columns:minmax(0,1fr) 300px}
 body[data-view=talents] .tui-workbench .tui-insight{position:sticky;top:0;max-height:calc(100dvh - 260px);overflow:auto;scrollbar-gutter:stable}
 body[data-view=talents] .tui-trees{grid-template-columns:repeat(3,minmax(300px,1fr));margin:0}
}
@media(max-width:1099px){
 .tui-workbench>.tui-insight:not(.tui-insight-empty){grid-row:1}
}
/* Talent nodes retain their source row/column positions and rank controls. */
.talents-ui{--tui-line:#615144;--tui-muted:#b8adbf;color:#f0e9ef}
.talents-ui .tui-toolbar{gap:12px 16px;align-items:flex-start;margin-bottom:17px}.talents-ui .tui-toolbar h2{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.2px;color:#e7d2ad;margin:5px 0 0}
.talents-ui .tui-kicker{font-size:10px;line-height:1.6;letter-spacing:.09em;color:#c3acd8}.talents-ui .tui-mode{padding:4px;border-color:#665044;background:#181820;align-items:stretch;min-width:160px}.talents-ui .tui-mode button{min-height:38px;padding:7px 14px;font-size:12px;color:#c0b3cc}.talents-ui .tui-mode button[aria-selected=true]{background:#45304f;color:#f4e9fa;box-shadow:none;border:1px solid #9b7bae;padding:6px 13px}
.talents-ui .tui-reset{min-height:44px;font-size:12px!important;border-color:#6c5848!important;background:#2b252b!important;color:#d4bd9b!important;white-space:nowrap}
.talents-ui .tui-budget{flex-wrap:wrap;gap:14px 22px;padding:16px 18px;border-color:#79634d;border-radius:10px;background:linear-gradient(110deg,#302834,#1d2028);align-items:center}.talents-ui .tui-budget>div:first-child>b{font-size:30px;color:#ecd5ab;font-variant-numeric:tabular-nums}.talents-ui .tui-budget>div:first-child>span{color:#c7b9d0;font-size:10px;width:52px;line-height:1.55;letter-spacing:.06em}.talents-ui .tui-budget-meter{flex:1 1 180px;min-width:150px}.talents-ui .tui-budget-meter>div{font-size:12px;line-height:1.5;color:#d0c2d9}.talents-ui .tui-budget-meter progress{height:5px;margin-top:9px}.talents-ui .tui-budget label{color:#d0c2d9;line-height:1.6;max-width:200px}.talents-ui .tui-budget input{width:64px;min-height:44px;border-color:#65566f;background:#16151d;font-variant-numeric:tabular-nums}
.talents-ui .tui-budget-context{min-width:176px;max-width:250px;text-align:left;padding-left:17px;border-left:1px solid #6b594c;color:#e7d2ad;font-size:14px;line-height:1.55}.talents-ui .tui-budget-context small.tui-talented-status{display:grid;gap:6px;max-width:100%;margin-top:7px;font-size:11px;line-height:1.6;color:#c0b1cc}.talents-ui .tui-talented-label{color:#d4c1e2;font-size:11px;font-weight:600;letter-spacing:.02em}.talents-ui .tui-talented-icons{display:flex;align-items:center;gap:5px;min-height:26px;flex-wrap:wrap}.talents-ui .tui-talented-icon{width:26px;height:26px;min-width:26px;max-width:26px;max-height:26px;object-fit:contain;border:1px solid #c3a474;border-radius:4px;box-shadow:none}.talents-ui .tui-talented-bonus{color:#e3c898;font-size:11px}.talents-ui .tui-talented-zero{color:#b8adbf;font-size:11px}
.talents-ui .tui-trees{grid-template-columns:repeat(3,minmax(260px,1fr));gap:13px;padding:3px 3px 10px;scrollbar-color:#80638f #171820;overscroll-behavior-x:contain}.talents-ui .tui-tree{padding:0 10px 16px;border-color:#78624b;border-radius:10px;background:linear-gradient(135deg,#292430,#191c24);overflow:visible;box-shadow:none}.talents-ui .tui-tree>header{padding:13px 5px 12px;margin:0 0 14px;background:transparent;border-bottom:1px solid #655244;align-items:flex-start}.talents-ui .tui-tree h3{color:#e6ceaa;font-size:14px;line-height:1.45}.talents-ui .tui-tree>header>span{color:#c3b0d2;font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums}
.talents-ui .tui-tree .tui-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(160px,auto);gap:13px 6px;align-items:start}.talents-ui .tui-node{min-width:0;padding:3px 0;max-width:100%}.talents-ui .tui-node-info{border-radius:6px;gap:8px;min-height:99px;align-content:start}.talents-ui .tui-node-info>img{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:contain;border-radius:5px;border-color:#856699;box-shadow:none}.talents-ui .tui-node-info>span:not(.tui-empty-icon){min-height:42px;font-size:11px;line-height:1.45;letter-spacing:0;overflow-wrap:anywhere;color:#cdbfd9}.talents-ui .tui-node-info:hover>img{border-color:#d9b3f2;box-shadow:none}.talents-ui .allocated .tui-node-info>img{border:2px solid #d9b678;box-shadow:none}.talents-ui .allocated .tui-node-info>span{color:#e8ce9f}.talents-ui .locked .tui-node-info>img{filter:none;opacity:.4;border-style:dashed}.talents-ui .locked .tui-node-info>span{color:#a49aaa}
.talents-ui .rank-controls{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px;justify-content:center;align-items:center}.talents-ui .rank-controls b{order:-1;flex:1 0 100%;min-width:0;text-align:center;font-size:12px;line-height:1.4;color:#c8b8d2;font-variant-numeric:tabular-nums;letter-spacing:0}.talents-ui .rank-controls button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:4px;background:#33263c;border-color:#775689;color:#e4ceee;line-height:1;font-size:15px}.talents-ui .rank-controls button[data-delta="-1"]{grid-column:1;grid-row:2}.talents-ui .rank-controls button[data-delta="1"]{grid-column:2;grid-row:2}.talents-ui .rank-controls button:hover:not(:disabled){background:#4c325b;border-color:#b68bd0}.talents-ui .rank-controls b span{color:#a696b0}.talents-ui .allocated .rank-controls b{color:#e8ce9f}
.talents-ui .tui-legacy .tui-tree{background:linear-gradient(135deg,#252b2b,#191e25);border-color:#6b7160}.talents-ui .tui-legacy .tui-tree>header{border-bottom-color:#566352}.talents-ui .tui-legacy .tui-tree h3{color:#d7d7b8}
.talents-ui .tui-insight{margin-top:13px;padding:18px;border-color:#8b7254;border-radius:10px;background:#24202b}.talents-ui .tui-insight-heading{align-items:flex-start;gap:11px;margin-bottom:15px}.talents-ui .tui-insight-heading>img{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:contain;border-color:#b19670;box-shadow:none}.talents-ui .tui-insight-heading>div{min-width:0}.talents-ui .tui-insight-heading h3{font-size:18px;line-height:1.4;color:#ead3af;overflow-wrap:anywhere}.talents-ui .tui-insight-rank{font-size:16px;color:#dbc096;white-space:nowrap;font-variant-numeric:tabular-nums}.talents-ui .tui-insight-columns{gap:24px}.talents-ui .tui-insight p,.talents-ui .tui-gates li{font-size:12px;line-height:1.7;color:#cbbdd3}.talents-ui .tui-insight-actions{gap:9px;margin-bottom:18px}.talents-ui .tui-insight-actions button{min-height:44px;padding:10px 16px;background:#594067;border-color:#b091c3;color:#f2e5fb;font-size:12px}.talents-ui .tui-insight-actions button+button{background:#302932;border-color:#7b6655;color:#dfcaac}.talents-ui .tui-insight-actions button:not(:disabled):hover{background:#6c4a7e;border-color:#d0acdF}.talents-ui .tui-insight-actions button+button:not(:disabled):hover{background:#443631;border-color:#b99a72}
.talents-ui .tui-gates{border-left-color:#6c5544;padding-left:20px}.talents-ui .tui-gates li{gap:8px;margin:12px 0;flex-wrap:wrap}.talents-ui .tui-gates li>b{font-variant-numeric:tabular-nums;line-height:1.6}.talents-ui .tui-gates li>span img{width:18px;height:18px;max-width:18px;max-height:18px;object-fit:contain}.talents-ui .tui-gates .unmet>b{color:#e0bb85}.talents-ui .tui-gates .met>b{color:#b3d0b4}.talents-ui .tui-all-ranks{border-color:#55445f;background:#1a1722}.talents-ui .tui-all-ranks>summary{min-height:40px;padding:10px 12px;color:#d2b8e3;line-height:1.5;cursor:pointer}.talents-ui .tui-all-ranks p{font-size:12px;line-height:1.7}.talents-ui .tui-all-ranks p b{color:#e6cbab}
.talents-ui .tui-insight-empty{border-style:dashed;border-color:#625165;background:#1c1a23}.talents-ui .tui-insight-empty>img{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:contain;flex:none}.talents-ui .tui-insight-empty h3{color:#d7c4e4;font-size:15px}.talents-ui .tui-footer{gap:13px;margin-top:15px}.talents-ui .tui-footer p,.talents-ui .tui-footer a{font-size:11px;line-height:1.7;color:#b6a8bf}.talents-ui .tui-footer a{color:#d1b8e2}.talents-ui .tui-validation{padding:12px 14px;border-color:#995968;background:#34232d;color:#f0c7d0;font-size:12px;line-height:1.65}
.talents-ui :is(button,a,input,summary):focus-visible{outline:2px solid #d9b9f5;outline-offset:3px;box-shadow:none}.talents-ui button:disabled,.talents-ui .rank-controls button:disabled,.talents-ui .tui-insight-actions button:disabled{opacity:.5;cursor:not-allowed;border-style:dashed;background:#24202a;color:#b5a6bf}
@media(max-width:768px){.talents-ui .tui-toolbar{flex-wrap:wrap;gap:11px}.talents-ui .tui-toolbar>div:first-child{flex-basis:100%}.talents-ui .tui-toolbar h2{font-size:22px}.talents-ui .tui-mode{flex:1 1 170px}.talents-ui .tui-mode button{flex:1;min-height:40px}.talents-ui .tui-budget{padding:14px;gap:14px}.talents-ui .tui-budget-context{min-width:0;max-width:none;flex-basis:100%;border-left:0;border-top:1px solid #6b594c;padding:12px 0 0;display:block}.talents-ui .tui-budget-context small.tui-talented-status{margin-top:6px}.talents-ui .tui-budget label{max-width:none;flex:1 1 100%;justify-content:space-between}.talents-ui .tui-trees{grid-template-columns:minmax(0,1fr);overflow-x:visible;gap:16px;padding:3px 3px 9px}.talents-ui .tui-tree{padding:0 13px 16px}.talents-ui .tui-tree .tui-grid{grid-auto-rows:minmax(165px,auto);column-gap:9px}.talents-ui .tui-node-info>span:not(.tui-empty-icon){font-size:12px;line-height:1.5}.talents-ui .rank-controls button{min-height:44px;height:44px}.talents-ui .tui-insight-columns{grid-template-columns:1fr;gap:17px}.talents-ui .tui-gates{padding:15px 0 0;border-left:0;border-top:1px solid #6c5544}.talents-ui .tui-insight{padding:16px}.talents-ui .tui-footer{display:grid;gap:7px}.talents-ui .tui-footer a{white-space:normal}}
@media(max-width:400px){.talents-ui .tui-toolbar h2{font-size:21px}.talents-ui .tui-reset{flex:1 1 100%;white-space:normal}.talents-ui .tui-budget{padding:12px;gap:12px}.talents-ui .tui-budget>div:first-child>b{font-size:27px}.talents-ui .tui-budget-meter{flex-basis:140px;min-width:125px}.talents-ui .tui-tree{padding:0 8px 13px}.talents-ui .tui-tree .tui-grid{column-gap:5px;row-gap:13px}.talents-ui .tui-node-info>span:not(.tui-empty-icon){font-size:11px;min-height:46px}.talents-ui .tui-insight-heading{flex-wrap:wrap;gap:10px}.talents-ui .tui-insight-rank{margin-left:auto}.talents-ui .tui-insight-actions button{flex:1 1 100%}.talents-ui .tui-insight-heading h3{font-size:16px}}

/* Each rank action keeps its own 44px hit area. In narrow node columns the
   pair wraps vertically; source tree rows/columns and every control remain. */
.talents-ui .tui-mode button,.talents-ui .tui-all-ranks>summary{min-height:44px}

body[data-view=talents] .tui-node-info>span:not(.tui-empty-icon){font-size:11px;word-break:normal;overflow-wrap:normal}

.tui-tree-browser{min-width:0}
.tui-tree-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.tui-tree-nav button{min-height:40px;padding:7px 12px;font-size:12px;background:#2b2336;border-color:#665174;color:#e0cdec}

/* Compact icon trees. Rank badges are display only; actions live on the icon. */
body[data-view=talents] .tui-toolbar{align-items:center;margin:0;gap:7px}
body[data-view=talents] .tui-toolbar>div>.tui-kicker{display:none}
body[data-view=talents] .tui-toolbar h2{font-size:21px;line-height:1.2;margin:0}
body[data-view=talents] .tui-mode{min-width:0;padding:3px}
body[data-view=talents] .tui-mode button{min-height:32px;padding:5px 11px}
body[data-view=talents] .tui-mode button[aria-selected=true]{padding:4px 10px}
body[data-view=talents] .tui-reset{min-height:36px;padding:6px 10px!important;font-size:11px!important}
body[data-view=talents] .tui-budget{min-width:0;flex-wrap:nowrap;gap:10px;padding:4px 10px;margin:0}
body[data-view=talents] .tui-budget>div:first-child{gap:7px}
body[data-view=talents] .tui-budget>div:first-child>b{font-size:25px}
body[data-view=talents] .tui-budget>div:first-child>span{font-size:9px;width:38px;line-height:1.3}
body[data-view=talents] .tui-budget-meter{min-width:90px;flex:1}
body[data-view=talents] .tui-budget-meter>div{font-size:10px;white-space:nowrap}
body[data-view=talents] .tui-budget-meter progress{height:3px;margin:5px 0 0}
body[data-view=talents] .tui-budget-context{min-width:0;max-width:none;padding-left:10px;font-size:11px;line-height:1.4;white-space:nowrap}
body[data-view=talents] .tui-budget-context small.tui-talented-status{display:flex;gap:6px;margin:0;font-size:10px}
body[data-view=talents] .tui-talented-label,body[data-view=talents] .tui-talented-bonus{font-size:10px}
body[data-view=talents] .tui-talented-icons{display:none}
body[data-view=talents] .tui-budget label{max-width:170px;gap:7px;font-size:11px;line-height:1.3}
body[data-view=talents] .tui-budget input{width:50px;min-height:30px;padding:3px;font-size:12px}
.tui-gesture-help{display:flex;justify-content:space-between;gap:10px;color:#d9c4e8;font-size:11px;line-height:1.5;margin:0}
.tui-gesture-help>span{color:#ab9bb9;white-space:nowrap}
body[data-view=talents] .tui-workbench{grid-template-columns:minmax(0,1fr) 240px;gap:10px;align-items:stretch;min-height:0}
body[data-view=talents] .tui-tree-browser{min-height:0}
body[data-view=talents] .tui-tree-nav{display:none}
body[data-view=talents] .tui-trees{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:100%;margin:0;padding:0;overflow:visible}
body[data-view=talents] .tui-tree{display:flex;flex-direction:column;min-height:0;padding:0 5px 5px;border-radius:8px}
body[data-view=talents] .tui-tree>header{flex:none;align-items:center;padding:7px 5px;margin:0;gap:4px}
body[data-view=talents] .tui-tree h3{font-size:12px;line-height:1.3}
body[data-view=talents] .tui-tree>header>span{font-size:10px}
body[data-view=talents] .tui-tree .tui-grid{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--tui-rows,7),minmax(0,1fr));grid-auto-rows:initial;gap:0;flex:1;min-height:0;align-items:center;padding:5px 0;margin:0}
body[data-view=talents] .tui-node{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;height:100%;padding:0}
body[data-view=talents] .tui-grid{container-type:size}
/* Keep breathing room in each row and column, then grow with the tree viewport.
   Class and Legacy share the same scale even when Legacy has fewer tiers. */
body[data-view=talents] .tui-node-info{--tui-icon-size:min(64px,calc(25cqw - 20px),calc(100cqh / max(7,var(--tui-rows,7)) - 10px));position:relative;display:block;flex:none;width:var(--tui-icon-size);height:var(--tui-icon-size);min-width:var(--tui-icon-size);min-height:var(--tui-icon-size);padding:0;gap:0;border:0;border-radius:4px;background:#16151d;cursor:pointer;user-select:none;touch-action:manipulation}
body[data-view=talents] .tui-node-info>img{display:block;width:var(--tui-icon-size);height:var(--tui-icon-size);max-width:var(--tui-icon-size);max-height:var(--tui-icon-size);border:1px solid #7a687e;border-radius:4px;box-shadow:0 0 0 2px #17151e}
body[data-view=talents] .tui-node-info>.tui-node-name{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body[data-view=talents] .tui-rank{position:absolute;right:-4px;bottom:-1px;min-width:28px;padding:0 3px;border:1px solid #7b6989;border-radius:3px;background:#18151f;font-size:11px;line-height:14px;font-variant-numeric:tabular-nums;color:#cabbd1;pointer-events:none}
body[data-view=talents] .available .tui-node-info>img{border-color:#9fa48a}
body[data-view=talents] .allocated .tui-node-info>img{border:2px solid #d9b678}
body[data-view=talents] .allocated .tui-rank{color:#efd39c;border-color:#ad8c50}
body[data-view=talents] .maxed .tui-rank{color:#c7e5b0;border-color:#89a566}
body[data-view=talents] .locked .tui-node-info>img{opacity:.38;filter:grayscale(1);border-style:dashed}
body[data-view=talents] .tui-node.selected .tui-node-info>img{outline:2px solid #edcd94;outline-offset:2px}
body[data-view=talents] .tui-node-info:hover>img{outline:2px solid #bda1d0;outline-offset:2px}
.tui-links{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#9b859f}
.tui-link{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.tui-link.met{color:#bca266}.tui-link.locked{stroke-dasharray:3 3;opacity:.5}
body[data-view=talents] .tui-workbench .tui-insight{position:static;min-height:0;max-height:none;padding:12px;overflow:auto;scrollbar-width:thin;scrollbar-gutter:auto}
body[data-view=talents] .tui-insight-heading{gap:8px;margin-bottom:10px}
body[data-view=talents] .tui-insight-heading>img{width:32px;height:32px;max-width:32px;max-height:32px}
body[data-view=talents] .tui-insight-heading h3{font-size:16px;line-height:1.25;margin-top:3px}
body[data-view=talents] .tui-insight-rank{font-size:13px}
body[data-view=talents] .tui-insight-columns{gap:12px}
body[data-view=talents] .tui-insight p,body[data-view=talents] .tui-gates li{font-size:11px;line-height:1.55;margin:6px 0}
body[data-view=talents] .tui-gates{padding:10px 0 0}
body[data-view=talents] .tui-gates li{gap:7px;margin:8px 0;flex-wrap:nowrap}
body[data-view=talents] .tui-gates li>span img{width:16px;height:16px}
body[data-view=talents] .tui-all-ranks{margin-top:10px}
body[data-view=talents] .tui-all-ranks>summary{min-height:30px;padding:6px 8px;font-size:11px}
body[data-view=talents] .tui-insight-empty>img{width:30px;height:30px;max-width:30px;max-height:30px}
body[data-view=talents] .tui-insight-empty h3{font-size:14px}
body[data-view=talents] .tui-footer{align-items:center;gap:8px;margin:0;min-width:0}
body[data-view=talents] .tui-footer p,body[data-view=talents] .tui-footer a{font-size:10px;line-height:1.4;margin:0}
body[data-view=talents] .tui-provenance{position:relative;margin:0;font-size:10px;background:#211d29}
body[data-view=talents] .tui-provenance>summary{min-height:24px;padding:3px 8px;white-space:nowrap}
body[data-view=talents] .tui-provenance p{font-size:11px;line-height:1.5}
body[data-view=talents] .tui-validation{padding:7px 10px;margin:0;font-size:11px;line-height:1.4;max-height:70px;overflow:auto}
@media(min-width:1100px){
 .vr-compact body[data-view=talents] #viewContent{height:calc(100% - 2px);min-height:0}
 .vr-compact body[data-view=talents] #vr-task-panel{padding-top:4px;padding-bottom:0;scrollbar-gutter:auto}
 body[data-view=talents] .talents-ui{height:100%;display:grid;grid-template-columns:minmax(430px,1fr) minmax(350px,1fr);grid-template-rows:44px 38px 18px minmax(0,1fr) 26px;gap:6px 10px}
 body[data-view=talents] .tui-toolbar{grid-column:1;grid-row:1}
 body[data-view=talents] .tui-budget{grid-column:2;grid-row:1}
 body[data-view=talents] .tui-budget{position:relative}
 body[data-view=talents] .tui-field-error:not(:empty){position:absolute;top:100%;right:0;z-index:12;max-width:100%;padding:5px 8px;background:#34232d;border:1px solid #995968;border-radius:4px}
 body[data-view=talents] .tb-panel{grid-column:1/-1;grid-row:2;margin:0;gap:6px 10px;align-items:start;position:relative;z-index:5}
 body[data-view=talents] .tb-panel .tb-heading{margin:0;gap:8px;white-space:nowrap}
 body[data-view=talents] .tb-panel :is(button,input,select){min-height:34px;padding:5px 10px}
 body[data-view=talents] .tb-panel>details>summary{min-height:34px;padding:6px 10px}
 body[data-view=talents] .tb-panel>details[open]{position:absolute;top:0;right:0;width:min(650px,100%);max-height:calc(100dvh - 320px);overflow:auto;box-shadow:0 15px 35px #0009;flex-basis:auto;order:initial}
 body[data-view=talents] .tb-status{position:absolute;top:34px;right:0;max-width:65%;padding:3px 8px;background:#211d29;border-radius:4px;font-size:10px}
 body[data-view=talents] .tb-status:empty{display:none}
 body[data-view=talents] .tui-gesture-help{grid-column:1/-1;grid-row:3}
 body[data-view=talents] .tui-workbench{grid-column:1/-1;grid-row:4}
 body[data-view=talents] .tui-footer{grid-column:1;grid-row:5}
 body[data-view=talents] .tui-provenance{grid-column:2;grid-row:5;justify-self:end;align-self:start}
 body[data-view=talents] .tui-provenance[open]{position:absolute;right:20px;bottom:14px;width:min(500px,60vw);max-height:300px;overflow:auto;z-index:10;box-shadow:0 10px 30px #0009}
 body[data-view=talents] .talents-ui:has(>.tui-validation){grid-template-rows:44px 38px auto 18px minmax(0,1fr) 26px}
 body[data-view=talents] .tui-validation{grid-column:1/-1;grid-row:3}
 body[data-view=talents] .talents-ui:has(>.tui-validation) .tui-gesture-help{grid-row:4}
 body[data-view=talents] .talents-ui:has(>.tui-validation) .tui-workbench{grid-row:5}
 body[data-view=talents] .talents-ui:has(>.tui-validation) :is(.tui-footer,.tui-provenance){grid-row:6}
}
@media(max-width:1099px){
 body[data-view=talents] .tui-toolbar,body[data-view=talents] .tui-budget{margin-bottom:8px}
 body[data-view=talents] .tui-budget{flex-wrap:wrap}
 .tui-gesture-help{margin:8px 0}
 body[data-view=talents] .tui-workbench{grid-template-columns:minmax(0,1fr)}
 body[data-view=talents] .tui-trees{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto;min-height:350px}
 body[data-view=talents] .tui-tree .tui-grid{min-height:310px;grid-template-rows:repeat(var(--tui-rows,7),minmax(44px,1fr))}
 body[data-view=talents] .tui-tree-nav{display:flex;gap:5px;margin-bottom:6px}
 body[data-view=talents] .tui-tree-nav button{min-height:30px;padding:4px 8px;font-size:11px}
 body[data-view=talents] .tui-workbench .tui-insight{max-height:230px;grid-row:auto}
 body[data-view=talents] .tui-insight-columns{grid-template-columns:1fr 1fr}
 body[data-view=talents] .tui-footer,body[data-view=talents] .tui-provenance{margin-top:8px}
}

/* Details follow the inspected icon; all three trees share the full workspace. */
body[data-view=talents] .tui-workbench{grid-template-columns:minmax(0,1fr)}
.tui-tooltip[hidden]{display:none!important}
.tui-tooltip{position:fixed;z-index:1200;left:12px;top:12px;width:min(350px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:14px;border:1px solid #b99c69;border-radius:8px;background:linear-gradient(135deg,#292132,#171b26);color:#e9dff0;box-shadow:0 8px 30px #000a;font-size:12px;line-height:1.5}
.tui-tooltip .tui-insight-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.tui-tooltip .tui-insight-heading>img{width:34px;height:34px;max-width:34px;max-height:34px;object-fit:contain;border:1px solid #b19670;border-radius:3px}
.tui-tooltip .tui-insight-heading h3{font-size:17px;line-height:1.25;color:#ead3af;margin:3px 0 0}
.tui-tooltip .tui-insight-columns{grid-template-columns:1fr;gap:12px}
.tui-tooltip p,.tui-tooltip .tui-gates li{font-size:12px;line-height:1.55;color:#cbbdd3;margin:7px 0}
.tui-tooltip .tui-gates{padding:10px 0 0;border-left:0;border-top:1px solid #6c5544}
.tui-tooltip .tui-next-rank{padding-top:8px;margin-top:9px}
.tui-tooltip .tui-unlock-reason{padding:7px;border-left:2px solid #d1b58d;background:#302630}
.tui-tooltip .tui-all-ranks{margin-top:10px}
.tui-tooltip .tui-all-ranks>summary{min-height:30px;padding:6px 8px;font-size:12px;cursor:pointer}
.tui-tooltip .tui-gates li>b{margin-left:auto}
.tui-tooltip .tui-kicker{font-size:10px}
