/* Progression stays at camp; combat keeps only three skills and two slim meters. */
.difficulty-chip{border:1px solid #edbd7955;background:#132b36a8;border-radius:20px;min-width:60px;padding:0 13px;font-size:8px;font-weight:700;letter-spacing:1px;color:var(--gold)}
.difficulty-chip:disabled{opacity:.65}
.difficulty-screen{z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:85px 5vw 35px;overflow:auto;background:radial-gradient(ellipse at 50% 35%,#143945d9,#081b29f5 85%)}
.difficulty-intro{text-align:center}.difficulty-intro h2{font:normal clamp(40px,5vw,65px)/1.02 Georgia;margin:17px 0 15px;letter-spacing:-1.5px}.difficulty-intro h2 br{display:none}.difficulty-intro p{font-size:12px;color:#b4c7c8;margin:0;line-height:1.6}
.difficulty-options{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:min(1020px,100%)}
.difficulty-card{position:relative;display:flex;flex-direction:column;align-items:center;min-height:266px;padding:18px 20px 20px;border:1px solid #b0c1b234;background:linear-gradient(155deg,#ffffff07,#ffffff01);text-align:center;transition:border-color .15s,background .15s,transform .15s}
.difficulty-card:hover{background:#ffffff09;border-color:var(--path-color);transform:translateY(-3px)}
.difficulty-card.selected{border-color:var(--path-color);box-shadow:inset 0 2px var(--path-color),0 14px 40px #00141b55;background:linear-gradient(155deg,#ffffff10,#ffffff02)}
.difficulty-emblem{display:block;width:72px;height:72px;margin-bottom:10px}.difficulty-card small{color:var(--path-color);font-size:7px;letter-spacing:1.6px}.difficulty-card strong{font:26px Georgia;margin:8px 0 0}.difficulty-card p{font-size:11px;line-height:1.7;color:#b7c6c6;flex:1;margin:12px 0 17px}.difficulty-card>div{display:flex;justify-content:space-between;gap:12px;width:100%;border-top:1px solid #d8d4b52a;padding-top:13px;font-size:8px;color:var(--path-color)}
.difficulty-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(1020px,100%)}.difficulty-footer>span{font-size:11px;color:#bdcbca}.difficulty-footer .primary{min-width:225px}
.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:480px}.home-actions .secondary{min-width:0;gap:25px}.home-minor{gap:23px;flex-wrap:wrap}.home-minor #home-level{display:block;font-size:8px;color:#d1c39f}
.level-hud{display:flex;justify-content:space-between;font-size:8px;color:#b7d6d3;letter-spacing:1px}.level-hud b{font-size:8px;font-weight:400;color:#82bcc5}.xp-track{height:3px;background:#bddad420;margin:8px 0 17px}.xp-track i{display:block;height:100%;background:#88cdd4;transition:width .2s;box-shadow:0 0 8px #8be0e333}
.actionbar{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:auto}.actionbar>span{display:block;font-size:7px;letter-spacing:1.6px;color:#bdd0cd;margin-top:13px;text-shadow:0 2px 8px #001623}#skill-slots{display:flex;gap:10px;align-items:center}
.skill-slot{position:relative;width:55px;height:59px;padding:0;border:1px solid #a6c1b855;background:linear-gradient(145deg,#234651d9,#102633ed);border-radius:7px;box-shadow:0 5px 18px #02192377;isolation:isolate}.skill-slot.selected{border-color:#f3cb8b;box-shadow:0 0 0 1px #f3cb8b33,0 0 18px #d2a34e22}.skill-slot:hover{background:#30505c}.skill-art{position:absolute;width:48px;height:48px;left:3px;top:1px;background-image:url('assets/upgrade-atlas.png');background-size:600% 500%;background-repeat:no-repeat}.skill-slot kbd{position:absolute;left:-5px;top:-6px;padding:2px 4px;background:#112933;font-size:9px;z-index:3}.skill-slot .skill-name{position:absolute;bottom:5px;left:0;right:0;font-size:6px;letter-spacing:1px;color:#d8e2d3;z-index:3;text-transform:uppercase}.skill-slot .rmb-mark{display:none;position:absolute;right:-3px;top:-5px;font-size:6px;padding:2px 3px;color:#1b3035;background:#f3cb8b;border-radius:2px;z-index:3}.skill-slot.selected .rmb-mark{display:block}.skill-cooldown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:6px;font:22px Georgia;color:#fff0d1;text-shadow:0 1px 4px #061823;z-index:2}.skill-slot.cooling::after{content:'';position:absolute;left:0;right:0;bottom:0;height:var(--cooldown);background:#081923c9;border-radius:6px;z-index:1}.skill-slot.locked{opacity:.52;border-style:dashed}.skill-slot.locked .skill-art{filter:grayscale(.7);opacity:.4}.skill-slot.locked .skill-cooldown{font-size:19px;color:#afc4c5}
.play-tip{bottom:122px}.lava-warning{bottom:115px}.boss-hud.enraged i{background:linear-gradient(90deg,#b94765,#ffad70)}.boss-hud.enraged small{color:#ffad87}.result-stats{gap:36px}.result-actions{gap:28px;flex-wrap:wrap;justify-content:center}
.talent-dialog{width:min(1320px,96vw);max-height:94dvh;padding:28px 30px 17px;overflow:hidden;background:radial-gradient(ellipse at 40% 70%,#1d3840,#10222e 78%)}
.talent-heading{display:flex;align-items:center;gap:30px;padding-right:35px}.talent-heading>div:first-child{flex:1}.talent-heading .eyebrow{font-size:7px;letter-spacing:1.8px}.talent-heading h2{font:normal 35px Georgia;letter-spacing:-.5px;margin:10px 0}.talent-level{width:190px}.talent-level>strong{font:20px Georgia;display:block;color:#b9e3dd}.talent-level>span{display:block;margin-top:9px;font-size:7px;color:#a7bfc0;letter-spacing:.7px}.talent-level .xp-track{margin-bottom:0}.talent-points{min-width:86px;text-align:center}.talent-points strong{display:block;font:42px/.95 Georgia;color:var(--gold)}.talent-points>span{font-size:7px;color:#bfc6b8;letter-spacing:1px;display:block;margin-top:9px}
.talent-branches{display:flex;gap:7px;border-bottom:1px solid #cdd3ba26;margin-top:16px;padding-bottom:11px}.talent-branches button{border:1px solid transparent;background:none;color:#a2babe;padding:8px 14px;font-size:8px;letter-spacing:1.5px}.talent-branches button span{font-size:7px;opacity:.6;margin-left:8px;letter-spacing:.3px}.talent-branches button.active{border-color:#b8cec347;background:#cedbc00b;color:var(--path-color,var(--gold))}.talent-branches button:hover{color:var(--path-color,var(--gold))}
.talent-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;margin-top:16px}.tree-scroll{height:min(60dvh,610px);overflow:auto;scrollbar-width:thin;scrollbar-color:#627f7c #10262e;overscroll-behavior:contain;border:1px solid #a9bfaf13;background:radial-gradient(ellipse at 50% 30%,#71999408,transparent 65%)}
.talent-tree{display:flex;justify-content:space-evenly;min-width:900px}.talent-tree.single-path{min-width:300px;justify-content:center}.talent-path{position:relative;flex:0 0 300px;width:300px;height:820px;border-right:1px solid #bdd1bc0d}.talent-path:last-child{border:0}.path-heading{position:absolute;top:15px;left:0;right:0;text-align:center}.path-heading strong{font:21px Georgia;color:var(--path-color);display:block}.path-heading>span{font-size:7px;letter-spacing:1px;color:#a0b6b8;display:block;margin-top:6px}.tree-connections{position:absolute;inset:0;width:300px;height:820px;overflow:visible;pointer-events:none}.tree-connections path{fill:none;stroke:#667e7d4d;stroke-width:1.4}.tree-connections path.lit{stroke:var(--path-color);stroke-opacity:.55;stroke-width:1.6}
.talent-node{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:none;width:83px;height:85px;display:flex;align-items:center;flex-direction:column;isolation:isolate;outline-offset:1px!important}.node-ring{position:relative;display:block;width:47px;height:47px;flex:0 0 47px;border-radius:50%;border:1px solid #73888899;background:#152d36;box-shadow:0 0 0 4px #102630;transition:border-color .16s,box-shadow .16s}.node-art{display:block;width:45px;height:45px;background-image:url('assets/upgrade-atlas.png');background-size:600% 500%;background-repeat:no-repeat;filter:saturate(.5);opacity:.65}.talent-node strong{font-size:8px;line-height:1.3;font-weight:500;color:#b4c8c8;margin-top:7px;max-width:83px;text-shadow:0 1px 3px #102630;background:#142c34dd;border-radius:3px;padding:0 2px}.talent-node small{font-size:7px;margin-top:3px;color:#779496;letter-spacing:1px}.talent-node.locked .node-ring{border-style:dashed}.talent-node.locked .node-art{opacity:.4}.talent-node:hover .node-ring,.talent-node.selected .node-ring{border-color:#ffe4b7;box-shadow:0 0 0 4px #102630,0 0 0 5px #dcc79588}.talent-node.available .node-ring{border-color:var(--path-color);box-shadow:0 0 0 4px #102630,0 0 16px #e3c39918}.talent-node.available.selected .node-ring{box-shadow:0 0 0 4px #102630,0 0 0 5px #dcc79588}.talent-node.learned .node-ring{border:2px solid var(--path-color);background:#28424a}.talent-node.learned .node-art{width:43px;height:43px;opacity:1;filter:none}.talent-node.learned strong,.talent-node.learned small{color:var(--path-color)}.talent-node.capstone{height:100px;width:105px}.talent-node.capstone .node-ring{height:62px;width:62px;flex-basis:62px;border-radius:15px;transform:rotate(45deg);margin-bottom:10px}.talent-node.capstone .node-art{width:59px;height:59px;transform:rotate(-45deg)}.talent-node.capstone strong{font:12px Georgia;max-width:110px;white-space:nowrap}.skill-key{position:absolute;right:-3px;bottom:-3px;background:#c7c7a7;border:1px solid #eff0d7;color:#17313a;font:bold 9px Arial;padding:3px 5px;transform:rotate(-45deg);border-radius:3px}
.talent-detail{padding:19px 3px 0 1px;overflow-y:auto;max-height:min(60dvh,610px);scrollbar-width:thin}.talent-detail .eyebrow{color:var(--path-color);font-size:7px;letter-spacing:1.5px}.detail-art{width:92px;height:92px;margin:16px 0 3px;filter:drop-shadow(0 8px 16px #071823)}.talent-detail h3{font:27px/1.05 Georgia;margin:4px 0 11px}.detail-rank{color:var(--path-color);font-size:8px;letter-spacing:1.8px}.talent-detail p{color:#b6c9c8;font-size:11px;line-height:1.85;margin:14px 0}.talent-detail .skill-description{color:#d0dacd}.talent-detail .skill-mastery{color:#9ab7bb;font-size:10px;line-height:1.75}.detail-skill-stat{font-size:8px;color:var(--path-color);letter-spacing:.8px;border-top:1px solid #b9c9ad2a;padding-top:14px}.talent-requirements{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 14px}.talent-requirements span{border:1px solid #94b2b130;background:#a3bb9f06;padding:5px 7px;font-size:7px;color:#95b0b2;letter-spacing:.5px}.talent-rule{font-size:10px;color:#c5cbb8;min-height:27px;line-height:1.7;margin-bottom:14px}.talent-detail .primary{width:100%;min-width:0;min-height:46px;padding:12px 17px;font-size:9px;gap:12px}.talent-detail .primary>span{font:17px Georgia;white-space:nowrap}.talent-detail-note{font-size:9px;line-height:1.8;color:#779b9f;display:block;margin-top:17px}.talent-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:13px;border-top:1px solid #bad0bc20;padding-top:7px}.talent-footer>span{font-size:10px;color:#a8bfc0;line-height:1.5}.talent-footer .text-button{font-size:8px;white-space:nowrap;color:#d5cbae}
@media(max-width:1050px){.talent-heading{gap:20px}.talent-heading h2{font-size:30px}.talent-layout{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.talent-dialog{padding-inline:24px}.talent-level{width:155px}.talent-heading .eyebrow{font-size:6px;letter-spacing:1px}.difficulty-options{gap:10px}.difficulty-card{padding:15px 13px}.difficulty-card strong{font-size:23px}.difficulty-card p{font-size:10px}.difficulty-card>div{font-size:7px}.home-minor{gap:17px}}
@media(max-width:760px){.difficulty-chip{min-width:49px;padding:0 9px;font-size:7px}.difficulty-screen{padding:78px 6vw 26px;gap:21px;justify-content:flex-start}.difficulty-intro h2{font-size:40px}.difficulty-intro p{font-size:10px}.difficulty-intro .eyebrow{font-size:7px;letter-spacing:1.5px}.difficulty-options{grid-template-columns:repeat(2,1fr);gap:10px}.difficulty-card{min-height:207px;padding:13px 13px 14px}.difficulty-emblem{width:48px;height:48px;margin-bottom:6px}.difficulty-card strong{font-size:22px;margin-top:5px}.difficulty-card small{font-size:6px}.difficulty-card p{margin:9px 0 13px;font-size:10px;line-height:1.6}.difficulty-card>div{padding-top:10px;font-size:7px;gap:5px}.difficulty-footer{flex-direction:column;gap:17px;text-align:center}.difficulty-footer>span{font-size:10px;line-height:1.7}.difficulty-footer .primary{width:100%;max-width:320px}.home-actions{max-width:360px;gap:9px}.home-actions .secondary{padding:12px;gap:17px;font-size:8px}.home-minor{gap:16px}.home-minor #home-level{font-size:7px;width:100%;margin-top:-3px}.actionbar{left:auto;right:22px;bottom:25px;transform:none}.skill-slot{width:47px;height:52px}.skill-art{width:42px;height:42px;left:2px}.skill-slot .skill-name{font-size:5.5px;bottom:4px}#skill-slots{gap:8px}.actionbar>span{font-size:6px;letter-spacing:1px}.ability-hud{width:100px;bottom:34px}.play-tip{bottom:115px;left:25%;right:10%}.lava-warning{bottom:116px;font-size:8px;letter-spacing:2px}.result-stats{gap:23px}.result-stats b{font-size:24px}.result-stats span{font-size:6px}.result-actions{gap:17px}.talent-dialog{padding:22px 17px 13px;max-height:97dvh;width:97vw}.talent-heading{flex-wrap:wrap;gap:10px;padding-right:30px;position:relative}.talent-heading>div:first-child{flex-basis:100%}.talent-heading h2{font-size:30px;margin-bottom:5px}.talent-heading .eyebrow{font-size:6px;letter-spacing:1.2px}.talent-level{width:calc(100% - 70px);padding-right:12px}.talent-level>strong{font-size:15px}.talent-level>span{font-size:6px;margin-top:5px}.talent-level .xp-track{margin-top:6px}.talent-points{min-width:50px;text-align:right}.talent-points strong{font-size:29px}.talent-points>span{font-size:5px;letter-spacing:.5px;margin-top:5px}.talent-branches{margin-top:13px;gap:3px;padding-bottom:8px;justify-content:space-between}.talent-branches .all-paths{display:none}.talent-branches button{padding:8px 8px;font-size:7px;letter-spacing:.8px}.talent-branches button span{font-size:6px;margin-left:5px}.talent-layout{grid-template-columns:1fr;gap:12px;margin-top:10px}.tree-scroll{height:34dvh;min-height:180px}.talent-tree{min-width:300px}.talent-detail{position:relative;max-height:24dvh;padding:4px 2px 3px;min-height:165px}.detail-art{width:57px;height:57px;position:absolute;right:5px;top:0;margin:0}.talent-detail h3{font-size:23px;margin:9px 66px 6px 0}.talent-detail p{font-size:10px;line-height:1.65;margin:10px 0}.talent-detail .skill-mastery{font-size:9px}.talent-detail .primary{min-height:39px;max-width:260px}.talent-requirements{margin:12px 0 8px;gap:5px}.talent-rule{min-height:0;font-size:9px;margin-bottom:9px}.talent-detail-note{font-size:8px;margin-top:12px}.talent-footer{margin-top:10px;gap:9px;align-items:flex-start}.talent-footer>span{font-size:8px;max-width:57%}.talent-footer .text-button{font-size:6px;padding-top:1px}.detail-skill-stat{font-size:7px;padding-top:10px}}
@media(max-height:740px) and (min-width:761px){.difficulty-screen{gap:18px;padding-top:76px}.difficulty-intro h2{font-size:47px;margin:10px 0}.difficulty-card{min-height:232px;padding-block:12px}.difficulty-emblem{width:59px;height:59px}.difficulty-card p{margin-block:9px 12px}.talent-heading h2{font-size:30px}.talent-dialog{padding-top:19px}.tree-scroll,.talent-detail{height:56dvh;max-height:56dvh}.talent-branches{margin-top:10px}.talent-footer{margin-top:10px}.talent-layout{margin-top:10px}.talent-detail{padding-top:9px}.detail-art{width:70px;height:70px;margin-top:12px}.talent-detail h3{font-size:24px}.talent-requirements{margin-top:15px}.talent-rule{margin-bottom:9px}.talent-detail-note{margin-top:13px}}
@media(max-height:690px) and (max-width:760px){.difficulty-screen{padding-top:72px;gap:15px}.difficulty-intro h2{font-size:34px;margin:9px 0}.difficulty-card{min-height:182px;padding:10px}.difficulty-card p{font-size:9px;margin:7px 0 10px}.difficulty-emblem{width:40px;height:40px;margin-bottom:3px}.difficulty-card strong{font-size:20px}.difficulty-footer{gap:12px}.home-minor{display:flex}.home-minor #home-level{display:none}.talent-heading h2{font-size:25px}.talent-dialog{padding-top:18px}.tree-scroll{min-height:145px;height:29dvh}.talent-detail{min-height:130px;max-height:23dvh}.talent-heading .eyebrow{display:none}.talent-branches{margin-top:9px}.talent-layout{margin-top:8px}}
@media(pointer:coarse){.actionbar{bottom:91px}.ability-hud{bottom:99px}.play-tip{bottom:187px}.lava-warning{bottom:183px}}
.talent-node{transform:translate(-50%,-24px)}.talent-node.capstone{transform:translate(-50%,-31px)}.talent-node strong{font-size:9px}.talent-node small{font-size:8px}.talent-node.capstone strong{font-size:12px}
@media(max-width:760px) and (min-height:691px){.tree-scroll{height:30dvh}.talent-detail{max-height:28dvh}}
@media(max-width:760px){.talent-detail .primary{position:sticky;bottom:2px;z-index:2;box-shadow:0 4px 0 #836340,0 -5px 18px #102630}}
.talent-detail .primary:disabled{opacity:1;background:#233a41;color:#8aa2a4;border-color:#67898b55;box-shadow:0 4px 0 #14262f,0 -5px 18px #102630}
@media(prefers-reduced-motion:reduce){.difficulty-card,.node-ring,.xp-track i{transition:none}.difficulty-card:hover{transform:none}}
