.skill-node.svelte-l49noi{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:90px;height:90px;border-radius:50%;background:var(--bg);border:3px solid var(--border);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0003}.skill-node.svelte-l49noi:not(.locked):hover{transform:scale(1.1);box-shadow:0 8px 30px #0000004d}.skill-node.svelte-l49noi:not(.locked):active{transform:scale(.95)}.skill-node.locked.svelte-l49noi{cursor:not-allowed;opacity:.6}.skill-node.available.svelte-l49noi{animation:svelte-l49noi-pulse 2s ease-in-out infinite}@keyframes svelte-l49noi-pulse{0%,to{box-shadow:0 4px 15px #3b82f64d}50%{box-shadow:0 4px 25px #3b82f699}}.skill-node.mastered.svelte-l49noi{animation:svelte-l49noi-shimmer 3s ease-in-out infinite}@keyframes svelte-l49noi-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.progress-ring.svelte-l49noi{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg)}.ring-bg.svelte-l49noi{fill:none;stroke:#ffffff1a;stroke-width:6}.ring-progress.svelte-l49noi{fill:none;stroke:#f59e0b;stroke-width:6;stroke-linecap:round;stroke-dasharray:283;transition:stroke-dashoffset .5s ease}.crown.svelte-l49noi{position:absolute;top:-12px;font-size:1.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:svelte-l49noi-float 2s ease-in-out infinite}@keyframes svelte-l49noi-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.skill-icon.svelte-l49noi{font-size:2rem;margin-bottom:2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.locked.svelte-l49noi .skill-icon:where(.svelte-l49noi){filter:grayscale(100%) opacity(.5)}.skill-name.svelte-l49noi{font-size:.65rem;font-weight:600;color:var(--text);text-align:center;line-height:1.2;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkmark.svelte-l49noi{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:700;box-shadow:0 2px 8px #22c55e66}.mastered.svelte-l49noi .checkmark:where(.svelte-l49noi){background:linear-gradient(135deg,#a855f7,#ec4899)}@media(max-width:640px){.skill-node.svelte-l49noi{width:70px;height:70px}.skill-icon.svelte-l49noi{font-size:1.5rem}.skill-name.svelte-l49noi{font-size:.55rem;max-width:55px}.checkmark.svelte-l49noi{width:20px;height:20px;font-size:.65rem}}.unit-section.svelte-ud9l2y{position:relative;padding:1.5rem;margin-bottom:2rem}.unit-header.svelte-ud9l2y{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.unit-info.svelte-ud9l2y{flex:1}.unit-level.svelte-ud9l2y{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:999px;margin-bottom:.5rem}.unit-name.svelte-ud9l2y{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .25rem}.unit-desc.svelte-ud9l2y{font-size:.85rem;color:#fff9;margin:0}.unit-progress.svelte-ud9l2y{position:relative;width:60px;height:60px;flex-shrink:0}.progress-circle.svelte-ud9l2y{width:100%;height:100%;transform:rotate(-90deg)}.circle-bg.svelte-ud9l2y{fill:none;stroke:#ffffff1a;stroke-width:3}.circle-progress.svelte-ud9l2y{fill:none;stroke:#22c55e;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.complete.svelte-ud9l2y .circle-progress:where(.svelte-ud9l2y){stroke:#a855f7}.progress-text.svelte-ud9l2y{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff}.skills-path.svelte-ud9l2y{position:relative;min-height:200px}.path-lines.svelte-ud9l2y{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.path-line.svelte-ud9l2y{stroke:#ffffff26;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 8}.path-line.active.svelte-ud9l2y{stroke:#3b82f666;stroke-dasharray:none}.skill-row.svelte-ud9l2y{display:flex;padding:20px 0}@media(max-width:640px){.unit-section.svelte-ud9l2y{padding:1rem}.unit-header.svelte-ud9l2y{flex-direction:column;gap:1rem}.unit-progress.svelte-ud9l2y{width:50px;height:50px}.skill-row.svelte-ud9l2y{padding:15px 0}}.journey-page.svelte-7ieb2r{min-height:100vh;background:#0f172a;position:relative}.bg-gradient.svelte-7ieb2r{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(168,85,247,.1) 0%,transparent 50%);pointer-events:none}.journey-header.svelte-7ieb2r{position:sticky;top:0;z-index:100;background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.header-content.svelte-7ieb2r{max-width:800px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.header-left.svelte-7ieb2r{display:flex;align-items:center;gap:1rem}.back-btn.svelte-7ieb2r{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:10px;color:#fff;transition:all .2s}.back-btn.svelte-7ieb2r:hover{background:#ffffff26}.header-left.svelte-7ieb2r h1:where(.svelte-7ieb2r){font-size:1.25rem;font-weight:700;color:#fff;margin:0}.header-left.svelte-7ieb2r p:where(.svelte-7ieb2r){font-size:.85rem;color:#fff9;margin:0}.header-stats.svelte-7ieb2r{display:flex;gap:1.5rem}.stat.svelte-7ieb2r{text-align:right}.stat-value.svelte-7ieb2r{font-size:1.1rem;font-weight:700;color:#fff}.stat-label.svelte-7ieb2r{font-size:.75rem;color:#ffffff80}.quick-actions.svelte-7ieb2r{max-width:800px;margin:0 auto;padding:1.5rem;display:flex;gap:1rem}.action-card.svelte-7ieb2r{flex:1;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;cursor:pointer;transition:all .2s}.action-card.svelte-7ieb2r:hover{background:#ffffff14;transform:translateY(-2px)}.action-card.primary.svelte-7ieb2r{border-color:#3b82f64d;background:#3b82f61a}.action-icon.svelte-7ieb2r{font-size:1.5rem}.action-info.svelte-7ieb2r{flex:1;text-align:left}.action-title.svelte-7ieb2r{display:block;font-size:.85rem;font-weight:600;color:#fff}.action-desc.svelte-7ieb2r{display:block;font-size:.75rem;color:#fff9}.action-card.svelte-7ieb2r svg:where(.svelte-7ieb2r){color:#fff6}.journey-content.svelte-7ieb2r{max-width:800px;margin:0 auto;padding:0 1.5rem 3rem}.level-section.svelte-7ieb2r{margin-bottom:2rem}.level-badge.svelte-7ieb2r{display:inline-block;padding:.5rem 1rem;font-size:.85rem;font-weight:700;color:#fff;border-radius:999px;margin-bottom:1rem}.level-badge.a1.svelte-7ieb2r{background:linear-gradient(135deg,#22c55e,#16a34a)}.level-badge.a2.svelte-7ieb2r{background:linear-gradient(135deg,#3b82f6,#2563eb)}.locked-preview.svelte-7ieb2r{position:relative;opacity:.5;pointer-events:none}.preview-overlay.svelte-7ieb2r{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;padding:2rem;background:#0f172ae6;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.preview-icon.svelte-7ieb2r{font-size:2rem;display:block;margin-bottom:.5rem}.preview-text.svelte-7ieb2r{font-size:.9rem;color:#fffc}.modal-overlay.svelte-7ieb2r{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.skill-modal.svelte-7ieb2r{position:relative;width:100%;max-width:400px;background:linear-gradient(180deg,#1e293bfa,#0f172afa);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;animation:svelte-7ieb2r-modalSlide .3s ease}@keyframes svelte-7ieb2r-modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close.svelte-7ieb2r{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;border-radius:8px;padding:.5rem;cursor:pointer;color:#fff9;transition:all .2s}.modal-close.svelte-7ieb2r:hover{background:#fff3;color:#fff}.modal-header.svelte-7ieb2r{text-align:center;margin-bottom:1.5rem}.modal-icon.svelte-7ieb2r{font-size:3rem;display:block;margin-bottom:.5rem}.modal-header.svelte-7ieb2r h2:where(.svelte-7ieb2r){font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem}.modal-header.svelte-7ieb2r p:where(.svelte-7ieb2r){font-size:.9rem;color:#fff9;margin:0}.modal-stats.svelte-7ieb2r{display:flex;justify-content:center;gap:2rem;padding:1rem;background:#ffffff0d;border-radius:12px;margin-bottom:1.5rem}.modal-stat.svelte-7ieb2r{text-align:center}.modal-stat.svelte-7ieb2r .stat-value:where(.svelte-7ieb2r){display:block;font-size:1.25rem;font-weight:700;color:#fff}.modal-stat.svelte-7ieb2r .stat-label:where(.svelte-7ieb2r){font-size:.75rem;color:#ffffff80}.modal-topics.svelte-7ieb2r h3:where(.svelte-7ieb2r){font-size:.85rem;font-weight:600;color:#fff9;margin:0 0 .75rem}.topic-tags.svelte-7ieb2r{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.topic-tag.svelte-7ieb2r{padding:.5rem .75rem;font-size:.8rem;color:#60a5fa;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px}.modal-locked.svelte-7ieb2r{text-align:center;padding:1.5rem;background:#ffffff08;border-radius:12px}.locked-icon.svelte-7ieb2r{font-size:2rem;display:block;margin-bottom:.5rem}.modal-locked.svelte-7ieb2r p:where(.svelte-7ieb2r){font-size:.9rem;color:#ffffff80;margin:0}.modal-actions.svelte-7ieb2r{display:flex;gap:.75rem}.btn-primary.svelte-7ieb2r,.btn-secondary.svelte-7ieb2r{flex:1;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.btn-primary.svelte-7ieb2r{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary.svelte-7ieb2r:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-secondary.svelte-7ieb2r{background:#ffffff1a;color:#fff}.btn-secondary.svelte-7ieb2r:hover{background:#ffffff26}@media(max-width:640px){.header-content.svelte-7ieb2r{flex-direction:column;gap:1rem;align-items:flex-start}.header-stats.svelte-7ieb2r{width:100%;justify-content:space-around}.quick-actions.svelte-7ieb2r{flex-direction:column}.modal-stats.svelte-7ieb2r{gap:1rem}}
