.build-workspace-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(200px,1.2fr) auto;gap:12px 18px;align-items:end;padding:18px 20px;border:1px solid #5b674c;border-radius:10px;margin-bottom:26px;background:linear-gradient(100deg,#222c22,#1b211f)}
.build-workspace-bar label{font-size:11px}.build-workspace-bar input,.build-workspace-bar select{font-size:14px}.build-workspace-actions{display:flex;gap:8px;flex-wrap:wrap}.build-workspace-actions button{white-space:nowrap;font-size:12px;min-height:40px}.build-workspace-bar>p{grid-column:1/-1;margin:0;font-size:10px;color:#c2d49d}.builder-top h1{font-size:28px;overflow-wrap:anywhere}.builder-top>div:first-child{min-width:0;max-width:70%}.new-build-dialog{width:min(500px,calc(100vw - 28px))}.new-build-dialog label{margin:18px 0}.new-build-dialog .primary{margin-top:18px}.sim-current-build{padding:13px;border:1px solid #6d7853;background:#27301f;border-radius:6px;color:var(--muted);font-size:10px}.sim-current-build strong{display:block;color:#e2efc6;font-size:15px;margin:5px 0;overflow-wrap:anywhere}.sim-current-build small{font-size:10px}.optimizer-build-output{border-color:#5e6b46}.optimizer-build-saved{padding:14px 18px;border:1px solid #72864e;border-radius:8px;margin:15px 0;background:#263220}.optimizer-build-saved strong{display:block;color:#ddedbc}.optimizer-build-saved p{font-size:12px}.optimizer-build-saved button{margin-right:8px}
/* Larger specialization buttons, with wrapping rather than compressed icons. */
.spec-skill-list{grid-template-columns:1fr;gap:10px}.spec-skill-row{display:grid;grid-template-columns:minmax(115px,1fr) minmax(0,264px);align-items:center;gap:10px;padding:11px;min-height:82px}.spec-skill-pick{font-size:13px;gap:10px;overflow-wrap:anywhere}.spec-skill-pick img{width:56px;height:56px;flex:0 0 56px}.spec-mini-nodes{gap:6px;flex-wrap:wrap;margin:0}.spec-mini{width:48px;height:48px;flex:0 0 48px;padding:5px;box-shadow:inset 0 0 0 2px #100f15}.spec-mini.selected{border-width:3px}.spec-focus{padding:16px}.spec-wheel{max-width:390px}.spec-center{width:108px;height:108px}.spec-center span{font-size:14px}.spec-orbit{width:70px;height:70px;padding:7px}.spec-orbit b{font-size:13px}.spec-description strong{font-size:14px}.spec-description>span>span{font-size:12px;line-height:1.8}.spec-check{font-size:17px}
.mastery-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 10px}.mastery-tools label{min-width:220px;flex:1;font-size:13px;color:#dac49f;max-width:400px}.mastery-tools input{display:block;width:100%;margin-top:10px;accent-color:#bc96dc}.mastery-tools output{float:right;color:#eed3a6}.mastery-tools>span{font-size:11px;color:var(--muted);max-width:230px}.mastery-viewport{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:15px 15px 24px;scrollbar-color:#9c81ae #221c2a;scrollbar-width:auto;border:1px solid #463b4e;border-radius:9px;background:#15131b}.mastery-viewport .mastery-tree{width:960px;max-width:none;margin:8px auto 12px;flex:none;--mastery-scale:1}.mastery-viewport .mastery-node{width:calc(54px * var(--mastery-scale));height:calc(54px * var(--mastery-scale));padding:3px}.mastery-viewport .mastery-node.synergy{width:calc(60px * var(--mastery-scale));height:calc(60px * var(--mastery-scale))}.mastery-viewport .mastery-node strong{font-size:max(10px,calc(13px * var(--mastery-scale)));padding:2px 5px;bottom:-12px;right:-4px}.mastery-viewport .mastery-root{font-size:max(16px,calc(28px * var(--mastery-scale)));min-width:calc(65px * var(--mastery-scale));padding:12px}.mastery-viewport .mastery-ring{border-width:2px}
@media(max-width:1250px){.build-workspace-bar{grid-template-columns:1fr 1.2fr}.build-workspace-actions{grid-column:1/-1}.game-spec-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.spec-skill-row{grid-template-columns:1fr}.spec-mini-nodes{justify-content:flex-start}.spec-skill-pick img{width:52px;height:52px;flex-basis:52px}}
@media(max-width:850px){.build-workspace-bar{padding:14px;gap:12px}.game-spec-layout{grid-template-columns:1fr 1fr}.spec-mini{width:46px;height:46px;flex-basis:46px}.spec-orbit{width:62px;height:62px}}
@media(max-width:570px){.build-workspace-bar{grid-template-columns:1fr}.build-workspace-actions{grid-column:auto}.build-workspace-actions button{flex:1;padding:9px 10px;font-size:11px}.game-spec-layout{grid-template-columns:1fr}.spec-skill-row{grid-template-columns:minmax(0,1fr) minmax(0,168px);gap:8px}.spec-mini{width:48px;height:48px;flex-basis:48px}.spec-skill-pick{flex-wrap:wrap}.mastery-tools{flex-wrap:wrap;gap:8px}.mastery-tools>span{max-width:none}.builder-top{align-items:start}.builder-top>div:first-child{max-width:100%}.builder-top h1{font-size:25px}.spec-focus{position:static}.mastery-viewport{padding:10px}}
/* Mastery tabs, dependency links and node-local tooltips. */
.mastery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.mastery-weapon-tabs{display:flex;gap:8px;flex:1}.mastery-weapon-tabs button{flex:1;max-width:300px;min-height:46px;background:#17171f;color:#bcb1a6;border:1px solid #65526f}.mastery-weapon-tabs button.active{background:linear-gradient(120deg,#563660,#32263e);color:#eed3a0;border-color:#b59972;box-shadow:inset 0 -2px #b59972}.mastery-toolbar>button{white-space:nowrap}.mastery-budget{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;color:#cfc0a3;font-size:12px}.mastery-budget>strong{font-size:20px;color:#e6cc9c}.mastery-budget>span{color:var(--muted)}.mastery-root small{display:block;font:11px Segoe UI,sans-serif;color:#c0a87b}.mastery-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.mastery-link{fill:none;stroke:#685773;stroke-width:.3;opacity:.36;vector-effect:non-scaling-stroke;stroke-width:1.8px}.mastery-link.epic-link{stroke-dasharray:4 4;opacity:.2}.mastery-link.active{opacity:1;stroke-width:3px;filter:drop-shadow(0 0 3px currentColor)}.mastery-link.sector-attack.active{stroke:#ed8b6b;color:#ed8b6b}.mastery-link.sector-util.active{stroke:#c5a0ee;color:#c5a0ee}.mastery-link.sector-defense.active{stroke:#7bb8e3;color:#7bb8e3}.mastery-link.sector-tactic.active{stroke:#dcc275;color:#dcc275}.mastery-auto-mark{position:absolute;left:-5px;top:-6px;background:#2f2142;color:#e5c0ff;border:1px solid #ae7acc;padding:2px 4px;border-radius:4px;font:10px Segoe UI,sans-serif}.mastery-tooltip{position:fixed;z-index:1000;width:340px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:hidden;border:1px solid #c1a275;border-radius:9px;padding:15px 17px;background:#18151ff5;color:#cfc9d0;box-shadow:0 12px 38px #0009;pointer-events:none;font-size:12px;line-height:1.6;white-space:pre-line}.mastery-tooltip-head{display:flex;gap:10px;align-items:center;color:#e7cba6;line-height:1.4}.mastery-tooltip-head img{width:42px;height:42px;object-fit:contain}.mastery-tooltip p{margin:9px 0 0}.mastery-tooltip-state{color:#b9a1d0;font-size:11px}.mastery-tooltip-stats{color:#d3e8b6}.mastery-tooltip-next{border-top:1px solid #51455b;padding-top:8px;color:#c6c0cd;font-size:11px}.mastery-common{margin-top:22px;border-top:1px solid #51425a;padding-top:16px}.mastery-common summary{font-size:15px;color:#d9c09b;cursor:pointer}.mastery-common-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mastery-common-choice{display:flex;gap:10px;align-items:start;background:#191720;border:1px solid #463c4e;padding:12px;border-radius:7px;margin:0}.mastery-common-choice>input{margin-top:6px;accent-color:#b897d7}.mastery-common-choice>img{width:40px;height:40px;object-fit:contain}.mastery-common-choice strong{display:block;font-size:12px;color:#d8bded}.mastery-common-choice small{font-size:11px;color:#aaa4b0;line-height:1.6;display:block;margin-top:5px;white-space:pre-line}.mastery-health{max-width:280px;margin-top:22px}.spec-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.spec-toolbar .spec-weapon-tabs{margin:0}.spec-panel-filter{display:flex;align-items:center;gap:7px;font-size:12px!important;margin:0!important;color:#cab6d9}.spec-panel-filter input{accent-color:#b58dce}
@media(max-width:650px){.mastery-toolbar{flex-wrap:wrap}.mastery-weapon-tabs{flex-basis:100%}.mastery-common-grid{grid-template-columns:1fr}.mastery-tooltip{font-size:11px;width:300px;padding:12px}.mastery-budget>strong{font-size:18px}}
/* Route dependencies around the rings and isolate hovered connections. */
.mastery-link{stroke-linecap:round;stroke-linejoin:round;opacity:.3;transition:opacity .12s}
.mastery-link.active{filter:none;stroke-width:2.6px;opacity:.86}
.mastery-link.epic-link{stroke-dasharray:5 5;opacity:.16}
.mastery-link.epic-link.active{opacity:.7}
.mastery-tree.has-link-focus .mastery-link{opacity:.055}
.mastery-tree.has-link-focus .mastery-link.focused{opacity:.9;stroke-width:2.6px}
.mastery-tree.has-link-focus .mastery-link.focused.active{opacity:1;stroke-width:3.4px}
/* Three identical rune cards; Chaos has an optional second property row. */
.rune-line .rune-controls{grid-template-columns:minmax(130px,.85fr) minmax(0,1.65fr) 76px;gap:12px}
.rune-line label{margin:0;font-size:11px}
.rune-line .rune-controls select,.rune-negative select{width:100%;margin-top:6px}
.rune-line.chaos{border-left-color:#c29ae4}
.rune-negative{display:block;margin:14px 0 0!important;padding-top:12px;border-top:1px solid #68547755}
.rune-negative>span{color:var(--muted);font-weight:400;margin-left:5px}
.rune-synergy-picker{border:1px solid #51455b;border-radius:9px;padding:15px;margin:18px 0;background:#191820}
.rune-synergy-picker h3{margin:0;font-size:14px;color:#ddc59f}
.rune-synergy-picker>.hint{font-size:11px;line-height:1.6;margin:8px 0 12px}
.rune-color-legend{display:flex;gap:9px 15px;flex-wrap:wrap;margin:12px 0 16px;color:var(--muted);font-size:10px}
.rune-color-legend>span{display:flex;gap:6px;align-items:center}
.rune-synergy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rune-synergy-choice{display:flex;flex-direction:column;align-items:start;gap:10px;min-width:0;min-height:88px;padding:12px;text-align:left;border:1px solid #544a59;background:#211e28;color:#d4c9dc;border-radius:7px}
.rune-synergy-choice:hover:not(:disabled){border-color:#bca0ce;background:#30263d}
.rune-synergy-choice.selected{border-color:#b7c78c;background:#293224;box-shadow:inset 0 0 0 1px #b7c78c55}
.rune-synergy-choice:disabled{opacity:.4;cursor:not-allowed}
.rune-synergy-choice strong{font-size:11px;line-height:1.6;font-weight:500;white-space:normal}
.rune-order-colors{display:flex;align-items:center;gap:8px}
.rune-order-dot{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border-radius:50%;border:1px solid #ffffff70;box-shadow:inset 0 0 0 3px #0002;color:#fff;font-size:13px;font-style:normal;line-height:1}
.rune-order-dot.attack{background:#c05e59}.rune-order-dot.defense{background:#5c9bc5}.rune-order-dot.assist{background:#dfb858}.rune-order-dot.chaos{background:#9365b8}
.rune-order-dot.with-chaos{outline:2px solid #c393eb;outline-offset:2px;color:#fff}
.rune-order-arrow{color:#9c8eaa;font-size:17px}
.rune-synergy-status{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}
.rune-synergy-active{color:#cce1a1}
@media(max-width:600px){.rune-line .rune-controls{grid-template-columns:minmax(0,1fr) 70px;gap:12px}.rune-line .rune-controls>label:first-child{grid-column:1/-1}.rune-line .rune-controls>label:last-child{grid-column:auto}.rune-synergy-picker{padding:12px}.rune-synergy-choice{padding:10px;min-height:94px}.rune-synergy-options{gap:7px}}
.rune-inventory-toolbar{padding:14px;margin:17px 0;border:1px solid #6e587e;background:#231d2c;border-radius:8px}
.rune-inventory-toolbar>button{font-size:12px;min-height:40px}
.rune-inventory-toolbar .hint{margin:10px 0 0;line-height:1.7;font-size:11px}
.rune-copy-conflict{color:#e4bb80;font-size:11px;line-height:1.6}
.rune-levels-dialog{width:min(1040px,calc(100vw - 28px));max-height:88vh;padding:24px;border:1px solid #a787ba;border-radius:10px;background:var(--panel);color:var(--text)}
.rune-levels-dialog::backdrop{background:#080b0cce}
.rune-levels-dialog h2{margin:0;font-size:23px;color:#e0c4ef}
.rune-levels-dialog .hint{font-size:12px;line-height:1.7}
.rune-levels-dialog .dialog-head{margin-bottom:12px;align-items:start}
.rune-levels-scroll{max-height:57vh;overflow:auto;border:1px solid #51435c;border-radius:7px;margin-top:17px}
.rune-levels-table{width:100%;border-collapse:separate;border-spacing:0;min-width:640px;font-size:12px;text-align:left}
.rune-levels-table th{position:sticky;top:0;background:#292130;color:#d5bddf;z-index:1;padding:12px 15px;font-weight:500;border-bottom:1px solid #675273}
.rune-levels-table td{padding:15px;vertical-align:top;border-bottom:1px solid #51435c99}
.rune-levels-table td:first-child{width:46%}.rune-levels-table td:nth-child(2){width:125px}
.rune-levels-table small{display:block;margin-top:6px;color:#aaa0b2;font-size:10px;line-height:1.6}
.rune-table-title{display:flex;gap:10px;align-items:center;line-height:1.6}
.rune-table-title strong{font-weight:500;color:#e2d8e9}
.rune-copy-count{margin-left:auto;white-space:nowrap;border:1px solid #675177;border-radius:5px;background:#35283f;color:#d8bce6;font-size:12px;font-weight:500;padding:3px 7px}
.rune-levels-table input{width:88px;min-height:39px;font-size:16px;text-align:center}
.rune-copy-place{display:block;font-size:11px;line-height:1.6;color:#bcc8aa;margin-bottom:5px}
.rune-copy-conflict-row{background:#4b36282e}.rune-copy-conflict-row input{border-color:#c29d69}
.rune-levels-table .rune-copy-conflict{color:#e4bb80}
@media(max-width:650px){.rune-levels-dialog{padding:16px}.rune-levels-dialog h2{font-size:19px}.rune-levels-dialog .hint{font-size:11px}}
.mastery-center-controls{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(180px * var(--mastery-scale,1));display:flex;flex-direction:column;align-items:stretch;gap:8px;z-index:4;padding:10px;border-radius:18px;background:#101620f2;border:1px solid #6c5e3d;box-shadow:0 6px 25px #0008;text-align:center}
.mastery-center-controls .mastery-weapon-tabs{display:flex;flex-direction:column;gap:5px}
.mastery-center-controls .mastery-weapon-tabs button{min-height:32px;padding:5px 7px;font-size:calc(12px * var(--mastery-scale,1))}
.mastery-center-controls .mastery-root{position:static;transform:none;width:auto;height:auto;min-height:0;display:block;background:none;border:0;box-shadow:none;font-size:calc(24px * var(--mastery-scale,1));padding:0}
.mastery-center-controls .mastery-root small{display:inline;margin-left:5px;font-size:.55em}
.mastery-center-controls #resetWeaponMastery{padding:4px;font-size:calc(11px * var(--mastery-scale,1))}
.mastery-common-slot[draggable=true],.mastery-common-choice[draggable=true]{cursor:grab}
.mastery-common-slot.target{outline:2px solid #c1a46a;outline-offset:2px}
.mastery-common-slot.drop-target{outline:3px solid #74d9ba;outline-offset:3px;background:#163d35}
.mastery-common-choice.selected{border-color:#bca470;background:#292b23}
.mastery-common-choice{width:100%;font:inherit;color:inherit;text-align:left}
.mastery-common-choice.dragging,.mastery-common-slot.dragging{opacity:.45}
.weapon-damage-summary{display:grid;gap:8px;margin:12px 0 16px}
.weapon-damage-card{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #75604466;border-radius:12px;background:linear-gradient(125deg,#282520,#171c27)}
.weapon-damage-card img{width:46px;height:46px;object-fit:contain}
.weapon-damage-card span{display:block;color:#d8c3a0;font-size:12px}
.weapon-damage-card strong{display:block;font-size:26px;font-variant-numeric:tabular-nums;line-height:1.4;color:#f4e8cc}
.weapon-damage-card small{display:block;font-size:11px;color:#a8b1c3;line-height:1.4}
.build-save-toast{position:fixed;right:24px;bottom:24px;z-index:1500;max-width:min(440px,calc(100vw - 40px));padding:17px 22px;border:1px solid #68bc9c;border-radius:12px;background:#173b32;color:#dcfff0;box-shadow:0 10px 45px #0008;font-size:15px;pointer-events:none}
.build-save-toast.error{background:#472627;color:#ffe0db;border-color:#c3766c}
.build-save-toast[hidden]{display:none}
#saveBuild.saved-feedback{background:#245e48;border-color:#68bc9c;color:#e4fff2}
