.branch-intro{line-height:1.5!important}.branch-tree{position:relative;height:510px;min-width:250px;isolation:isolate;margin:16px 0}.talent-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.talent-links path{fill:none;stroke:#59685b;stroke-width:2;vector-effect:non-scaling-stroke}.talent-links .open-link{stroke:#b7b270;stroke-dasharray:4 3}.talent-links .linked{stroke:#f4ce79;stroke-width:3}.talent-gate{position:absolute;left:0;right:0;text-align:right;pointer-events:none}.talent-gate span{position:relative;top:-8px;padding:2px 5px}.branch-node{position:absolute;transform:translate(-50%,-50%);width:54px;height:54px;padding:3px;z-index:1;touch-action:manipulation}.branch-node canvas{width:100%;height:100%;image-rendering:pixelated}.branch-node.capstone{outline:2px solid #ad916b;outline-offset:3px}.branch-node:hover,.branch-node:focus-visible{outline:2px solid #fce6ae;outline-offset:4px}.branch-node small{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:1px 5px}.branch-node i{position:absolute;right:-7px;top:-9px}.touch-mode .branch-tree{height:465px}.touch-mode .branch-node{width:46px;height:46px}

/* Iteration 3 (MMO-Vorbilder): Formen tragen Bedeutung wie im Dragonflight-Baum: Quadrat = passiv, Kreis = aktive Fähigkeit,
   Abschluss mit Doppelrahmen. Schwellen sind Bänder mit Zähler im linken Rand, nie über einem Knoten. Zähler nur am gelernten Knoten. */
.branch-tree{height:560px;padding-left:66px;box-sizing:border-box;margin:14px 0 18px}
.branch-canvas{position:relative;height:100%}
.talent-gate{left:0;right:0;border-top:1px dashed #84907455}
.talent-gate span{position:absolute;left:8px;top:-14px;display:grid;justify-items:center;width:48px;padding:3px 2px;font-size:7px;line-height:1.15;letter-spacing:.2px;text-align:center;background:#223b30;border:1px solid #4b5f4d}
.talent-gate span b{font:700 13px/1 monospace;color:#d3c694;margin-bottom:2px}
.talent-gate.unlocked span{border-color:#bcb77b88;background:#2d4536}
.talent-gate.unlocked span b{color:#f4ce79}
.branch-node{width:60px;height:60px;border-radius:6px}
.branch-node.passive-talent{border-radius:6px}
.branch-node.active-talent{border-radius:50%}
.branch-node.capstone{width:68px;height:68px;border-width:3px;outline:2px solid #ad916b;outline-offset:3px}
.branch-node.capstone.learned{outline-color:#f4ce79;box-shadow:0 0 0 2px #97824e,0 0 18px #d9af4266}
.branch-node.available{animation:talent-ready 1.4s ease-in-out infinite alternate}
@keyframes talent-ready{from{box-shadow:0 0 0 2px #695c36,0 0 10px #d4b05030}to{box-shadow:0 0 0 2px #a48e52,0 0 20px #ffd46a80}}
.branch-node small{bottom:-11px;font-size:9px}
.talent-points{align-items:center;border:1px solid #4b5f4d}
.talent-points b{font-size:13px}
.talent-points.has-free{border-color:#e0bd68;background:#2f452f;box-shadow:inset 0 0 0 1px #e0bd6844}
.talent-points.has-free b{color:#ffe08a;animation:talent-free 1.2s ease-in-out infinite alternate}
@keyframes talent-free{from{text-shadow:0 0 0 #ffd46a00}to{text-shadow:0 0 8px #ffd46a}}
.touch-mode .branch-tree{height:480px;padding-left:52px}.touch-mode .branch-node{width:48px;height:48px}.touch-mode .branch-node.capstone{width:54px;height:54px}.touch-mode .talent-gate span{width:40px;left:4px}

/* Polish 7: gelernte Talente als Chips unter dem Baum (dein Build auf einen Blick). */
.talent-build{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.talent-build:empty{display:none}
.talent-build-chip{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;background:#2E4A3B;border:1px solid #C9A46F;color:#F4E8C4;font:bold 11px 'Trebuchet MS',sans-serif;border-radius:999px!important;min-height:0!important}
.talent-build-chip canvas{width:22px;height:22px;image-rendering:pixelated;border-radius:50%}
.branch-tree{height:600px}

.talent-effect{font-weight:bold}

/* E-32 · Pfadbaum: drei Bahnen (Pfade) × zehn Reihen als Raster; je Reihe genau ein Talent. Ersetzt den frei platzierten Graphen. */
.path-tree{--path-0:#8fb8c9;--path-1:#e0bd68;--path-2:#c98f8f;display:grid;gap:6px;margin:10px 0 14px;isolation:isolate}
.path-heads,.path-row{display:grid;grid-template-columns:34px repeat(3,minmax(0,1fr));align-items:center;gap:6px}
.path-head{display:grid;justify-items:center;gap:2px;padding:6px 4px;border:var(--edge,2px) solid var(--kraft-2);border-radius:12px;background:var(--green-2);text-align:center}
.path-head b{font-family:var(--display);font-size:var(--t-13,13px);letter-spacing:.03em;text-transform:uppercase;color:var(--cream)}
.path-head span{font-size:10px;color:var(--kraft)}
.path-head[data-path="0"]{border-color:var(--path-0)}.path-head[data-path="1"]{border-color:var(--path-1)}.path-head[data-path="2"]{border-color:var(--path-2)}
.path-tiers{display:flex;gap:4px}.path-tiers i{font-style:normal;font:700 11px/1 monospace;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--kraft-2);color:var(--kraft);background:#223b30}
.path-tiers i.on{border-color:#f4ce79;color:#ffe08a;background:#2f452f;box-shadow:0 0 8px #d9af4266}
.path-row{padding:4px 0;border-top:1px dashed #84907455}
.path-row.unlocked{border-top-color:#bcb77b88}
.row-gate{display:grid;justify-items:center;gap:1px;font:700 13px/1 monospace;color:#d3c694}
.row-gate small{font-size:7px;letter-spacing:.2px;text-transform:uppercase;color:var(--kraft);text-align:center;line-height:1.1}
.path-row.unlocked .row-gate{color:#f4ce79}
.path-tree .branch-node{position:relative;transform:none;left:auto;top:auto;width:56px;height:56px;margin:0 auto;display:block;padding:3px}
.path-tree .branch-node[data-path="0"]{--path:var(--path-0)}.path-tree .branch-node[data-path="1"]{--path:var(--path-1)}.path-tree .branch-node[data-path="2"]{--path:var(--path-2)}
.path-tree .branch-node.learned{border-color:var(--path)!important;box-shadow:0 0 0 2px var(--path),0 0 12px var(--path)}
.path-tree .branch-node.excluded{opacity:.42;border-style:dashed;filter:grayscale(.6)}
.path-tree .branch-node.excluded:after{content:'✕';position:absolute;right:-6px;top:-8px;font:700 12px/1 monospace;color:#e0a48b;background:#223b30;border:1px solid #4b5f4d;border-radius:50%;width:16px;height:16px;display:grid;place-items:center}
.path-tree .branch-node.locked{opacity:.75}
.path-tree .branch-node.capstone{width:62px;height:62px}
.path-tree .branch-node canvas{width:100%;height:100%}
.path-cell.empty{display:block;width:56px;height:56px;margin:0 auto;border:1px dashed #4b5f4d;border-radius:10px;opacity:.4}
.touch-mode .path-tree .branch-node{width:48px;height:48px}.touch-mode .path-tree .branch-node.capstone{width:54px;height:54px}.touch-mode .path-heads,.touch-mode .path-row{grid-template-columns:26px repeat(3,minmax(0,1fr));gap:4px}.touch-mode .path-head b{font-size:10px}.touch-mode .path-head span{display:none}
.compact-panel .path-tree{margin:4px 0 8px}

/* Kraft coasters and bottle-cap links keep the authored motifs readable at native size. */
.path-tree{padding:12px 6px;background:repeating-linear-gradient(100deg,#c5a77708 0 2px,transparent 2px 7px),#1d362c;border:1px solid #8e7955;border-radius:20px}
.path-tree .branch-node{width:72px;height:72px;padding:4px;border-radius:50%!important;background:radial-gradient(circle,#6f674c 55%,#bea374 58% 65%,#74613d 67% 72%,#223a2e 74%);border:2px solid #bda06b;overflow:visible}
.path-tree .branch-node canvas{border-radius:50%;image-rendering:pixelated;position:relative;z-index:1}
.path-row{min-height:90px;border:0;position:relative}
.path-row .branch-node:before{content:'';position:absolute;width:8px;height:25px;left:calc(50% - 4px);bottom:100%;background:radial-gradient(circle,#233b2b 20%,#bda06b 25% 49%,transparent 55%) center/8px 8px repeat-y;z-index:-1}
.path-row:first-of-type .branch-node:before{display:none}
.path-tree .branch-node.learned{background:radial-gradient(circle,var(--path) 0 58%,#bda06b 60% 69%,#344e38 71%);box-shadow:0 0 0 2px #e5c981}
.path-tree .branch-node.available{animation:coaster-ready 1.4s ease-in-out infinite alternate}
.path-tree .branch-node.locked{border-style:dashed;filter:grayscale(.65)}
.path-tree .branch-node.capstone{width:76px;height:76px}
.path-head{border-radius:20px;background:linear-gradient(#3c5740,#243d30);min-height:90px}
@keyframes coaster-ready{from{box-shadow:0 0 0 2px #e9c26e44}to{box-shadow:0 0 0 3px #e9c26e,0 0 13px #e9c26e66}}
@media(prefers-reduced-motion:reduce){.path-tree .branch-node.available{animation:none}}
.touch-mode .path-tree{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.touch-mode .path-heads,.touch-mode .path-row{min-width:calc(3 * 230px + 28px);grid-template-columns:28px repeat(3,230px);gap:0}
.touch-mode .path-head{scroll-snap-align:center;margin:0 12px}
.touch-mode .path-tree .branch-node{width:72px;height:72px}.touch-mode .path-tree .branch-node.capstone{width:76px;height:76px}
