.tc-builder-section .wrap{max-width:1260px}
.tc-frame{padding:28px;background:#100e0c;border-top:2px solid var(--legendary)}
.tc-armory-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px;gap:18px}
.tc-armory-title .eyebrow{font-size:11.5px;letter-spacing:.2em}.tc-armory-title h2{font-family:"Chakra Petch",sans-serif;font-size:30px;margin-top:6px;color:var(--text)}
.tc-edition{text-align:right;font-size:11.5px;line-height:1.8;letter-spacing:.1em;color:var(--muted)}.tc-edition strong{color:var(--legendary-bright);font-weight:500}
.tc-workbench{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.tc-workbench p{font-size:13px;color:var(--muted)}
.tc-actions button:disabled,.tc-detail-actions button:disabled{opacity:.35;cursor:not-allowed}.btn[aria-pressed=true]{border-color:var(--legendary);color:var(--legendary-bright);background:#302113}
.tc-source{max-width:820px;margin:20px auto 0;font-size:13.5px}.tc-legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px;font-size:12px;color:var(--muted)}
.tc-legend span{display:flex;align-items:center;gap:7px}.tc-legend i{display:inline-block;width:16px;height:2px;background:#6d655b}.tc-legend .ready{background:#b4ad95}.tc-legend .invested{background:#e6ab57}.tc-compare-note{margin-left:auto;max-width:260px;line-height:1.5}
.tc-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px;align-items:stretch}
.tc-trees{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:none}
.tc-tree{border:1px solid #51402e;background:#17120e;box-shadow:0 12px 28px #0004}
.tc-tree-bg{opacity:.38;background-position:center;background-size:cover}.tc-tree-bg:after{background:linear-gradient(180deg,#0c090722,#0c090788)}
.tc-tree-head{min-height:94px;text-align:left;padding:16px 20px;background:#100d0abf}.tc-tree-kicker{display:block;font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:7px}
.tc-tree-head h2{font-size:19px;letter-spacing:.025em;text-transform:none}.tc-tree-head .tc-tree-points{position:absolute;right:18px;bottom:20px;font-size:13.5px;color:var(--legendary-bright)}
.tc-tree-grid{padding:20px 16px 24px;grid-template-columns:repeat(4,44px);grid-auto-rows:44px;column-gap:24px;row-gap:22px;justify-content:center}
.tc-talent{width:44px;height:44px;border-radius:4px;border-color:#5b4b36;background:#0c0a08;transition:border-color .15s,box-shadow .15s}
.tc-talent:hover{transform:none}.tc-talent img{width:100%;height:100%;object-fit:cover;border-radius:2px}.tc-talent.tc-locked{opacity:.66}
.tc-talent.tc-selected{outline:2px solid #f4d293;outline-offset:4px}.tc-talent.tc-different{box-shadow:0 0 0 3px #7bc6d5}.tc-talent:focus-visible,.btn:focus-visible,.tc-tree-tab:focus-visible{outline:2px solid #fff2d6;outline-offset:4px}
.tc-rank{font-size:12px;bottom:-7px;right:-6px;padding:1px 4px;background:#100d09;border:1px solid #665237;min-width:26px;line-height:15px;text-align:center}
.tc-arrow-line{stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:1;filter:none}
.tc-connection{color:#6d655b}.tc-connection-ready{color:#b4ad95}.tc-connection-invested{color:#e6ab57}.tc-connection-highlight{color:#fff1ce;filter:drop-shadow(0 0 3px #e6ab57)}
.tc-details{grid-column:span 2;border:1px solid var(--line);padding:22px;background:#17120e;font-size:14.5px;line-height:1.7;min-height:200px}.tc-details h2{font-size:21px;color:var(--legendary-bright);margin-bottom:12px}.tc-details p{color:var(--muted);max-width:540px}.tc-detail-label{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:16px 0 5px}.tc-detail-reason{margin-top:14px}.tc-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.tc-detail-actions .btn{font-size:13px;padding:10px 14px}
.tc-glyphs{width:auto;max-width:none}.tc-glyph-card{padding:18px}.tc-tree-tabs{display:none}
@media(max-width:1050px){.tc-frame{padding:18px}.tc-tree-grid{column-gap:18px;padding-left:10px;padding-right:10px}.tc-trees{gap:10px}.tc-tree-head{padding:16px 12px}.tc-tree-head .tc-tree-points{right:12px}}
@media(max-width:900px){.tc-tree-tabs{display:flex;margin-top:20px;border:1px solid var(--line)}.tc-tree-tab{flex:1;min-width:0;padding:13px 4px;background:#17120e;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:13.5px;cursor:pointer}.tc-tree-tab span{display:block;font-size:12.5px;margin-top:4px}.tc-tree-tab[aria-pressed=true]{border-bottom-color:var(--legendary);color:var(--legendary-bright);background:#2a1e13}.tc-trees{display:block;width:100%}.tc-tree{display:none}.tc-tree-active{display:block}.tc-tree-grid{column-gap:30px;row-gap:22px}.tc-layout{grid-template-columns:1fr}.tc-details{grid-column:auto}.tc-workbench{align-items:flex-start;flex-direction:column}.tc-edition{display:none}.tc-armory-title h2{font-size:26px}.tc-compare-note{margin-left:0;max-width:none}.tc-legend{gap:12px}.tc-tooltip{display:none}}
@media(max-width:400px){.tc-frame{padding:12px}.tc-tree-grid{column-gap:22px;padding-left:8px;padding-right:8px}.tc-tree-tab{font-size:12.5px}.tc-details{padding:16px}}
@media(prefers-reduced-motion:reduce){.tc-talent{transition:none}.tc-just-unlocked{animation:none!important}}
.tc-saves{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.tc-saves label{font-size:12.5px;letter-spacing:.12em;color:var(--muted)}.tc-saves input,.tc-saves select{min-width:140px;max-width:100%;padding:10px;background:#19140f;color:var(--text);border:1px solid var(--line);font:inherit;font-size:15px}.tc-saves .btn{font-size:14.5px;padding:11px 15px}.tc-saves [role=status]{font-size:14.5px;color:var(--muted)}
.tc-details{position:relative}.tc-inspector-close{position:absolute;right:12px;top:8px;color:var(--muted);font-size:24px;background:none;border:0;width:36px;height:36px;cursor:pointer}.tc-details h2{padding-right:22px}
.tc-arrow-outline{stroke:#0b0908;stroke-width:6;fill:none;stroke-linejoin:miter;stroke-linecap:butt;opacity:.9}.tc-arrow-line{stroke-width:3;stroke-linejoin:miter;stroke-linecap:butt}.tc-arrow-tip{fill:currentColor;stroke:#0b0908;stroke-width:1;stroke-linejoin:miter}.tc-connection{color:#837c70}.tc-connection-ready{color:#b9ae92}.tc-connection-invested{color:#dfac62}.tc-connection-highlight{color:#ffe0a0;filter:none}
@media(max-width:900px){.tc-details.has-selection{position:fixed;z-index:450;bottom:0;left:0;right:0;max-height:42vh;overflow:auto;min-height:0;border-top:2px solid var(--legendary);box-shadow:0 -10px 40px #000a;padding:18px 22px}.tc-details.has-selection .tc-detail-actions{position:sticky;bottom:-18px;background:#17120e;padding:10px 0}.tc-saves input{flex:1}.tc-saves label{width:100%}}

/* Compact workshop: primary actions stay visible; optional tools are disclosed. */
.tc-hero{padding:14px 0 18px}.tc-hero .eyebrow{display:none}.tc-hero h1{font-size:32px;margin-bottom:5px}.tc-hero p{font-size:13.5px}.tc-frame{padding:16px 20px 20px}
.tc-armory-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}
.tc-toolbar-row{padding-bottom:10px;gap:10px}.tc-class-icons{gap:6px}.tc-class-icon{width:34px;height:34px}.tc-control label{font-size:11px;margin-bottom:3px}.tc-controls select{padding-top:7px;padding-bottom:7px;font-size:13.5px}
.tc-stats-row{padding:10px 0;gap:10px}.tc-summary{gap:16px}.tc-point-badge .num{font-size:16px}.tc-point-badge .label{font-size:10px}.tc-actions{gap:6px}.tc-actions .btn{padding:10px 15px;font-size:14.5px}
.tc-more{margin:8px 0 0}.tc-more summary{width:fit-content;cursor:pointer;font-size:16.5px;color:var(--muted);padding:4px 0}.tc-more summary:hover{color:var(--legendary-bright)}.tc-more summary:focus-visible{outline:2px solid var(--legendary);outline-offset:4px}.tc-more-body{padding:12px 0;border-bottom:1px solid var(--line)}.tc-more .tc-source{text-align:left;margin:12px 0 0}.tc-more .tc-saves{padding-top:12px;margin-top:12px}.tc-more .tc-legend{margin-top:12px}.tc-help{margin-top:12px;font-size:14px;color:var(--muted)}
.tc-layout{margin-top:10px;gap:12px}.tc-trees{gap:12px}.tc-tree-head{min-height:68px;padding:11px 16px}.tc-tree-head h2{font-size:17px}.tc-tree-kicker{font-size:10px;margin-bottom:4px}.tc-tree-head .tc-tree-points{bottom:14px;font-size:12.5px}.tc-tree-grid{row-gap:18px;padding-top:16px;padding-bottom:18px}
.tc-info-section{padding-top:28px;padding-bottom:28px}
@media(max-width:900px){.tc-frame{padding:12px}.tc-hero{padding:10px 0 14px}.tc-hero h1{font-size:27px}.tc-toolbar-row{gap:8px}.tc-class-icons{gap:5px}.tc-class-icon{width:30px;height:30px}.tc-controls{width:100%;gap:8px}.tc-stats-row{gap:10px}.tc-tree-tabs{margin-top:10px}.tc-tree-tab{padding:9px 4px}.tc-summary{gap:14px}.tc-tree-grid{row-gap:18px}}

.tc-glyph-card ul li.tc-glyph-slot{display:block;cursor:default;padding:10px 0}.tc-glyph-slot label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.tc-glyph-select-row{display:flex;align-items:center;gap:7px}.tc-glyph-select-row select{width:100%;min-width:0;background:#18130f;color:var(--text);border:1px solid var(--line);padding:8px 4px;font:inherit;font-size:13px}.tc-glyph-select-row select:focus-visible{outline:2px solid var(--legendary);outline-offset:2px}.tc-glyph-description{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:6px}.tc-glyphs{min-width:0}.tc-details{align-self:start}
.tc-glyphs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tc-details{grid-column:1/-1;min-height:0}.tc-glyph-card{min-width:0}@media(max-width:650px){.tc-glyphs{grid-template-columns:1fr}}

/* Compact glyph list with icon-driven picker. */
.tc-glyphs{grid-column:auto;display:flex;flex-direction:column;gap:12px}.tc-details{grid-column:span 2}.tc-glyph-card ul li.tc-glyph-compact{display:flex;gap:10px;align-items:center;padding:6px 0;cursor:default}.tc-glyph-change{width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid #806139;border-radius:3px;background:#21190f;color:var(--legendary-bright);font-size:24px;cursor:pointer}.tc-glyph-change img{display:block;width:100%;height:100%;border-radius:2px}.tc-glyph-change:hover{border-color:var(--legendary-bright)}.tc-glyph-name{padding:0;text-align:left;border:0;background:none;font:inherit;font-size:13.5px;line-height:1.4;color:var(--text);cursor:help}.tc-glyph-name:hover{color:var(--legendary-bright)}.tc-glyph-change:focus-visible,.tc-glyph-name:focus-visible{outline:2px solid var(--legendary);outline-offset:3px}
.tc-glyph-picker{margin:auto;width:min(460px,calc(100vw - 28px));max-height:75vh;padding:0;background:#17120e;color:var(--text);border:1px solid #806139;box-shadow:0 20px 70px #0009}.tc-glyph-picker::backdrop{background:#0009}.tc-picker-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#17120e;border-bottom:1px solid var(--line);z-index:1}.tc-picker-head h2{font-size:16px;color:var(--legendary-bright)}.tc-picker-close{border:0;background:none;color:var(--text);font-size:25px;cursor:pointer;width:32px;height:32px}.tc-picker-options{padding:6px}.tc-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px;text-align:left;background:none;border:1px solid transparent;color:var(--text);cursor:pointer}.tc-picker-option img{width:32px;height:32px;flex-shrink:0}.tc-picker-option strong{display:block;font-size:13.5px;font-weight:500}.tc-picker-option small{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:3px}.tc-picker-option:hover,.tc-picker-option:focus-visible{background:#302316;border-color:#806139;outline:none}.tc-picker-option[aria-pressed=true]{background:#302316}.tc-picker-option:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:900px){.tc-details{grid-column:auto}.tc-tooltip.tc-glyph-tooltip.show{display:block;max-width:min(280px,calc(100vw - 24px))}}

/* Snapshot button: camera icon + a slowly turning colour border so it stands out from the other actions */
@property --tc-snap-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes tcSnapSpin{to{--tc-snap-a:360deg}}
@keyframes tcSnapGlow{0%,100%{box-shadow:0 0 8px rgba(255,150,60,.25)}50%{box-shadow:0 0 18px rgba(255,150,60,.55)}}
.tc-actions .tc-snap-btn{gap:9px;padding:9px 14px;color:var(--text);border:2px solid transparent;
  background:linear-gradient(#17120f,#17120f) padding-box,conic-gradient(from var(--tc-snap-a),#ff8000,#ffd27a,#ff3b6b,#8b5cff,#2ec9ff,#4dff88,#ffd27a,#ff8000) border-box;
  animation:tcSnapSpin 4.5s linear infinite,tcSnapGlow 2.8s ease-in-out infinite}
.tc-actions .tc-snap-btn:hover{border-color:transparent;color:#fff;background:linear-gradient(#241b15,#241b15) padding-box,conic-gradient(from var(--tc-snap-a),#ff8000,#ffd27a,#ff3b6b,#8b5cff,#2ec9ff,#4dff88,#ffd27a,#ff8000) border-box}
.tc-actions .tc-snap-btn:disabled{animation-play-state:paused}
.tc-snap-ico{width:20px;height:20px;flex:none;color:var(--legendary-bright)}
@media(prefers-reduced-motion:reduce){.tc-actions .tc-snap-btn{animation:none}}

/* ---- talents page copy under the calculator ---- */
.tc-copy p{font-size:15.5px}
.tc-copy h3{margin:24px 0 6px;font-size:17.5px;line-height:1.35;color:#f1e7da;font-family:'Chakra Petch',sans-serif}
.tc-copy a{color:var(--legendary-bright);text-decoration:underline;text-underline-offset:3px}
.tc-features{display:grid;gap:10px;margin:0 0 6px;padding:0;list-style:none}
.tc-features li{position:relative;padding-left:26px;color:var(--muted);font-size:15.5px;line-height:1.65}
.tc-features li::before{content:"";position:absolute;left:4px;top:.64em;width:8px;height:8px;background:var(--legendary);transform:rotate(45deg)}
