:root{--color-primary: #58cc02;--color-primary-dark: #45a300;--color-primary-light: #bff199;--color-action: #1cb0f6;--color-action-dark: #1899d6;--color-action-light: #d6efff;--color-reward: #ffc800;--color-reward-light: #fff3cc;--color-error: #ff4b4b;--color-error-light: #f7c8c9;--color-purple: #ce82ff;--color-purple-light: #f0dfff;--color-text: #4b4b4b;--color-text-secondary: #6f6f6f;--color-border: #e5e5e5;--color-background: #f7f7f7;--color-card: #ffffff;--color-surface: #f8f9fa;--color-secondary: #ce82ff;--color-success: #58cc02;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--tap-target-primary: 56px;--tap-target-secondary: 44px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}#app[data-context=student] h1,#app[data-context=student] h2,#app[data-context=student] h3{font-family:"Baloo 2",Nunito,cursive}#app[data-context=teacher] h1,#app[data-context=teacher] h2,#app[data-context=teacher] h3{font-family:Nunito,sans-serif;font-weight:700}#app{max-width:800px;margin:0 auto;padding:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:var(--tap-target-secondary);min-width:var(--tap-target-secondary)}#app[data-context=student] .btn{min-height:var(--tap-target-primary);min-width:var(--tap-target-primary);font-size:var(--text-lg);padding:var(--spacing-md) var(--spacing-xl)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;position:relative}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-error);color:#fff}#app[data-context=student] .btn-primary{box-shadow:0 4px 0 var(--color-primary-dark);border-radius:var(--radius-xl);transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}#app[data-context=student] .btn-primary:hover:not(:disabled){background:var(--color-primary);transform:translateY(-1px);box-shadow:0 5px 0 var(--color-primary-dark)}#app[data-context=student] .btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:none;transition-duration:50ms}#app[data-context=student] .btn-success{box-shadow:0 4px #3da300;border-radius:var(--radius-xl);transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}#app[data-context=student] .btn-success:active:not(:disabled){transform:translateY(4px);box-shadow:none}#app[data-context=student] .btn-danger{box-shadow:0 4px #cc3b3b;border-radius:var(--radius-xl);transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}#app[data-context=student] .btn-danger:active:not(:disabled){transform:translateY(4px);box-shadow:none}#app[data-context=teacher] .btn-primary{box-shadow:0 2px 0 var(--color-primary-dark);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}#app[data-context=teacher] .btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:none}.card{background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;min-height:var(--tap-target-secondary);transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px var(--color-action-light)}.hidden{display:none!important}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;cursor:pointer;transition:all var(--transition-normal)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--color-action);background:var(--color-action-light)}.quiz-card{margin-bottom:var(--spacing-md);transition:box-shadow var(--transition-fast)}.quiz-card:hover{box-shadow:var(--shadow-lg)}.question-card{margin-bottom:var(--spacing-md);border:1px solid var(--color-border)}#app[data-context=student] .question-card{border-left:4px solid var(--color-action)}.question-card.editing{border:2px solid var(--color-action)}.question-figure{margin-bottom:var(--spacing-md)}.question-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}.question-figure-thumbnail{margin-bottom:var(--spacing-xs)}.question-figure-thumbnail img{max-width:120px;height:auto;border-radius:var(--radius-sm)}.progress-bar{width:100%;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden}#app[data-context=student] .progress-bar{height:12px;border-radius:6px}.progress-fill{height:100%;background-color:var(--color-primary);animation:progress-pulse 1.5s ease-in-out infinite}#app[data-context=student] .progress-fill{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.5}}.editor-mode-section label{cursor:pointer;margin-right:var(--spacing-sm)}.editor-mode-section input[type=radio]{margin-right:var(--spacing-xs)}.editor-share-section p{font-family:monospace;word-break:break-all}.empty-state{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-action);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-controls .input{flex:1}.quiz-wrapper{max-width:640px;margin:0 auto;padding:var(--spacing-lg)}.quiz-header{margin-bottom:var(--spacing-lg)}.quiz-title{margin-bottom:var(--spacing-xs)}.quiz-loading{margin-top:var(--spacing-2xl)}.quiz-loading-text{margin-top:var(--spacing-md)}.quiz-error{margin-top:var(--spacing-2xl)}.quiz-error-msg{margin:var(--spacing-md) 0}.quiz-empty{margin-top:var(--spacing-2xl)}.quiz-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}#app[data-context=student] .quiz-options{gap:var(--spacing-md)}#app[data-context=student]{background:linear-gradient(170deg,#e8f5e9,#e3f2fd,#f3e5f5);min-height:100vh}#app[data-context=student] .card{padding:var(--spacing-xl)}#app[data-context=student] .quiz-header{margin-bottom:var(--spacing-xl)}#app[data-context=student] .feedback{padding-top:var(--spacing-lg);margin-top:var(--spacing-lg)}.feedback-text{font-weight:600;margin-bottom:var(--spacing-sm)}.feedback-correct{color:var(--color-primary)}.feedback-wrong{color:var(--color-error)}.quiz-next-btn{width:100%;margin-top:var(--spacing-md)}.results-wrapper{max-width:640px;margin:0 auto;padding:var(--spacing-lg)}.results-heading{margin-bottom:var(--spacing-md)}.results-fraction{font-size:1.1rem;margin-bottom:var(--spacing-md)}.results-best{font-size:.9rem}.results-summary-heading{margin-bottom:var(--spacing-md)}.results-summary-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-icon{font-weight:700;min-width:20px}.summary-icon-correct{color:var(--color-primary)}.summary-icon-wrong{color:var(--color-error)}.summary-text{flex:1}.summary-question-text{font-weight:500}.summary-correct-info{font-size:.85rem;margin-top:2px}.results-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-lg)}.results-action-btn{flex:1;min-width:120px}.option-btn{width:100%;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);text-align:left;cursor:pointer;font-size:1rem;min-height:var(--tap-target-secondary);transition:all var(--transition-fast)}#app[data-context=student] .option-btn{min-height:var(--tap-target-primary);font-size:var(--text-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:0 2px 0 var(--color-border);transform:translateY(0);transition:all var(--transition-fast)}.option-btn:hover:not(:disabled){border-color:var(--color-action);background:var(--color-action-light)}.option-btn.correct{border-color:var(--color-primary);background:var(--color-primary-light)}.option-btn.incorrect{border-color:var(--color-error);background:var(--color-error-light)}.option-btn:disabled{cursor:default;opacity:.8}#app[data-context=student] .option-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 0 var(--color-action-dark);border-color:var(--color-action);background:var(--color-action-light)}#app[data-context=student] .option-btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}.question-text{font-size:1.1rem;font-weight:500;line-height:1.5;margin-bottom:var(--spacing-lg)}.quiz-counter{font-size:.9rem}#app[data-context=student] .quiz-counter{color:var(--color-action);font-weight:600}.feedback{border-top:1px solid var(--color-border);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}#app[data-context=student] .feedback-section-correct{background:color-mix(in srgb,var(--color-primary) 8%,white);border-radius:var(--radius-md);padding:var(--spacing-md);border-top:none}#app[data-context=student] .feedback-section-wrong{background:color-mix(in srgb,var(--color-error) 8%,white);border-radius:var(--radius-md);padding:var(--spacing-md);border-top:none}.score-display{font-size:3rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.results-score-card{background:linear-gradient(135deg,var(--color-primary-light),var(--color-card));margin-bottom:var(--spacing-lg)}.summary-row{background:var(--color-card);border:1px solid var(--color-border);display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md)}.btn:focus-visible,.input:focus-visible,.option-btn:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}#app{animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes correctPulse{0%{transform:scale(1)}30%{transform:scale(1.08)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}#app[data-context=student] .answer-correct{animation:correctPulse .5s cubic-bezier(.34,1.56,.64,1);border-color:var(--color-primary)!important;background:var(--color-primary-light)!important;position:relative;overflow:visible}#app[data-context=student] .answer-correct:before,#app[data-context=student] .answer-correct:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;animation:celebrateBurst .6s ease-out forwards;pointer-events:none}#app[data-context=student] .answer-correct:before{background:var(--color-reward);top:50%;left:10%}#app[data-context=student] .answer-correct:after{background:var(--color-primary);top:30%;right:10%;animation-delay:80ms}@keyframes celebrateBurst{0%{transform:scale(0) translate(0);opacity:1}50%{opacity:1}to{transform:scale(2.5) translate(-15px,-20px);opacity:0}}#app[data-context=student] .answer-wrong{animation:shake .6s ease;border-color:var(--color-error)!important;background:var(--color-error-light)!important}#app[data-context=student] .card-enter{animation:slideUp .3s ease both}#app[data-context=student] .card-enter-delay-1{animation-delay:50ms}#app[data-context=student] .card-enter-delay-2{animation-delay:.1s}#app[data-context=student] .card-enter-delay-3{animation-delay:.15s}#app[data-context=student] .card-enter-delay-4{animation-delay:.2s}.progress-fill-animated{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}.score-counting{transition:transform .1s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.flashcard{transition:none!important}}.not-found-card{margin-top:var(--spacing-2xl)}.not-found-msg{margin:var(--spacing-md) 0}.landing-title{font-size:var(--text-2xl);color:var(--color-primary);margin-bottom:var(--spacing-sm)}.landing-subtitle{font-size:var(--text-lg);margin-bottom:var(--spacing-2xl)}.landing-create-card{margin-bottom:var(--spacing-lg)}.landing-section-title{margin-bottom:var(--spacing-sm)}.landing-section-desc{margin-bottom:var(--spacing-lg)}.landing-dash-desc,.landing-dash-input{margin-bottom:var(--spacing-md)}.landing-btn-full{width:100%}.landing-error{color:var(--color-error);margin-top:var(--spacing-sm)}.dashboard-loading{padding:var(--spacing-2xl)}.dashboard-loading-text{margin-top:var(--spacing-md)}.dashboard-error-msg{margin:var(--spacing-md) 0}.dashboard-header{margin-bottom:var(--spacing-lg)}.dashboard-title{margin-bottom:var(--spacing-md)}.dashboard-controls{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center}.dashboard-list{margin-bottom:var(--spacing-2xl)}.dashboard-link-section{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-md);border-top:1px solid var(--color-border);padding-top:var(--spacing-lg)}.dashboard-link-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-align:center}.dashboard-copy-btn{width:100%}.dashboard-empty{padding:var(--spacing-xl)}.quiz-card-name{margin-bottom:var(--spacing-sm)}.quiz-card-info{margin-bottom:var(--spacing-md);font-size:.9rem}.quiz-card-actions{display:flex;gap:var(--spacing-sm)}.upload-wrapper{max-width:600px;margin:0 auto;padding:var(--spacing-lg)}.upload-title{margin-bottom:var(--spacing-lg)}.upload-mode-selector{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.upload-mode-selector>div{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-md);border:2px solid transparent;transition:border-color var(--transition-fast)}.upload-mode-selector>div:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-background))}.upload-mode-selector input[type=radio]{margin-top:3px;flex-shrink:0}.upload-mode-label{cursor:pointer;display:flex;flex-direction:column;gap:2px;font-weight:600}.upload-mode-desc{display:block;font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);line-height:1.4}.upload-drop-text{font-size:var(--text-lg);margin:0}.upload-content{margin-top:var(--spacing-lg)}.upload-loading{padding:var(--spacing-lg)}.upload-loading-text{margin-bottom:var(--spacing-md)}.upload-progress-bar{width:100%;height:8px;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.upload-progress-fill{height:100%;background-color:var(--color-action);transition:width .3s ease;border-radius:var(--radius-full);animation:progress 1.5s ease-in-out infinite}.upload-error{padding:var(--spacing-lg);background:var(--color-error-light);border-radius:var(--radius-md)}.upload-error-msg{color:var(--color-error);margin:0 0 var(--spacing-md) 0}.upload-btn-full{width:100%}.upload-success{padding:var(--spacing-lg)}.upload-doc-type{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.upload-count{margin-bottom:var(--spacing-lg);font-weight:500}.editor-loading{padding:var(--spacing-2xl)}.editor-loading-text{margin-top:var(--spacing-md)}.editor-error-msg{margin:var(--spacing-md) 0}.editor-back-btn{margin-bottom:var(--spacing-lg)}.editor-label{display:block;font-weight:600;margin-bottom:var(--spacing-xs)}.editor-input,.editor-mode-section{margin-bottom:var(--spacing-lg)}.editor-mode-label{font-weight:600;margin-right:var(--spacing-sm)}.editor-questions-header{margin-bottom:var(--spacing-md)}.editor-add-btn{width:100%;margin:var(--spacing-md) 0 var(--spacing-xl)}.editor-share-section{margin-top:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-md)}.editor-share-label{margin-bottom:var(--spacing-sm)}.editor-share-link{padding:var(--spacing-sm);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);word-break:break-all}.editor-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.editor-save-btn{flex:1}.question-display-text{font-weight:600;margin-bottom:var(--spacing-sm)}.question-options-list{margin-bottom:var(--spacing-sm)}.question-option-item{margin:var(--spacing-xs) 0;padding-left:var(--spacing-md)}.question-option-correct{color:var(--color-primary)}.question-meta{font-size:.85rem;margin-bottom:var(--spacing-sm)}.question-card-actions{display:flex;gap:var(--spacing-sm)}.question-edit-btn,.question-delete-btn{font-size:.85rem;padding:var(--spacing-xs) var(--spacing-sm)}.question-edit-card{margin-bottom:var(--spacing-md);border:2px solid var(--color-action)}.question-edit-heading{margin-bottom:var(--spacing-md)}.question-figure-label{font-size:.85rem;margin-bottom:var(--spacing-xs)}.editor-field-label{display:block;font-weight:500;margin-bottom:var(--spacing-xs)}.editor-field-input{margin-bottom:var(--spacing-md)}.editor-option-row{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-sm)}.editor-option-label{font-weight:500;min-width:24px}.editor-option-input{flex:1}.editor-pool-size-input{width:80px;margin-left:var(--spacing-sm)}@media print{body{background:#fff}#app{max-width:100%;padding:0}.btn,.dashboard-controls,.editor-actions,.quiz-actions,.dashboard-link-section{display:none!important}.card{box-shadow:none;border:1px solid var(--color-border)}}@media(max-width:640px){.question-figure img{max-height:300px;object-fit:contain}#app{padding:var(--spacing-sm)}.dashboard-controls,.editor-actions,.results-actions{flex-direction:column}.score-display{font-size:2.5rem}.flashcard-actions{flex-direction:column}.btn{width:100%}}@media(min-width:768px){#app{max-width:720px;padding:var(--spacing-lg)}.quiz-wrapper,.results-wrapper,.flashcard-study-wrapper{max-width:640px}}@media(min-width:1024px){#app{max-width:800px;padding:var(--spacing-xl)}}@media(min-width:1366px){#app{max-width:900px}}.flashcard-study-wrapper{max-width:640px;margin:0 auto;padding:var(--spacing-lg)}.flashcard-study-header{margin-bottom:var(--spacing-lg)}.flashcard-study-title{margin-bottom:var(--spacing-xs)}.flashcard-empty{margin-top:var(--spacing-2xl)}.flashcard-summary-heading{margin-bottom:var(--spacing-sm)}.flashcard-counter{margin-top:var(--spacing-xs)}.flashcard-progress-bar{width:100%;height:12px;background-color:var(--color-border);border-radius:6px;overflow:hidden;margin-bottom:var(--spacing-lg)}.flashcard-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite;transition:width .3s ease;border-radius:6px}.flashcard-container{perspective:1000px;margin-bottom:var(--spacing-lg);min-height:200px}.flashcard{position:relative;min-height:200px;cursor:pointer;transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;animation:slideUp .3s ease both}.flashcard:hover{transform:scale(1.02)}.flashcard.flipped{transform:rotateY(180deg)}.flashcard.flipped:hover{transform:rotateY(180deg) scale(1.02)}.flashcard-face{position:absolute;top:0;left:0;width:100%;min-height:200px;backface-visibility:hidden;border-radius:8px;padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;transition:box-shadow .4s ease}.flashcard-front{border:2px solid var(--color-border);border-top:3px solid var(--color-action)}.flashcard-back{transform:rotateY(180deg);border:2px solid var(--color-action);background:linear-gradient(180deg,var(--color-action-light) 0%,white 100%)}.flashcard.flipped .flashcard-front{box-shadow:-4px 2px 8px #00000026}.flashcard.flipped .flashcard-back{box-shadow:4px 2px 8px #00000026}.flashcard-face-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.flashcard-face-text{font-size:1.2rem;line-height:1.5}.flashcard-tap-hint{font-size:.85rem;color:var(--color-secondary);margin-top:var(--spacing-sm);animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:1}50%{opacity:.4}}.flashcard-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.flashcard-actions .btn{flex:1;min-height:var(--tap-target-primary);font-size:var(--text-lg)}.btn-know-it{background-color:var(--color-success);color:#fff;border:none;box-shadow:0 4px 0 var(--color-primary-dark);border-radius:var(--radius-xl);transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-know-it:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--color-primary-dark)}.btn-know-it:active{transform:translateY(4px);box-shadow:none;transition-duration:50ms}.btn-need-review{background-color:var(--color-error);color:#fff;border:none;box-shadow:0 4px #cc3b3b;border-radius:var(--radius-xl);transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-need-review:hover{transform:translateY(-1px);box-shadow:0 5px #cc3b3b}.btn-need-review:active{transform:translateY(4px);box-shadow:none;transition-duration:50ms}.mastery-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.mastery-new{background-color:var(--color-border);color:var(--color-text)}.mastery-learning{background-color:var(--color-reward-light);color:var(--color-text)}.mastery-mastered{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.flashcard-summary{text-align:center}.flashcard-summary-stats{display:flex;justify-content:center;gap:var(--spacing-xl);margin:var(--spacing-lg) 0}.flashcard-stat{text-align:center}.flashcard-stat-number{font-size:2rem;font-weight:700}.flashcard-stat-label{font-size:.85rem;color:var(--color-text-secondary)}.stat-mastered{color:var(--color-primary)}.stat-learning{color:var(--color-reward)}.flashcard-summary-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.flashcard-summary-actions .btn{min-height:var(--tap-target-primary);font-size:var(--text-lg)}.flashcard-figure{max-width:100%;margin-bottom:var(--spacing-md)}.flashcard-figure img{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px}.flashcard-editor-header{margin-bottom:var(--spacing-md)}.flashcard-editor-add-btn{width:100%;margin:var(--spacing-md) 0 var(--spacing-xl)}.flashcard-display-card{margin-bottom:var(--spacing-md)}.flashcard-card-label{font-size:.85rem;margin-bottom:var(--spacing-xs)}.flashcard-card-front-text{font-weight:600;margin-bottom:var(--spacing-md)}.flashcard-card-back-text{margin-bottom:var(--spacing-sm)}.flashcard-card-meta{font-size:.85rem;margin-bottom:var(--spacing-sm)}.flashcard-card-actions{display:flex;gap:var(--spacing-sm)}.flashcard-edit-card{margin-bottom:var(--spacing-md);border:2px solid var(--color-action)}.flashcard-edit-heading{margin-bottom:var(--spacing-md)}@media(max-width:480px){.flashcard-face{min-height:160px;padding:var(--spacing-lg)}.flashcard-face-text{font-size:1rem}.flashcard-summary-stats{gap:var(--spacing-lg)}.flashcard-stat-number{font-size:1.5rem}}
