.guild-tree-layout{container-type:inline-size;display:grid;gap:18px;min-width:0;padding-bottom:20px}
.guild-tree-summary{display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--text-2);font-size:13px;line-height:1.6}
.guild-tree-summary span{display:flex;gap:8px;align-items:baseline}
.guild-tree-summary b{color:var(--gold-b);font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.guild-tree-cycle{font-size:12px;color:var(--text-2);line-height:1.6;margin:0}
.guild-tree-cycle b{color:var(--text-1);font-weight:500}
.guild-tree-inspector{display:flex;flex-direction:column;height:clamp(240px,40dvh,380px);box-sizing:border-box;background:rgba(16,23,19,.96);border:1px solid rgba(230,196,122,.25);border-radius:var(--r-sm);padding:18px;min-width:0}
.guild-tree-inspector-details{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.guild-tree-inspector-head{display:flex;align-items:center;gap:14px;min-width:0}
.guild-tree-inspector-head img{width:48px;height:48px;flex:none;object-fit:contain}
.guild-tree-inspector-head h3,.guild-tree-inspector-head h4{font-size:17px;line-height:1.4;font-weight:600;color:var(--gold-b);margin:0}
.guild-tree-inspector-head p{font-size:12px;color:var(--text-2);line-height:1.5;margin:5px 0 0}
.guild-tree-description{font-size:13px;line-height:1.6;color:var(--text-1);white-space:pre-line;margin:14px 0}
.guild-tree-ranks{display:grid;gap:0;list-style:none;margin:14px 0 0;padding:0;font-size:13px;line-height:1.6;color:var(--text-1)}
.guild-tree-ranks li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:7px 10px;border-bottom:1px solid rgba(230,196,122,.1)}
.guild-tree-ranks li:last-child{border-bottom:0}
.guild-tree-ranks li.current{background:rgba(145,188,111,.13)}
.guild-tree-ranks li>span{color:var(--text-2);font-variant-numeric:tabular-nums}
.guild-tree-ranks li>div{white-space:pre-line;overflow-wrap:anywhere}
.guild-tree-requirement{font-size:12px;line-height:1.6;color:var(--text-2);margin:12px 0}
.guild-tree-inspector-action{display:flex;gap:14px;align-items:center;flex-wrap:wrap;flex:none;margin-top:15px}
.guild-tree-inspector-action .tree-btn{font-size:12px;min-height:40px;margin:0;padding:9px 14px;text-transform:none;letter-spacing:0}
.guild-tree-inspector-action>span{color:var(--text-2);font-size:12px;line-height:1.5}
.guild-tree-toolbar{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:12px 20px}
.guild-tree-reset{display:grid;gap:6px;max-width:240px}
.guild-tree-reset .tree-btn{font-size:12px;min-height:40px;margin:0;padding:8px 12px;text-transform:none;letter-spacing:0}
.guild-tree-reset>span{font-size:12px;line-height:1.5;color:var(--text-2)}
.guild-tree-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:4px 0}
.guild-tree-branch{min-width:0;background:rgba(230,196,122,.025);border-top:1px solid rgba(230,196,122,.22);padding:15px 8px 0}
.guild-tree-branch>h3{text-align:center;color:var(--gold-b);font-size:15px;line-height:1.5;font-weight:600;margin:0}
.guild-tree-branch-status{text-align:center;font-size:12px;line-height:1.5;color:var(--text-2);margin:7px 0 5px;min-height:18px}
.guild-tree-branch.locked .guild-tree-branch-status{color:#d8b280}
.guild-tree-grid{position:relative;width:100%;height:var(--guild-tree-height);max-width:480px;margin:0 auto}
.guild-tree-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:#86734d;stroke-width:1.8;vector-effect:non-scaling-stroke}
.guild-tree-node{position:absolute;width:48px;height:48px;padding:0;margin:0;border:0;border-radius:0;background:none;color:var(--text-1);cursor:pointer;appearance:none}
.guild-tree-node img{display:block;width:48px;height:48px;object-fit:contain}
.guild-tree-node:hover img{filter:brightness(1.15)}
.guild-tree-node[aria-pressed="true"]{outline:2px solid var(--gold-b);outline-offset:5px}
.guild-tree-node:focus-visible{outline:2px solid var(--gold-b);outline-offset:5px}
.guild-tree-node>span{position:absolute;left:2px;right:2px;top:53px;padding:1px 0;border:1px solid #746442;background:#151b17;color:#dfddca;text-align:center;font-size:11px;line-height:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.guild-tree-node.learned>span{border-color:#85976b;color:#d4edc1}
.guild-tree-branch.locked .guild-tree-node img{filter:saturate(.35);opacity:.82}
.guild-point-box{width:min(600px,calc(100vw - 32px));max-width:600px}
.guild-point-purchase{display:grid;gap:15px;font-size:13px;line-height:1.6;color:var(--text-2);margin-top:16px}
.guild-point-purchase p{margin:0}
.guild-point-form{display:grid;grid-template-columns:120px minmax(100px,1fr) minmax(90px,1fr);gap:14px;align-items:end}
.guild-point-form label{display:grid;gap:7px}
.guild-point-form input{width:100%;min-width:0;height:40px;padding:8px 10px;background:var(--bg-base);color:var(--text-1);border:1px solid var(--glass-border-b);border-radius:var(--r-xs);font-size:16px}
.guild-point-form b{display:block;color:var(--gold-b);font-weight:500;font-variant-numeric:tabular-nums}
.guild-point-purchase [role="alert"]{color:var(--c-danger)}
.guild-point-purchase .npc-opt:disabled{opacity:.6;cursor:default}
.kb-guild-tree-guide{--gold-b:var(--kb-gold);--text-1:var(--kb-ink);--text-2:var(--kb-muted);--glass-border:var(--kb-line);margin-top:30px}
.kb-guild-tree-catalog{border-top:1px solid var(--glass-border);padding:16px 0;margin-top:12px}
.kb-guild-tree-catalog>summary{cursor:pointer;color:var(--gold-b);font-size:16px;font-weight:600}
.kb-guild-tree-skill{padding:20px 0;border-bottom:1px solid var(--glass-border)}
.kb-guild-tree-skill:last-child{border-bottom:0}
@container(max-width:840px){.guild-tree-branches{grid-template-columns:1fr;gap:24px}}
@media(max-width:540px){.guild-point-form{grid-template-columns:1fr 1fr}.guild-point-form label{grid-column:1/-1;max-width:160px}.guild-tree-ranks li{grid-template-columns:74px minmax(0,1fr);padding:7px 4px;gap:6px}.guild-tree-inspector{padding:14px}.guild-tree-inspector-head h3{font-size:15px}}
@media(pointer:coarse){.guild-tree-inspector-action .tree-btn,.guild-point-form input,.guild-point-purchase .npc-opt{min-height:44px}}
