.quiz-action-bar{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--card-bg);color:var(--text-primary)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn:active{transform:translateY(0)}.action-icon{font-size:1.125rem;line-height:1}.action-label{font-weight:500}.review-btn{border:2px solid #8b5cf6}.review-btn:hover{background:#8b5cf610;border-color:#8b5cf6}.review-btn.marked{background:#8b5cf620;border-color:#8b5cf6;color:#8b5cf6}.flag-btn{border:2px solid #f59e0b}.flag-btn:hover{background:#f59e0b10;border-color:#f59e0b}.flag-btn.flagged{background:#f59e0b20;border-color:#f59e0b;color:#f59e0b}.edit-btn{border:2px solid #3b82f6}.edit-btn:hover{background:#3b82f610;border-color:#3b82f6}.delete-btn{border:2px solid #ef4444}.delete-btn:hover{background:#ef444410;border-color:#ef4444}@media (max-width: 600px){.quiz-action-bar{flex-direction:column;gap:.5rem;padding:.75rem}.action-btn{width:100%;justify-content:center;padding:.75rem 1rem}.action-label{display:none}.action-icon{font-size:1.25rem}}@media (max-width: 768px) and (min-width: 601px){.action-btn{padding:.5rem .875rem}.action-label{font-size:.8125rem}}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-title{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}@media (max-width: 600px){.modal-overlay{padding:0}.modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body{padding:1rem}}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:2000;pointer-events:none;max-width:90%;width:400px}.toast{background:var(--card-bg);color:var(--text-primary);padding:1rem 1.25rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.75rem;pointer-events:auto;animation:slideInUp .3s ease-out;border-left:4px solid currentColor}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{font-size:1.25rem;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-success .toast-icon{background:#10b98120;color:#10b981}.toast-error .toast-icon{background:#ef444420;color:#ef4444}.toast-warning .toast-icon{background:#f59e0b20;color:#f59e0b}.toast-info .toast-icon{background:#3b82f620;color:#3b82f6}.toast-message{flex:1;font-size:.875rem;line-height:1.5}.toast-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:var(--hover-bg);color:var(--text-primary)}@media (max-width: 600px){.toast-container{width:calc(100% - 2rem);bottom:70px}.toast{padding:.875rem 1rem}}.edit-question-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.required{color:#ef4444}.form-hint{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:auto}.form-input,.form-textarea,.form-select{padding:.75rem;border:2px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary);background:var(--card-bg);transition:all .2s;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-input.error,.form-textarea.error,.form-select.error{border-color:#ef4444}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-select{cursor:pointer}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.option-input-group{display:flex;align-items:center;gap:.5rem}.option-label{font-weight:600;color:var(--text-primary);min-width:24px}.option-input-group .form-input{flex:1}.radio-group{display:flex;gap:1rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--card-bg)}.radio-label:hover{border-color:var(--primary);background:#6366f10d}.radio-input{cursor:pointer;width:16px;height:16px}.radio-input:checked+.radio-text{font-weight:600;color:var(--primary)}.radio-text{font-size:.875rem;color:var(--text-primary)}.form-error{font-size:.75rem;color:#ef4444;margin-top:-.25rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border);margin-top:.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:100px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--hover-bg)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.edit-question-form{gap:1.25rem}.options-grid{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:.5rem}.radio-label{width:100%}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 768px) and (min-width: 601px){.options-grid{grid-template-columns:1fr}}.dialog-content{display:flex;flex-direction:column;gap:1.5rem}.dialog-message{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.dialog-button{padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;min-width:80px}.dialog-cancel{background:var(--bg-secondary);color:var(--text-primary)}.dialog-cancel:hover{background:var(--hover-bg)}.dialog-confirm{background:var(--primary);color:#fff}.dialog-confirm:hover{opacity:.9}.dialog-danger{background:#ef4444}.dialog-danger:hover{background:#dc2626}@media (max-width: 600px){.dialog-actions{flex-direction:column-reverse}.dialog-button{width:100%}}:root{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-muted: #718096;--accent: #4f46e5;--accent-light: #818cf8;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--border: #e2e8f0;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 12px;--radius-sm: 8px}[data-theme=dark]{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #1e1e32;--text-primary: #f7fafc;--text-secondary: #e2e8f0;--text-muted: #b8c5d6;--accent: #818cf8;--accent-light: #a5b4fc;--border: #3d4a5c;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);overscroll-behavior-y:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);line-height:1.6;min-height:100vh;overflow-x:hidden}#app{max-width:600px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header h1{font-size:1.125rem;font-weight:600;color:var(--accent)}.icon-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:background .2s}.icon-btn:hover{background:var(--border)}.progress-container{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.progress-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--progress, 0%);background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:4px;transition:width .3s ease}.progress-text{font-size:.875rem;font-weight:500;color:var(--text-secondary);min-width:50px;text-align:right}.main-content{flex:1;padding:20px}.screen{display:none;position:relative;animation:fadeIn .3s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.start-card{background:var(--bg-card);border-radius:var(--radius);padding:32px 24px;box-shadow:var(--shadow);text-align:center}.start-card h2{font-size:1rem;font-weight:500;color:var(--text-muted);margin-bottom:4px}.start-card h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.question-count{color:var(--accent);font-weight:600;margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--bg-primary);padding:16px 8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted);margin-top:4px}.mode-selector{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-primary);padding:4px;border-radius:var(--radius-sm)}.mode-btn{flex:1;padding:12px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.mode-btn.active{background:var(--accent);color:#fff}.filter-section{margin-bottom:24px;text-align:left}.filter-section label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:8px}.filter-section select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;cursor:pointer}.primary-btn{width:100%;min-height:44px;padding:16px 24px;background:linear-gradient(135deg,var(--accent),var(--accent-light));color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:12px;user-select:none;-webkit-user-select:none}.primary-btn:active{transform:scale(.98)}.secondary-btn{width:100%;min-height:44px;padding:14px 24px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s;margin-bottom:8px;user-select:none;-webkit-user-select:none}.secondary-btn:active{transform:scale(.98)}.secondary-btn:hover{background:var(--bg-primary)}.question-card{background:var(--bg-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:20px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.question-number{font-size:.875rem;font-weight:600;color:var(--accent)}.topic-badge{font-size:.75rem;padding:4px 10px;background:var(--bg-primary);color:var(--text-muted);border-radius:20px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-text{font-size:1.0625rem;line-height:1.7;color:var(--text-primary);margin-bottom:24px;white-space:pre-line}.options-container{display:flex;flex-direction:column;gap:12px}.option-btn{display:flex;align-items:flex-start;gap:12px;padding:16px;min-height:48px;background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all .2s,transform .1s;width:100%;user-select:none;-webkit-user-select:none}.option-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-secondary)}.option-btn.selected{border-color:var(--accent);background:#4f46e51a}.option-btn.correct{border-color:var(--success);background:#10b9811a}.option-btn.incorrect{border-color:var(--error);background:#ef44441a}.option-btn:disabled{cursor:default}.option-letter{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.option-btn.selected .option-letter{background:var(--accent);color:#fff}.option-btn.correct .option-letter{background:var(--success);color:#fff}.option-btn.incorrect .option-letter{background:var(--error);color:#fff}.option-text{flex:1;font-size:.9375rem;line-height:1.5;color:var(--text-primary)}.explanation-container{margin-top:20px;padding:16px;background:var(--bg-primary);border-radius:var(--radius-sm);border-left:4px solid var(--accent)}.explanation-container.hidden{display:none}.explanation-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600}.explanation-header.correct{color:var(--success)}.explanation-header.incorrect{color:var(--error)}.explanation-text{font-size:.9375rem;line-height:1.6;color:var(--text-secondary);white-space:pre-line}.nav-buttons{display:flex;gap:12px;margin-bottom:16px}.nav-btn{flex:1;padding:14px 20px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.back-btn{position:absolute;top:12px;left:12px;padding:8px 12px;background:var(--card-bg);color:var(--accent);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;z-index:10;transition:background .2s,transform .1s}.back-btn:hover{background:var(--accent-light)}.back-btn:active{transform:scale(.95)}.flashcard{perspective:1000px;margin-bottom:20px}.flashcard-inner{position:relative;min-height:400px;transition:transform .6s;transform-style:preserve-3d}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{width:100%;min-height:400px;backface-visibility:hidden;background:var(--bg-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column}.flashcard-front{position:relative}.flashcard-back{position:absolute;top:0;left:0;transform:rotateY(180deg)}.flashcard-number{font-size:.875rem;font-weight:600;color:var(--accent);margin-bottom:16px}.flashcard-question{font-size:1.0625rem;line-height:1.7;color:var(--text-primary);margin-bottom:20px}.flashcard-options{flex:1}.flashcard-option{padding:12px;background:var(--bg-primary);border-radius:var(--radius-sm);margin-bottom:8px;font-size:.875rem;color:var(--text-secondary)}.tap-hint{text-align:center;color:var(--text-muted);font-size:.875rem;margin-top:auto;padding-top:16px}.correct-label{display:inline-block;padding:6px 12px;background:var(--success);color:#fff;font-size:.75rem;font-weight:600;border-radius:20px;margin-bottom:16px}.correct-answer{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;line-height:1.6}.flashcard-explanation{font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.flashcard-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.mark-btn{padding:14px 16px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:transform .2s}.mark-btn:active{transform:scale(.98)}.mark-btn.known{background:var(--success);color:#fff}.mark-btn.unknown{background:var(--warning);color:#fff}.results-card{background:var(--bg-card);border-radius:var(--radius);padding:32px 24px;box-shadow:var(--shadow);text-align:center}.results-card h2{font-size:1.5rem;font-weight:700;margin-bottom:24px}.score-circle{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-light));display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.score-value{font-size:2rem;font-weight:700;color:#fff}.results-stats{display:flex;justify-content:center;gap:40px;margin-bottom:32px}.result-stat{display:flex;flex-direction:column;align-items:center}.result-value{font-size:2rem;font-weight:700}.result-stat.correct .result-value{color:var(--success)}.result-stat.incorrect .result-value{color:var(--error)}.result-label{font-size:.875rem;color:var(--text-muted);margin-top:4px}.install-prompt{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 -4px 12px #0000001a;z-index:1000}.install-prompt.hidden{display:none}.install-prompt p{flex:1;font-size:.9375rem;color:var(--text-primary)}.install-btn{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer}.dismiss-btn{padding:10px 16px;background:transparent;color:var(--text-muted);border:none;cursor:pointer}@media (max-width: 380px){.header h1,.question-text{font-size:1rem}.option-text{font-size:.875rem}.stats-grid{gap:8px}.stat-value{font-size:1.25rem}}@supports (padding: max(0px)){.header{padding-top:max(16px,env(safe-area-inset-top))}.install-prompt{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media (hover: none){.option-btn:active:not(:disabled){transform:scale(.98);background:var(--bg-secondary)}.nav-btn:active:not(:disabled){transform:scale(.98)}.mark-btn:active{transform:scale(.95)}}html{scroll-behavior:smooth}.main-content{scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.flashcard-inner{transition:none!important}.progress-bar:after{transition:none!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;z-index:1000;transition:top .2s}.skip-link:focus{top:0}.concepts-header{text-align:center;margin-bottom:24px}.concepts-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.concepts-subtitle{color:var(--text-muted);font-size:.9375rem}.concepts-container{max-height:calc(100vh - 280px);overflow-y:auto;padding-bottom:20px}.concept-section{margin-bottom:12px}.concept-topic-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .2s}.concept-topic-header:hover{background:var(--bg-secondary)}.concept-topic-header[aria-expanded=true]{border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom-color:transparent}.concept-topic-header[aria-expanded=true] .expand-icon{transform:rotate(180deg)}.topic-name{font-weight:600;font-size:1rem;color:var(--text-primary);flex:1}.topic-meta{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.expand-icon{font-size:.75rem;transition:transform .2s;color:var(--text-muted)}.concept-list{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:12px;background:var(--bg-secondary)}.concept-card{background:var(--bg-card);border-radius:var(--radius-sm);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.concept-card:last-child{margin-bottom:0}.concept-name{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:8px}.concept-explanation{font-size:.9375rem;line-height:1.6;color:var(--text-primary);margin-bottom:12px}.concept-points{list-style:none;padding:0;margin:0}.concept-points li{position:relative;padding-left:20px;font-size:.875rem;color:var(--text-secondary);margin-bottom:6px;line-height:1.5}.concept-points li:last-child{margin-bottom:0}.concept-points li:before{content:"•";position:absolute;left:0;color:var(--accent);font-weight:700}.streak-container{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:var(--radius-sm);margin-bottom:20px}.streak-icon{font-size:1.25rem}.streak-value{font-size:1.5rem;font-weight:700;color:#fff}.streak-value.active{color:#fff}.streak-value.at-risk{animation:pulse 1.5s infinite}.streak-value.broken{opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.streak-label{font-size:.875rem;font-weight:500;color:#ffffffe6}.recommendation-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-primary);border:2px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:20px}.rec-icon{font-size:1.5rem}.rec-content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.rec-message{font-size:.875rem;color:var(--text-secondary);text-align:left}.rec-action{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.rec-action:hover{background:var(--accent-light)}.smart-btn{background:linear-gradient(135deg,#10b981,#059669);margin-bottom:8px}.smart-btn:hover{background:linear-gradient(135deg,#059669,#047857)}.memorize-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);margin-bottom:8px}.memorize-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.review-marked-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);margin-bottom:8px}.review-marked-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca)}.feature-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.feature-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.feature-btn:hover{border-color:var(--accent);background:var(--bg-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.badge.hidden{display:none}.secondary-btn.danger{color:var(--error);border-color:#ef44444d}.secondary-btn.danger:hover{background:#ef44441a}.analytics-header{text-align:center;margin-bottom:24px}.analytics-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.analytics-subtitle{color:var(--text-muted);font-size:.9375rem}.analytics-summary{display:flex;flex-wrap:wrap;gap:16px;padding:20px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:20px;box-shadow:var(--shadow)}.summary-stat{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;text-align:center}.summary-value{font-size:2rem;font-weight:700;color:var(--accent)}.summary-label{font-size:.75rem;color:var(--text-muted);margin-top:4px}.summary-recommendation{width:100%;padding:12px;background:var(--bg-primary);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-secondary);text-align:center}.analytics-container{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.analytics-card{background:var(--bg-card);border-radius:var(--radius-sm);padding:16px;box-shadow:var(--shadow)}.analytics-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.analytics-topic-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.analytics-accuracy{font-size:1.25rem;font-weight:700;padding:4px 12px;border-radius:20px}.analytics-accuracy.high{background:#10b98126;color:var(--success)}.analytics-accuracy.medium{background:#f59e0b26;color:var(--warning)}.analytics-accuracy.low{background:#ef444426;color:var(--error)}.analytics-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:12px}.analytics-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.analytics-progress-fill.high{background:var(--success)}.analytics-progress-fill.medium{background:var(--warning)}.analytics-progress-fill.low{background:var(--error)}.analytics-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.search-container{position:relative;flex:1;max-width:320px;margin:0 16px}.search-bar{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:8px 36px 8px 40px;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;font-size:.875rem;color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.search-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.search-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:70vh;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 40px #00000026;overflow:hidden;z-index:1000}.search-results-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.search-results-count{font-size:.8125rem;color:var(--text-muted)}.search-results-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:background .2s}.search-results-close:hover{background:var(--bg-primary)}.search-results-list{max-height:calc(70vh - 50px);overflow-y:auto}.search-no-results{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.875rem}.search-result-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-secondary)}.search-result-item:focus{outline:none;background:var(--bg-secondary)}.search-result-item.expanded{background:var(--bg-primary)}.search-result-summary{display:flex;flex-direction:column;gap:8px}.search-result-question{font-size:.875rem;color:var(--text-primary);line-height:1.5}.search-result-question mark{background:#facc1566;color:inherit;padding:1px 2px;border-radius:2px}.search-result-topic{display:inline-block;padding:4px 8px;font-size:.6875rem;font-weight:500;border-radius:4px;background:var(--bg-secondary);color:var(--text-muted);align-self:flex-start}.search-result-topic.topic-records{background:#3b82f626;color:#3b82f6}.search-result-topic.topic-objects{background:#10b98126;color:#10b981}.search-result-topic.topic-data{background:#f59e0b26;color:#f59e0b}.search-result-topic.topic-implications{background:#8b5cf626;color:#8b5cf6}.search-result-expanded{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.search-result-full-question,.search-result-options,.search-result-explanation{margin-bottom:16px}.search-result-expanded strong{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.search-result-expanded p{font-size:.875rem;line-height:1.6;color:var(--text-primary);margin:0}.search-result-options ul{list-style:none;padding:0;margin:0}.search-result-options li{padding:10px 12px;margin-bottom:6px;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);display:flex;align-items:flex-start;gap:8px}.search-result-options li:last-child{margin-bottom:0}.search-result-options li.correct-answer{background:#10b98126;border:1px solid rgba(16,185,129,.3)}.option-key{font-weight:600;color:var(--text-muted);flex-shrink:0}.correct-badge{margin-left:auto;padding:2px 8px;background:var(--success);color:#fff;font-size:.6875rem;font-weight:600;border-radius:4px;flex-shrink:0}.search-result-explanation{margin-bottom:0}.search-result-explanation p{padding:12px;background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}@media (max-width: 600px){.search-container{max-width:none;margin:0 8px}.search-input{padding:6px 32px 6px 36px;font-size:.8125rem}.search-input::placeholder{font-size:.75rem}.search-results{position:fixed;top:60px;left:8px;right:8px;max-height:calc(100vh - 80px)}.search-result-question{font-size:.8125rem}}[data-theme=dark] .search-results{box-shadow:0 10px 40px #0006}[data-theme=dark] .search-result-question mark{background:#facc154d}
