.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:20px;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-q-area{flex-direction:column;gap:20px;display:flex}.mc-question{flex-direction:column;gap:28px;display:flex}.lesson-prompt{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--foreground);margin:0;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:10px;margin:0;padding:0;list-style:none;display:flex}.lesson-options--fill-blank{grid-template-columns:1fr 1fr;gap:10px;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;align-items:center;gap:14px;padding:15px 18px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;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)}.lesson-option:active:not(:disabled){box-shadow:var(--shadow-pop-active);transform:translate(0)}.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,border-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:#0d94881a}.lesson-option.wrong{border-color:var(--accent);background:#ff6f611a}.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);flex-direction:column;gap:12px;padding:22px 24px;animation:.28s cubic-bezier(.22,1,.36,1) both feedback-enter;display:flex}@keyframes feedback-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.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;line-height:1.5}.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-streak{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);background:#fff7ed;align-items:center;gap:8px;padding:10px 24px;display:inline-flex}.done-streak-flame{font-size:20px;line-height:1}.done-streak--new{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border-color:#f97316;animation:.5s cubic-bezier(.34,1.56,.64,1) both streak-pop;box-shadow:3px 3px #f97316}@keyframes streak-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.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}}.q-type-hint{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.q-check-btn{align-self:flex-start}.q-sort{flex-direction:column;gap:16px;display:flex}.sort-buckets{gap:12px;display:grid}.sort-bucket{border:var(--border-width) dashed var(--border);border-radius:var(--radius-md);cursor:pointer;min-height:120px;padding:12px;transition:border-color .2s,background .2s}.sort-bucket--droppable{border-color:var(--bucket-color,var(--accent));background:color-mix(in srgb, var(--bucket-color,var(--accent)) 5%, transparent)}.sort-bucket-label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--bucket-color,var(--accent));text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-weight:800}.sort-bucket-items{flex-direction:column;gap:6px;display:flex}.sort-bucket-empty{font-size:var(--text-xs);color:var(--muted-foreground);text-align:center;opacity:.6;padding:8px 0}.sort-item{border-radius:var(--radius-sm);border:var(--border-width) solid var(--border);background:var(--card);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);text-align:left;align-items:center;gap:8px;padding:10px 14px;font-weight:600;line-height:1.3;display:flex}.sort-item--pool{box-shadow:var(--shadow-card)}.sort-item--pool:hover:not(:disabled){box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.sort-item--active{border-color:var(--quaternary);box-shadow:var(--shadow-pop);background:#3b82f614;transform:translate(-2px,-2px)}.sort-item--placed{cursor:pointer}.sort-item--correct{border-color:var(--secondary);background:#0d948814}.sort-item--wrong{border-color:var(--accent);background:#ff6f6114}.sort-item-remove{color:var(--muted-foreground);flex-shrink:0;margin-left:auto;font-size:1rem}.sort-item-icon{font-size:var(--text-sm);flex-shrink:0;margin-left:auto;font-weight:800}.sort-pool{background:var(--muted);border-radius:var(--radius-md);border:var(--border-width) solid var(--border);flex-wrap:wrap;gap:8px;min-height:60px;padding:14px;display:flex}.q-order{flex-direction:column;gap:16px;display:flex}.order-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.order-item{border-radius:var(--radius-md);border:var(--border-width) solid var(--border);background:var(--card);font-size:var(--text-sm);cursor:grab;box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:13px 16px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,opacity .18s;display:flex}.order-item:active{cursor:grabbing}.order-item:hover:not(.order-item--correct):not(.order-item--wrong):not(.order-item--over){box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.order-item--over{border-color:var(--quaternary);box-shadow:var(--shadow-pop);background:#3b82f60f;transform:translate(-1px,-1px)}.order-item--dragging{opacity:.4;cursor:grabbing}.order-item--snap{animation:.38s cubic-bezier(.22,1,.36,1) both order-snap}@keyframes order-snap{0%{transform:translate(0)scale(1)}35%{box-shadow:var(--shadow-pop);transform:translate(-3px,-4px)scale(1.025)}to{transform:translate(0)scale(1)}}.order-item--correct{border-color:var(--secondary);cursor:default;background:#0d948814}.order-item--wrong{border-color:var(--accent);cursor:default;background:#ff6f6114}.order-handle{color:var(--muted-foreground);flex-shrink:0;font-size:1.1rem;line-height:1}.order-num{border-radius:var(--radius-full);background:var(--muted);border:var(--border-width) solid var(--border);width:26px;height:26px;font-family:var(--font-heading);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;transition:background .18s,border-color .18s;display:flex}.order-item--over .order-num{background:var(--quaternary);color:#fff;border-color:#0000}.order-text{flex:1;line-height:1.4}.order-icon{font-size:var(--text-sm);flex-shrink:0;margin-left:auto;font-weight:800}.order-icon--ok{color:var(--secondary)}.order-icon--bad{color:var(--accent)}.q-wordbank{flex-direction:column;gap:20px;display:flex}.wb-sentence{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--foreground);font-weight:700;line-height:2}.wb-blank{border-radius:var(--radius-full);border:var(--border-width) dashed var(--muted-foreground);background:var(--muted);font-family:var(--font-heading);font-size:var(--text-lg);color:var(--muted-foreground);cursor:default;vertical-align:middle;transition:all var(--transition-base);justify-content:center;align-items:center;min-width:80px;margin:0 4px;padding:2px 16px;font-weight:700;display:inline-flex}.wb-blank--filled{border-style:solid;border-color:var(--quaternary);color:var(--quaternary);cursor:pointer;background:#3b82f614}.wb-blank--correct{border-color:var(--secondary);color:var(--secondary);cursor:default;background:#0d94881a}.wb-blank--wrong{border-color:var(--accent);color:var(--accent);cursor:default;background:#ff6f611a}.wb-bank{background:var(--muted);border-radius:var(--radius-md);border:var(--border-width) solid var(--border);flex-wrap:wrap;gap:8px;padding:14px 16px;display:flex}.wb-chip{border-radius:var(--radius-full);border:var(--border-width) solid var(--foreground);background:var(--card);font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);box-shadow:3px 3px 0 var(--foreground);padding:8px 18px}.wb-chip:hover:not(:disabled):not(.wb-chip--used){box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.wb-chip--used{opacity:.3;cursor:not-allowed;box-shadow:none}.q-numberline{flex-direction:column;gap:24px;display:flex}.nl-wrap{flex-direction:column;gap:0;padding:0 4px;display:flex}.nl-bubble-row{height:40px;position:relative}.nl-bubble{font-family:var(--font-heading);font-weight:800;font-size:var(--text-sm);color:var(--foreground);background:var(--card);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--foreground);white-space:nowrap;pointer-events:none;padding:3px 10px;transition:color .2s,border-color .2s,box-shadow .2s;position:absolute;bottom:4px;transform:translate(-50%)}.nl-bubble--ok{color:var(--secondary);border-color:var(--secondary);box-shadow:2px 2px 0 var(--secondary)}.nl-bubble--bad{color:var(--accent);border-color:var(--accent);box-shadow:2px 2px 0 var(--accent)}.nl-range{appearance:none;border-radius:var(--radius-full);background:linear-gradient(to right, var(--quaternary) var(--nl-pct), var(--muted) var(--nl-pct));border:var(--border-width) solid var(--foreground);cursor:pointer;outline:none;width:100%;height:10px}.nl-range--ok{background:linear-gradient(to right, var(--secondary) var(--nl-pct), var(--muted) var(--nl-pct))}.nl-range--bad{background:linear-gradient(to right, var(--accent) var(--nl-pct), var(--muted) var(--nl-pct))}.nl-range:disabled{cursor:default}.nl-range::-webkit-slider-thumb{appearance:none;background:var(--card);border:var(--border-width) solid var(--foreground);width:26px;height:26px;box-shadow:3px 3px 0 var(--foreground);cursor:grab;border-radius:50%;transition:border-color .2s,box-shadow .2s}.nl-range--ok::-webkit-slider-thumb{border-color:var(--secondary);box-shadow:3px 3px 0 var(--secondary)}.nl-range--bad::-webkit-slider-thumb{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.nl-range:disabled::-webkit-slider-thumb{cursor:default}.nl-range::-moz-range-thumb{background:var(--card);border:var(--border-width) solid var(--foreground);width:26px;height:26px;box-shadow:3px 3px 0 var(--foreground);cursor:grab;border-radius:50%}.nl-range--ok::-moz-range-thumb{border-color:var(--secondary);box-shadow:3px 3px 0 var(--secondary)}.nl-range--bad::-moz-range-thumb{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.nl-range:disabled::-moz-range-thumb{cursor:default}.nl-ticks{height:22px;margin-top:8px;position:relative}.nl-tick-label{font-family:var(--font-heading);color:var(--muted-foreground);white-space:nowrap;font-size:.68rem;font-weight:700;position:absolute;top:0}.nl-answer-note{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--muted-foreground);margin-top:10px;font-weight:600}.nl-answer-note strong{color:var(--secondary);font-weight:800}.q-slider{flex-direction:column;gap:20px;display:flex}.sl-display{background:var(--muted);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);justify-content:center;align-items:baseline;padding:16px 24px;display:flex}.sl-value{font-family:var(--font-heading);font-weight:800;font-size:var(--text-4xl);color:var(--foreground);transition:color .2s}.sl-value--ok{color:var(--secondary)}.sl-value--bad{color:var(--accent)}.sl-track-wrap{padding:12px 0 28px;position:relative}.sl-range{appearance:none;border-radius:var(--radius-full);background:linear-gradient(to right, var(--accent) var(--pct), var(--muted) var(--pct));border:var(--border-width) solid var(--foreground);cursor:pointer;outline:none;width:100%;height:10px}.sl-range:disabled{cursor:default;opacity:.7}.sl-range::-webkit-slider-thumb{appearance:none;background:var(--card);border:var(--border-width) solid var(--foreground);width:26px;height:26px;box-shadow:3px 3px 0 var(--foreground);cursor:grab;border-radius:50%}.sl-range:disabled::-webkit-slider-thumb{cursor:default}.sl-range::-moz-range-thumb{background:var(--card);border:var(--border-width) solid var(--foreground);width:26px;height:26px;box-shadow:3px 3px 0 var(--foreground);cursor:grab;border-radius:50%}.sl-answer-flag{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;transform:translate(-50%)}.sl-answer-line{background:var(--secondary);width:2px;height:20px}.sl-answer-label{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xs);color:var(--secondary);white-space:nowrap;border:1px solid var(--secondary);border-radius:var(--radius-sm);background:#0d94881a;padding:2px 8px}.sl-bounds{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--muted-foreground);justify-content:space-between;font-weight:700;display:flex}.sl-value{font-size:clamp(2rem,6vw,2.5rem)}@media (max-width:480px){.sort-buckets{grid-template-columns:1fr!important}.wb-sentence{font-size:var(--text-lg)}}
