/* Season 1 node trees: rooted vertical layout, readable at 320px, game-art palette. */
.passive-tree-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.passive-tree-switch .btn{min-width:0;white-space:normal;padding:10px 6px;line-height:1.4}
.passive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;border:2px solid #7e655c;border-radius:16px;background:rgba(31,27,45,.82);color:#f8dfb6}
.passive-toolbar b{font-weight:800}
.passive-branch-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0 16px}
.passive-branch-tab{min-width:0;white-space:normal;min-height:52px;background:#292239;color:#c9c3d6;border:2px solid #65536a;border-radius:12px;font-weight:750;padding:7px 4px;box-shadow:inset 0 -3px rgba(0,0,0,.22)}
.passive-branch-tab.chosen{color:#fff4d3;border-color:var(--branch-color);background:linear-gradient(150deg,#423047,#272338);box-shadow:0 0 0 1px var(--branch-color),0 4px 16px #0005}
.passive-branch-tab small{display:block;font-weight:550;font-size:10px;opacity:.75;margin-top:4px}
.passive-root-panel{padding:14px 12px 18px;border-radius:20px;border:3px solid #725966;background:linear-gradient(155deg,rgba(36,29,48,.94),rgba(19,25,39,.94));position:relative;box-shadow:0 8px 24px #0006,inset 0 0 18px #b4925622}
.passive-root-title{border-bottom:2px solid var(--branch-color);color:#f0d6ac;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:17px;padding:4px 4px 14px;margin-bottom:12px}
.passive-root-title span{font-weight:500;font-size:12px;color:#c4b1b8}
.passive-root-list{position:relative;max-width:590px;margin:auto}
.passive-root-list::before{content:'';position:absolute;top:20px;bottom:25px;left:34px;width:5px;background:linear-gradient(to bottom,var(--branch-color),#5a445c);border-radius:6px;opacity:.6}
.passive-node-row{display:flex;gap:13px;align-items:center;min-height:76px;padding:8px 5px;position:relative;transform:translateX(var(--node-offset));transition:transform .2s;}
.passive-node-row.passive-sidebranch{margin-left:44px;border-left:2px dashed var(--branch-color);padding-left:10px}
.passive-node-row.passive-sidebranch .passive-node-copy{border-color:var(--branch-color)}
.passive-node-btn{width:65px;height:65px;min-width:65px;border:3px solid #7c6677;border-radius:17px;background:#181726;position:relative;padding:4px;display:grid;place-items:center;box-shadow:0 4px 0 #15101e,0 0 0 2px #332f43;overflow:hidden;cursor:pointer}
.passive-node-btn img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated;filter:saturate(.85)}
.passive-node-btn:disabled{cursor:not-allowed;opacity:.58}
.passive-node-row.available .passive-node-btn{border-color:var(--branch-color);background:#30273a;box-shadow:0 0 15px #dec7873b}
.passive-node-row.owned .passive-node-btn{border-color:#eed08d;background:#433447;box-shadow:0 0 16px #d9b97b53}
.passive-node-row.owned .passive-node-btn img{filter:brightness(1.25) saturate(1.1)}
.passive-node-row.passive-small .passive-node-btn{width:52px;height:52px;min-width:52px;border-radius:16px;margin-left:7px;margin-right:6px}
.passive-node-row.passive-small .passive-node-btn img{width:34px;height:34px}
.passive-node-row.passive-capstone .passive-node-btn{width:73px;height:73px;min-width:73px;border-color:#d0ad6e;transform:rotate(2deg)}
.passive-node-rank{position:absolute;bottom:0;right:0;background:#191422b9;color:#fff0d7;border:1px solid #a9826a;padding:1px 3px;font-size:10px;border-radius:6px;font-weight:800}
.passive-node-copy{flex:1;min-width:0;border:1px solid #715e6a8c;background:linear-gradient(90deg,#423044c9,#241f30c9);padding:8px 10px;border-radius:12px;color:#efdbbd}
.passive-node-copy strong{display:block;font-size:13px;letter-spacing:.1px}
.passive-node-copy .tiny{display:block;font-size:11px;line-height:1.45;opacity:.9;overflow-wrap:anywhere}
.passive-node-row.locked .passive-node-copy{opacity:.54}
.passive-locked-hint{color:#f6b293}
.passive-effects{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 18px}
.passive-effect-chip{font-size:12px;border-radius:10px;background:#332a43;border:1px solid #8d6a7c;color:#e1d0da;padding:7px 10px}
.passive-effect-chip b{color:#f8dca2}
.skill-badge{width:46px;height:46px;object-fit:contain;image-rendering:pixelated;border:2px solid #9b7889;border-radius:10px;background:#1e1b2e;flex:none}
.skill-info,.battle-skill-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.skill-catalog-row{display:flex;align-items:center;gap:9px;margin:8px 0;padding:8px;border-radius:12px;background:#332b42a1;border:1px solid #76596e}
.skill-catalog-row .small-muted{flex:1;min-width:0;line-height:1.45}
@media(max-width:820px){.passive-branch-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.passive-branch-tab{min-height:48px}.passive-node-row{transform:none}.passive-node-btn{width:56px;height:56px;min-width:56px}.passive-node-btn img{width:38px;height:38px}.passive-root-list::before{left:30px}}
@media(max-width:360px){.passive-root-panel{padding:10px 6px}.passive-node-row{gap:8px}.passive-node-copy{padding:8px 6px}.passive-node-copy strong{font-size:12px}.passive-node-copy .tiny{font-size:10px}.passive-toolbar{padding:10px 9px}}
/* Five mobile main destinations instead of original four. */
@media (max-width:820px){
 .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:5px 3px}
 .bottom-nav button{min-width:0;padding:3px 0}
 .bottom-nav button span{font-size:21px}
 .bottom-nav button b{font-size:10px;white-space:nowrap}
}
