.analogy-shell{flex-direction:column;gap:14px;width:min(100%,560px);margin:0 auto;display:flex}.analogy-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.analogy-back-btn{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-weight:700;transition:color .15s;display:inline-flex}.analogy-back-btn:hover{color:var(--text)}.analogy-score-row{font-family:var(--font-mono);font-size:var(--text-sm);align-items:center;gap:10px;font-weight:700;display:flex}.analogy-score-correct{color:var(--green-dark)}.analogy-score-wrong{color:var(--red)}.analogy-streak{color:var(--amber-dark)}.analogy-progress-wrap{background:#2a262014;border-radius:999px;height:6px;margin-bottom:2px;overflow:hidden}.analogy-progress-fill{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.analogy-qcount{text-align:center;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:800}.analogy-context-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:22px 20px 18px;display:flex}.analogy-rel-badge{border-radius:var(--radius-pill);background:#90ee9026;border:1px solid #90ee904d;align-self:flex-start;align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.analogy-rel-icon{font-size:15px}.analogy-rel-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);font-weight:800}.analogy-rel-sep{background:#90ee9066;width:1px;height:14px}.analogy-rel-desc{font-size:var(--text-xs);color:var(--text-secondary)}.analogy-pair-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-weight:800}.analogy-pair-row{align-items:stretch;gap:12px;display:flex}.analogy-word-block{border:1px solid var(--glass-border);border-radius:var(--radius);background:#ffffff9e;flex-direction:column;flex:1;gap:6px;padding:14px 16px;display:flex}.analogy-wlabel{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);font-weight:800;line-height:1.1}.analogy-wdef{color:var(--text-secondary);font-size:13px;line-height:1.4}.analogy-pair-divider{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;padding:0 2px;font-size:20px;font-weight:300;display:flex}.analogy-rel-sentence{font-size:var(--text-xs);color:var(--text-secondary);border-left:3px solid var(--blue);background:#4aa0e812;border-radius:0 10px 10px 0;padding:10px 14px;font-style:italic;line-height:1.5}.analogy-question-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:22px 20px;display:flex}.analogy-prompt-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:800}.analogy-prompt{border-radius:var(--radius);border:1px solid var(--glass-border);background:#ffffff80;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:16px 12px;display:flex}.analogy-prompt-break{flex-basis:100%;width:100%;height:0}.analogy-pw{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);background:#4aa0e81a;border:1px solid #4aa0e840;border-radius:10px;padding:6px 12px;font-weight:800}.analogy-sym{color:var(--text-muted);font-size:var(--text-base);font-weight:300}.analogy-pq{font-family:var(--font-display);font-size:var(--text-lg);color:var(--amber-dark);text-align:center;background:#e8a84a1f;border:1.5px dashed #e8a84a66;border-radius:10px;min-width:52px;padding:6px 16px;font-weight:800}.analogy-w3-def{color:var(--text-secondary);border-left:3px solid var(--amber);background:#e8a84a12;border-radius:0 10px 10px 0;padding:10px 14px;font-size:13px;line-height:1.5}.analogy-w3-def strong{color:var(--amber-dark);font-weight:700}.analogy-options{flex-direction:column;gap:10px;display:flex}.analogy-option{border-radius:var(--radius);color:#c8d8dc;width:100%;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;text-align:left;background:#1a2d35;border:1.5px solid #0000;align-items:flex-start;gap:14px;padding:16px 18px;font-weight:600;transition:all .18s;display:flex}.analogy-option:hover:not(:disabled){color:#fff;background:#243d4a;border-color:#90ee904d;transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.analogy-option:disabled{cursor:not-allowed}.analogy-option-letter{font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;margin-top:1px;font-size:11px;font-weight:900;display:flex}.analogy-option:first-child .analogy-option-letter{color:#58cc02;background:#58cc022e;border:1.5px solid #58cc0266}.analogy-option:nth-child(2) .analogy-option-letter{color:#4aa0e8;background:#4aa0e82e;border:1.5px solid #4aa0e866}.analogy-option:nth-child(3) .analogy-option-letter{color:#ce82ff;background:#ce82ff2e;border:1.5px solid #ce82ff66}.analogy-option:nth-child(4) .analogy-option-letter{color:#e8a84a;background:#e8a84a2e;border:1.5px solid #e8a84a66}.analogy-option-content{flex-direction:column;flex:1;gap:4px;display:flex}.analogy-option-word{font-size:var(--text-sm);color:#fff;font-weight:700}.analogy-option-def{color:#c8d8dca6;font-size:13px;font-weight:400;line-height:1.4}.analogy-option.correct{border-color:var(--green);background:#90ee9026;animation:.45s correctPulse}.analogy-option.correct .analogy-option-word,.analogy-option.correct .analogy-option-letter{color:var(--green-dark)}.analogy-option.incorrect{border-color:var(--red);background:#e85d4a1f;animation:.45s wrongShake}.analogy-option.incorrect .analogy-option-word,.analogy-option.incorrect .analogy-option-letter{color:var(--red)}.analogy-option.dimmed{opacity:.45}.analogy-feedback{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;gap:12px;padding:18px 20px;animation:.3s fadeUp;display:flex}.analogy-feedback.is-correct{background:#90ee901a;border-color:#90ee9059}.analogy-feedback.is-wrong{background:#e85d4a14;border-color:#e85d4a40}.analogy-feedback-text{font-size:var(--text-base);font-weight:800}.analogy-feedback-text.success{color:var(--green-dark)}.analogy-feedback-text.failure{color:var(--red)}.analogy-hint{font-size:var(--text-xs);color:var(--text-secondary);border-left:3px solid var(--amber);background:#e8a84a1a;border-radius:0 10px 10px 0;padding:10px 14px;line-height:1.5}.analogy-next-btn{background:var(--green-gradient);border:1px solid var(--green);border-radius:var(--radius-lg);color:#fff;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;align-self:stretch;padding:16px;font-weight:800;transition:transform .24s,box-shadow .24s}.analogy-next-btn:hover{box-shadow:var(--shadow-button);transform:translateY(-3px)}.analogy-next-btn:active{transform:translateY(1px)}.analogy-loading,.analogy-error{text-align:center;color:var(--text-secondary);font-size:var(--text-base);padding:48px 24px}.analogy-error{color:var(--red)}@keyframes fall{to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.analogy-confetti{pointer-events:none;z-index:9999;border-radius:3px;width:10px;height:14px;animation:1.8s ease-in forwards fall;position:fixed}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes correctPulse{0%,to{transform:scale(1)}40%{transform:scale(1.02)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width:640px){.analogy-pair-row{flex-direction:column;gap:8px}.analogy-pair-divider{align-self:center;padding:0;transform:rotate(90deg)}.analogy-prompt{font-size:var(--text-base);gap:6px;padding:14px 10px}.analogy-pw,.analogy-pq{font-size:var(--text-base);padding:5px 10px}}.analogy-info-btn{border-radius:var(--radius-pill);font-family:var(--font);color:var(--blue-dark);cursor:pointer;background:#4aa0e81f;border:1px solid #4aa0e84d;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex}.analogy-info-btn:hover{background:#4aa0e833;transform:translateY(-1px)}.cheatsheet-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0a141e8c;justify-content:center;align-items:flex-end;padding:0;animation:.2s csOverlayIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes csOverlayIn{0%{opacity:0}to{opacity:1}}.cheatsheet-modal{background:#faf8f5;border-radius:28px 28px 0 0;flex-direction:column;gap:16px;width:100%;max-width:600px;max-height:88vh;padding:24px 20px 40px;animation:.28s cubic-bezier(.22,1,.36,1) csSlideUp;display:flex;overflow-y:auto}@keyframes csSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.cheatsheet-header{justify-content:space-between;align-items:center;display:flex}.cheatsheet-title{font-family:var(--font);font-size:var(--text-lg);color:var(--text);font-weight:900}.cheatsheet-close{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#2a262014;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;transition:background .15s;display:flex}.cheatsheet-close:hover{background:#2a262024}.cheatsheet-intro{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.5}.cheatsheet-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:420px){.cheatsheet-grid{grid-template-columns:1fr}}.cheatsheet-card{background:#fff;border:1px solid #2a262014;border-radius:16px;flex-direction:column;gap:6px;padding:14px 14px 12px;transition:box-shadow .15s;display:flex}.cheatsheet-card:hover{box-shadow:0 4px 16px #00000012}.cheatsheet-card-top{align-items:center;gap:8px;display:flex}.cheatsheet-icon{font-size:18px}.cheatsheet-card-label{color:var(--text);font-size:14px;font-weight:800}.cheatsheet-example{font-family:var(--font-mono);color:var(--blue-dark);background:#4aa0e814;border-radius:8px;padding:5px 8px;font-size:13px;font-weight:700}.cheatsheet-explain{color:var(--text-secondary);font-size:13px;line-height:1.4}.analogy-mode-toggle{background:#0000001f;border-radius:8px;gap:2px;padding:2px;display:flex}.analogy-mode-btn{font-family:var(--font);cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;transition:background .15s,color .15s}.analogy-mode-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px #00000026}.rm-shell{flex-direction:column;gap:14px;width:min(100%,600px);margin:0 auto;display:flex}.rm-header{justify-content:space-between;align-items:center;display:flex}.rm-back-btn{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:6px 0;font-weight:700;transition:color .15s}.rm-back-btn:hover{color:var(--text)}.rm-counter{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);font-weight:700}.rm-passage-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:24px 22px 20px;display:flex}.rm-passage-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-weight:800}.rm-title{font-family:var(--font);font-size:var(--text-lg);color:var(--text);margin:0;font-weight:900;line-height:1.2}.rm-text{font-size:var(--text-sm);color:var(--text);margin:0;line-height:1.75}.rm-questions{flex-direction:column;gap:16px;display:flex}.rm-question{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px 20px 16px;display:flex}.rm-q-num{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-weight:800}.rm-q-text{font-size:var(--text-sm);color:var(--text);font-weight:700;line-height:1.4}.rm-options{flex-direction:column;gap:8px;display:flex}.rm-option{border-radius:var(--radius);color:#c8d8dc;width:100%;font-family:var(--font);font-size:var(--text-xs);cursor:pointer;text-align:left;background:#1a2d35;border:1.5px solid #0000;align-items:center;gap:14px;padding:14px 16px;font-weight:600;transition:all .18s;display:flex}.rm-option:hover:not(:disabled){color:#fff;background:#243d4a;border-color:#90ee904d;transform:translateY(-1px)}.rm-option:disabled{cursor:not-allowed}.rm-opt-letter{font-family:var(--font-mono);color:#c8d8dc80;min-width:18px;font-size:13px;font-weight:800}.rm-opt-text{font-size:var(--text-xs);color:inherit;font-weight:600}.rm-option.selected{border-color:var(--blue);color:#fff;background:#4aa0e82e}.rm-option.selected .rm-opt-letter{color:var(--blue)}.rm-option.correct{border-color:var(--green);background:#90ee9026}.rm-option.correct .rm-opt-letter,.rm-option.correct .rm-opt-text{color:var(--green-dark)}.rm-option.incorrect{border-color:var(--red);background:#e85d4a1f}.rm-option.incorrect .rm-opt-letter,.rm-option.incorrect .rm-opt-text{color:var(--red)}.rm-option.dimmed{opacity:.4}.rm-submit-btn{border:1.5px dashed var(--glass-border);border-radius:var(--radius-lg);color:var(--text-muted);font-family:var(--font);font-size:var(--text-xs);cursor:not-allowed;text-align:center;background:#fff6;padding:16px;font-weight:700;transition:all .2s}.rm-submit-btn.ready{background:var(--green-gradient);border:1px solid var(--green);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:800}.rm-submit-btn.ready:hover{box-shadow:var(--shadow-button);transform:translateY(-2px)}.rm-results{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;gap:12px;padding:20px 22px;animation:.3s rmFadeUp;display:flex}.rm-results.perfect{background:#90ee901a;border-color:#90ee9059}.rm-results.good{background:#4aa0e814;border-color:#4aa0e840}.rm-results.retry{background:#e85d4a12;border-color:#e85d4a33}.rm-results-score{font-size:var(--text-base);color:var(--text);font-weight:800}.rm-results-msg{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.rm-next-btn{background:var(--green-gradient);border:1px solid var(--green);border-radius:var(--radius-lg);color:#fff;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;padding:14px;font-weight:800;transition:transform .2s,box-shadow .2s}.rm-next-btn:hover{box-shadow:var(--shadow-button);transform:translateY(-2px)}.rm-loading,.rm-error{text-align:center;color:var(--text-secondary);font-size:var(--text-base);padding:48px 24px}.rm-error{color:var(--red)}@keyframes rmFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cls-shell{flex-direction:column;gap:14px;width:min(100%,560px);margin:0 auto;display:flex}.cls-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.cls-back-btn{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-weight:700;transition:color .15s;display:inline-flex}.cls-back-btn:hover{color:var(--text)}.cls-score-row{font-family:var(--font-mono);font-size:var(--text-sm);align-items:center;gap:8px;font-weight:700;display:flex}.cls-score-correct{color:var(--green-dark)}.cls-score-sep{color:var(--text-muted)}.cls-streak{color:var(--amber-dark)}.cls-progress-wrap{background:#2a262014;border-radius:999px;height:6px;overflow:hidden}.cls-progress-fill{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.cls-qcount{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.cls-diff-badge{letter-spacing:.05em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.cls-diff-easy{color:var(--green-dark);background:#90ee9033}.cls-diff-medium{color:var(--blue-dark);background:#4aa0e826}.cls-diff-hard{color:var(--amber-dark);background:#e8a84a33}.cls-diff-sat{color:#a855f7;background:#ce82ff33}.cls-question-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:18px;padding:24px 20px 20px;display:flex}.cls-prompt-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:center;font-weight:800}.cls-category-hint{border-radius:var(--radius-pill);background:#4aa0e81f;border:1px solid #4aa0e840;align-self:center;align-items:center;gap:8px;padding:8px 18px;display:inline-flex}.cls-cat-icon{font-size:16px}.cls-cat-name{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-dark);font-weight:800}.cls-group-chips{border:1px solid var(--glass-border);border-radius:var(--radius);background:#ffffff8c;flex-wrap:wrap;justify-content:center;gap:10px;padding:18px 12px;display:flex}.cls-chip{border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.01em;padding:10px 20px;font-weight:800}.chip-blue{color:var(--blue-dark);background:#4aa0e82e;border:2px solid #4aa0e866}.chip-purple{color:#a855f7;background:#ce82ff2e;border:2px solid #ce82ff66}.chip-amber{color:var(--amber-dark);background:#e8a84a2e;border:2px solid #e8a84a66}.cls-chip-question{color:var(--green-dark);text-align:center;min-width:54px;font-size:var(--text-base);background:#90ee9026;border:2.5px dashed #90ee9080}.cls-options{flex-direction:column;gap:10px;display:flex}.cls-option{border-radius:var(--radius);color:#c8d8dc;width:100%;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;text-align:left;background:#1a2d35;border:1.5px solid #0000;align-items:center;gap:14px;padding:16px 18px;font-weight:700;transition:all .18s;display:flex}.cls-option:hover:not(:disabled){color:#fff;background:#243d4a;border-color:#90ee904d;transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.cls-option:disabled{cursor:not-allowed}.cls-option-letter{font-family:var(--font-mono);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;font-size:11px;font-weight:900;display:flex}.cls-option:first-child .cls-option-letter{color:#58cc02;background:#58cc022e;border:1.5px solid #58cc0266}.cls-option:nth-child(2) .cls-option-letter{color:#4aa0e8;background:#4aa0e82e;border:1.5px solid #4aa0e866}.cls-option:nth-child(3) .cls-option-letter{color:#ce82ff;background:#ce82ff2e;border:1.5px solid #ce82ff66}.cls-option:nth-child(4) .cls-option-letter{color:#e8a84a;background:#e8a84a2e;border:1.5px solid #e8a84a66}.cls-option-word{font-size:var(--text-sm);color:#fff;font-weight:700}.cls-option.correct{border-color:var(--green);background:#90ee9026;animation:.45s clsCorrectPulse}.cls-option.correct .cls-option-word,.cls-option.correct .cls-option-letter{color:var(--green-dark)}.cls-option.incorrect{border-color:var(--red);background:#e85d4a1f;animation:.45s clsWrongShake}.cls-option.incorrect .cls-option-word,.cls-option.incorrect .cls-option-letter{color:var(--red)}.cls-option.dimmed{opacity:.4}.cls-feedback{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;gap:12px;padding:18px 20px;animation:.3s clsFadeUp;display:flex}.cls-feedback.is-correct{background:#90ee901a;border-color:#90ee9059}.cls-feedback.is-wrong{background:#e85d4a14;border-color:#e85d4a40}.cls-feedback-text{font-size:var(--text-base);font-weight:800}.cls-feedback-text.success{color:var(--green-dark)}.cls-feedback-text.failure{color:var(--red)}.cls-explanation{font-size:var(--text-xs);color:var(--text-secondary);border-left:3px solid var(--blue);background:#4aa0e814;border-radius:0 10px 10px 0;padding:10px 14px;line-height:1.5}.cls-next-btn{background:var(--green-gradient);border:1px solid var(--green);border-radius:var(--radius-lg);color:#fff;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;align-self:stretch;padding:16px;font-weight:800;transition:transform .24s,box-shadow .24s}.cls-next-btn:hover{box-shadow:var(--shadow-button);transform:translateY(-3px)}.cls-next-btn:active{transform:translateY(1px)}.cls-ghost-btn{border:1.5px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--text-secondary);font-family:var(--font);font-size:var(--text-xs);cursor:pointer;background:0 0;align-self:stretch;padding:14px;font-weight:700;transition:all .15s}.cls-ghost-btn:hover{color:var(--text);background:#ffffff80}.cls-results{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:18px;padding:32px 24px;display:flex}.cls-results-emoji{font-size:64px;line-height:1}.cls-results-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text);margin:0;font-weight:900}.cls-results-stats{justify-content:center;gap:28px;display:flex}.cls-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.cls-stat-num{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--text);font-weight:900}.cls-stat-correct{color:var(--green-dark)}.cls-stat-wrong{color:var(--red)}.cls-stat-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.cls-results-message{font-size:var(--text-sm);color:var(--text-secondary);max-width:320px;line-height:1.5}.cls-loading,.cls-error{text-align:center;color:var(--text-secondary);font-size:var(--text-base);padding:48px 24px}.cls-error{color:var(--red)}@keyframes clsFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes clsCorrectPulse{0%,to{transform:scale(1)}40%{transform:scale(1.015)}}@keyframes clsWrongShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width:480px){.cls-group-chips{gap:8px;padding:14px 8px}.cls-chip{font-size:var(--text-xs);padding:8px 16px}.cls-chip-question{min-width:46px}}.scm-shell{flex-direction:column;gap:14px;width:min(100%,560px);margin:0 auto;display:flex}.scm-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scm-back-btn{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-weight:700;transition:color .15s;display:inline-flex}.scm-back-btn:hover{color:var(--text)}.scm-score-row{font-family:var(--font-mono);font-size:var(--text-sm);align-items:center;gap:8px;font-weight:700;display:flex}.scm-score-correct{color:var(--green-dark)}.scm-score-sep{color:var(--text-muted)}.scm-streak{color:var(--amber-dark)}.scm-progress-wrap{background:#2a262014;border-radius:999px;height:6px;overflow:hidden}.scm-progress-fill{background:linear-gradient(90deg, var(--blue), var(--purple));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.scm-qcount{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.scm-diff-badge{letter-spacing:.05em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.scm-diff-easy{color:var(--green-dark);background:#90ee9033}.scm-diff-medium{color:var(--blue-dark);background:#4aa0e826}.scm-diff-hard{color:var(--amber-dark);background:#e8a84a33}.scm-diff-sat{color:#a855f7;background:#ce82ff33}.scm-question-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;gap:18px;padding:24px 20px 20px;display:flex}.scm-prompt-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:center;font-weight:800}.scm-sentence{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);border:1.5px solid var(--glass-border);border-radius:var(--radius);text-align:center;background:#fff9;padding:22px 20px;font-weight:600;line-height:1.6;transition:border-color .25s}.scm-sentence.sentence-correct{background:#90ee9014;border-color:#90ee9080}.scm-sentence.sentence-wrong{background:#e85d4a0f;border-color:#e85d4a66}.scm-blank{border-bottom:3px solid var(--blue);color:#0000;vertical-align:baseline;background:#4aa0e81f;border-radius:4px;min-width:80px;margin:0 4px;padding:2px 28px;animation:1.8s ease-in-out infinite scmBlinkBorder;display:inline-block;box-shadow:0 0 10px #4aa0e833}@keyframes scmBlinkBorder{0%,to{border-color:var(--blue);box-shadow:0 0 6px #4aa0e840}50%{box-shadow:none;border-color:#4aa0e880}}.scm-filled-word{border-radius:8px;margin:0 4px;padding:4px 14px;font-size:1.05em;font-weight:800;transition:all .25s;display:inline-block}.scm-filled-word.filled-correct{color:var(--green-dark);background:#90ee9033;border:2px solid #90ee9080;animation:.35s cubic-bezier(.22,1,.36,1) scmFillIn}.scm-filled-word.filled-wrong{color:var(--red);background:#e85d4a26;border:2px solid #e85d4a66;animation:.35s cubic-bezier(.22,1,.36,1) scmFillIn}@keyframes scmFillIn{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.scm-hint-btn{border-radius:var(--radius-pill);font-family:var(--font);font-size:var(--text-xs);color:var(--amber-dark);cursor:pointer;background:#e8a84a1f;border:1px solid #e8a84a4d;align-self:center;padding:8px 18px;font-weight:700;transition:all .15s}.scm-hint-btn:hover{background:#e8a84a38;transform:translateY(-1px)}.scm-hint-text{font-size:var(--text-xs);color:var(--text-secondary);border-left:3px solid var(--amber);background:#e8a84a14;border-radius:0 10px 10px 0;padding:10px 14px;line-height:1.5;animation:.25s scmFadeUp}.scm-options{flex-direction:column;gap:10px;display:flex}.scm-option{border-radius:var(--radius);color:#c8d8dc;width:100%;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;text-align:left;background:#1a2d35;border:1.5px solid #0000;align-items:center;gap:14px;padding:16px 18px;font-weight:700;transition:all .18s;display:flex}.scm-option:hover:not(:disabled){color:#fff;background:#243d4a;border-color:#4aa0e866;transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.scm-option:disabled{cursor:not-allowed}.scm-option-letter{font-family:var(--font-mono);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;font-size:11px;font-weight:900;display:flex}.scm-option:first-child .scm-option-letter{color:#58cc02;background:#58cc022e;border:1.5px solid #58cc0266}.scm-option:nth-child(2) .scm-option-letter{color:#4aa0e8;background:#4aa0e82e;border:1.5px solid #4aa0e866}.scm-option:nth-child(3) .scm-option-letter{color:#ce82ff;background:#ce82ff2e;border:1.5px solid #ce82ff66}.scm-option:nth-child(4) .scm-option-letter{color:#e8a84a;background:#e8a84a2e;border:1.5px solid #e8a84a66}.scm-option-word{font-size:var(--text-sm);color:#fff;font-weight:700}.scm-option.correct{border-color:var(--green);background:#90ee9026;animation:.45s scmCorrectPulse}.scm-option.correct .scm-option-word,.scm-option.correct .scm-option-letter{color:var(--green-dark)}.scm-option.incorrect{border-color:var(--red);background:#e85d4a1f;animation:.45s scmWrongShake}.scm-option.incorrect .scm-option-word,.scm-option.incorrect .scm-option-letter{color:var(--red)}.scm-option.dimmed{opacity:.4}.scm-feedback{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;gap:12px;padding:18px 20px;animation:.3s scmFadeUp;display:flex}.scm-feedback.is-correct{background:#90ee901a;border-color:#90ee9059}.scm-feedback.is-wrong{background:#e85d4a14;border-color:#e85d4a40}.scm-feedback-text{font-size:var(--text-base);font-weight:800}.scm-feedback-text.success{color:var(--green-dark)}.scm-feedback-text.failure{color:var(--red)}.scm-definition{font-size:var(--text-xs);color:var(--text-secondary);border-left:3px solid var(--blue);background:#4aa0e814;border-radius:0 10px 10px 0;padding:10px 14px;line-height:1.5}.scm-definition strong{color:var(--blue-dark);font-weight:800}.scm-next-btn{background:var(--green-gradient);border:1px solid var(--green);border-radius:var(--radius-lg);color:#fff;font-family:var(--font);font-size:var(--text-sm);cursor:pointer;align-self:stretch;padding:16px;font-weight:800;transition:transform .24s,box-shadow .24s}.scm-next-btn:hover{box-shadow:var(--shadow-button);transform:translateY(-3px)}.scm-next-btn:active{transform:translateY(1px)}.scm-ghost-btn{border:1.5px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--text-secondary);font-family:var(--font);font-size:var(--text-xs);cursor:pointer;background:0 0;align-self:stretch;padding:14px;font-weight:700;transition:all .15s}.scm-ghost-btn:hover{color:var(--text);background:#ffffff80}.scm-results{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:18px;padding:32px 24px;display:flex}.scm-results-emoji{font-size:64px;line-height:1}.scm-results-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text);margin:0;font-weight:900}.scm-results-stats{justify-content:center;gap:28px;display:flex}.scm-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.scm-stat-num{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--text);font-weight:900}.scm-stat-correct{color:var(--green-dark)}.scm-stat-wrong{color:var(--red)}.scm-stat-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.scm-results-message{font-size:var(--text-sm);color:var(--text-secondary);max-width:320px;line-height:1.5}.scm-loading,.scm-error{text-align:center;color:var(--text-secondary);font-size:var(--text-base);padding:48px 24px}.scm-error{color:var(--red)}@keyframes scmFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scmCorrectPulse{0%,to{transform:scale(1)}40%{transform:scale(1.015)}}@keyframes scmWrongShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width:480px){.scm-sentence{font-size:var(--text-base);padding:18px 14px}.scm-blank{min-width:60px;padding:2px 18px}}.tree-scene-wrap{background:#b8d9f0;border-radius:16px;width:100%;height:calc(100vh - 120px);min-height:420px;position:relative;overflow:hidden}.tree-canvas{width:100%;height:100%;display:block}.tree-hud{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;min-width:270px;font-family:var(--font,"Nunito",sans-serif);pointer-events:none;background:#ffffffe6;border-radius:20px;padding:14px 24px 12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000021}.tree-hud-stage{color:#c0457a;margin-bottom:2px;font-size:19px;font-weight:800}.tree-hud-sub{color:#999;margin-bottom:9px;font-size:12px;font-weight:600}.tree-hud-bar-wrap{background:#fce4ec;border-radius:9px;width:100%;height:9px;margin-bottom:8px;overflow:hidden}.tree-hud-bar{background:linear-gradient(90deg,#f8a4c8,#e91e8c);border-radius:9px;min-width:5px;height:100%;transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.tree-hud-label{color:#555;font-size:13px;font-weight:600}.tree-hud-count{color:#e91e8c;font-size:17px;font-weight:800}:root{--bg:#faf8f5;--bg-gradient:linear-gradient(135deg, #faf8f5 0%, #f0ebe6 100%);--bg-card:#ffffffb3;--bg-card-solid:#fff;--bg-surface:#ffffff80;--glass-border:#90ee9033;--glass-blur:blur(12px);--green:#90ee90;--green-dark:#7acc99;--green-gradient:linear-gradient(135deg, #90ee90 0%, #7acc99 100%);--blue:#4aa0e8;--blue-dark:#3a88c8;--red:#e85d4a;--red-dark:#d04a38;--amber:#e8a84a;--amber-dark:#d09438;--purple:#ce82ff;--text:#2a2620;--text-secondary:#666;--text-muted:#777;--border:#90ee9033;--radius:16px;--radius-lg:20px;--radius-xl:24px;--radius-card:40px;--radius-pill:100px;--shadow-card:0 20px 60px #00000014;--shadow-hover:0 32px 80px #0000001f;--shadow-button:0 8px 24px #90ee904d;--font:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Space Grotesk", sans-serif;--text-xs:15px;--text-sm:18px;--text-base:21px;--text-md:22px;--text-lg:24px;--text-xl:25px;--text-2xl:33px;--text-3xl:39px;--text-word:72px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;padding:32px 20px 56px}.app-container{z-index:1;width:min(100%,560px);margin:0 auto;position:relative}.hero-panel,.progress-panel,.details-panel,.science-panel,.empty-panel,.loading-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.hero-panel{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:16px 20px;display:flex}.hero-actions{align-items:center;gap:6px;display:flex}.icon-button{border:1px solid var(--glass-border);background:var(--bg-surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-button:hover{color:var(--text);border-color:var(--green);background:#90ee901f}.settings-dropdown{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:2px;margin-bottom:12px;padding:8px;display:flex}.settings-dropdown__header{justify-content:space-between;align-items:center;padding:8px 12px 4px;display:flex}.settings-dropdown__title{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:800}.settings-item{color:var(--text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;transition:background .15s;display:flex}.settings-item:hover{background:#90ee901a}.settings-item--danger{color:var(--red)}.settings-item--danger:hover{background:#e85d4a1a}.hero-kicker,.progress-kicker,.details-label,.flashcard-label{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-weight:800}.hero-title{font-family:var(--font);font-size:var(--text-xl);letter-spacing:-.02em;max-width:none;font-weight:900;line-height:1.25}.hero-toggle,.bottom-action{flex-shrink:0}.glass-button,.tab-chip,.chip,.rating-button,.nav-arrow,.grade-picker select,.btn-jelly,.btn-green,.btn-ghost{font-family:var(--font);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform .24s,border-color .24s,box-shadow .24s,background .24s,color .24s}.glass-button,.btn-jelly{color:var(--text);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-weight:700;display:inline-flex}.glass-button:hover,.tab-chip:hover,.chip:hover,.rating-button:hover,.nav-arrow:hover,.btn-jelly:hover,.grade-picker select:hover{box-shadow:var(--shadow-button);transform:translateY(-3px)}.progress-panel{margin-bottom:12px;padding:12px 16px}.progress-compact{align-items:center;gap:12px;display:flex}.progress-compact__left{flex:1;align-items:center;gap:10px;display:flex}.progress-compact__pct{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);min-width:36px;font-weight:800}.progress-compact__right{align-items:center;gap:6px;display:flex}.progress-chevron{color:var(--text-muted)}.progress-panel__row,.stats-row,.tab-row,.bottom-actions{align-items:center;gap:10px;display:flex}.stats-row{margin-top:12px}.progress-panel__row{justify-content:space-between;margin-bottom:16px}.progress-copy{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700}.grade-picker select{-webkit-appearance:none;appearance:none;font-size:var(--text-sm);color:var(--text);cursor:pointer;padding:8px 28px 8px 12px;font-weight:800}.progress-track{background:#2a262014;border-radius:999px;height:8px;overflow:hidden}.progress-track--compact{flex:1;margin-bottom:0}.progress-fill{--progress-scale:0;border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));transform-origin:0;width:100%;height:100%;transform:scaleX(var(--progress-scale));transition:transform .5s cubic-bezier(.22,1,.36,1)}.stats-row{flex-wrap:wrap}.stats-pill{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-pill);background:#ffffff94;padding:8px 14px;font-weight:700}.stats-pill--mastered{color:var(--green-dark)}.stats-pill--reviewing{color:var(--blue)}.stats-pill--learning{color:var(--amber-dark)}.stats-pill--new{color:var(--text-muted)}.tab-panel{margin-bottom:12px}.tab-row{flex-wrap:wrap;justify-content:center;gap:6px}.tab-row--secondary{margin-top:10px}.tab-separator{color:var(--text-muted);opacity:.3;margin:0 4px;font-size:20px}.tab-chip{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-lg);padding:10px 14px;font-weight:700}.tab-chip--sm{padding:8px 12px;font-size:13px}.tab-chip.active{color:#fff;box-shadow:var(--shadow-button)}.tab-chip--active{background:var(--blue);border-color:var(--blue);color:#fff}.tab-chip--blue{background:var(--blue);border-color:var(--blue)}.tab-chip--purple{background:var(--purple);border-color:var(--purple)}.tab-chip--amber{background:var(--amber);border-color:var(--amber);color:var(--text)}.tab-chip--neutral{border-color:var(--glass-border);color:var(--text-secondary);background:#2a26201a}.tab-chip--blue.active,.tab-chip--blue.tab-chip--sm.active{background:var(--blue);border-color:var(--blue);color:#fff}.tab-chip--amber.active,.tab-chip--amber.tab-chip--sm.active{background:var(--amber);border-color:var(--amber);color:var(--text)}.tab-chip--neutral.active,.tab-chip--neutral.tab-chip--sm.active{color:#fff;background:#2a2620d1;border-color:#2a2620d1}.study-layout{flex-direction:column;gap:18px;display:flex}.swipe-hint{text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.flashcard-module{flex-direction:column;gap:14px;display:flex}.flashcard-meta__status{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.mastery-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.mastery-dot--new{background:var(--text-muted)}.mastery-dot--learning{background:var(--amber)}.mastery-dot--reviewing{background:var(--blue)}.mastery-dot--mastered{background:var(--green)}.flashcard-frame{align-items:center;gap:10px;display:flex;position:relative}.nav-arrow{width:56px;min-width:56px;height:56px;color:var(--green-dark);cursor:pointer;background:linear-gradient(135deg,#90ee9026 0%,#4aa0e81a 100%);justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 16px #90ee9026;border:1.5px solid #90ee904d!important;border-radius:50%!important;transition:all .3s cubic-bezier(.34,1.56,.64,1)!important}.nav-arrow:hover{color:var(--green);background:linear-gradient(135deg,#90ee9047 0%,#4aa0e82e 100%)!important;border-color:#90ee9080!important;transform:scale(1.15)!important;box-shadow:0 8px 32px #90ee9040,inset 0 1px #fff3!important}.nav-arrow:active{transform:scale(.92)!important;box-shadow:0 2px 8px #90ee9026!important}.flashcard-stage{--swipe-x:0px;--swipe-rotate:0deg;--swipe-scale:1;perspective:1200px;touch-action:pan-y;flex:1;min-height:360px;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s,box-shadow .3s;transform:translate(0)rotate(0)scale(1)}.flashcard-stage:not(.is-swiping):not(.is-exiting):not(.is-offscreen):not(.is-entering):hover{transform:translateY(-12px)}.flashcard-stage.is-swiping{transform:translateX(var(--swipe-x)) rotate(var(--swipe-rotate)) scale(var(--swipe-scale));transition:none}.flashcard-stage.is-exiting.is-left{opacity:0;transform:translate(-110%)rotate(-5deg)scale(.92)}.flashcard-stage.is-exiting.is-right{opacity:0;transform:translate(110%)rotate(5deg)scale(.92)}.flashcard-stage.is-offscreen.from-right{opacity:0;transition:none;transform:translate(105%)rotate(4deg)scale(.95)}.flashcard-stage.is-offscreen.from-left{opacity:0;transition:none;transform:translate(-105%)rotate(-4deg)scale(.95)}.flashcard-stage.is-entering{transform:translate(0)rotate(0)scale(1)}.flashcard-inner{width:100%;min-height:360px;transform-style:preserve-3d;cursor:pointer;transition:transform .55s cubic-bezier(.23,1.02,.32,1.05);position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{text-align:center;border-radius:var(--radius-card);border:1.5px solid var(--glass-border);box-shadow:var(--shadow-card);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:44px 32px 36px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flashcard-face:before{content:"";border-radius:calc(var(--radius-card) - 10px);pointer-events:none;border:1px solid #ffffff73;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.flashcard-face--back{transform:rotateY(180deg)}.flashcard-face.is-word{color:var(--text);background:linear-gradient(135deg,#ffffffeb 0%,#faf8f5e0 100%)}.flashcard-face.is-definition{color:#fff;background:linear-gradient(135deg,#1a3a2a 0%,#1a2d45 100%)}.flashcard-corner{position:absolute;top:22px}.flashcard-corner-left{left:22px}.flashcard-corner-right{right:22px}.difficulty-badge,.category-pill{border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;justify-content:center;align-items:center;padding:8px 14px;font-weight:800;display:inline-flex}.category-pill{color:inherit;background:#ffffff2e}.difficulty-badge--easy{color:var(--green-dark);background:#90ee902e}.difficulty-badge--basic{color:var(--blue);background:#4aa0e82e}.difficulty-badge--grade{color:var(--amber-dark);background:#e8a84a33}.difficulty-badge--advanced{color:#c77812;background:#e8a84a42}.difficulty-badge--sat{color:var(--red);background:#e85d4a2e}.fit-text{justify-content:center;width:100%;display:flex;overflow:hidden}.fit-text__copy{font-family:var(--font);font-size:var(--text-word);white-space:nowrap;letter-spacing:-.02em;font-weight:900;line-height:1}.flashcard-definition{font-size:var(--text-2xl);font-weight:700;line-height:1.4}.flashcard-definition--front{max-width:92%}.flashcard-hint{font-size:var(--text-sm);color:inherit;opacity:.6;position:absolute;bottom:20px}.section-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-self:center;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.section-toggle:hover{color:var(--text)}.details-panel{padding:22px}.details-panel,.science-panel{width:100%}.details-block+.details-block{margin-top:18px}.details-quote{font-size:var(--text-xl);margin-top:8px;font-style:italic;line-height:1.5}.tag-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tag{border-radius:var(--radius-pill);font-size:var(--text-sm);padding:8px 14px;font-weight:600}.tag--blue{color:var(--blue);background:#4aa0e826}.tag--red{color:var(--red);background:#e85d4a26}.rating-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.rating-button{cursor:pointer;text-align:center;min-height:72px;padding:14px 10px}.rating-button__label{font-size:var(--text-sm);margin-bottom:4px;font-weight:800;display:block}.rating-button__desc{opacity:.75;font-size:13px;display:block}.rating-button--again{color:var(--red);background:#e85d4a1f}.rating-button--hard{color:var(--amber-dark);background:#e8a84a1f}.rating-button--good{color:var(--green-dark);background:#90ee901f}.rating-button--easy{color:var(--blue);background:#4aa0e81f}.category-section{flex-direction:column;gap:12px;display:flex}.category-chips{flex-wrap:wrap;gap:10px;display:flex}.chip{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;padding:12px 18px;font-weight:700}.chip.active{background:var(--green-gradient);border-color:var(--green);color:#fff;box-shadow:var(--shadow-button)}.science-panel{flex-direction:column;gap:18px;padding:26px 24px;display:flex}.science-hero{text-align:center}.science-emoji{margin-bottom:8px;font-size:42px}.science-hero h2{font-family:var(--font);font-size:var(--text-2xl);margin-bottom:10px}.science-hero p,.science-card p,.science-footnote{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.science-card{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:#ffffff9e;padding:20px}.science-card__header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.science-card__icon{font-size:24px}.science-card__title{font-size:var(--text-lg);font-weight:800}.science-card__title--amber{color:var(--amber-dark)}.science-card__title--green{color:var(--green-dark)}.science-card__title--blue{color:var(--blue)}.science-card__title--purple{color:var(--purple)}.curve-chart{grid-template-columns:repeat(8,1fr);align-items:end;gap:6px;height:90px;margin-top:18px;display:grid}.curve-chart__bar-wrap{align-items:flex-end;height:100%;display:flex}.curve-chart__bar{border-radius:10px 10px 0 0;width:100%}.curve-chart__bar--h100{height:100%}.curve-chart__bar--h58{height:58%}.curve-chart__bar--h44{height:44%}.curve-chart__bar--h36{height:36%}.curve-chart__bar--h33{height:33%}.curve-chart__bar--h28{height:28%}.curve-chart__bar--h25{height:25%}.curve-chart__bar--h21{height:21%}.curve-chart__bar--green{background:linear-gradient(180deg, var(--green), var(--green-dark))}.curve-chart__bar--amber{background:linear-gradient(180deg, var(--amber), var(--amber-dark))}.curve-chart__bar--red{background:linear-gradient(180deg, var(--red), var(--red-dark))}.curve-chart__labels{color:var(--text-muted);text-align:center;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px;font-size:12px;display:grid}.science-list,.tips-list{flex-direction:column;gap:10px;display:flex}.science-list__item,.tips-list__item{background:#ffffffa6;border-radius:14px;gap:12px;padding:12px 14px;display:flex}.science-list__item strong,.tips-list__item strong{font-size:var(--text-sm);margin-bottom:4px;display:block}.science-list__item p,.tips-list__item p{font-size:var(--text-xs);margin:0}.science-list__item--green strong,.tips-list__item span{color:var(--green-dark)}.science-list__item--blue strong{color:var(--blue)}.science-list__item--amber strong{color:var(--amber-dark)}.science-list__item--red strong{color:var(--red)}.science-list__item--purple strong{color:var(--purple)}.tips-list__item span{min-width:24px;font-weight:800}.science-footnote{text-align:center}.empty-panel,.loading-panel{text-align:center;padding:40px 24px}.empty-panel h2{font-family:var(--font);font-size:var(--text-2xl);margin-bottom:8px}.empty-panel p,.loading-copy{font-size:var(--text-base);color:var(--text-secondary)}.empty-emoji,.loading-emoji{margin-bottom:12px;font-size:54px}.fade-up{animation:.35s fadeUp}.animate-correct{animation:.45s correctPulse}.animate-wrong{animation:.45s wrongShake}.btn-green{background:var(--green-gradient);border-color:var(--green);color:#fff}.btn-ghost{background:var(--bg-surface);color:var(--text)}.confetti-particle{pointer-events:none;z-index:1000;border-radius:3px;width:10px;height:14px;position:fixed}@keyframes confettiBurst{0%{opacity:1;transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--burst-x,0px), 140px, 0) rotate(360deg);opacity:0}}@media (max-width:640px){.app-shell{padding:20px 14px 36px}.hero-panel{flex-direction:column}.hero-title{max-width:none}.flashcard-frame{gap:6px}.nav-arrow{width:48px;min-width:48px;height:48px}.flashcard-face{padding-inline-start:24px;padding-inline-end:24px}.flashcard-definition{font-size:var(--text-xl)}.rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.top-bar{align-items:center;gap:12px;padding:4px 0 2px;display:flex}.grade-select{-webkit-appearance:none;appearance:none;font-family:var(--font);font-size:var(--text-xs);color:var(--text);cursor:pointer;background:#ffffffbf;border:1.5px solid #2a262026;border-radius:12px;outline:none;min-width:96px;padding:8px 14px;font-weight:800;transition:border-color .15s}.grade-select:focus{border-color:var(--green)}.top-bar__progress{flex:1;align-items:center;gap:8px;display:flex}.top-bar__progress-track{background:#2a26201a;border-radius:999px;flex:1;height:6px;overflow:hidden}.top-bar__progress-fill{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;min-width:4px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.top-bar__pct{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:700}.top-bar__gear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex}.top-bar__gear:hover{color:var(--text);background:#2a26200f}.mode-tabs{background:#2a26200f;border-radius:16px;gap:4px;padding:4px;display:flex}.mode-tab{font-family:var(--font);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:12px;flex:1;padding:9px 0;font-weight:700;transition:all .2s}.mode-tab:hover{color:var(--text)}.mode-tab--active{color:var(--text);background:#fff;box-shadow:0 2px 8px #00000014}.diff-filter{gap:8px;display:flex}.diff-chip{font-family:var(--font);color:var(--text-secondary);cursor:pointer;background:#ffffff8c;border:1.5px solid #2a26201a;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:14px;font-weight:700;transition:all .18s;display:flex}.diff-chip:hover{color:var(--text);border-color:#2a262040}.diff-chip__count{opacity:.65;font-size:12px;font-weight:800}.diff-chip--all.diff-chip--active{background:var(--text);border-color:var(--text);color:#fff}.diff-chip--basic.diff-chip--active{border-color:var(--green);color:var(--green-dark);background:#90ee9033}.diff-chip--basic.diff-chip--active .diff-chip__count{opacity:1}.diff-chip--medium.diff-chip--active{border-color:var(--blue);color:var(--blue-dark);background:#4aa0e826}.diff-chip--medium.diff-chip--active .diff-chip__count{opacity:1}.diff-chip--hard.diff-chip--active{border-color:var(--red);color:var(--red-dark);background:#e85d4a1f}.diff-chip--hard.diff-chip--active .diff-chip__count{opacity:1}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;font-family:var(--font);color:var(--text);background:var(--bg-gradient);position:relative;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:0;filter:blur(2px);position:fixed}body:before{background:radial-gradient(circle,#90ee902e 0%,#0000 70%);border-radius:40% 60% 70% 30%/40% 50% 60%;width:520px;height:520px;animation:9s ease-in-out infinite floatBlob;top:-12%;right:-5%}body:after{background:radial-gradient(circle,#e8a84a24 0%,#0000 70%);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;width:420px;height:420px;animation:11s ease-in-out 1.8s infinite floatBlob;bottom:-6%;left:-10%}button,select,input,textarea{font:inherit}button{border:0}#root{z-index:1;min-height:100vh;position:relative}@keyframes floatBlob{0%,to{transform:translateY(0)}50%{transform:translateY(28px)}}
/*$vite$:1*/