.skills-map{--sm-ink:var(--dark);--sm-muted:var(--muted);--sm-line:var(--line);--sm-canvas:var(--screen);--sm-surface:var(--panel);--sm-lime:var(--lime);--sm-red:var(--red);--sm-green:var(--green);--sm-locked-bg:#dce2db;--sm-locked-border:#aeb9b0;--sm-locked-ink:#839087;flex-direction:column;display:flex;position:relative}.skills-map .screen-heading{justify-content:space-between;align-items:end;padding:0 4px;display:flex}.skills-map .eyebrow{color:var(--sm-green);letter-spacing:.8px;margin:0 0 4px;font-size:10px;font-weight:950}.skills-map h1{margin:0;font-size:27px;line-height:1}.skills-map .stage-caption{color:var(--sm-muted);margin:0 0 2px;font-size:11px;font-weight:750}.skills-map .path-count{color:var(--sm-muted);grid-template-columns:auto auto;align-items:baseline;gap:5px;font-size:10px;font-weight:800;display:grid;position:absolute;top:4px;right:18px}.skills-map .path-count b{color:var(--sm-ink);font-size:17px}.skills-map .ladder-viewport{cursor:grab;touch-action:none;border-radius:8px;height:598px;margin-top:20px;position:relative;overflow:hidden}.skills-map .ladder-viewport.is-dragging{cursor:grabbing}.skills-map .ladder{will-change:transform;min-height:2050px;padding:12px 0 48px;transition:transform .18s ease-out;position:relative}.skills-map .path-rail{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.skills-map .path-rail path{fill:none;stroke:#b9c7ba;stroke-width:2px;stroke-dasharray:6 6;stroke-linecap:round;stroke-linejoin:round}.skills-map .path-rail .main-route{stroke:#89998f;stroke-width:2.5px;stroke-dasharray:none}.skills-map .unit{z-index:1;border:1px solid var(--sm-line);background:var(--sm-canvas);width:max-content;color:var(--sm-muted);border-radius:5px;margin:0 auto 15px;padding:5px 10px;font-size:10px;font-weight:900;position:relative}.skills-map .unit.indicator-unit{margin-top:16px}.skills-map .skill-node{z-index:1;gap:7px;width:160px;display:grid;position:relative}.skills-map .skill-node.left{margin-left:2px}.skills-map .skill-node.right{margin:30px 0 0 auto}.skills-map .skill-node.subchapter{gap:4px;width:124px}.skills-map .skill-node.subchapter.left{margin:6px 0 0 36px}.skills-map .skill-node.subchapter.right{margin:6px 36px 0 auto}.skills-map .node-topline{min-height:14px;color:var(--sm-muted);justify-content:space-between;align-items:center;font-size:10px;font-weight:900;display:flex}.skills-map .node-topline span:last-child{color:var(--sm-green)}.skills-map .node-tile{border:2px solid var(--sm-ink);background:var(--sm-surface);width:72px;height:72px;color:var(--sm-ink);box-shadow:0 5px 0 var(--sm-ink);cursor:pointer;border-radius:8px;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.skills-map .skill-node.current .node-tile{background:var(--sm-lime);box-shadow:0 6px 0 var(--sm-ink), 0 11px 18px #17231d21}.skills-map .skill-node.done .node-tile{border-color:var(--sm-green);color:var(--sm-green);box-shadow:0 4px 0 var(--sm-green);background:#eaf6f0}.skills-map .skill-node.done .node-tile:after{content:"✓";z-index:2;border:2px solid var(--sm-surface);background:var(--sm-green);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:950;line-height:1;display:grid;position:absolute;top:-7px;right:-7px}.skills-map .skill-node.done.subchapter .node-tile:after{width:15px;height:15px;font-size:9px;top:-5px;right:-5px}.skills-map .skill-node.course-parent .node-tile{background:var(--sm-lime)}.skills-map .skill-node.current .node-tile:active{box-shadow:0 2px 0 var(--sm-ink);transform:translateY(4px)}.skills-map .skill-node.locked .node-tile{border-color:var(--sm-locked-border);background:var(--sm-locked-bg);color:var(--sm-locked-ink);box-shadow:0 4px 0 var(--sm-locked-border);cursor:not-allowed}.skills-map .skill-node.right .node-tile{margin-left:auto}.skills-map .node-copy{gap:2px;display:grid}.skills-map .skill-node.right .node-copy{text-align:right}.skills-map .skill-node.subchapter .node-topline{min-height:11px;font-size:9px}.skills-map .skill-node.subchapter .node-tile{width:44px;height:44px;box-shadow:0 3px 0 var(--sm-ink);border-radius:6px}.skills-map .skill-node.subchapter.current .node-tile{box-shadow:0 4px 0 var(--sm-ink), 0 7px 11px #17231d1a}.skills-map .skill-node.subchapter .node-copy{gap:0}.skills-map .skill-node.subchapter .node-copy strong{font-size:12px}.skills-map .skill-node.subchapter .node-copy span{display:none}.skills-map .skill-node.subchapter .candle-icon,.skills-map .skill-node.subchapter .trend-icon,.skills-map .skill-node.subchapter .indicator-icon,.skills-map .skill-node.subchapter .study-icon{transform:scale(.56)}.skills-map .skill-node.indicator-parent{margin-top:26px}.skills-map .skill-node.right.course-parent.indicator-parent:not(.rsi-parent){margin-right:24px}.skills-map .skill-node.left.course-parent.indicator-parent{margin-left:24px}.skills-map .node-copy strong{font-size:15px}.skills-map .node-copy span{color:var(--sm-muted);font-size:11px;font-weight:700}.skills-map .candle-icon{justify-content:center;align-items:center;gap:6px;width:42px;height:42px;display:flex}.skills-map .candle{background:var(--sm-surface);border:2px solid;width:8px;height:22px;display:block;position:relative}.skills-map .candle:before{content:"";z-index:-1;background:currentColor;width:2px;height:38px;position:absolute;top:-10px;left:1px}.skills-map .candle.up{background:var(--sm-red);height:25px}.skills-map .candle.down{background:var(--sm-green);height:17px}.skills-map .candle.mid{height:13px}.skills-map .skill-node.locked .candle.up,.skills-map .skill-node.locked .candle.down{background:currentColor}.skills-map .trend-icon{border-bottom:3px solid;border-left:3px solid;width:42px;height:42px;position:relative}.skills-map .trend-icon:before{content:"";transform-origin:0;background:currentColor;width:34px;height:3px;position:absolute;bottom:10px;left:5px;transform:rotate(-37deg)}.skills-map .trend-icon:after{content:"";border-top:3px solid;border-right:3px solid;width:10px;height:10px;position:absolute;top:3px;right:0}.skills-map .study-icon{width:42px;height:42px;position:relative}.skills-map .study-icon.bars:before{content:"";background:repeating-linear-gradient(90deg,currentColor 0 4px,#0000 4px 8px);height:20px;position:absolute;bottom:5px;left:3px;right:3px}.skills-map .study-icon.cross:before,.skills-map .study-icon.cross:after{content:"";border-radius:50%;position:absolute}.skills-map .study-icon.cross:before{border:3px solid;width:28px;height:28px;top:7px;left:7px}.skills-map .study-icon.cross:after{background:currentColor;width:8px;height:8px;top:17px;left:17px}.skills-map .study-icon.axis:before{content:"";border-top:3px dashed;position:absolute;top:20px;left:2px;right:2px}.skills-map .study-icon.axis:after{content:"";border:3px solid;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:14px}.skills-map .study-icon.zone:before{content:"";border:3px solid;border-bottom:0;height:11px;position:absolute;top:6px;left:3px;right:3px}.skills-map .study-icon.zone:after{content:"";border:3px solid;border-top:0;height:11px;position:absolute;bottom:6px;left:3px;right:3px}.skills-map .study-icon.link:before{content:"";background:currentColor;border-radius:3px;width:35px;height:3px;position:absolute;top:20px;left:4px;transform:rotate(-27deg)}.skills-map .study-icon.link:after{content:"";width:9px;height:9px;box-shadow:24px 24px 0 -1px var(--sm-canvas), 24px 24px 0 2px currentColor;border:3px solid;border-radius:50%;position:absolute;top:4px;left:3px}.skills-map .indicator-icon{width:42px;height:42px;position:relative}.skills-map .indicator-icon.macd:before{content:"";opacity:.72;background:repeating-linear-gradient(90deg,currentColor 0 4px,#0000 4px 7px);height:15px;position:absolute;bottom:5px;left:2px;right:2px}.skills-map .indicator-icon.macd:after,.skills-map .indicator-icon.kdj:after{content:"";border-top:3px solid;border-radius:50%;width:32px;height:14px;position:absolute;top:11px;left:4px;transform:rotate(-18deg)}.skills-map .indicator-icon.kdj:before{content:"";border-top:3px solid;border-radius:50%;width:32px;height:14px;position:absolute;top:17px;left:4px;transform:rotate(18deg)}.skills-map .indicator-icon.rsi{border:3px solid;border-radius:50%;width:36px;height:36px}.skills-map .indicator-icon.rsi:before{content:"";transform-origin:bottom;background:currentColor;border-radius:2px;width:3px;height:14px;position:absolute;bottom:15px;left:16px;transform:rotate(42deg)}.skills-map .indicator-icon.rsi:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:14px;left:14px}.skills-map .checkpoint{color:#7b877e;text-align:center;border:1px dashed #bcc7bd;border-radius:7px;width:210px;margin:34px auto 0;padding:11px 12px;font-size:11px;font-weight:800}.skills-map .drag-handle{z-index:3;background:var(--sm-locked-border);width:30px;height:5px;box-shadow:0 -7px var(--sm-locked-border), 0 7px var(--sm-locked-border);pointer-events:none;border-radius:4px;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}
