.skill-planner{--sp-bg:#171513;--sp-panel:#211c16;--sp-border:#51402b;--sp-gold:#e5c187;--sp-text:#ddd3c4;--sp-muted:#b6a892;color:var(--sp-text);scroll-margin-top:24px;outline:none;font-family:'PT Sans',Arial,sans-serif}
.skill-planner *{box-sizing:border-box}.skill-planner [hidden]{display:none!important}
.planner-header{padding:22px;border:1px solid var(--sp-border);border-radius:9px;background:linear-gradient(145deg,#211c16,#171513)}
.planner-header>span,.planner-branch-label{color:#c59956;font-size:10px;letter-spacing:1.5px}.planner-header h2{font:29px Georgia,serif!important;color:#ebc98f!important;margin:12px 0!important}.planner-header p{font-size:14px;line-height:1.8;margin:0;color:#d8cebf}
.planner-message{margin:14px 0;padding:10px 14px;border-left:3px solid #a47d43;background:#c599560a;color:#d8c6a7;font-size:13px;line-height:1.6;min-height:40px}.planner-message.is-error{border-color:#bc735f;color:#f2c0ad;background:#8e4e3315}
.planner-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px;border:1px solid var(--sp-border);border-radius:8px;background:var(--sp-panel)}
.planner-toolbar>label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--sp-gold);min-width:160px;flex:1}.planner-toolbar select{width:100%;height:39px;border:1px solid #77603e;border-radius:5px;background:#15120f;color:#ebdec8;padding:7px 10px;font-size:14px}
.planner-budget{display:flex;gap:20px}.planner-budget>div{display:flex;flex-direction:column;gap:3px}.planner-budget small{font-size:11px;color:var(--sp-muted)}.planner-budget strong{font-size:24px;color:#ebc98f;line-height:1.2;font-variant-numeric:tabular-nums}.planner-budget>div:nth-child(2) strong{color:#a7d2a1}
.planner-actions{display:flex;flex-wrap:wrap;gap:7px}.skill-planner button{font-family:inherit}.planner-actions button,.planner-stepper button{border:1px solid #8a693c;border-radius:5px;background:linear-gradient(130deg,#4a3923,#2c2319);color:#f3d9ac;padding:9px 12px;font-size:12px;cursor:pointer;line-height:1.4}.planner-actions button:hover,.planner-stepper button:hover{background:#604826;border-color:#c59956}.skill-planner button:disabled{opacity:.35;cursor:default}.skill-planner button:focus-visible,.skill-planner select:focus-visible,.skill-planner textarea:focus-visible{outline:2px solid #e5bd7a;outline-offset:3px}
.planner-progress{height:5px;background:#31271b;margin:12px 0;border-radius:4px;overflow:hidden}.planner-progress>span{display:block;height:100%;background:linear-gradient(90deg,#88622f,#e5c187);width:0}
.planner-help{color:var(--sp-muted);font-size:12px;line-height:1.75;margin:12px 0 18px}
.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:16px;align-items:start}.planner-layout>*{min-width:0}.planner-trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.planner-branch{border:1px solid var(--sp-border);border-radius:8px;background:linear-gradient(180deg,#211c16,#141310);overflow:hidden;min-width:0}.planner-branch>h3{margin:0!important;padding:12px 5px!important;text-align:center;font:13px Georgia,serif!important;line-height:1.5!important;color:#ebc98f!important;background:linear-gradient(110deg,#332719,#211c16);border-bottom:1px solid #67502e;min-height:45px}

.planner-branch[data-branch="0"]>h3{background:linear-gradient(110deg,#35462c,#211c16);border-color:#63734e;color:#e0ddb1!important}
.planner-branch[data-branch="1"]>h3{background:linear-gradient(110deg,#293c44,#211c16);border-color:#576d73;color:#d1dde0!important}
.planner-branch[data-branch="2"]>h3{background:linear-gradient(110deg,#702b25,#2b1714);border-color:#a45143;color:#f2c5ad!important}
.planner-close-detail{display:none}
.planner-node:not(.has-points) .planner-node-icon{filter:grayscale(1);opacity:.45}.planner-node.has-points .planner-node-icon{filter:none;opacity:1}
.planner-node:not(.is-locked):not(.has-points) .planner-node-icon{filter:grayscale(.35) saturate(.65);opacity:.65}
.planner-node:not(.is-locked):not(.has-points){border-color:#8a7547;box-shadow:0 0 5px #c5995612}
.planner-node:not(.is-locked):not(.has-points) .planner-node-points{color:#c2b088;border-color:#8a7547}
.planner-tooltip{position:fixed;z-index:3000;width:285px;max-width:calc(100vw - 16px);padding:12px 14px;background:rgba(4,4,3,.96);border:1px solid #827d6c;box-shadow:0 5px 18px #0009;pointer-events:none;text-align:center;color:#ddd;font:13px/1.65 Arial,sans-serif}
.planner-tooltip-name{color:#ffc600;font-weight:bold;margin-bottom:3px}.planner-tooltip-effect{margin-top:5px;font-weight:bold}.planner-tooltip-next{color:#52d19b;font-weight:bold;margin-top:13px}.planner-tooltip-requirements{color:#87bfea;font-weight:bold;margin-top:14px}.planner-tooltip-blocked{color:#dbb18e;margin-top:6px;font-size:12px}
.planner-node-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(9,64px);padding:9px 4px;isolation:isolate}
.planner-links{position:absolute;top:9px;left:4px;width:calc(100% - 8px);height:576px;z-index:-1;pointer-events:none}.planner-links path{fill:none;stroke:#5d482d;stroke-width:2}.planner-links path.is-active{stroke:#d0a365;stroke-width:3}
.planner-node{position:relative;align-self:center;justify-self:center;width:38px;height:55px;border:1px solid #70532e;border-radius:4px;padding:3px 2px 11px;background:#17130e;cursor:pointer;box-shadow:0 2px 5px #0006;color:#ebc98f}
.planner-node-icon{display:block;width:32px;height:40px;background-repeat:no-repeat;background-size:909px 670px;background-color:#201a12}.planner-node-icon.is-placeholder{display:grid;place-items:center;font-size:13px;color:#dcb583;background:radial-gradient(#6e5231,#21180d)}
.planner-node-points{position:absolute;bottom:-1px;left:-1px;right:-1px;text-align:center;background:#18130e;border:1px solid #70532e;border-radius:0 0 3px 3px;color:#ead2aa;font-size:10px;line-height:16px;font-variant-numeric:tabular-nums}
.planner-node.is-locked .planner-node-icon{filter:grayscale(1);opacity:.35}.planner-node.is-locked{border-color:#42382a}.planner-node.has-points{border-color:#c59956;box-shadow:0 0 8px #c5995633}.planner-node.has-points .planner-node-points{color:#ffdfa5;border-color:#b08951}.planner-node.is-selected{outline:2px solid #efca83;outline-offset:2px}.planner-node.is-max .planner-node-points{color:#b6dda9}.planner-node:hover{border-color:#e5bd7a}
.planner-detail{position:sticky;top:20px;border:1px solid #67502e;border-radius:8px;background:linear-gradient(145deg,#292117,#171513);padding:16px}.planner-character{display:flex;gap:11px;align-items:center;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--sp-border);color:#ebc98f;font-size:15px}.planner-character img{width:44px;height:50px;object-fit:contain}.planner-detail-empty{font-size:14px;color:var(--sp-muted);line-height:1.8}.planner-detail h3{font:19px Georgia,serif!important;color:#f0cc91!important;line-height:1.5!important;margin:9px 0 16px!important;overflow-wrap:anywhere}.planner-branch-label{font-size:9px;letter-spacing:1px}
.planner-detail-rank{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--sp-border);border-bottom:1px solid var(--sp-border);font-size:12px}.planner-detail-rank strong{font-size:21px;color:#ffe0aa}.planner-detail [data-requirements]{font-size:12px;line-height:1.8;color:#c9b99e;margin:13px 0}.planner-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.planner-stepper button{font-size:16px;padding:8px 2px;min-height:40px}
.planner-effects{margin:18px 0 10px}.planner-effects>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #443522}.planner-effects dt{font-size:12px;color:var(--sp-muted);font-weight:normal}.planner-effects dd{font-size:17px;color:#ebc98f;margin:0;text-align:right;overflow-wrap:anywhere}.planner-effect-note{font-size:11px;color:#a99b85;line-height:1.75}.skill-planner details>summary{cursor:pointer;color:#dfbd89;font-size:12px;line-height:1.7}.planner-values-wrap{max-height:240px;overflow:auto;margin-top:12px}.planner-values{border-collapse:collapse;width:100%;font-size:12px}.planner-values th,.planner-values td{padding:7px;border-bottom:1px solid #493823;text-align:center;font-weight:normal}.planner-values th{background:#332719;color:#e5c187;position:sticky;top:0}.planner-values tr.is-current{background:#c5995622;color:#ffe0aa}
.planner-summary,.planner-code{margin-top:16px;padding:14px;border:1px solid var(--sp-border);border-radius:6px;background:#1c1813}.planner-summary ul{padding:0;margin:12px 0 0;list-style:none;columns:2}.planner-summary li{font-size:12px;line-height:1.7;break-inside:avoid;padding:5px 0}.planner-summary li button{padding:0;border:0;background:none;color:#d8c6a7;cursor:pointer;text-align:left}.planner-summary li button:hover{color:#ffe0aa}.planner-code>label{display:block;font-size:12px;color:#b6a892;font-weight:normal;margin:12px 0}.planner-code textarea{display:block;width:100%;margin-top:8px;resize:vertical;background:#12110f;border:1px solid #67502e;border-radius:5px;color:#ded1bb;padding:10px;font:12px monospace}.planner-footer{font-size:12px;color:#a99b85;line-height:1.8;margin:16px 0}
@media(max-width:1150px){.planner-layout{grid-template-columns:1fr}.planner-detail{position:static}.planner-detail [data-detail]{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.planner-detail h3,.planner-detail .planner-branch-label,.planner-detail [data-requirements]{grid-column:1/-1}.planner-detail h3{margin:0!important}.planner-effects{margin:0}.planner-stepper{align-self:start}.planner-detail .planner-effect-note{margin:0}}
@media(max-width:650px){.planner-trees{grid-template-columns:1fr;gap:16px}.planner-node-grid{grid-template-rows:repeat(9,65px);max-width:380px;margin:auto;padding:9px 8px}.planner-links{left:8px;width:calc(100% - 16px);height:585px}.planner-node{width:44px;height:55px}.planner-node-icon{margin:auto}.planner-branch>h3{font-size:16px!important}.planner-header{padding:16px}.planner-header h2{font-size:25px!important}.planner-header p{font-size:13px}.planner-toolbar{padding:13px;gap:14px}.planner-toolbar>label{flex-basis:100%}.planner-budget{gap:23px}.planner-detail [data-detail]{display:block}.planner-detail h3{margin:10px 0!important}.planner-stepper{margin:15px 0}.planner-effects{margin-top:12px}.planner-summary ul{columns:1}}
@media(max-width:650px){.skill-planner.is-detail-open .planner-detail{position:fixed;z-index:1500;bottom:10px;top:auto;left:12px;right:12px;max-height:70vh;overflow:auto;box-shadow:0 0 0 100vmax #0007,0 0 28px #0009}.skill-planner.is-detail-open .planner-close-detail{display:block;width:100%;border:1px solid #8a693c;border-radius:4px;background:#42311c;color:#f3d9ac;padding:10px;margin:0 0 12px;cursor:pointer}}
