:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-success: #22c55e;--color-success-light: #86efac;--color-warning: #f97316;--color-danger: #ef4444;--color-danger-light: #fca5a5;--color-bg: #0f172a;--color-bg-elevated: #1e293b;--color-bg-card: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #475569;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.flashcard-content::-webkit-scrollbar,.card-content::-webkit-scrollbar{width:6px}.flashcard-content::-webkit-scrollbar-track,.card-content::-webkit-scrollbar-track{background:transparent}.flashcard-content::-webkit-scrollbar-thumb,.card-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.flashcard-content::-webkit-scrollbar-thumb:hover,.card-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.main-content{flex:1;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);padding:var(--space-sm) var(--space-md)}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;gap:var(--space-md)}.header-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-text);font-weight:600;font-size:1.125rem}.logo-icon{font-size:1.5rem}.header-spacer{width:40px}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.user-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-border);transition:border-color var(--transition-fast)}.user-menu:hover .user-avatar{border-color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-card);color:var(--color-text)}.btn-large{padding:var(--space-md) var(--space-lg);font-size:1rem}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-card)}.btn-icon-sm{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon-sm:hover{background:var(--color-bg-card);color:var(--color-text)}.btn-icon-sm.danger:hover{background:var(--color-danger);color:#fff}.fab{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:50}.fab:hover{background:var(--color-primary-dark);transform:scale(1.05)}.page{flex:1;padding:var(--space-md);max-width:800px;margin:0 auto;width:100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl);gap:var(--space-md)}.empty-state.small{padding:var(--space-xl)}.empty-icon{font-size:4rem}.empty-state h2{font-size:1.5rem;color:var(--color-text)}.empty-state p{color:var(--color-text-muted)}.empty-state-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.loading-state{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-muted);font-size:1rem}.home-header{margin-bottom:var(--space-lg)}.home-header h1{font-size:1.75rem;margin-bottom:var(--space-sm)}.home-due-badge{display:inline-block;background:var(--color-primary);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.home-actions{display:flex;justify-content:flex-end;margin-bottom:var(--space-md)}.decks-grid{display:grid;gap:var(--space-md)}.home-footer{display:flex;justify-content:center;gap:var(--space-md);padding:var(--space-xl) 0;margin-top:auto}.deck-card{position:relative;background:var(--color-bg-elevated);border-radius:var(--radius-lg);border-left:4px solid var(--deck-color, var(--color-primary));overflow:hidden;transition:all var(--transition-fast)}.deck-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.deck-card-link{display:block;padding:var(--space-md);text-decoration:none;color:inherit}.deck-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.deck-card-title{font-size:1.125rem;font-weight:600}.deck-card-badge{background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.deck-card-description{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-sm)}.deck-card-stats{display:flex;gap:var(--space-md)}.deck-card-stats .stat{display:flex;flex-direction:column}.deck-card-stats .stat-value{font-weight:600;font-size:1rem}.deck-card-stats .stat-label{font-size:.75rem;color:var(--color-text-muted)}.deck-card-review-btn{display:block;margin:0 var(--space-md) var(--space-md);padding:var(--space-sm);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-align:center;text-decoration:none;font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.deck-card-review-btn:hover{background:var(--color-primary-dark)}.deck-card-delete{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-fast)}.deck-card:hover .deck-card-delete{opacity:1}.deck-card-delete:hover{background:var(--color-danger);color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:200;animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-normal)}.modal-large{max-width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{margin-bottom:var(--space-md);font-size:1.25rem}.modal-hint{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-md)}.modal-hint code{background:var(--color-bg-card);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8em}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;font-size:.875rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:1rem;font-family:inherit;transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f133}.form-group textarea{resize:vertical;min-height:100px}.form-hint{display:block;margin-top:var(--space-xs);font-size:.75rem;color:var(--color-text-muted)}.form-actions{margin-top:var(--space-lg)}.markdown-input{font-family:var(--font-mono);font-size:.875rem}.deck-header{margin-bottom:var(--space-lg)}.deck-header h1{font-size:1.75rem;margin-bottom:var(--space-xs)}.deck-description{color:var(--color-text-muted);margin-bottom:var(--space-md)}.deck-stats-bar{display:flex;gap:var(--space-lg);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md)}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:1.5rem;font-weight:700}.stat-number.highlight{color:var(--color-primary)}.stat-number.success{color:var(--color-success)}.stat-text{font-size:.75rem;color:var(--color-text-muted)}.deck-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.deck-uptodate-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:#22c55e1a;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-weight:500}.cards-section{margin-top:var(--space-lg)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.section-header h2{font-size:1.125rem}.section-actions{display:flex;gap:var(--space-sm)}.cards-list{display:flex;flex-direction:column;gap:var(--space-md)}.flashcard{perspective:1000px;cursor:pointer;min-height:200px;max-height:400px}.flashcard-inner{position:relative;width:100%;height:100%;min-height:200px;max-height:400px;transition:transform .6s;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;min-height:200px;max-height:400px;backface-visibility:hidden;background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;overflow:hidden}.flashcard-front{align-items:center;text-align:center;justify-content:center}.flashcard-back{transform:rotateY(180deg)}.flashcard-back .flashcard-content{font-size:.9rem}.flashcard-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:var(--space-sm)}.flashcard-content{flex:1;font-size:1rem;line-height:1.7;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}.flashcard-content p{margin-bottom:var(--space-sm)}.flashcard-content code{background:var(--color-bg-card);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.flashcard-content pre{background:var(--color-bg-card);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-sm) 0}.flashcard-content pre code{background:none;padding:0}.flashcard-content h1,.flashcard-content h2,.flashcard-content h3,.flashcard-content h4{margin-top:var(--space-md);margin-bottom:var(--space-sm);font-weight:600;line-height:1.3}.flashcard-content h1{font-size:1.3rem}.flashcard-content h2{font-size:1.15rem}.flashcard-content h3{font-size:1rem}.flashcard-content h4{font-size:.9rem}.flashcard-content h1:first-child,.flashcard-content h2:first-child,.flashcard-content h3:first-child,.flashcard-content h4:first-child{margin-top:0}.flashcard-content ul,.flashcard-content ol{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.flashcard-content li{margin-bottom:var(--space-xs)}.flashcard-content blockquote{border-left:3px solid var(--color-primary);padding-left:var(--space-md);margin:var(--space-sm) 0;color:var(--color-text-muted);font-style:italic}.flashcard-content strong{font-weight:600;color:var(--color-text)}.flashcard-content em{font-style:italic}.flashcard-content a{color:var(--color-primary-light);text-decoration:underline}.flashcard-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-md) 0}.flashcard-content table{width:100%;border-collapse:collapse;margin:var(--space-sm) 0;font-size:.9em}.flashcard-content th,.flashcard-content td{border:1px solid var(--color-border);padding:var(--space-xs) var(--space-sm);text-align:left}.flashcard-content th{background:var(--color-bg-card);font-weight:600}.flashcard-hint{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-top:var(--space-md)}.flashcard-actions{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.flashcard:hover .flashcard-actions{opacity:1}.review-page{display:flex;flex-direction:column;padding-bottom:var(--space-xl)}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.review-title{display:flex;align-items:center;gap:var(--space-md)}.review-header h1{font-size:1.25rem}.review-mode-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-warning);color:#fff;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.review-card-container{flex:1;display:flex;flex-direction:column}.review-progress{margin-bottom:var(--space-md);text-align:center}.review-progress span{font-size:.875rem;color:var(--color-text-muted)}.progress-bar{height:4px;background:var(--color-bg-card);border-radius:var(--radius-full);margin-top:var(--space-xs);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.review-card{perspective:1000px;cursor:pointer;flex:1;min-height:300px;max-height:60vh;margin-bottom:var(--space-lg)}.review-card-inner{position:relative;width:100%;height:100%;min-height:300px;max-height:60vh;transition:transform .6s;transform-style:preserve-3d}.review-card.flipped .review-card-inner{transform:rotateY(180deg)}.review-card-front,.review-card-back{position:absolute;width:100%;height:100%;min-height:300px;max-height:60vh;backface-visibility:hidden;background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--space-xl);display:flex;flex-direction:column;overflow:hidden}.review-card-front{align-items:center;text-align:center;justify-content:center}.review-card-back{transform:rotateY(180deg)}.review-card-back .card-content{font-size:1rem}.card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--space-md)}.card-content{font-size:1.25rem;line-height:1.6;flex:1;overflow-y:auto;overflow-x:hidden;width:100%;word-wrap:break-word;overflow-wrap:break-word}.card-content p{margin-bottom:var(--space-sm)}.card-content code{background:var(--color-bg-card);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.card-content pre{background:var(--color-bg-card);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-sm) 0;text-align:left;max-width:100%}.card-content pre code{background:none;padding:0}.card-content h1,.card-content h2,.card-content h3,.card-content h4{margin-top:var(--space-md);margin-bottom:var(--space-sm);font-weight:600;line-height:1.3}.card-content h1{font-size:1.5rem}.card-content h2{font-size:1.3rem}.card-content h3{font-size:1.15rem}.card-content h4{font-size:1rem}.card-content h1:first-child,.card-content h2:first-child,.card-content h3:first-child,.card-content h4:first-child{margin-top:0}.card-content ul,.card-content ol{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.card-content li{margin-bottom:var(--space-xs)}.card-content blockquote{border-left:3px solid var(--color-primary);padding-left:var(--space-md);margin:var(--space-sm) 0;color:var(--color-text-muted);font-style:italic}.card-content strong{font-weight:600;color:var(--color-text)}.card-content em{font-style:italic}.card-content a{color:var(--color-primary-light);text-decoration:underline}.card-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-md) 0}.card-content table{width:100%;border-collapse:collapse;margin:var(--space-sm) 0;font-size:.9em}.card-content th,.card-content td{border:1px solid var(--color-border);padding:var(--space-xs) var(--space-sm);text-align:left}.card-content th{background:var(--color-bg-card);font-weight:600}.card-hint{font-size:.75rem;color:var(--color-text-muted);margin-top:auto;padding-top:var(--space-md);text-align:center}.review-actions{animation:slideUp var(--transition-normal)}.review-prompt{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.875rem}.quality-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.quality-btn{padding:var(--space-md);background:var(--color-bg-elevated);border:2px solid var(--btn-color, var(--color-border));border-radius:var(--radius-md);color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.quality-btn:hover{background:var(--btn-color);color:#fff}.session-complete{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl)}.complete-icon{font-size:4rem;margin-bottom:var(--space-md)}.session-complete h1{font-size:1.75rem;margin-bottom:var(--space-lg)}.session-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%;max-width:300px;margin-bottom:var(--space-lg)}.session-stat{background:var(--color-bg-elevated);padding:var(--space-md);border-radius:var(--radius-md)}.session-stat .stat-value{font-size:1.5rem;font-weight:700;display:block}.session-stat .stat-label{font-size:.75rem;color:var(--color-text-muted)}.session-stat.success .stat-value{color:var(--color-success)}.session-stat.danger .stat-value{color:var(--color-danger)}.session-stat.perfect .stat-value{color:var(--color-primary)}.success-rate{width:100%;max-width:300px;margin-bottom:var(--space-xl)}.rate-bar{height:8px;background:var(--color-bg-card);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-sm)}.rate-fill{height:100%;background:linear-gradient(90deg,var(--color-warning),var(--color-success));border-radius:var(--radius-full);transition:width var(--transition-slow)}.rate-text{font-size:.875rem;color:var(--color-text-muted)}.complete-actions{display:flex;gap:var(--space-sm)}.create-page h1{font-size:1.5rem;margin-bottom:var(--space-lg)}.no-decks-warning{background:var(--color-bg-elevated);padding:var(--space-lg);border-radius:var(--radius-md);text-align:center}.no-decks-warning p{color:var(--color-text-muted);margin-bottom:var(--space-md)}.mode-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);background:var(--color-bg-elevated);padding:var(--space-xs);border-radius:var(--radius-md)}.mode-tab{flex:1;padding:var(--space-sm);border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.mode-tab.active{background:var(--color-primary);color:#fff}.success-toast{background:var(--color-success);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-md);animation:slideUp var(--transition-fast)}.create-footer{margin-top:var(--space-xl);text-align:center}.create-footer a{color:var(--color-text-muted);text-decoration:none}.create-footer a:hover{color:var(--color-primary)}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;gap:var(--space-md)}.not-found h1{font-size:4rem;color:var(--color-text-muted)}@media(min-width:640px){.page{padding:var(--space-lg)}.decks-grid{grid-template-columns:repeat(2,1fr)}.deck-actions{flex-direction:row}.quality-buttons{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.header-content{padding:0 var(--space-lg)}.page{padding:var(--space-xl)}.decks-grid{grid-template-columns:repeat(3,1fr)}.home-header h1{font-size:2rem}.review-card,.review-card-front,.review-card-back{min-height:400px}.card-content{font-size:1.5rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-create-page h1{margin-bottom:var(--space-lg);text-align:center}.ai-progress{margin-bottom:var(--space-xl);padding:0 var(--space-md)}.ai-progress-bar{height:4px;background:var(--color-border);border-radius:var(--radius-full);margin-bottom:var(--space-lg);overflow:hidden}.ai-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-success));border-radius:var(--radius-full);transition:width var(--transition-slow)}.ai-progress-steps{display:flex;justify-content:space-between;position:relative}.ai-progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);position:relative;z-index:1;flex:1}.ai-progress-dot{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);transition:all var(--transition-fast)}.ai-progress-step.active .ai-progress-dot{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #6366f133}.ai-progress-step.completed .ai-progress-dot{background:var(--color-success);border-color:var(--color-success);color:#fff}.ai-progress-label{font-size:.75rem;color:var(--color-text-muted)}.ai-progress-step.active .ai-progress-label{color:var(--color-text);font-weight:500}.ai-error{background:#ef44441a;border:1px solid var(--color-danger);color:var(--color-danger-light);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm)}.ai-step{animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-step h2{font-size:1.25rem;margin-bottom:var(--space-sm)}.ai-step-description{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.ai-security-notice{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.ai-security-icon{font-size:1.5rem;flex-shrink:0}.ai-security-text{flex:1}.ai-security-text strong{display:block;color:var(--color-success);margin-bottom:var(--space-xs)}.ai-security-text p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.ai-config-existing{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-md);text-align:center}.ai-config-existing p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.btn-link:hover{color:var(--color-primary-hover)}.ai-step-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.ai-provider-select{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}@media(min-width:480px){.ai-provider-select{grid-template-columns:repeat(3,1fr);gap:var(--space-md)}}.ai-provider-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.ai-provider-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--provider-color, var(--color-border));transform:scaleX(0);transition:transform var(--transition-fast)}.ai-provider-btn:hover{border-color:var(--provider-color, var(--color-primary-light));transform:translateY(-2px)}.ai-provider-btn:hover:before{transform:scaleX(1)}.ai-provider-btn.active{border-color:var(--provider-color, var(--color-primary));background:#6366f11a}.ai-provider-btn.active:before{transform:scaleX(1)}.ai-provider-icon{font-size:1.5rem;color:var(--provider-color, var(--color-text))}.ai-provider-name{font-weight:600;font-size:.9rem;color:var(--color-text)}.ai-provider-model{font-size:.75rem;color:var(--color-text-muted)}.ai-api-input{width:100%;padding:var(--space-md);font-family:var(--font-mono);font-size:.875rem}.ai-topic-input{width:100%;padding:var(--space-md);font-size:1rem;resize:vertical;min-height:100px;line-height:1.6}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);gap:var(--space-lg)}.ai-loading-spinner{display:flex;gap:var(--space-sm)}.ai-loading-dot{width:12px;height:12px;border-radius:var(--radius-full);background:var(--color-primary);animation:loadingBounce 1.4s ease-in-out infinite}.ai-loading-dot:nth-child(1){animation-delay:0s}.ai-loading-dot:nth-child(2){animation-delay:.2s}.ai-loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-loading-text{color:var(--color-text-muted);font-size:.875rem}.ai-topic-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin-top:var(--space-md)}.ai-suggestions-label{font-size:.75rem;color:var(--color-text-muted);margin-right:var(--space-xs)}.ai-suggestion-chip{padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.75rem;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.ai-suggestion-chip:hover{border-color:var(--color-primary);color:var(--color-text);background:#6366f11a}.ai-step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.ai-step-header h2{margin-bottom:var(--space-xs)}.ai-topic-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-cards-count{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.ai-concepts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.ai-concepts-count{font-size:.875rem;color:var(--color-text-muted)}.ai-concepts-list{display:flex;flex-direction:column;gap:var(--space-sm)}.ai-concept-item{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ai-concept-item:hover{border-color:var(--color-primary-light)}.ai-concept-item.selected{border-color:var(--color-primary);background:#6366f10d}.ai-concept-checkbox{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem;color:#fff;transition:all var(--transition-fast)}.ai-concept-item.selected .ai-concept-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.ai-concept-content{flex:1;min-width:0}.ai-concept-title{font-weight:600;margin-bottom:var(--space-xs)}.ai-concept-importance{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.ai-concept-difficulty{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase}.ai-deck-select-wrapper{display:flex;gap:var(--space-sm);align-items:center}.ai-deck-select-wrapper select{flex:1}.ai-new-deck-form{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.ai-new-deck-input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.875rem}.ai-new-deck-input:focus{outline:none;border-color:var(--color-primary)}.ai-cards-list{display:flex;flex-direction:column;gap:var(--space-lg);margin-top:var(--space-lg)}.ai-card-preview{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--color-border)}.ai-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.ai-card-number{font-weight:600;font-size:.875rem;color:var(--color-text-muted)}.btn-danger-ghost{color:var(--color-danger);background:transparent;border:none;cursor:pointer;padding:var(--space-xs);font-size:1rem;line-height:1;border-radius:var(--radius-sm)}.btn-danger-ghost:hover{background:#ef44441a}.ai-card-fields{display:flex;flex-direction:column;gap:var(--space-md)}.ai-card-fields .form-group{margin-bottom:0}.ai-card-fields textarea{font-size:.875rem}.ai-no-cards{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.ai-deck-section{background:var(--color-bg-card);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.ai-step-done{text-align:center;padding:var(--space-2xl) 0}.ai-done-celebration{position:relative;display:inline-block}.ai-done-icon{font-size:5rem;animation:celebratePop .6s ease-out}@keyframes celebratePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.ai-done-confetti{position:absolute;top:50%;left:50%;width:100px;height:100px;transform:translate(-50%,-50%);background:radial-gradient(circle,transparent 30%,transparent 100%);animation:confettiPulse 2s ease-in-out infinite;pointer-events:none}@keyframes confettiPulse{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:.3;transform:translate(-50%,-50%) scale(1.5)}}.ai-step-done h2{font-size:1.5rem;margin:var(--space-lg) 0 var(--space-sm);color:var(--color-success)}.ai-done-stats{display:flex;justify-content:center;gap:var(--space-xl);margin:var(--space-xl) 0}.ai-done-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.ai-done-stat-value{font-size:2rem;font-weight:700;color:var(--color-primary)}.ai-done-stat-label{font-size:.75rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em}.ai-done-actions{justify-content:center;flex-wrap:wrap}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-card);color:var(--color-text)}.btn-small{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.btn-success{background:var(--color-success)}.btn-success:hover{background:#16a34a}@media(min-width:640px){.ai-cards-list{display:grid;grid-template-columns:repeat(2,1fr)}.ai-step-actions{flex-direction:row}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg);background:var(--color-bg)}.error-boundary-content{text-align:center;max-width:400px}.error-boundary .error-icon{font-size:4rem;margin-bottom:var(--space-lg)}.error-boundary h1{font-size:1.5rem;margin-bottom:var(--space-md);color:var(--color-text)}.error-boundary .error-message{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-family:var(--font-mono);font-size:.875rem;padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);word-break:break-word}.error-boundary .error-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}
