/* The talent bench: charcoal leather, brass edges, readable game colour. */
.portal:has(.planner-intro){--gold:#edc567;--text:#ebe7dd;--muted:#a7aaa9;background:#0e1013;color:var(--text)}
.planner-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:32px 0 22px}.planner-intro h1{font:700 clamp(35px,4vw,53px)/1.08 FieldSerif;margin:12px 0;color:#f4e4ba}.planner-intro p:not(.small-caps){font-size:14px;line-height:1.8;color:#aeb2b6;max-width:660px}.planner-intro>a{color:#e8c570;font-size:12px;white-space:nowrap;padding-bottom:8px}
.portal:has(.planner-intro) .portal-classbar{margin:20px 0;border-color:#4c4535}.portal:has(.planner-intro) .portal-class.active{box-shadow:inset 0 -3px var(--class-color);background:color-mix(in srgb,var(--class-color) 12%,#15181d)}.portal:has(.planner-intro) .wow-panel{background:#15181d;border-color:#514937;box-shadow:0 12px 35px #0003}.portal:has(.planner-intro) .panel-heading{background:#202126;border-color:#4c4535}.portal:has(.planner-intro) .panel-heading h2{color:#ebd091}.portal:has(.planner-intro) .calculator-toolbar{background:#191c21;border-color:#393b3e;gap:12px}.calculator-toolbar select{background:#0e1116;border-color:#514937}.calculator-toolbar .points-counter{margin-right:auto}.calculator-toolbar .current-class strong{font-size:26px}.calculator-toolbar .compare-toggle{margin-left:0}.calculator-toolbar label{font-size:11px}.calculator-toolbar .legacy-control{display:flex;align-items:center;gap:8px}.calculator-toolbar .legacy-control select{width:76px}.icon-action{font-size:21px;padding:6px 12px}.icon-action:disabled{opacity:.3;cursor:default}
.planner-utility{display:flex;align-items:center;gap:22px;padding:17px 20px;background:#11151a;border-bottom:1px solid #36393e}.planner-find{display:flex;align-items:center;gap:13px;font-size:11px;color:#c2c0b8;flex:1}.planner-find input{background:#0c0f14;border:1px solid #454b52;padding:9px 12px;color:#f0e9dd;width:min(100%,260px);font:12px FieldSans}.talent-legend{display:flex;gap:12px;font-size:10px}.talent-legend-new{color:#8bd5a0}.talent-legend-changed{color:#ecbc67}.talent-legend-moved{color:#a99ae4}.refund-mode{display:flex;gap:6px;align-items:center;font-size:11px;color:#bdc1c8}.planner-utility>a{font-size:11px;color:#e9c776;white-space:nowrap}.planner-utility>a b{border:1px solid #705d31;padding:2px 5px;margin-left:3px}.portal:has(.planner-intro) .calc-budget{padding:13px 20px;background:#101318;color:#b8c0cb;font-size:11px;min-height:44px}.portal:has(.planner-intro) #budget-help{color:#edc567}.portal:has(.planner-intro) .trees{padding:14px;gap:14px;background:#0d1015}.portal:has(.planner-intro) .talent-tree{border-color:#605132;background:#080c11}.portal:has(.planner-intro) .talent-tree header{background:#1e2228;border-color:#635232;color:#ebdfc6;padding:15px}.talent-tree header h3{font-size:16px;color:#e8e0d0}.portal:has(.planner-intro) .talent-grid{grid-template-rows:repeat(7,79px);padding:20px 13px;background-blend-mode:normal;background-color:#12141a}.portal:has(.planner-intro) .talent-node{width:48px;height:48px;border-radius:5px;border:1px solid #7c7869;background:#111;box-shadow:0 2px 5px #000}.portal:has(.planner-intro) .talent-node>img{border-radius:3px}.portal:has(.planner-intro) .talent-node.available{border-color:#b5ac78;box-shadow:0 0 0 1px #191811,0 3px 8px #000}.portal:has(.planner-intro) .talent-node.learned{border-color:#f6c75a;box-shadow:0 0 0 1px #c39232,0 2px 8px #000}.portal:has(.planner-intro) .talent-node.maxed{border-color:#f6d56b}.portal:has(.planner-intro) .talent-node:hover,.portal:has(.planner-intro) .talent-node:focus-visible{outline:2px solid #f9e5a6;outline-offset:3px}.talent-node .talent-status{position:absolute;top:-8px;left:-7px;z-index:3;padding:1px 4px;font:800 8px/1.4 FieldSans;background:#0c1118;border:1px solid #4a6951;border-radius:2px;color:#8bd5a0;pointer-events:none}.talent-node .talent-status.changed{color:#edbd70;border-color:#826131}.talent-node .talent-status.moved{color:#b6a9ee;border-color:#73649b}.portal:has(.planner-intro) .talent-node>span:not(.talent-status){font-size:11px;min-width:25px;background:#080b11f5;border:1px solid #74623c;color:#e2e1c6}.portal:has(.planner-intro) .talent-node.locked:not(.learned)>img{filter:grayscale(1) brightness(.52)}.talent-node.match{outline:2px solid #80d4ef;outline-offset:4px}.talent-connection{stroke:#98834b;stroke-width:1.8}.talent-connection.met{stroke:#f0cf7c}.talent-connection.highlighted{stroke:#fff2b8;stroke-width:3}.portal:has(.planner-intro) .calc-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;background:#1a1d23;color:#a4aab0;padding:17px 20px;border-color:#3f4246}.calc-footer #draft-status{color:#99bc9f}.calc-footer #draft-status.storage-error{color:#f6ad9d}.calc-footer #calc-message{flex-basis:100%;font-size:12px;color:#f0d59a;min-height:0}.calc-footer #calc-message:empty{display:none}
#talent-find-results{margin:0;padding:12px 20px;border-bottom:1px solid #434138;background:#171b23;display:flex;flex-wrap:wrap;gap:8px}#talent-find-results[hidden]{display:none}#talent-find-results button{padding:8px 12px;color:#e6d4ad;background:#262b35;border:1px solid #4d545e;font-size:11px}
.build-library{padding:30px 23px;border-top:1px solid #64522d;background:linear-gradient(120deg,#1d2027,#14171c)}.build-library>header{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:26px}.build-library h2{font:700 32px FieldSerif;margin:10px 0;color:#ead7a6}.build-library h2>span{font:12px FieldSans;border:1px solid #63563c;color:#dbc28d;padding:3px 8px;border-radius:3px;vertical-align:middle;margin-left:7px}.build-library>header p:not(.small-caps){max-width:530px;color:#b0b3b9;font-size:12px;line-height:1.8}.library-actions{display:flex;gap:10px;flex-wrap:wrap}.build-library form{background:#0d1117;border:1px solid #6f5b33;padding:25px;margin:0 0 22px}.build-library form[hidden]{display:none}.build-library form h3,.build-share h3{font:700 26px FieldSerif;color:#edce8b;margin:0 0 17px}.build-library form>p{font-size:12px;color:#aeb7c4;margin-bottom:18px}.build-library form label{display:flex;flex-direction:column;gap:8px;color:#c7c3b9;font-size:11px;margin:0 0 17px}.build-library form label>span{color:#8a939e}.build-library input:not([type=file]),.build-library textarea,.build-share textarea{font:13px/1.8 FieldSans;background:#181e28;border:1px solid #4b5666;color:#f0e9dd;border-radius:3px;padding:10px 12px;max-width:100%;width:100%}.build-library textarea{resize:vertical}.build-library form>div,.build-share>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.build-library form [role=status]{font-size:12px;color:#f5b599}.build-library-controls{display:flex;align-items:end;gap:15px;margin:22px 0}.build-library-controls>label{font-size:11px;display:flex;flex-direction:column;gap:8px;color:#a9b2bf}.build-library-controls>label:first-child{flex:1}.build-library-controls select{padding:12px;background:#0d1117;color:#ded5c1;border-color:#4b5666}#build-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.saved-build-card{padding:19px;background:#0e131a;border:1px solid #3f454c;border-top:2px solid var(--class-color);border-radius:3px;min-width:0}.saved-build-card.active{outline:1px solid #b99c57}.saved-build-card>header{display:flex;gap:13px;align-items:center}.saved-build-card>header img{width:37px;height:37px;border:1px solid var(--class-color);border-radius:3px}.saved-build-card h3{font:700 22px/1.15 FieldSerif;color:#eee4ce;overflow-wrap:anywhere;margin-bottom:5px}.saved-build-card>header small{font-size:10px;color:var(--class-color)}.saved-build-card>p{font-size:11px;line-height:1.7;color:#aab4c2;margin:14px 0;overflow-wrap:anywhere;white-space:pre-wrap}.saved-build-card>small{font-size:9px;color:#8593a6;display:block;margin:13px 0}.saved-build-card .saved-actions{display:flex;gap:7px;flex-wrap:wrap}.saved-actions button{font-size:10px;background:#202631;color:#c4c8cf;border:1px solid #414956;padding:7px 9px;border-radius:2px;cursor:pointer}.saved-actions button:first-child{border-color:#90733a;color:#e9cb86;background:#b8944c12}.build-library-empty{grid-column:1/-1;border:1px dashed #4b5260;padding:29px;text-align:center}.build-library-empty h3{font:700 28px FieldSerif;color:#e4d4ac;margin-bottom:10px}.build-library-empty p{font-size:12px;color:#a8b5c6;line-height:1.8}.build-library-empty button{margin-top:18px}#build-library-status{font-size:12px;line-height:1.8;color:#b7c7da;margin:16px 0 0}#library-undo-delete{background:#293122;padding:14px;margin-top:16px;color:#d3dbb6;font-size:12px}.build-share{padding:27px;background:#111823;border-top:1px solid #5c6c83}.build-share[hidden]{display:none}.build-share>header{display:flex;justify-content:space-between;gap:20px;align-items:start}.build-share p{font-size:12px;color:#aebed1;line-height:1.8;margin:12px 0}.build-share label{font-size:11px;display:block;color:#c7d0dd;margin:18px 0}.build-share textarea{margin-top:8px;word-break:break-all}.build-share>div{margin-top:17px}
.portal:has(.planner-intro) .talent-node .talent-status{right:auto;bottom:auto;width:auto;height:auto;min-width:0;font-size:8px;line-height:1.4;border-width:1px;padding:1px 4px}
@media(max-width:1050px){.calculator-toolbar .compare-toggle{margin-left:auto}.planner-utility{flex-wrap:wrap;gap:13px}.planner-find{flex-basis:50%}.talent-legend{order:3}#build-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal:has(.planner-intro) .talent-grid{grid-template-rows:repeat(7,73px);padding:18px 5px}.portal:has(.planner-intro) .talent-node{width:42px;height:42px}}
@media(max-width:700px){.planner-intro{flex-direction:column;align-items:start;gap:15px;padding-top:20px}.planner-intro h1{font-size:37px}.planner-intro p:not(.small-caps){font-size:13px}.planner-intro>a{font-size:11px}.portal:has(.planner-intro) .calculator-toolbar{padding:14px 12px;gap:10px}.calculator-toolbar .current-class{flex-basis:100%}.calculator-toolbar .current-class strong{font-size:25px}.calculator-toolbar .points-counter{font-size:11px}.calculator-toolbar .compare-toggle{margin:0;flex-basis:100%;justify-content:start}.calculator-toolbar .wow-button{font-size:11px;padding:9px 11px}.calculator-toolbar .icon-action{font-size:18px;padding:5px 11px}.planner-utility{padding:14px 12px;gap:13px;justify-content:space-between}.planner-find{flex-basis:100%}.planner-find input{flex:1;width:100%}.talent-legend{order:3;width:100%}.portal:has(.planner-intro) .trees{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 10px;gap:12px;scrollbar-width:thin}.portal:has(.planner-intro) .talent-tree{flex:0 0 calc(100% - 16px);scroll-snap-align:center;min-width:270px}.portal:has(.planner-intro) .talent-grid{grid-template-rows:repeat(7,73px);padding:19px 11px}.portal:has(.planner-intro) .talent-node{width:45px;height:45px}.portal:has(.planner-intro) .calc-footer{font-size:10px;padding:15px 12px}.build-library{padding:25px 15px}.build-library>header{flex-direction:column;align-items:start;gap:20px}.build-library>header p:not(.small-caps){font-size:12px}.build-library h2{font-size:31px}.build-library form{padding:20px 15px}.build-library-controls{gap:10px}.build-library-controls input,.build-library-controls select{font-size:11px!important}.build-library-controls label:first-child{min-width:0}#build-library-grid{grid-template-columns:1fr}.saved-build-card h3{font-size:24px}.saved-actions button{font-size:11px;padding:9px 10px}.build-share{padding:22px 15px}.build-share h3{font-size:25px}.build-library .wow-button,.build-share .wow-button{font-size:11px}.portal:has(.planner-intro) .panel-heading{padding:15px 12px}.panel-heading .data-chip{font-size:8px}.planner-utility .refund-mode{display:flex}}
@media(prefers-reduced-motion:reduce){.portal:has(.planner-intro) *{scroll-behavior:auto!important;transition:none!important}}

/* Talented is part of the point plan, so its effect stays beside the budget. */
.planner-talented{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(240px,1fr);align-items:center;gap:22px;padding:18px 21px;background:linear-gradient(110deg,#292719,#171b22 65%);border-bottom:1px solid #6d5e3755}.planner-talented-identity{display:flex;align-items:center;gap:13px}.planner-talented-identity>img{flex:none;width:40px;height:40px;border:1px solid #b69b59;border-radius:4px}.planner-talented .small-caps{font-size:8px;letter-spacing:1.2px;color:#cbb478;margin:0 0 5px}.planner-talented h3{font:600 23px FieldSerif,Georgia,serif;color:#f0dcaa;margin:0}.planner-talented-identity p:last-child{font:10px/1.6 FieldSans,Arial,sans-serif;color:#b0b5bc;margin:5px 0 0}.planner-talented-control{display:grid;gap:6px;color:#c6c8cc;font:11px FieldSans,Arial,sans-serif}.planner-talented-control select{background:#10141a;border:1px solid #897245;color:#f1dfb2;min-height:44px;padding:9px 12px;font:12px FieldSans,Arial,sans-serif;min-width:122px;border-radius:3px}.planner-talented-budget{display:grid;gap:8px}.planner-talented-budget output{color:#eadbb8;font:600 12px/1.6 FieldSans,Arial,sans-serif}.planner-talented-budget a{color:#b5a480;font:10px/1.5 FieldSans,Arial,sans-serif}.planner-talented-control select:focus-visible{outline:2px solid #f2d382;outline-offset:3px}
@media(max-width:1000px){.planner-talented{grid-template-columns:1fr auto}.planner-talented-budget{grid-column:1/-1;border-top:1px solid #ffffff12;padding-top:12px;gap:5px}}
@media(max-width:700px){.planner-talented{padding:16px 13px;gap:15px}.planner-talented-identity{gap:10px}.planner-talented-identity>img{width:36px;height:36px}.planner-talented h3{font-size:22px}.planner-talented-control select{min-width:100px;max-width:110px;font-size:11px;padding:9px}.planner-talented-identity p:last-child{font-size:9px;max-width:200px}.planner-talented-budget output{font-size:11px}.planner-talented-budget a{font-size:10px}}
/* Practical planner metadata remains readable at both breakpoints. */
.calculator-toolbar label,.calculator-toolbar .points-counter,.planner-find,.talent-legend,.refund-mode,.planner-utility>a,
.portal:has(.planner-intro) .calc-budget,.portal:has(.planner-intro) .calc-footer,
.build-library form label,.build-library-controls>label,.saved-build-card>header small,.saved-build-card>p,.saved-build-card>small,
.saved-actions button,.build-share label,.planner-talented .small-caps,.planner-talented-identity p:last-child,
.planner-talented-control,.planner-talented-budget a,.planner-talented-budget output,.panel-heading .data-chip{font-size:12px}
.portal:has(.planner-intro) .talent-node .talent-status{font-size:12px;top:-10px;left:-8px}
.portal:has(.planner-intro) .talent-node>span:not(.talent-status){font-size:12px}
.saved-actions button,.build-library .wow-button,.build-share .wow-button,.calculator-toolbar .wow-button{font-size:12px;min-height:44px}
.planner-find input{min-height:44px}.planner-talented-control select{font-size:12px}
#talent-find-results button{display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px;border-radius:4px}
#talent-find-results button img{border:1px solid #a58b52;border-radius:3px;flex:none}
