/* Dedicated training-yard artwork; shared hero dimensions stay unchanged. */
.talent-page .page-hero::before{background-image:url('../assets/talents-training-v1.webp');background-position:center 15%}
@media(max-width:600px){.talent-page .page-hero::before{background-position:22% center}}
.talent-lab{max-width:1200px;margin:0 auto;padding:56px 30px 90px;color:#d7d6d2}
.talent-lab button,.talent-lab select,.talent-lab input{font:inherit}
.tc-heading{font-size:32px;color:#e8d6ad;margin:20px 0 10px}
.tc-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;border-block:1px solid #776846;padding:20px 0;margin:30px 0 15px}
.tc-stats{display:flex;gap:28px}.tc-stat{display:flex;align-items:center;text-align:center;gap:6px;flex-direction:column;font-size:17px}.tc-stat strong{font-size:26px;color:#e4cb92;font-weight:400;font-variant-numeric:tabular-nums}
.tc-actions{display:flex;gap:10px;flex-wrap:wrap}.tc-action{background:transparent;color:#e5d6b8;border:1px solid #7b6a48;padding:10px 17px;cursor:pointer;transition:background .25s,border-color .25s}.tc-action:hover{background:#55462c;border-color:#e1c382}.tc-action:disabled{opacity:.4;cursor:default}
.tc-status{font-size:17px;color:#aeadab;line-height:1.5}.tc-status{min-height:26px;color:#ddc690;margin:8px 0}
.tc-tree-nav{display:flex;gap:10px;margin:14px 0}.tc-tree-nav button{flex:1;font-size:18px}
.tc-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;border:1px solid #3d423d;background:#060f14;max-width:100%}
.tc-board{width:953px;margin:auto;position:relative;background:#060f14}
.tc-tree-heads{height:72px;display:flex;padding-left:63px}
.tc-tree-head{width:301px;flex:none;text-align:center;padding:10px 8px;color:#dfc58f;font-size:22px}
.tc-tree-head:last-child{width:288px}
.tc-tree-head .tc-reset-tree{display:block;margin:2px auto 0;color:#bcbdbb;font-size:14px;background:none;border:0;cursor:pointer}.tc-reset-tree:hover{color:white;text-decoration:underline}
.tc-grid{height:812px;width:953px;position:relative;background-repeat:no-repeat}
.tc-talent{box-sizing:content-box;position:absolute;width:40px;height:40px;border:1px solid #546363;border-radius:5px;padding:0;cursor:pointer;background-repeat:no-repeat;background-color:#111;user-select:none;touch-action:manipulation}
.tc-talent[data-state="locked"]{border-color:#343b3f}.tc-talent[data-state="available"]{border-color:#88a08b}.tc-talent[data-state="full"]{border-color:#edc870;box-shadow:0 0 9px #bba06340}
.tc-talent:hover,.tc-talent:focus-visible,.tc-talent[aria-expanded="true"]{outline:2px solid #e2c780;outline-offset:3px;z-index:2}
.tc-rank{position:absolute;bottom:-5px;right:-5px;background:#111b21;color:#fff;font:11px Arial,sans-serif;border:1px solid #516367;padding:1px 4px;pointer-events:none}
.tc-tooltip{position:fixed;z-index:150;width:400px;max-width:calc(100vw - 24px);max-height:calc(100vh - 100px);overflow:auto;background:#101820f5;color:#e6e8e8;border:1px solid #9c895b;box-shadow:0 16px 55px #000b;padding:20px;font-size:18px;line-height:1.4;backdrop-filter:blur(12px)}
.tc-tooltip[hidden]{display:none}.tc-tooltip h3{font-size:25px;font-weight:400;color:#f0d79f;margin:0 25px 8px 0}.tc-tooltip p{margin:10px 0}.tc-tooltip .tooltip-value{color:#d7b981}.tc-tooltip .runelvl{border-top:1px solid #50606a;margin-top:16px;padding-top:10px;color:#b5bacc}.tc-tooltip .runelvl br{display:none}.tc-tip-rank{color:#c0b394}.tc-tip-req{font-size:16px;color:#c9a378}.tc-next{border-top:1px solid #45515b;padding-top:12px}.tc-tip-controls{position:sticky;bottom:-20px;background:#101820;padding:12px 0 0;display:flex;gap:10px}.tc-tip-controls button{flex:1}.tc-tip-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#e4d9be;font-size:25px!important;cursor:pointer}
.tc-import{display:flex;gap:10px;margin-top:22px}.tc-import input{flex:1;min-width:0;color:#ddd;background:#0b141b;border:1px solid #56615c;padding:10px 14px}.tc-import-label{display:block;margin-top:28px;font-size:18px;color:#c9b88e}
@media(min-width:1100px){.tc-tree-nav{display:none}}
@media(max-width:650px){.talent-lab{padding:30px 14px 60px}.tc-selectors{gap:12px}.tc-selectors label{min-width:140px}.tc-toolbar{gap:15px}.tc-stat{font-size:15px}.tc-stat strong{font-size:23px}.tc-actions{width:100%}.tc-actions button{flex:1;padding:10px}.tc-tree-nav{gap:5px}.tc-tree-nav button{padding:9px 3px;font-size:16px}.tc-tooltip{left:12px!important;top:auto!important;bottom:12px;max-height:50vh;width:calc(100vw - 24px);padding:16px}.tc-import{flex-wrap:wrap}.tc-import input{flex-basis:100%}.tc-heading{font-size:28px}.tc-board{margin:0}}
@media(prefers-reduced-motion:reduce){.tc-scroll{scroll-behavior:auto}.tc-action{transition:none}}

/* Class selector matches the Gameplay class buttons; races open below the selected class. */
.tc-class-picker{width:100vw;margin:0 0 38px calc(50% - 50vw);background:#1e1925fa;border-block:1px solid #756049}
.tc-class-list{display:flex;overflow-x:auto;padding:0 5%;scrollbar-width:thin}
.tc-class-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 144px;width:144px;padding:14px 10px;white-space:nowrap;border-bottom:2px solid transparent;font:13px var(--ui)!important;transition:color 350ms,background 350ms,border-color 350ms}
html:lang(ru) .tc-class-button{font-size:16px!important}.tc-class-button:first-child{margin-left:auto}.tc-class-button:last-child{margin-right:auto}
.tc-class-button .chevron{width:5px;height:5px;margin-left:1px;transition:transform 350ms}
.tc-class-button:hover,.tc-class-button[aria-pressed=true],.tc-class-button[aria-expanded=true]{color:var(--gold-light);border-bottom-color:var(--gold);background:#c5ab8314}
.tc-class-button:hover .class-nav-icon,.tc-class-button[aria-pressed=true] .class-nav-icon,.tc-class-button[aria-expanded=true] .class-nav-icon{filter:brightness(1.7) sepia(1) saturate(.6)}
.tc-class-button[aria-expanded=true] .chevron{transform:translateY(3px) rotate(225deg)}
.tc-race-popover{position:fixed;z-index:30;width:max-content;max-width:calc(100vw - 24px);display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 300ms cubic-bezier(.22,1,.36,1),visibility 0s 300ms;overflow:auto;box-shadow:0 14px 30px #0006}
.tc-race-popover.is-open{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
.tc-race-clip{min-height:0;overflow:hidden}.tc-race-options{background:#251f2dfc;border:1px solid #756049;transform:translateY(-100%);transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.is-open .tc-race-options{transform:translateY(0)}.tc-race-options button{display:flex;justify-content:space-between;width:100%;text-align:left;gap:12px;white-space:nowrap;padding:10px 14px;font:16px var(--ui);transition:background 250ms,color 250ms}
.tc-race-options button:hover,.tc-race-options button:focus-visible,.tc-race-options button[aria-current=true]{color:var(--gold-light);background:#c5ab8318;outline-offset:-3px}
.talent-lab{padding-top:0}.tc-class-picker+.tc-race-popover+.tc-heading{margin-top:0}
@media(max-width:650px){.talent-lab{padding-top:0}.tc-class-list{padding:0 12px}.tc-class-picker{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.tc-class-button,.tc-class-button .chevron,.tc-race-popover,.tc-race-options{transition:none}}

/* Reveal asynchronous calculator content once, without replaying on rank/class updates. */
@media(prefers-reduced-motion:no-preference){
  .talent-lab.tc-enter-pending{opacity:0}
  .talent-lab.tc-enter-ready{animation:page-text-enter 320ms ease-out both}
}
