.tf-page{background:#10100f;color:#ddd8cc}.tf-page *{box-sizing:border-box}.tf-page .topbar{position:relative;flex-wrap:wrap;gap:18px}.tf-page .topbar nav{flex-wrap:wrap;gap:18px}.tf-page button,.tf-page input,.tf-page textarea{font:inherit}.tf-page button{cursor:pointer;background:#22221f;border:1px solid #494438;color:#ece4d5;border-radius:4px;padding:10px 14px}.tf-page button:hover:not(:disabled){border-color:#d4ad65;background:#302b22}.tf-page button:disabled{opacity:.4;cursor:not-allowed}.tf-page :focus-visible{outline:2px solid #f0cd88;outline-offset:4px}.tf-page input,.tf-page textarea{background:#151513;border:1px solid #494438;color:#ece4d5;border-radius:4px;padding:10px;min-width:0;width:100%}.tf-main{max-width:1530px;margin:auto;padding:38px 32px 50px}.tf-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.tf-kicker{color:#cca45e;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 10px}.tf-heading h1{font-family:var(--title,Georgia,serif);font-size:clamp(36px,4vw,58px);line-height:1.1;margin:0 0 10px;color:#efe1c4}.tf-heading>div>p:last-child{color:#a7a399;margin:0}.tf-beta{font-size:11px;border:1px solid #4d422d;color:#c6ad7b;padding:9px 12px;white-space:nowrap}.tf-workbench{border:1px solid #403b30;background:#171715;border-radius:7px;overflow:hidden}.tf-classes{display:flex;gap:8px;padding:18px 20px;border-bottom:1px solid #38352d;flex-wrap:wrap}.tf-classes button{display:flex;align-items:center;gap:7px;padding:8px 10px;font-size:12px}.tf-classes img{width:23px;height:23px;border-radius:3px}.tf-classes [aria-pressed=true]{border-color:var(--tf-class,#d4ad65);background:#302b22;color:#fff}.tf-toolbar{display:flex;align-items:center;gap:24px;padding:20px;flex-wrap:wrap}.tf-level{display:flex;align-items:center;gap:10px;font-size:13px}.tf-level input{width:70px;text-align:center;font-weight:700}.tf-budget{display:flex;align-items:center;gap:10px}.tf-budget>strong{font-size:32px;line-height:1;color:#e8c785;font-family:var(--title,Georgia,serif)}.tf-budget>span{font-size:12px}.tf-budget small{display:block;color:#969287;font-size:11px;margin-top:4px}.tf-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.tf-actions button{font-size:12px}.tf-page .tf-gold{background:var(--fth-primary,#e2bd68);color:var(--fth-primary-text,#171510);border-color:var(--fth-primary,#e2bd68);font-weight:700}.tf-notice{font-size:12px;line-height:1.55;color:#bdb6a7;border-top:1px solid #38352d;border-bottom:1px solid #38352d;background:#1b1b17;padding:11px 20px;margin:0;min-height:42px}.tf-notice[data-error=true]{color:#f3ad9c;background:#2b1d18}.tf-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start}.tf-tree-area{min-width:0;padding:20px}.tf-trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tf-tree{min-width:0;background:linear-gradient(150deg,#22221b,#151614 72%);border:1px solid #3b3a30;border-radius:5px;overflow:hidden}.tf-tree-heading{display:flex;align-items:center;gap:5px;justify-content:space-between;padding:14px 12px;border-bottom:1px solid #3b3a30}.tf-tree-heading h2{font-family:var(--title,Georgia,serif);font-size:17px;margin:0;color:#d8c39a}.tf-tree-heading span{color:#e6c481;font-size:20px}.tf-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:70px;padding:14px 8px;gap:0}.tf-node{width:45px;height:45px;align-self:center;justify-self:center;position:relative;z-index:1;padding:0!important;border:2px solid #555448!important;background:#1c1c18!important;border-radius:4px!important;opacity:.55}.tf-node img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;pointer-events:none}.tf-node.tf-available{opacity:1;border-color:#80704b!important}.tf-node.tf-invested{opacity:1;border-color:#dac076!important;box-shadow:0 0 14px #b3943926}.tf-node.tf-maxed{border-color:#80b97b!important}.tf-node[aria-pressed=true]{outline:2px solid #f4db9c;outline-offset:4px;opacity:1}.tf-rank{position:absolute;bottom:-10px;right:-9px;background:#11120f;border:1px solid #716449;color:#f6d58e;padding:1px 4px;font-size:10px;font-weight:700;border-radius:3px;pointer-events:none}.tf-dependencies{position:absolute;inset:14px 8px;width:calc(100% - 16px);height:calc(100% - 28px);pointer-events:none}.tf-dependencies path{stroke:#746747;stroke-width:1.2;fill:none;vector-effect:non-scaling-stroke}.tf-dependencies path.tf-met{stroke:#c2a360;stroke-width:2}.tf-tree-reset{display:block!important;width:calc(100% - 24px);margin:0 12px 12px;font-size:11px!important;padding:8px!important}.tf-detail{position:sticky;top:18px;border-left:1px solid #38352d;padding:22px 20px;min-height:380px;background:#1c1c18;align-self:stretch}.tf-detail h2{font-family:var(--title,Georgia,serif);color:#eed399;font-size:23px;line-height:1.2;margin:0 0 8px}.tf-detail p{font-size:12px;line-height:1.65;color:#bbb5a7}.tf-detail-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}.tf-detail-head img{width:48px;height:48px;border:1px solid #998458;border-radius:4px}.tf-detail-head p{margin:0;font-size:11px}.tf-detail h3{font-size:11px;color:#c9ad77;text-transform:uppercase;letter-spacing:1px;margin:20px 0 6px}.tf-detail .tf-rank-text{white-space:pre-wrap;color:#e3dccb}.tf-detail .tf-requirements{color:#a7a08e;padding:10px;background:#151512;border:1px solid #38352d;border-radius:3px}.tf-rank-actions{display:flex;align-items:center;gap:12px;margin:16px 0}.tf-rank-actions button{font-size:22px;min-width:50px;padding:6px}.tf-rank-actions strong{font-size:14px}.tf-tabs{display:none}.tf-builds{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px;background:#171715;border:1px solid #38352d;border-radius:5px}.tf-builds h2{font-family:var(--title,Georgia,serif);font-size:25px;color:#e4cc9c;margin:0 0 8px}.tf-builds p{font-size:12px;color:#a39c8f;line-height:1.6;margin:0}.tf-builds label,.tf-import label,.tf-share-fallback label{font-size:12px;display:block;margin-bottom:8px;color:#c4b9a1}.tf-save-row{display:flex;gap:8px}.tf-save-row button{white-space:nowrap;font-size:12px}.tf-saved{grid-column:1/-1;display:grid;gap:8px}.tf-saved:empty{display:none}.tf-saved-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #37362e;border-radius:3px}.tf-saved-row strong{font-size:13px;overflow-wrap:anywhere}.tf-saved-row small{display:block;color:#9d9687;font-size:11px;margin-top:5px}.tf-saved-row>div:last-child{display:flex;gap:6px;flex-shrink:0}.tf-saved-row button{font-size:11px;padding:7px 9px}.tf-import{margin-top:18px;font-size:12px;color:#c9b78f}.tf-import summary{cursor:pointer;padding:12px 0}.tf-import form{display:grid;gap:10px;max-width:650px}.tf-import button{justify-self:start}.tf-share-fallback{margin-top:20px}.tf-evidence{margin-top:28px;border-top:1px solid #373329;padding-top:18px;font-size:11px;line-height:1.7;color:#928b7b}.tf-evidence a{color:#c8b383}.tf-account{position:relative;margin-left:auto;font-size:12px;color:#cfb77f}.tf-account summary{cursor:pointer;padding:10px;border:1px solid #4b4331;border-radius:4px}.tf-account>div{position:absolute;top:100%;right:0;z-index:5;padding:12px;background:#22211b;border:1px solid #625239;min-width:170px;display:grid;gap:12px}.tf-account a{color:#dfc48c}.tf-account button{font-size:12px}.tf-page footer{margin-top:0}
@media(min-width:701px) and (max-width:1100px){.tf-layout{grid-template-columns:minmax(0,1fr)}.tf-detail{position:static;border-left:0;border-top:1px solid #38352d;min-height:0;display:block}.tf-tree-heading h2{font-size:16px}}
@media(max-width:700px){.tf-main{padding:24px 14px 32px}.tf-heading{display:block}.tf-heading h1{font-size:38px}.tf-beta{display:inline-block;margin-top:16px}.tf-page .topbar{padding:16px;gap:12px}.tf-page .topbar nav{order:3;width:100%;gap:14px;font-size:11px}.tf-page .topbar nav a{font-size:11px;white-space:nowrap}.tf-account summary{max-width:145px;overflow-wrap:anywhere;font-size:11px}.tf-classes{padding:12px;gap:6px}.tf-classes button{flex:1 0 29%;justify-content:center;padding:7px 5px;font-size:11px}.tf-classes img{width:20px;height:20px}.tf-toolbar{padding:14px;gap:18px}.tf-actions{width:100%;margin:0;gap:6px}.tf-actions button{flex:1;font-size:10px;padding:10px 6px}.tf-notice{padding:10px 14px}.tf-layout{display:block}.tf-tree-area{padding:14px}.tf-tabs{display:flex;gap:5px;margin-bottom:14px}.tf-tabs button{flex:1;font-size:11px;padding:10px 4px;min-width:0;overflow-wrap:anywhere}.tf-tabs [aria-selected=true]{border-color:#d8b46f;color:#efcf90;background:#2d281d}.tf-trees{display:block}.tf-tree.tf-inactive{display:none}.tf-grid{grid-auto-rows:70px;max-width:360px;margin:auto;padding-left:18px;padding-right:18px}.tf-node{width:47px;height:47px}.tf-dependencies{left:18px;width:calc(100% - 36px)}.tf-detail{position:static;border-left:0;border-top:1px solid #38352d;min-height:0;padding:20px}.tf-builds{padding:18px;grid-template-columns:1fr;gap:18px}.tf-save-row{flex-wrap:wrap}.tf-save-row input{flex:1 1 180px}.tf-save-row button{flex:1}.tf-saved-row{flex-wrap:wrap}.tf-saved-row>div:first-child{min-width:0}.tf-page footer{flex-wrap:wrap;gap:14px}.tf-rank-actions button{min-width:58px;min-height:44px}}

/* Talent trees and floating WoW-style details. */
.tf-layout{display:block}.tf-tree-area{padding:22px}.tf-trees{gap:22px}.tf-tree{background:#10100e;border-color:#484333}.tf-tree-heading{background:#191914;padding:16px 18px}.tf-tree-heading h2{font-size:23px}.tf-tree-heading span{font-size:23px}.tf-grid{grid-auto-rows:84px;padding:16px 12px;background-size:100% 100%;background-position:center;isolation:isolate}.tf-dependencies{inset:16px 12px;width:calc(100% - 24px);height:calc(100% - 32px)}.tf-node,.tf-node.tf-invested{width:58px;height:58px;border:2px solid #77786d!important;opacity:.6;box-shadow:0 1px 5px #000!important}.tf-node img{filter:saturate(.4) brightness(.65)}.tf-node .tf-rank{color:#b6b7a9;border-color:#77786d;background:#070906;font-size:12px;bottom:-9px;right:-8px}.tf-node.tf-available{opacity:1;border-color:#40df42!important;box-shadow:0 0 8px #14bb2533!important}.tf-node.tf-available img,.tf-node.tf-maxed img{filter:none}.tf-node.tf-available .tf-rank{color:#51fa42;border-color:#40df42}.tf-node.tf-maxed{opacity:1;border-color:#ffd73b!important;box-shadow:0 0 10px #eac22230!important}.tf-node.tf-maxed .tf-rank{color:#ffe23c;border-color:#ffd73b}.tf-node[aria-pressed=true]{outline:1px solid #efe9d1;outline-offset:3px}.tf-node:hover{filter:brightness(1.15)}.tf-interaction-hint{margin:0;padding:10px 20px;font-size:12px;color:#bbb39e;background:#13130f;border-top:1px solid #38352d}.tf-mobile-hint{display:none}.tf-tooltip[hidden],.tf-tooltip-backdrop[hidden]{display:none!important}.tf-tooltip{position:fixed;z-index:1500;width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:20px;background:rgba(8,10,12,.98);border:1px solid #bdad80;border-radius:5px;box-shadow:0 0 0 2px #25241e,0 12px 35px #000b;color:#fff7d5;font-family:Arial,sans-serif;scrollbar-width:thin;scrollbar-color:#8b7a4b #111}.tf-tooltip h2{font-family:var(--title,Georgia,serif);font-size:23px;line-height:1.2;color:#ffd56c;margin:0 0 7px;padding-right:22px}.tf-tooltip h3{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#cbb77e;margin:16px 0 5px}.tf-tooltip p{font-size:13px;line-height:1.5;color:#f0d46b;margin:0 0 10px}.tf-tooltip .tf-rank-text{white-space:pre-wrap;color:#ffdb69}.tf-tooltip .tf-requirements{white-space:pre-wrap;color:#c5c4af;border-top:1px solid #3f3c2c;padding-top:9px;font-size:12px}.tf-tooltip .tf-detail-head{margin:0 0 14px;align-items:flex-start}.tf-tooltip .tf-detail-head p{font-size:11px;color:#cfcec0;margin:0}.tf-tooltip .tf-detail-head img{width:48px;height:48px;border-color:#b09854}.tf-tooltip .tf-rank-actions{margin:10px 0 16px}.tf-tooltip .tf-rank-actions button{color:#e6e9d2;background:#151813;border-color:#67714d}.tf-tooltip .tf-rank-actions strong{color:#f1dfa7}.tf-page .tf-tooltip-close{position:absolute;right:9px;top:8px;width:30px;height:30px;padding:0;border:0;background:transparent;font-size:24px;color:#c9b990}.tf-tooltip-backdrop{position:fixed;inset:0;background:#0009;z-index:1499;touch-action:none}.tf-tooltip-modal{overflow:hidden}.tf-tree-reset{background:#171812!important;margin-top:0}
@media(min-width:701px) and (max-width:1000px){.tf-tree-area{padding:14px}.tf-trees{gap:12px}.tf-tree-heading{padding:14px 10px}.tf-tree-heading h2{font-size:18px}.tf-node,.tf-node.tf-invested{width:49px;height:49px}.tf-grid{padding:16px 8px}.tf-dependencies{left:8px;width:calc(100% - 16px)}}
@media(max-width:700px){.tf-desktop-hint{display:none}.tf-mobile-hint{display:inline}.tf-interaction-hint{padding:10px 14px;font-size:11px}.tf-tree-area{padding:14px}.tf-grid{max-width:none;padding:16px 10px;grid-auto-rows:84px}.tf-dependencies{left:10px;width:calc(100% - 20px)}.tf-node,.tf-node.tf-invested{width:54px;height:54px}.tf-tree-heading h2{font-size:23px}.tf-tooltip{left:12px!important;right:12px;top:50%!important;transform:translateY(-50%);width:auto;max-height:calc(100dvh - 32px);padding:22px 20px}.tf-tooltip h2{font-size:25px}.tf-tooltip p{font-size:14px}.tf-tooltip .tf-rank-actions button{min-width:62px;min-height:46px}.tf-page .tf-tooltip-close{width:42px;height:42px;right:5px;top:4px}.tf-tooltip .tf-detail-head{padding-right:14px}.tf-tooltip .tf-requirements{font-size:13px}.tf-tooltip .tf-rank-actions{margin:14px 0 18px}}

/* Explicit Legacy planning assumption beside the class talent budget. */
.tf-planner-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:13px}.tf-planner-links a{color:var(--fth-primary,#e2bd68);text-underline-offset:5px}.tf-planner-links [aria-current=page]{color:#ede4d2}
.tf-legacy-control{display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap}.tf-legacy-label{display:inline-flex;align-items:center;gap:8px}.tf-legacy-label img{display:block;flex:none;object-fit:cover;border:1px solid var(--fth-panel-border,#71633e);border-radius:3px}.tf-page .tf-legacy-control select{font:inherit;background:#151513;border:1px solid #494438;color:#ece4d5;border-radius:4px;padding:10px;max-width:100%;min-height:44px}.tf-legacy-budget-note{margin:0;padding:0 20px 14px;font-size:12px;line-height:1.6;color:#c4b998}
@media(max-width:700px){.tf-legacy-control{width:100%;justify-content:space-between}.tf-legacy-budget-note{padding:0 14px 14px}.tf-planner-links{margin-bottom:6px}}
