@font-face{font-family:CTBTree;src:url('assets/reference/MatchupPro.ttf') format('truetype');font-display:swap}
/* 38×38 source nodes. Camera scale is applied to the complete source geometry. */
.ctb-skill-tree{position:relative;isolation:isolate;height:min(62vh,520px);min-height:280px;overflow:hidden;touch-action:none;background:#2b2b2b;outline:none;user-select:none;image-rendering:pixelated;cursor:grab}
.ctb-skill-tree:active{cursor:grabbing}.ctb-skill-tree *{box-sizing:border-box}
.ctb-tree-background,.ctb-tree-effects,.ctb-tree-nodes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.ctb-tree-background{z-index:0}.ctb-tree-effects{z-index:1}.ctb-tree-nodes{z-index:2}
.ctb-skill-tree .ctb-tree-node{position:absolute;display:block;width:38px;height:38px;padding:0;margin:0;border:0;background:none;box-shadow:none;transform-origin:50% 50%;pointer-events:auto;cursor:pointer;outline:none;overflow:visible;transition:none}
.ctb-skill-tree .ctb-tree-node[hidden]{display:none!important}.ctb-skill-tree .ctb-tree-node:before,.ctb-skill-tree .ctb-tree-node:after{display:none}.ctb-skill-tree .ctb-tree-node:hover,.ctb-skill-tree .ctb-tree-node:focus{background:none;border:0;filter:none;box-shadow:none}
.ctb-tree-node-content{position:absolute;inset:0;width:38px;height:38px;display:block;transform-origin:19px 19px;pointer-events:none;image-rendering:pixelated}.ctb-tree-shadow,.ctb-tree-node-frame{position:absolute;left:-1px;top:-2px;width:40px;height:42px;pointer-events:none;image-rendering:pixelated}.ctb-tree-shadow{opacity:.380392;filter:brightness(0)}.ctb-tree-node-bg{position:absolute;inset:4px 4px 6px;background:#848484}.ctb-tree-node-frame{z-index:1}.ctb-tree-node-content.is-unbought{filter:brightness(.490196)}.ctb-tree-node-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:32px;object-fit:contain;image-rendering:pixelated;pointer-events:none;z-index:2}.ctb-tree-node-signal{position:absolute;left:4px;top:4px;z-index:4;max-width:none;image-rendering:pixelated;pointer-events:none}.ctb-tree-node-dim{display:none}.ctb-tree-node.is-prince .ctb-tree-node-frame{top:-5.5px}.ctb-tree-node.is-prince .ctb-tree-node-bg{inset:-2px;top:-5px;mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.ctb-tree-node-icon[hidden]{display:none}.ctb-tree-icon-ring{position:absolute;left:-59px;top:-57px;width:156px;height:152px;z-index:2;pointer-events:none;image-rendering:pixelated}
.ctb-tree-node-price{position:absolute;left:50%;top:43px;display:flex;align-items:center;justify-content:center;gap:3px;min-width:30px;padding:1px 3px;transform:translateX(-50%);pointer-events:none;white-space:nowrap;background:#131220e8;border:1px solid #554267;color:#fff;font:20px/19px CTBTree,Plumbum,Tiny,monospace;text-shadow:1px 1px #000,-1px -1px #000;z-index:5}
.ctb-tree-node-price img{width:18px;height:18px;object-fit:contain;image-rendering:pixelated}.ctb-tree-node-price b{font:inherit}.ctb-tree-node-price.is-unaffordable{color:#ffb2aa}.ctb-tree-node-price[hidden]{display:none!important}
.ctb-tree-tooltip-balance{padding:3px 1px 1px;color:#e9dcf7;font-size:13px;line-height:1.2}.ctb-tree-tooltip-balance.is-unaffordable{color:#ffc1b7}.ctb-tree-tooltip-balance[hidden]{display:none!important}
.ctb-tree-tooltip{--tooltip-scale:1;position:absolute;z-index:8;width:234px;pointer-events:none!important;transform:translateX(-50%) scale(var(--tooltip-scale));transform-origin:50% 0;font-family:CTBTree,Plumbum,Tiny,monospace;color:#fff;text-align:center;font-size:16px;line-height:1.15;image-rendering:pixelated}
.ctb-tree-tooltip[hidden]{display:none!important}.ctb-tree-tooltip[data-side="above"]{transform:translate(-50%,-100%) scale(var(--tooltip-scale));transform-origin:50% 100%}.ctb-tree-tooltip-body{position:relative;min-height:65px;background:#1b1b1b;border:3px solid var(--skill-color);box-shadow:0 0 0 2px #000,inset 0 0 0 1px #000;padding:19px 6px 6px;transform-origin:50% 100%}.ctb-tree-tooltip[data-side="below"] .ctb-tree-tooltip-body{transform-origin:50% 0}.ctb-tree-tooltip-title{position:absolute;top:-2px;left:-1px;right:-1px;padding:1px 3px;background:var(--skill-color);color:#fff;white-space:nowrap;font-size:16px;text-shadow:1px 1px #000,-1px -1px #000}.ctb-tree-tooltip-title span{color:#ffcc00}.ctb-tree-tooltip-description{padding:2px 0 5px;line-height:1.2;text-shadow:1px 1px #000,-1px -1px #000}.ctb-tree-tooltip-word{display:inline-block;white-space:nowrap}.ctb-tree-tooltip-glyph{display:inline-block;transform-origin:50% 50%}.ctb-tree-tooltip-values,.ctb-tree-tooltip-cost{background:color-mix(in srgb,var(--skill-color) 29%,transparent);padding:1px 4px;min-height:0}.ctb-tree-tooltip-values:empty{display:none}.ctb-tree-tooltip-cost{display:flex;justify-content:center;align-items:center;gap:3px;color:var(--skill-color)}.ctb-tree-tooltip-cost[hidden]{display:none}.ctb-tree-tooltip-cost img{width:13px;height:13px;object-fit:contain;image-rendering:pixelated}.ctb-tree-tooltip-cost b{font-weight:normal}.ctb-tree-tooltip:after{content:'';position:absolute;left:50%;top:100%;margin-left:-7px;border:7px solid transparent;border-top-color:var(--skill-color);transform:translateY(1px)}.ctb-tree-tooltip[data-side="below"]:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--skill-color);transform:translateY(-1px)}
@media(max-width:550px){.ctb-skill-tree{height:min(62dvh,520px);min-height:330px}}
.ctb-tree-tooltip-body.source-frame{border:0;box-shadow:none;background-size:100% 100%;background-repeat:no-repeat;padding:19px 7px 8px}.ctb-tree-tooltip-body.source-frame .ctb-tree-tooltip-title{background:none;top:2px;left:6px;right:6px}.ctb-tree-tooltip:after{width:19px;height:15px;border:0;margin-left:-9.5px;top:calc(100% - 2px);background:var(--window_arrow) center/100% 100% no-repeat}.ctb-tree-tooltip[data-side="below"]:after{width:21px;height:16px;margin-left:-10.5px;bottom:calc(100% - 2px);top:auto;background-image:var(--window_arrow_top)}
@media(prefers-reduced-motion:reduce){.ctb-skill-tree{scroll-behavior:auto}}
/* A touch tap previews the existing card; only this separate action buys. */
.ctb-tree-tooltip.is-touch{right:6px;top:6px!important;left:auto!important;width:min(270px,calc(100% - 64px));max-height:calc(100% - 12px);display:flex;flex-direction:column;gap:4px;transform:none!important;transform-origin:50% 50%;pointer-events:auto!important;cursor:default;touch-action:pan-y}
.ctb-tree-tooltip.is-touch:after{display:none}.ctb-tree-tooltip.is-touch .ctb-tree-tooltip-body{flex:0 1 auto;min-height:0;max-height:calc(var(--tree-height,280px) - 58px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;transform:none!important;padding-bottom:8px}
.ctb-tree-buy{flex:none;min-height:36px;width:100%;margin:0;padding:3px 8px;border:3px solid #0b202b;background:#328dab;color:#fff;font:18px/1.1 CTBTree,Plumbum,Tiny,monospace;text-shadow:1px 1px #000,-1px -1px #000;box-shadow:inset 0 0 0 2px #73b0c4;cursor:pointer;touch-action:manipulation}
.ctb-tree-buy:disabled{background:#58636a;box-shadow:inset 0 0 0 2px #818c91;color:#d2d6d8;cursor:default}.ctb-tree-buy[hidden]{display:none!important}
.ctb-tree-close{position:absolute;right:2px;top:2px;width:25px;height:25px;min-height:0;margin:0;padding:0;border:2px solid #151515;background:#485358;color:#fff;font:22px/19px CTBTree,Plumbum,Tiny,monospace;cursor:pointer;touch-action:manipulation}.ctb-tree-close[hidden]{display:none!important}.ctb-tree-tooltip.is-touch .ctb-tree-tooltip-title{right:28px}
.ctb-tree-tooltip:not(.is-touch){transform:scale(var(--tooltip-scale));transform-origin:0 0}.ctb-tree-tooltip:not(.is-touch):after{left:var(--arrow-x,50%)}
.ctb-tree-tooltip:not(.is-touch)[data-side="right"]:after,.ctb-tree-tooltip:not(.is-touch)[data-side="left"]:after{top:var(--arrow-y,50%);bottom:auto;margin:0;transform-origin:50% 50%;background-image:var(--window_arrow)}
.ctb-tree-tooltip:not(.is-touch)[data-side="right"]:after{left:-15px;transform:translateY(-50%) rotate(90deg)}.ctb-tree-tooltip:not(.is-touch)[data-side="left"]:after{left:calc(100% - 4px);transform:translateY(-50%) rotate(-90deg)}
.ctb-tree-tooltip.is-touch .ctb-tree-tooltip-word{max-width:100%;white-space:normal}
