.learn-page{background:var(--background);overflow-x:hidden}.path-page{justify-content:center;align-items:flex-start;padding:32px 0 80px;display:flex;position:relative}.path-side{pointer-events:none;width:calc(50vw - 210px);position:absolute;top:0;bottom:0}.path-side--left{left:0}.path-side--right{right:0}.coin-sprite{object-fit:contain;pointer-events:none;width:260px;height:260px;position:absolute}.side-shape{opacity:.75;position:absolute}.side-shape--pill{border-radius:var(--radius-full);background:var(--accent);border:var(--border-width) solid var(--foreground);width:80px;height:34px;box-shadow:3px 3px 0 var(--foreground);animation:4s ease-in-out .5s infinite float;transform:rotate(-12deg)}.side-shape--tri{border-left:36px solid #0000;border-right:36px solid #0000;border-bottom:62px solid var(--secondary);opacity:.6;width:0;height:0;animation:5s ease-in-out 1s infinite float}.side-shape--square{border-radius:var(--radius-sm);background:var(--quaternary);border:var(--border-width) solid var(--foreground);width:52px;height:52px;box-shadow:3px 3px 0 var(--foreground);animation:18s linear infinite spin-slow;transform:rotate(15deg)}.side-shape--pill.side-shape--sm{transform:rotate(-12deg)scale(.65)}.side-shape--tri.side-shape--sm{transform:scale(.65)}.side-shape--square.side-shape--sm{transform:rotate(15deg)scale(.65)}.path-center{flex-shrink:0;width:380px}.section-banner{border-radius:var(--radius-lg);border:var(--border-width) solid var(--foreground);box-shadow:4px 4px 0 var(--foreground);color:#fff;margin-bottom:28px;padding:20px 22px 22px}.banner-nav{align-items:center;gap:10px;margin-bottom:10px;display:flex}.banner-arrow{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.banner-arrow:hover:not(:disabled){background:#ffffff59}.banner-arrow:disabled{opacity:.35;cursor:default}.banner-eyebrow{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:#ffffffd9;text-align:center;flex:1}.banner-title{font-size:var(--text-2xl);color:#fff;margin:0 0 4px;font-weight:800;line-height:1.2}.banner-desc{font-size:var(--text-sm);color:#fffc;margin:0 0 14px}.banner-progress{align-items:center;gap:10px;display:flex}.banner-progress-track{border-radius:var(--radius-full);background:#ffffff40;flex:1;height:8px;overflow:hidden}.banner-progress-fill{border-radius:var(--radius-full);height:100%;transition:width .6s var(--ease-bounce);background:#fff}.banner-progress-label{font-family:var(--font-heading);font-weight:700;font-size:var(--text-xs);color:#ffffffd9;white-space:nowrap}.trail-wrap{justify-content:center;display:flex}.path-trail{width:300px;position:relative}.trail-stop{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.trail-tip{border:2.5px solid var(--tip-color);color:var(--tip-color);font-family:var(--font-heading);letter-spacing:.08em;white-space:nowrap;box-shadow:2px 2px 0 var(--tip-color);background:#fff;border-radius:999px;padding:4px 12px;font-size:10px;font-weight:800;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.trail-tip:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--tip-color);position:absolute;top:100%;left:50%;transform:translate(-50%)}.path-node{border:var(--border-width) solid var(--foreground);width:68px;height:68px;box-shadow:4px 4px 0 var(--foreground);cursor:pointer;color:#fff;transition:transform var(--transition-base), box-shadow var(--transition-base), background .3s ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.node-test{width:76px;height:76px}.node-available{background:var(--node-color)}.node-available:hover:not(:disabled){box-shadow:6px 6px 0 var(--foreground);transform:translate(-2px,-2px)}.node-done{background:var(--node-color)}.node-locked{background:var(--muted);color:var(--muted-foreground);cursor:not-allowed;box-shadow:2px 2px 0 var(--border);border-color:var(--border);opacity:.55}.node-num{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xl);line-height:1}.node-chip{border:2.5px solid var(--chip-color);box-shadow:2px 2px 0 var(--chip-color);font-family:var(--font-heading);color:var(--foreground);letter-spacing:.04em;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 16px;font-size:12px;font-weight:700;display:inline-flex}.node-chip--sm{gap:6px;padding:5px 10px 5px 12px;font-size:10px}.node-chip--sm .node-coin-badge{width:16px;height:16px;font-size:9px}.node-coin-badge{background:var(--tertiary);color:#fff;width:20px;height:20px;font-family:var(--font-heading);border:1.5px solid var(--foreground);box-shadow:1px 1px 0 var(--foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.node-chip-cents{flex-shrink:0;font-weight:800}.node-sparkling{animation:.55s ease-out both node-burst;background:var(--node-color)!important}.path-node.node-sparkling:before,.path-node.node-sparkling:after{content:"";border:2.5px solid var(--node-color);opacity:0;pointer-events:none;border-radius:50%;animation:.55s ease-out both ring-expand;position:absolute;inset:0}.path-node.node-sparkling:after{animation-delay:.12s}@keyframes node-burst{0%{transform:scale(1)}25%{transform:scale(1.22)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes ring-expand{0%{opacity:.85;inset:0}to{opacity:0;inset:-20px}}.sparkle-effect{pointer-events:none;z-index:20;position:absolute;inset:0;overflow:visible}.sparkle-particle{background:var(--spark-color);border-radius:50%;width:9px;height:9px;animation:.55s ease-out both sparkle-fly;position:absolute;top:calc(50% - 4.5px);left:calc(50% - 4.5px)}@keyframes sparkle-fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.path-next-section{margin-top:32px;padding:0 8px}.path-next-btn{background:var(--card);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-pop);cursor:pointer;text-align:left;color:var(--foreground);transition:transform var(--transition-base), box-shadow var(--transition-base);align-items:center;gap:12px;padding:18px 22px;display:flex}.path-next-btn:hover{box-shadow:var(--shadow-pop-hover);transform:translate(-2px,-2px)}.path-next-label{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);font-weight:700;display:block}.path-next-name{font-family:var(--font-heading);font-weight:800;font-size:var(--text-base);color:var(--next-color);flex:1;display:block}.lesson-shell{flex-direction:column;gap:32px;max-width:680px;margin:0 auto;display:flex}.lesson-top{align-items:center;gap:16px;display:flex}.lesson-exit{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:0;font-weight:700;transition:color .2s;display:inline-flex}.lesson-exit:hover{color:var(--foreground)}.lesson-progress-track{background:var(--muted);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-full);flex:1;height:10px;overflow:hidden}.lesson-progress-fill{background:var(--accent);border-radius:var(--radius-full);height:100%;transition:width .4s}.lesson-counter{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--muted-foreground);flex-shrink:0;font-weight:700}.lesson-meta{background:var(--muted);border:var(--border-width) solid var(--border);border-radius:var(--radius-full);align-self:flex-start;align-items:center;gap:10px;padding:10px 18px;display:flex}.lesson-title-inline{font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);color:var(--foreground)}.fill-blank-tag{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--quaternary);border-radius:var(--radius-full);padding:3px 10px;font-weight:700}.lesson-test-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--tertiary);border-radius:var(--radius-full);padding:3px 10px;font-weight:700}.lesson-prompt{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--foreground);font-weight:700;line-height:1.3}.lesson-prompt--fill-blank{line-height:1.7}.fill-blank-gap{background:var(--muted);border:2px solid var(--foreground);border-radius:var(--radius-sm);text-align:center;vertical-align:baseline;min-width:90px;padding:2px 14px;font-weight:800;transition:background .2s,border-color .2s,color .2s;display:inline-block}.fill-blank-gap--pending{border-color:var(--quaternary);color:var(--quaternary);background:#3b82f61a}.fill-blank-gap--correct{border-color:var(--secondary);color:var(--secondary);background:#0d94881f}.fill-blank-gap--wrong{border-color:var(--accent);color:var(--accent);background:#ff6f611f}.lesson-options{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lesson-options--fill-blank{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lesson-option{text-align:left;width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--foreground);background:var(--card);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);align-items:center;gap:14px;padding:16px 20px;font-weight:500;display:flex}.lesson-options--fill-blank .lesson-option{text-align:center;font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);flex-direction:column;justify-content:center;gap:6px;padding:20px 12px}.lesson-option:hover:not(:disabled){box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.option-letter{background:var(--muted);border:var(--border-width) solid var(--border);width:28px;height:28px;font-family:var(--font-heading);font-weight:800;font-size:var(--text-sm);color:var(--muted-foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.lesson-options--fill-blank .option-letter{width:22px;height:22px;font-size:var(--text-xs)}.lesson-option.selected{border-color:var(--quaternary);background:#3b82f614}.lesson-option.correct{border-color:var(--secondary);background:#0d948814}.lesson-option.wrong{border-color:var(--accent);background:#ff6f6114}.lesson-option.selected .option-letter{background:var(--quaternary);color:#fff;border-color:#0000}.lesson-option.correct .option-letter{background:var(--secondary);color:#fff;border-color:#0000}.lesson-option.wrong .option-letter{background:var(--accent);color:#fff;border-color:#0000}.lesson-feedback{border:var(--border-width) solid var(--foreground);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:pop-in .3s var(--ease-bounce) both;flex-direction:column;gap:12px;padding:24px 28px;display:flex}.feedback-correct{background:#ecfdf5}.feedback-wrong{background:#fff4f3}.feedback-label{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xl);color:var(--foreground);margin:0}.feedback-explain{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.lesson-done{text-align:center;background:var(--card);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-lg);max-width:520px;box-shadow:var(--shadow-pop);flex-direction:column;align-items:center;gap:16px;margin:0 auto;padding:56px 40px;display:flex}.done-icon{border:4px solid var(--foreground);width:72px;height:72px;box-shadow:4px 4px 0 var(--foreground);color:#fff;animation:pop-in .4s var(--ease-bounce) both;background:radial-gradient(circle at 35% 28%,#cffafe,#22d3ee 30%,#0d9488 65%,#134e4a 100%);border-radius:50%;justify-content:center;align-items:center;display:flex}.done-icon--gold{background:radial-gradient(circle at 35% 28%,#fffbeb,#fcd34d 28%,#f59e0b 65%,#dc6803 100%)}.lesson-done h2{font-size:var(--text-3xl)}.done-subtitle{font-size:var(--text-md);color:var(--muted-foreground);margin:0}.done-test-result{background:var(--muted);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:center;gap:14px;padding:14px 24px;display:flex}.done-test-score{font-family:var(--font-heading);color:var(--foreground);font-size:2rem;font-weight:800;line-height:1}.done-test-denom{font-size:var(--text-lg);color:var(--muted-foreground)}.done-test-badge{font-family:var(--font-heading);font-weight:800;font-size:var(--text-sm);border-radius:var(--radius-full);border:var(--border-width) solid currentColor;padding:6px 14px}.done-test-badge--passed{color:var(--secondary);background:#0d94881a}.done-test-badge--failed{color:var(--accent);background:#ff6f611a}.done-rewards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.done-cents,.done-xp{background:var(--muted);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-full);font-family:var(--font-heading);font-weight:700;font-size:var(--text-md);box-shadow:var(--shadow-card);align-items:center;gap:8px;padding:10px 24px;display:inline-flex}.done-xp-icon{border:var(--border-width) solid var(--foreground);width:28px;height:28px;box-shadow:2px 2px 0 var(--foreground);background:radial-gradient(circle at 35% 28%,#cffafe,#22d3ee 30%,#0d9488 65%,#134e4a 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cents-coin{background:var(--tertiary);color:#fff;width:28px;height:28px;font-family:var(--font-heading);font-weight:800;font-size:var(--text-base);border:var(--border-width) solid var(--foreground);box-shadow:2px 2px 0 var(--foreground);border-radius:50%;justify-content:center;align-items:center;display:flex}.done-guest-cta{background:var(--muted);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:12px;width:100%;padding:20px 24px;display:flex}.done-guest-cta p{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.island-carousel{flex-direction:column;align-items:center;gap:16px;width:100%;padding:32px 0 120px;display:flex}.carousel-section-title{text-align:center;max-width:860px;margin:0;padding-inline:20px;font-size:3.8rem;font-weight:800;line-height:1.05}.carousel-section-title--long{font-size:2.6rem}.carousel-stage{width:100%;height:55vh;position:relative}.carousel-arrow{z-index:2;background:var(--card);border:var(--border-width) solid var(--foreground);width:52px;height:52px;box-shadow:var(--shadow-card);cursor:pointer;color:var(--foreground);transition:box-shadow var(--transition-base), background var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow--prev{left:max(8px,50% - 410px)}.carousel-arrow--next{right:max(8px,50% - 410px)}.carousel-arrow:hover:not(:disabled){background:var(--muted);box-shadow:var(--shadow-pop)}.carousel-arrow:disabled{opacity:.28;cursor:default;box-shadow:none}.carousel-window{width:100%;height:100%;padding-inline:max(0px,50% - 342px);overflow:hidden}.carousel-track{will-change:transform;width:700%;height:100%;transition:transform .42s cubic-bezier(.25,.46,.45,.94);display:flex}.carousel-slide{cursor:pointer;opacity:.38;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:14.2857%;height:100%;padding:0;transition:opacity .42s,transform .42s;display:flex;position:relative;transform:scale(.88)}.carousel-slide.is-active{opacity:1;cursor:pointer;transform:scale(1)}.carousel-slide.is-active:hover:not(:disabled):not(.is-dim){transform:scale(1.03)}.carousel-slide:not(.is-active):not(.is-dim){cursor:pointer}.carousel-slide:focus-visible{outline:3px solid var(--foreground);outline-offset:4px}.carousel-slide.is-dim{cursor:not-allowed}.carousel-slide.is-dim.is-active{opacity:.55}.carousel-slide.is-dim:not(.is-active){opacity:.2}.carousel-title-fade{animation:.32s both title-fade}@keyframes title-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.carousel-island-img{object-fit:contain;filter:none;width:auto;max-width:100%;height:100%;display:block}.carousel-island-img--basics{transform:scale(1.4)translateY(8%)}.carousel-lock{border:3px solid var(--foreground);width:64px;height:64px;box-shadow:3px 3px 0 var(--foreground);background:#fffdf5;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.carousel-dots{justify-content:center;align-items:center;gap:8px;display:flex}.carousel-dot{border:2px solid var(--border);background:var(--muted);cursor:pointer;border-radius:50%;width:10px;height:10px;padding:0;transition:background .25s,transform .25s,border-color .25s}.carousel-dot--active{transform:scale(1.35)}.carousel-dot:hover:not(.carousel-dot--active){background:var(--muted-foreground)}.carousel-info{background:var(--card);border:var(--border-width) solid var(--foreground);border-left:5px solid var(--info-color,var(--foreground));border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-pop);flex-direction:column;gap:6px;padding:22px 24px 24px;display:flex}.carousel-eyebrow{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--info-color,var(--muted-foreground))}.carousel-title{font-size:var(--text-2xl);color:var(--foreground);margin:0;font-weight:800;line-height:1.2}.carousel-desc{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.carousel-progress-track{background:var(--muted)!important;border:var(--border-width) solid var(--border)!important}.carousel-progress-fill{border-radius:var(--radius-full);height:100%;transition:width .6s var(--ease-bounce)}.carousel-progress-label{color:var(--muted-foreground)!important}.carousel-enter{border-radius:var(--radius-full);border:var(--border-width) solid var(--foreground);box-shadow:var(--shadow-card);font-family:var(--font-heading);font-weight:800;font-size:var(--text-sm);color:#fff;cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:10px 22px;display:inline-flex}.carousel-enter:hover{box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.carousel-locked-note{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--muted-foreground);margin:4px 0 0;font-weight:700}.carousel-swipe-hint{font-family:var(--font-heading);color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:700;animation:2.8s ease-in-out infinite hint-fade;display:none}@keyframes hint-fade{0%,to{opacity:.35}50%{opacity:.85}}@media (max-width:900px){.path-side{display:none}.path-center{width:100%}.path-page{padding:20px 20px 80px}}@media (max-width:768px){.lesson-prompt{font-size:var(--text-xl)}.lesson-done{padding:40px 24px}.done-icon{width:60px;height:60px}.banner-title{font-size:var(--text-xl)}.island-carousel{gap:10px;padding:20px 0 72px}.carousel-stage{height:46vh}.carousel-arrow{display:none}.carousel-window{padding-inline:8%}.carousel-island-img--basics{transform:none}.carousel-section-title{font-size:2.2rem}.carousel-section-title--long{font-size:1.6rem}.carousel-swipe-hint{display:flex}.carousel-dots{gap:6px}.carousel-dot{width:8px;height:8px}}
