.skill-tree-container{background:0 0;flex-direction:column;width:100%;min-height:calc(100vh - 72px);display:flex;position:relative}.skill-tree-progress{z-index:10;position:absolute;top:16px;left:16px}.skill-tree-scroll{-webkit-overflow-scrolling:touch;flex:1;justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:24px 0;display:flex;overflow:auto}.skill-tree-svg{width:100%;max-width:1400px;height:auto;display:block}@media (max-width:1023px){.skill-tree-scroll{justify-content:flex-start;align-items:flex-start;padding:16px 0}.skill-tree-svg{min-width:700px;max-width:none;height:auto;min-height:400px}}.skill-tree-scroll--mobile{justify-content:flex-start;align-items:flex-start;overflow:hidden auto}.skill-tree-svg--mobile{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important}.tier-label{fill:#4a5260;letter-spacing:.12em;text-transform:uppercase;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:700}.skill-node{transition:opacity .3s}.skill-node:focus{outline:none}.skill-node:focus-visible{outline-offset:4px;border-radius:50%;outline:2px solid #d9614799}.skill-node__aura{fill:#0000;pointer-events:none;transition:fill .4s}.skill-node__outer-ring{fill:none;transition:stroke .3s,stroke-width .3s,stroke-opacity .3s}.skill-node__bg{transition:fill .3s,stroke .3s,stroke-width .3s,filter .3s}.skill-node__inner-ring{fill:none;transition:stroke .3s,stroke-opacity .3s}.skill-node__notch{transition:fill .3s}.skill-node__center-icon{transition:color .3s}.skill-node__title{letter-spacing:.01em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:600;transition:fill .3s}.skill-node--locked{opacity:.55}.skill-node--locked .skill-node__aura{fill:#0000}.skill-node--locked .skill-node__outer-ring{stroke:#5a637047;stroke-width:1px;stroke-dasharray:3 3}.skill-node--locked .skill-node__bg{fill:#0a0f14;stroke:#5a637033;stroke-width:1px}.skill-node--locked .skill-node__inner-ring{stroke:#5a63700f;stroke-width:.5px}.skill-node--locked .skill-node__notch{fill:#5a63701f}.skill-node--locked .skill-node__center-icon{color:#3a4350}.skill-node--locked .skill-node__title{fill:#3a4350}.skill-node--available .skill-node__aura{fill:#0000}.skill-node--available .skill-node__outer-ring{stroke:#c6cdd147;stroke-width:1.5px;animation:3s ease-in-out infinite perkPulse}.skill-node--available .skill-node__bg{fill:#0f161e;stroke:#c6cdd133;stroke-width:1.5px}.skill-node--available .skill-node__inner-ring{stroke:#c6cdd11a;stroke-width:.75px}.skill-node--available .skill-node__notch{fill:#c6cdd138}.skill-node--available .skill-node__center-icon{color:#c6cdd173}.skill-node--available .skill-node__title{fill:#9ea6ad}.skill-node--completed .skill-node__aura{fill:#f0f2f40d}.skill-node--completed .skill-node__outer-ring{stroke:#f0f2f4;stroke-width:1.5px;filter:drop-shadow(0 0 4px #f0f2f44d)}.skill-node--completed .skill-node__bg{fill:#151d28;stroke:#f0f2f499;stroke-width:2px;filter:drop-shadow(0 0 8px #f0f2f426)}.skill-node--completed .skill-node__inner-ring{stroke:#f0f2f433;stroke-width:1px}.skill-node--completed .skill-node__notch{fill:#f0f2f4b3}.skill-node--completed .skill-node__center-icon{color:#f0f2f4}.skill-node--completed .skill-node__title{fill:#f0f2f4}.skill-node--hovered:not(.skill-node--locked) .skill-node__aura{fill:#c6cdd10a}.skill-node--hovered:not(.skill-node--locked) .skill-node__outer-ring{stroke:#c6cdd1b3;stroke-width:2px;animation:none}.skill-node--hovered:not(.skill-node--locked) .skill-node__bg{fill:#151d28;stroke:#c6cdd1d9;stroke-width:2px;filter:drop-shadow(0 0 14px #c6cdd133)}.skill-node--hovered:not(.skill-node--locked) .skill-node__inner-ring{stroke:#c6cdd14d;stroke-width:1px}.skill-node--hovered:not(.skill-node--locked) .skill-node__notch{fill:#c6cdd1a6}.skill-node--hovered:not(.skill-node--locked) .skill-node__center-icon{color:#d8dde0}.skill-node--hovered:not(.skill-node--locked) .skill-node__title{fill:#f0f2f4}.skill-node--hovered.skill-node--completed .skill-node__aura{fill:#f0f2f40f}.skill-node--hovered.skill-node--completed .skill-node__outer-ring{stroke:#f0f2f4e6;stroke-width:2px;animation:none}.skill-node--hovered.skill-node--completed .skill-node__bg{fill:#1a2230;stroke:#f0f2f4f2;stroke-width:2px;filter:drop-shadow(0 0 14px #f0f2f440)}.skill-node--hovered.skill-node--completed .skill-node__inner-ring{stroke:#f0f2f459;stroke-width:1px}.skill-node--hovered.skill-node--completed .skill-node__notch{fill:#f0f2f4d9}.skill-node--hovered.skill-node--completed .skill-node__center-icon{color:#fff}.skill-node--hovered.skill-node--completed .skill-node__title{fill:#fff}.skill-node--next .skill-node__aura{fill:#d961470f;animation:2.5s ease-in-out infinite nextAuraPulse}.skill-node--next .skill-node__outer-ring{stroke:#d961478c;stroke-width:2px;animation:2.5s ease-in-out infinite nextRingPulse}.skill-node--next .skill-node__bg{fill:#0f161e;stroke:#d9614766;stroke-width:2px;filter:drop-shadow(0 0 12px #d9614733)}.skill-node--next .skill-node__inner-ring{stroke:#d9614726;stroke-width:1px}.skill-node--next .skill-node__notch{fill:#d9614759}.skill-node--next .skill-node__center-icon{color:#d96147b3}.skill-node--next .skill-node__title{fill:#d8dde0}@keyframes nextAuraPulse{0%,to{fill:#d961470a}50%{fill:#d961471a}}@keyframes nextRingPulse{0%,to{stroke:#d9614773;stroke-width:1.5px}50%{stroke:#d96147b3;stroke-width:2.5px}}.skill-node--dimmed{opacity:.15;pointer-events:none}@keyframes perkPulse{0%,to{stroke-opacity:.28}50%{stroke-opacity:.5}}.connection{stroke-linecap:round;transition:stroke .3s,opacity .3s}.connection--locked{stroke:#5a637040;stroke-width:1px;stroke-dasharray:4 5;opacity:.6}.connection--available{stroke:#c6cdd133;stroke-width:1.5px;opacity:.7}.connection--completed{stroke:#f0f2f466;stroke-width:2px;opacity:1}.connection__glow{stroke:#f0f2f414;stroke-width:6px;stroke-linecap:round}.connection--dimmed{opacity:.1!important}@keyframes synapticPulse{0%{stroke-dashoffset:100px;opacity:0}15%{opacity:1}85%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.connection__flow{stroke-dasharray:10 90;stroke-linecap:round;animation:4.5s ease-in-out infinite synapticPulse}.connection__flow--available{stroke:#c6cdd1d9;stroke-width:2.5px;filter:drop-shadow(0 0 6px #c6cdd199)}.connection__flow--completed{stroke:#f0f2f4d9;stroke-width:3px;filter:drop-shadow(0 0 8px #f0f2f480)}.tooltip{-webkit-backdrop-filter:blur(12px);z-index:1500;pointer-events:none;background:#151b22;border:1px solid #c6cdd11f;border-radius:12px;max-width:280px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) tooltipIn;position:fixed;box-shadow:0 4px 12px #0006,inset 0 1px #c6cdd10d}@keyframes tooltipIn{0%{opacity:0;transform:translateY(-50%)translate(-8px)scale(.96)}to{opacity:1;transform:translateY(-50%)translate(0)scale(1)}}.tooltip__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tooltip__tier-badge{text-transform:uppercase;letter-spacing:.05em;color:#c6cdd1;background:#c6cdd11f;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.tooltip__time{color:#8b949e;align-items:center;gap:4px;font-size:11px;display:flex}.tooltip__time svg{opacity:.7}.tooltip__title{color:#f5f5f4;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.3}.tooltip__divider{background:linear-gradient(90deg,#c6cdd126 0%,#0000 100%);height:1px;margin:10px 0}.tooltip__description{color:#b8bfc6;margin-bottom:10px;font-size:12px;line-height:1.5}.tooltip__hint{color:#c6cdd1;font-size:12px;font-weight:500}.tooltip__locked-hint{color:#8b949e;background:#ffffff08;border-radius:6px;align-items:center;gap:6px;margin-top:4px;padding:8px;font-size:11px;display:flex}.tooltip__locked-hint svg{opacity:.7;flex-shrink:0}.tooltip__completed-hint{color:#22c55e;align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.tooltip__completed-hint svg{stroke:#22c55e}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:fixed;top:0;left:0}.modal{text-align:center;background:#151b22;border:1px solid #c6cdd11f;border-radius:16px;width:100%;max-width:400px;padding:32px;animation:.2s modalIn;position:relative;box-shadow:0 8px 32px #00000080,inset 0 1px #c6cdd10d}.modal--compact{max-width:380px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal__close{color:#6b6b70;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .15s;display:flex;position:absolute;top:12px;right:12px}.modal__close:hover{color:#f5f5f4;background:#2a2a2e}.modal__status{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.modal__status--completed{color:#22c55e;background:#22c55e26}.modal__title{color:#f5f5f4;margin-bottom:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:22px;font-weight:600;line-height:1.3}.modal__description{color:#a8a8a8;margin-bottom:24px;font-size:15px;line-height:1.6}.modal__cta{color:#f0f2f4;cursor:pointer;background:linear-gradient(135deg,#c6cdd114 0%,#c6cdd11f 100%);border:1px solid #c6cdd133;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s;display:flex;box-shadow:inset 0 1px #c6cdd114}.modal__cta:hover{background:linear-gradient(135deg,#c6cdd11f 0%,#c6cdd129 100%);border-color:#c6cdd14d;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #c6cdd11a}.modal__cta:active{transform:translateY(0)}.modal__external{color:#6b6b70;align-items:center;gap:6px;margin-top:16px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.modal__external:hover{color:#a8a8a8}.zoom-controls{z-index:100;flex-direction:column;gap:8px;display:flex;position:absolute;top:16px;right:16px}.zoom-btn{color:#b8bfc6;cursor:pointer;background:#151b22;border:1px solid #c6cdd11f;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .15s;display:flex}.zoom-btn:hover{color:#f0f2f4;background:#1a2029;border-color:#c6cdd140}.zoom-btn:active{transform:scale(.95)}.zoom-btn svg{width:20px;height:20px}.pan-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;pointer-events:none;background:#151b22e6;border:1px solid #c6cdd11f;border-radius:20px;padding:8px 16px;animation:.3s fadeInUp;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.pan-hint span{color:#767f88;white-space:nowrap;font-size:12px}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.current-position-indicator__line{stroke:#c6cdd1;stroke-width:2px;stroke-dasharray:4 3;opacity:.4}.current-position-indicator__pulse-outer{fill:#c6cdd11a}.current-position-indicator__pulse-inner{fill:#c6cdd133}.current-position-indicator__icon{color:#c6cdd1}.current-position-indicator__label{text-transform:uppercase;letter-spacing:.05em;color:#c6cdd1;text-align:center;white-space:nowrap;text-shadow:0 1px 2px #00000080;font-size:10px;font-weight:600}@media (max-width:767px){.skill-tree-container{min-height:calc(100dvh - 64px)}.skill-tree-progress{top:8px;left:8px}.modal-backdrop{padding:12px}.modal{border-radius:12px;max-width:calc(100vw - 24px);margin:0;padding:24px 20px}.modal__title{font-size:18px}.modal__description{margin-bottom:16px;font-size:14px}.modal__cta{padding:12px 20px;font-size:15px}.tooltip{display:none}.skill-node__title{font-size:12px}.skill-node:active:not(.skill-node--locked):not(.skill-node--blurred) .skill-node__bg{transition:transform .1s;transform:scale(.95)}.tier-label{font-size:12px}}.skill-node--blurred{filter:blur(5px);opacity:.4;pointer-events:none}
