.overlay .dialog.skill-tree-dialog{width:1240px;max-width:calc(100vw - 32px);padding:18px 22px;max-height:94dvh;color:var(--silk-ink)}
.skill-tree-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #89755755;padding-bottom:12px}
.skill-tree-heading h2{margin:4px 0;font-size:30px;letter-spacing:4px}
.skill-tree-heading p{margin:0;font-size:13px;color:var(--silk-muted)}
.skill-tree-heading small{font-size:11px;letter-spacing:2px;color:var(--silk-muted)}
.skill-points{display:grid;justify-items:center;gap:3px;flex-shrink:0}
.skill-points b{font-size:32px;color:#8b4731;line-height:1}
.skill-points span{font-size:12px}.skill-points small{font-size:10px;letter-spacing:0}
.skill-migration-note{font-size:12px;background:#9a70321a;padding:8px 12px;border-left:2px solid #9a7032}
.skill-branch-tabs{display:flex;gap:10px;margin:12px 0}
.overlay .skill-branch-tabs button{width:auto;flex:1;padding:7px 10px;text-align:center;font-size:14px;margin:0}
.skill-branch-tabs small{display:inline-block;margin-left:12px;font-size:11px}
.overlay .skill-branch-tabs button.is-current{border-image-source:var(--silk-focus);color:#fff1d0}
.skill-forest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.skill-branch{min-width:0;padding:10px;border:1px solid #89755755;background:#e8dbbc55}
.skill-branch h3{margin:0;font-size:18px;font-weight:400;letter-spacing:2px;text-align:center}
.skill-branch>p{font-size:11px;line-height:1.5;text-align:center;min-height:32px;margin:4px 0 10px;color:var(--silk-muted)}
.skill-branch-tree{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,104px);gap:26px 6px}
.skill-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.skill-connections path{fill:none;stroke:#88765c77;stroke-width:1.5;vector-effect:non-scaling-stroke}
.skill-connections path.is-open{stroke:#a36b40;stroke-width:2}.skill-connections path.is-learned{stroke:#536f52;stroke-width:2}
.overlay .dialog button.skill-node,.overlay .dialog button.skill-node:hover,.overlay .dialog button.skill-node:focus-visible{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;justify-self:center;width:100%;max-width:88px;height:104px;min-width:0;margin:0;padding:3px 0;border:1px solid transparent;border-image:none;border-radius:3px;background:#e8dbbc;box-shadow:none;color:var(--silk-ink);letter-spacing:0;text-align:center;transform:none;transition:filter .15s,border-color .15s}
.overlay .dialog button.skill-node:hover,.overlay .dialog button.skill-node:focus-visible{border-color:#9c673c;filter:brightness(1.05);box-shadow:0 0 8px #9c673c33}
.overlay .dialog button.skill-node.is-selected{border-color:#8e4a32;background:#f5e6c9;box-shadow:inset 0 0 0 1px #b9945355}
.overlay .dialog button.skill-node.is-learned{border-color:#788363;background-color:#e0dfbf}
.skill-node-art{position:relative;display:block;width:56px;height:56px}.skill-node-art img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.skill-node.is-locked .skill-node-art{filter:grayscale(.8);opacity:.45}
.skill-node.is-unaffordable .skill-node-art{opacity:.7}
.skill-node-art i{position:absolute;right:-4px;bottom:0;width:16px;height:16px;background:#51684a;color:#fff0ce;border-radius:50%;font:12px/16px serif;text-align:center}
.skill-node-art i.skill-lock{background:#827157;font-size:20px;line-height:12px}
.skill-node strong{font-size:14px;line-height:1.5;font-weight:400;white-space:nowrap}.skill-node small{font-size:10px;color:var(--silk-muted)}
.skill-slot-0{grid-column:1/5;grid-row:1}.skill-slot-1{grid-column:1/3;grid-row:2}.skill-slot-2{grid-column:3/5;grid-row:2}.skill-slot-3{grid-column:1;grid-row:3}.skill-slot-4{grid-column:2;grid-row:3}.skill-slot-5{grid-column:3;grid-row:3}.skill-slot-6{grid-column:4;grid-row:3}
.skill-detail{display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px;border:1px solid #a08251;background:#eee0bd}
.skill-detail img.skill-detail-art{display:block;flex:0 0 80px;width:80px;height:80px;object-fit:contain;filter:none}
.skill-detail-copy{flex:1;min-width:0}.skill-detail-copy>small{font-size:11px;color:var(--silk-muted)}
.skill-detail h3{margin:3px 0;font-size:23px;font-weight:400}.skill-detail h3 span{font-size:11px;margin-left:12px;color:#84664b}
.skill-detail p{font-size:12px;line-height:1.6;margin:3px 0}.skill-detail ul{list-style:none;padding:0;margin:5px 0;font-size:13px;color:#52613e}.skill-detail li{margin:2px 0}
.skill-detail .skill-requires{font-size:11px;color:var(--silk-muted)}
.overlay .dialog .skill-research{flex:0 0 auto;width:150px;padding:12px;text-align:center;font-size:15px;margin:0}
.skill-total{display:flex;gap:12px;font-size:12px;line-height:1.8;margin:12px 0 6px;padding-top:8px;border-top:1px solid #89755755}.skill-total b{flex-shrink:0;font-weight:400;color:#815039}
.skill-tree-note{font-size:10px;line-height:1.7;color:var(--silk-muted);margin:6px 0 0}
@media(max-width:900px){.skill-forest{display:block}.skill-branch{display:none}.skill-branch.is-current{display:block}.skill-branch-tree{max-width:480px;margin:auto}.skill-branch>p{min-height:0}.skill-tree-heading h2{font-size:25px}.skill-branch-tabs{gap:6px}.skill-branch-tabs small{display:block;margin:0}.skill-detail img.skill-detail-art{flex-basis:64px;width:64px;height:64px}.skill-detail{gap:10px;flex-wrap:wrap}.overlay .dialog .skill-research{width:100%;flex-basis:100%;padding:9px}.skill-total{display:block}.skill-total b{display:block}}
@media(max-width:450px){.overlay .dialog.skill-tree-dialog{max-width:calc(100vw - 12px);border-width:12px;border-image-width:12px;padding:10px}.skill-tree-heading{gap:8px}.skill-tree-heading h2{font-size:23px;letter-spacing:2px}.skill-tree-heading p{font-size:11px}.skill-tree-heading small{font-size:9px;letter-spacing:0}.skill-points b{font-size:27px}.skill-points span{font-size:10px}.skill-branch-tabs button{letter-spacing:0}.overlay .skill-branch-tabs button{font-size:12px;padding:6px 2px}.skill-branch{padding:8px 3px}.skill-node strong{font-size:11px}.skill-node-art{width:48px;height:48px}.skill-detail{padding:9px}.skill-detail h3{font-size:21px}.skill-detail h3 span{display:block;margin:2px 0}.skill-detail img.skill-detail-art{width:48px;height:48px;flex-basis:48px}}
@media(prefers-reduced-motion:reduce){.overlay .dialog button.skill-node{transition:none}}
