/* Compact game-inspired equipment and skill workspace. */
.builder-layout.combat-workspace{grid-template-columns:195px minmax(0,1fr)}
.combat-workspace .build-summary{grid-column:1/-1;position:static}
.combat-workspace .build-summary #liveStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.combat-workspace .build-slots{display:none}.combat-workspace .build-center{min-width:0}
.combat-workspace .build-tabs{position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}
.game-skills{--gold:#c6aa71;--violet:#b38ad6;color:#ddd6c8}
.game-skill-heading,.loadout-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.game-skill-heading h2{font:26px Georgia,serif;color:#dbbf88}.spec-budget{font-size:12px;color:#b6aa94}.spec-budget strong{color:#efce8d;margin-left:10px;font-size:16px}
.game-skill-tabs,.spec-weapon-tabs{display:flex;gap:6px;border-bottom:1px solid #746341;margin:16px 0}
.game-skill-tabs button,.spec-weapon-tabs button{border:1px solid #574c40;border-radius:3px 3px 0 0;background:#15151d;color:#b8ad99;padding:10px 26px}
.game-skill-tabs .active,.spec-weapon-tabs .active{background:linear-gradient(#654575,#38283f);color:#eed5a1;border-color:#ae9563}
.skill-counters{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;margin-bottom:18px;color:#a99f93}.skill-counters b{color:#e4d0a9;margin-left:6px}
.library-labels{display:grid;grid-template-columns:64px 1.5fr 1fr;gap:24px;text-align:center;font:13px Georgia,serif;color:var(--gold);padding-left:10px}
.weapon-skill-row{border-top:1px solid #514534;padding:12px 0 18px}.weapon-skill-row h3{margin:0 0 12px!important;font:14px Georgia,serif!important;color:var(--gold)}
.weapon-skill-grid{display:grid;grid-template-columns:64px 1.5fr 1fr;gap:24px;align-items:center}
.library-active{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.library-passive{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.library-defense{display:flex;justify-content:center}
.game-skill{position:relative;display:block;aspect-ratio:1;width:100%;max-width:64px;min-width:0;padding:3px;border:1px solid #635240;border-radius:2px;background:radial-gradient(#3e294e,#17131d);box-shadow:inset 0 0 0 2px #0c0d12;touch-action:manipulation}
.game-skill img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.game-skill .skill-rank{position:absolute;bottom:0;right:1px;min-width:18px;background:#30253c;color:#dfc9a2;font:11px Georgia,serif;border-radius:4px;padding:0 2px;pointer-events:none}
.game-skill.equipped{border-color:#b68bde;box-shadow:0 0 0 1px #6e468f,inset 0 0 0 2px #18121e}.game-skill.focused{outline:2px solid #d5b77c;outline-offset:3px}.game-skill:hover{filter:brightness(1.2);border-color:#d5b77c}.game-skill.passive{clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);border-radius:9px}.game-skill[draggable=true]{cursor:grab}.game-skill.dragging{opacity:.35}.skill-empty-mark{font-size:24px;color:#5c5364}.game-skill:focus-visible,.spec-orbit:focus-visible,.spec-mini:focus-visible{outline:2px solid #f5dfae;outline-offset:4px}
.game-skill.passive .skill-rank{left:50%;right:auto;bottom:1px;transform:translateX(-50%)}
.game-loadout{border:1px solid #715e43;background:linear-gradient(110deg,#17141e,#12161c);padding:16px;margin:16px 0;border-radius:5px}
.loadout-heading h3{margin:0!important;color:#d2b67b}.loadout-heading>span{font-size:10px;color:#a69b8c}.loadout-body{display:grid;grid-template-columns:56px minmax(0,1fr) 220px;gap:22px;align-items:center;margin-top:16px}
.loadout-active{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 9px}.loadout-passive{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.loadout-slot,.loadout-defense{position:relative}.loadout-slot kbd,.loadout-defense kbd{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font:10px Segoe UI,sans-serif;background:#1b1820;color:#cbb282;padding:0 4px;border:1px solid #7c6546;border-radius:3px;pointer-events:none}
.loadout-body .game-skill{max-width:58px}.skill-remove-zone{margin-top:15px;text-align:center;padding:6px;border:1px dashed #615345;color:#a29480;font-size:10px;border-radius:3px}.skill-drag-active .skill-remove-zone{color:#f2c093;background:#39251d}.drop-over{outline:3px solid #e7c993!important;outline-offset:3px;background-color:#62522f!important}
.skill-detail{padding:16px;background:#15161b;border:1px solid #4b4243;border-radius:5px;margin:18px 0}.skill-detail-heading{display:flex;align-items:center;gap:13px}.skill-detail-heading>img{width:54px;height:54px;object-fit:contain}.skill-detail-heading h3{margin:3px 0!important;color:#d8b8ef}.skill-detail-heading small{font-size:10px;color:#a59e94}.skill-detail-heading button{margin-left:auto;white-space:nowrap;font-size:12px}.skill-detail>p{font-size:12px;line-height:1.8;white-space:pre-line;color:#b7b3ae}
.spec-weapon-tabs{margin-top:0;border-color:#4b3e50}.spec-weapon-tabs button{padding:8px 18px;font-size:12px}.game-spec-layout{display:grid;grid-template-columns:minmax(270px,1fr) minmax(290px,1fr);gap:20px;align-items:start}.spec-skill-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.spec-skill-row{border:1px solid #4c4149;background:#171720;padding:8px;min-width:0}.spec-skill-row.active{border-color:#d0aa76;background:#29202d}.spec-skill-row.off-bar{opacity:.6}.spec-skill-pick{display:flex;align-items:center;gap:8px;width:100%;padding:0;text-align:left;background:none;border:0;color:#b995d7;font-size:11px}.spec-skill-pick img{width:42px;height:42px;object-fit:contain}.spec-mini-nodes{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.spec-mini{width:27px;height:27px;flex:0 0 27px;border-radius:50%;border:1px solid #68605a;background:#1c1b22;padding:3px;color:#aa9982}.spec-mini img{width:100%;height:100%;object-fit:contain}.spec-mini.selected{border:2px solid #c08bee;box-shadow:0 0 4px #bc8dd688;background:#422847}
.spec-focus{position:sticky;top:65px;text-align:center;padding:10px 16px 16px;background:radial-gradient(ellipse at 50% 160px,#34203855,#15161a 60%);border:1px solid #453749;border-radius:6px}.spec-focus>h3{font:20px Georgia,serif!important;color:#c8a0e5;margin:4px 0!important}.spec-wheel{position:relative;aspect-ratio:1;max-width:340px;margin:0 auto}.spec-wheel-ring{position:absolute;inset:13%;border:2px solid #3a2d47;border-radius:50%;box-shadow:0 0 0 18px #211b2b44,inset 0 0 0 20px #211b2b44}.spec-center{position:absolute;width:86px;height:86px;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid #aa8b5f;box-shadow:0 0 0 8px #2a2132,0 0 0 10px #5b4b65;border-radius:50%;background:#17111e;padding:5px}.spec-center img{width:100%;height:100%;object-fit:contain;border-radius:50%}.spec-center span{position:absolute;bottom:-13px;left:35%;background:#372640;padding:0 8px;border:1px solid #ad83ce;border-radius:4px}
.spec-orbit{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:55px;height:55px;padding:5px;border-radius:50%;border:2px solid #726650;background:#1a1721;box-shadow:0 0 0 4px #211d28;color:#b49d76}.spec-orbit img{width:100%;height:100%;object-fit:contain}.spec-orbit.selected{border-color:#c28de9;box-shadow:0 0 0 4px #50345e,0 0 15px #9a66c544}.spec-orbit b{position:absolute;right:-7px;bottom:-7px;background:#19151d;border:1px solid #9b8257;border-radius:12px;font-size:11px;padding:0 6px;color:#e8c487}
.spec-descriptions{text-align:left}.spec-description{display:flex;gap:10px;width:100%;text-align:left;border:0;border-top:1px solid #423744;border-radius:0;padding:11px 0;background:none;color:#b1aaa7}.spec-check{color:#9074a2;flex:0 0 18px}.spec-description strong{font-size:12px;color:#c4a4dc;display:block;margin-bottom:4px}.spec-description strong small{color:#cfad74;font-weight:400;float:right;margin-left:8px}.spec-description>span>span{font-size:11px;line-height:1.65;display:block}.spec-description.selected .spec-check{color:#d5b5f1}.spec-description.selected strong{color:#e0c3f6}
.mastery-tree{background:radial-gradient(circle,#29202f 0,#14151d 64%,#1c1924);border-color:#59495d;border-radius:50%;max-width:700px;margin:20px auto 32px;overflow:visible}.mastery-ring{border-width:2px;border-color:#68517b66}.mastery-ring:nth-child(2){border-color:#6b795766}.mastery-ring:nth-child(3){border-color:#53809a77}.mastery-root{background:#2d2637;border:2px solid #ad8c58;color:#e3c78c;font:20px Georgia,serif;min-width:52px;text-align:center;z-index:1}.mastery-node{width:40px;height:40px;border:2px solid #625b5a;background:#1c1a22;box-shadow:0 0 0 3px #242129}.mastery-node img{width:100%;height:100%;pointer-events:none}.mastery-node.selected{border-color:#b69bcd;background:#3a2948;box-shadow:0 0 0 3px #4c3456,0 0 10px #9162ad55}.mastery-node.synergy{border-radius:10px;width:44px;height:44px}.mastery-node.locked:not(.selected){filter:grayscale(.85);opacity:.52}.mastery-node:hover{z-index:4;border-color:#efd09a;filter:brightness(1.2);opacity:1}.mastery-node strong{bottom:-10px;right:-5px;padding:1px 4px;font:11px Segoe UI,sans-serif;color:#edd29e;border-color:#a58555;background:#25202d}.mastery-hint{padding:10px 14px;background:#251e2b;border:1px solid #5b4667;border-radius:5px;color:#d3c4db;font-size:12px;line-height:1.9}.mastery-hint kbd{background:#39303f;border:1px solid #796880;padding:1px 5px;border-radius:3px;color:#e5d4b4}.mastery-card h3{display:flex;align-items:center}.mastery-card{background:#16151e;border-color:#51445b}
@media(max-width:1200px){.game-spec-layout{grid-template-columns:1fr 1fr;gap:12px}.spec-skill-list{grid-template-columns:1fr}.loadout-body{grid-template-columns:48px minmax(0,1fr) 185px;gap:16px}.weapon-skill-grid,.library-labels{grid-template-columns:48px 1.5fr 1fr;gap:16px}.game-skill{max-width:58px}.mastery-node{width:36px;height:36px}}
@media(max-width:850px){.builder-layout.combat-workspace{grid-template-columns:1fr}.combat-workspace .build-summary #liveStats{grid-template-columns:repeat(2,1fr)}.combat-workspace .build-character{display:none}.weapon-skill-grid,.library-labels{gap:12px}.mastery-node{width:34px;height:34px}.combat-workspace .build-tabs{top:0}}
@media(max-width:570px){.game-spec-layout{grid-template-columns:1fr}.spec-skill-list{grid-template-columns:1fr 1fr}.spec-focus{position:static}.library-labels{display:none}.weapon-skill-grid{grid-template-columns:42px minmax(0,1fr);gap:12px}.library-passive{grid-column:2;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.library-defense{grid-row:1/3}.library-active{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.loadout-body{grid-template-columns:42px minmax(0,1fr);gap:12px}.loadout-passive{grid-column:2;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.loadout-heading>span{max-width:150px}.game-loadout{padding:12px}.game-skill .skill-rank{font-size:9px;min-width:12px}.spec-budget{font-size:10px}.spec-budget strong{font-size:13px;margin-left:5px}.game-skill-tabs button{padding:8px 18px}.skill-detail-heading{flex-wrap:wrap}.skill-detail-heading>img{width:42px;height:42px}.skill-detail-heading button{margin-left:0}.mastery-node{width:26px;height:26px}.mastery-node.synergy{width:30px;height:30px}.mastery-root{min-width:38px;font-size:15px;padding:6px}.mastery-tree{margin:18px 5px 28px}}

.mastery-common-overview{border:1px solid #655b43;border-radius:9px;background:#231f173d;padding:16px;margin:16px 0 20px}.mastery-common-overview h3{margin:0;font-size:15px}.mastery-common-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.mastery-common-slot{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;padding:12px 8px;border:1px solid #655b43;border-radius:7px;background:#1e2420;color:var(--text);text-align:center;cursor:pointer}.mastery-common-slot img,.mastery-common-empty{width:54px;height:54px;object-fit:contain}.mastery-common-empty{display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--muted);border:1px dashed #657359;border-radius:5px}.mastery-common-slot strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.mastery-common-slot small{font-size:10px;line-height:1.5;color:var(--muted)}.mastery-common-slot:hover,.mastery-common-slot:focus-visible{border-color:var(--green)}.mastery-common-overview .mastery-common{margin:8px 0 0}.mastery-common-overview .mastery-common-grid{max-height:440px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}@media(max-width:650px){.mastery-common-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
