*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080812;--surface: #11112a;--surface2: #191932;--border: rgba(124, 58, 237, .25);--border2: rgba(124, 58, 237, .45);--purple: #7c3aed;--purple-lt: #a78bfa;--purple-dk: #5b21b6;--text: #e2e8f0;--text-muted:#94a3b8;--text-dim: #64748b;--accent: #06b6d4;--error-bg: rgba(239, 68, 68, .1);--error: #f87171;--radius: 14px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.5);--glow: 0 0 32px rgba(124,58,237,.2)}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}button{cursor:pointer;font-family:inherit;border:none;outline:none}button:focus-visible{outline:2px solid var(--purple-lt);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{border-bottom:1px solid var(--border);padding:18px 24px;background:#080812d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between}.header-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:1.6rem}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.logo-ai{color:var(--purple-lt)}.tagline{color:var(--text-dim);font-size:.85rem;margin-left:auto}.app-main{flex:1;padding:48px 24px 72px}.container{max-width:900px;margin:0 auto}.app-footer{text-align:center;padding:20px;color:var(--text-dim);font-size:.8rem;border-top:1px solid var(--border)}.section-intro{text-align:center;margin-bottom:36px}.section-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#e2e8f0 0%,var(--purple-lt) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.section-desc{color:var(--text-muted);font-size:1rem;max-width:520px;margin:0 auto 20px}.feature-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pill{padding:5px 14px;border-radius:999px;font-size:.8rem;background:#7c3aed1f;border:1px solid var(--border2);color:var(--purple-lt)}.destination-selector{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.destination-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;width:fit-content}.destination-option{display:flex;align-items:center;gap:8px;padding:9px 18px;font-size:.88rem;font-weight:500;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s;background:var(--surface2);border-right:1px solid var(--border)}.destination-option:last-child{border-right:none}.destination-option:hover{background:#7c3aed1a;color:var(--text)}.destination-option.active{background:#7c3aed2e;color:var(--purple-lt)}.destination-option input[type=radio]{accent-color:var(--purple);width:14px;height:14px;cursor:pointer}.deck-name-field{width:100%;max-width:420px;padding:9px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:inherit;transition:border-color .2s}.deck-name-field:focus{outline:none;border-color:var(--border2)}.deck-name-field::placeholder{color:var(--text-dim)}.existing-deck-select-wrap{display:flex;align-items:center;gap:12px}.deck-select{padding:9px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:inherit;min-width:260px;cursor:pointer;transition:border-color .2s}.deck-select:focus{outline:none;border-color:var(--border2)}.deck-select option{background:var(--surface)}.deck-select-loading,.deck-select-empty{font-size:.88rem;color:var(--text-dim);font-style:italic}.input-area{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow),var(--glow);transition:border-color .2s}.input-area:focus-within{border-color:var(--border2)}.input-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface2)}.input-tab{flex:1;padding:13px 16px;font-size:.85rem;font-weight:600;color:var(--text-dim);background:transparent;border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:6px}.input-tab:hover{color:var(--text-muted);background:#ffffff08}.input-tab.active{color:var(--purple-lt);border-bottom-color:var(--purple)}.tab-icon{font-size:.95rem}.drop-zone{position:relative;min-height:280px}.drop-zone.dragging{outline:2px dashed var(--purple);outline-offset:-4px;background:#7c3aed0f}.drop-zone.file-mode{min-height:200px;display:flex;align-items:center;justify-content:center}.drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#080812d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:0;pointer-events:none}.drag-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--purple-lt);font-size:1.1rem;font-weight:600}.drag-icon{font-size:2.5rem}.notes-textarea{width:100%;min-height:280px;padding:20px 22px;background:transparent;border:none;outline:none;resize:vertical;font-family:inherit;font-size:.95rem;color:var(--text);line-height:1.7;caret-color:var(--purple-lt)}.notes-textarea::placeholder{color:var(--text-dim);white-space:pre-line;line-height:1.9}.file-preview{position:relative;padding:28px 24px;display:flex;align-items:center;justify-content:center;min-height:200px;width:100%}.clear-file-btn{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:#ffffff14;color:var(--text-muted);font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.clear-file-btn:hover{background:#ef444433;color:var(--error)}.image-preview-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px}.image-preview{max-height:200px;max-width:100%;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:contain}.pdf-preview{display:flex;flex-direction:column;align-items:center;gap:12px}.pdf-info{display:flex;flex-direction:column;align-items:center;gap:4px}.file-name{font-weight:600;color:var(--text);font-size:.95rem;word-break:break-all;max-width:300px;text-align:center}.file-size{font-size:.8rem;color:var(--text-dim)}.file-meta{display:flex;flex-direction:column;align-items:center;gap:4px}.input-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.input-meta{flex:1}.text-stats,.text-hint{font-size:.8rem;color:var(--text-dim)}.input-actions{display:flex;align-items:center;gap:10px}.card-count-control{display:flex;align-items:center;gap:6px}.card-count-label{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.card-count-preset{padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600;border:1.5px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s}.card-count-preset:hover{border-color:var(--purple);color:var(--purple)}.card-count-preset.active{border-color:var(--purple);background:#7c3aed1f;color:var(--purple)}.card-count-input{width:52px;padding:4px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;text-align:center}.card-count-input:focus{outline:none;border-color:var(--purple)}.generate-btn{padding:11px 24px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--purple) 0%,#6d28d9 100%);color:#fff;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:8px;transition:opacity .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 12px #7c3aed66;white-space:nowrap}.generate-btn:hover:not(.disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed8c}.generate-btn:active:not(.disabled){transform:translateY(0)}.generate-btn.disabled{opacity:.35;cursor:not-allowed}.btn-arrow{transition:transform .15s}.generate-btn:hover:not(.disabled) .btn-arrow{transform:translate(3px)}.btn-loading{display:flex;align-items:center;gap:10px}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{margin-top:32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-dots{display:flex;gap:8px}.loading-dots span{width:10px;height:10px;border-radius:50%;background:var(--purple-lt);animation:bounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.loading-text{color:var(--text-muted);font-size:.9rem}.error-banner{margin-top:20px;padding:16px 18px;background:var(--error-bg);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:12px}.error-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.error-banner strong{display:block;color:var(--error);font-size:.9rem;margin-bottom:2px}.error-banner p{color:var(--text-muted);font-size:.85rem}.error-dismiss{margin-left:auto;color:var(--text-dim);background:transparent;font-size:1rem;flex-shrink:0;padding:0 4px;transition:color .15s}.error-dismiss:hover{color:var(--error)}.deck-section{animation:fadeUp .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.deck-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.deck-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.deck-subtitle{color:var(--text-muted);font-size:.88rem;margin-top:3px}.deck-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.study-mode-btn{padding:9px 18px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--purple) 0%,#6d28d9 100%);color:#fff;font-size:.85rem;font-weight:700;box-shadow:0 2px 12px #7c3aed59;transition:opacity .15s,transform .1s}.study-mode-btn:hover{opacity:.9;transform:translateY(-1px)}.save-btn{padding:9px 18px;border-radius:var(--radius-sm);background:#06b6d41a;border:1px solid rgba(6,182,212,.35);color:#67e8f9;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.save-btn:hover{background:#06b6d433;color:#cffafe}.reset-btn{padding:9px 18px;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid var(--border2);color:var(--text-muted);font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.reset-btn:hover{background:#ffffff1a;color:var(--text)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.flashcard{perspective:1200px;height:200px;cursor:pointer;animation:cardIn .35s ease both}.flashcard:nth-child(n){animation-delay:calc(n/25s)}@keyframes cardIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .55s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid var(--border);transition:border-color .2s;overflow:hidden}.flashcard:hover .flashcard-face{border-color:var(--border2)}.flashcard-front{background:var(--surface)}.flashcard-back{background:linear-gradient(135deg,#1a0a3a,#160d2e);transform:rotateY(180deg)}.card-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.answer-label{color:var(--purple-lt)}.card-text{font-size:.9rem;color:var(--text);line-height:1.55;flex:1;display:flex;align-items:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.card-hint{font-size:.72rem;color:var(--text-dim);margin-top:auto;align-self:flex-end}.card-number{position:absolute;top:12px;right:14px;font-size:.72rem;color:var(--text-dim);font-weight:500}.exit-study-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:.85rem;font-weight:600;padding:8px 16px;border-radius:var(--radius-sm);transition:background .15s,color .15s}.exit-study-btn:hover{background:#ffffff0f;color:var(--text)}.study-arena{display:flex;flex-direction:column;align-items:center;gap:28px}.study-card{perspective:1200px;width:100%;max-width:600px;height:320px;cursor:pointer}.study-card .flashcard-inner{transition:transform .55s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.study-card.flipped .flashcard-inner{transform:rotateY(180deg)}.study-card .flashcard-face{padding:32px;justify-content:center;gap:14px}.study-card .card-text{font-size:1.05rem;-webkit-line-clamp:8;text-align:center;justify-content:center}.study-card .card-label{text-align:center}.study-card .card-hint{align-self:center}.study-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.study-nav-btn{padding:10px 22px;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid var(--border);color:var(--text-muted);font-size:.88rem;font-weight:600;transition:background .15s,color .15s,opacity .15s}.study-nav-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text)}.study-nav-btn:disabled{opacity:.3;cursor:not-allowed}.study-progress{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:320px}.progress-dot{width:10px;height:10px;border-radius:50%;background:#ffffff1f;border:none;transition:background .15s,transform .15s}.progress-dot:hover{background:var(--purple-lt);transform:scale(1.2)}.progress-dot.active{background:var(--purple);transform:scale(1.25)}.progress-dot.done{background:var(--purple-dk)}@media(max-width:600px){.app-main{padding:28px 16px 56px}.header-inner{flex-wrap:wrap}.tagline{display:none}.cards-grid{grid-template-columns:1fr}.deck-header{flex-direction:column}.deck-actions{flex-wrap:wrap}.input-footer{flex-direction:column;align-items:stretch}.generate-btn{width:100%;justify-content:center}.study-card{height:260px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.auth-logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700}.auth-title{font-size:1.5rem;font-weight:700;margin:0}.auth-subtitle{font-size:.9rem;color:var(--text-muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.auth-field input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.65rem .875rem;font-size:.95rem;color:var(--text);transition:border-color .15s;width:100%;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:var(--purple)}.auth-submit{margin-top:.5rem;width:100%;justify-content:center}.auth-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.auth-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#86efac;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.auth-footer-text{text-align:center;font-size:.875rem;color:var(--text-muted);margin:0}.auth-footer-text a{color:var(--purple);text-decoration:none;font-weight:500}.auth-footer-text a:hover{text-decoration:underline}.auth-success-page{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.auth-success-icon{font-size:3rem}.auth-hint{font-size:.85rem;color:var(--text-muted);margin:0}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.app-header .header-inner{flex:1}.header-user{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-username{font-size:.875rem;color:var(--text-muted)}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-logout:hover{border-color:var(--text-muted);color:var(--text)}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:36px;flex-wrap:wrap}.dashboard-title{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#e2e8f0 0%,var(--purple-lt) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.dashboard-subtitle{color:var(--text-dim);font-size:.85rem}.deck-list{display:flex;flex-direction:column;gap:10px}.deck-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:border-color .15s}.deck-row:hover{border-color:var(--border2)}.deck-row-info{display:flex;flex-direction:column;gap:5px;min-width:0}.deck-row-name{font-weight:600;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-row-meta{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-dim)}.deck-due-badge{background:#7c3aed26;border:1px solid var(--border2);color:var(--purple-lt);padding:1px 8px;border-radius:999px;font-size:.73rem;font-weight:600}.deck-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.deck-delete-btn{padding:7px 14px;border-radius:var(--radius-sm);background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--error);font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.deck-delete-btn:hover{background:var(--error-bg);border-color:#ef444480}.deck-confirm-text{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.deck-confirm-btn{padding:6px 12px;border-radius:var(--radius-sm);background:#ef444426;border:1px solid rgba(239,68,68,.4);color:var(--error);font-size:.8rem;font-weight:700;transition:background .15s}.deck-confirm-btn:hover{background:#ef444440}.deck-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.deck-cancel-btn{padding:6px 12px;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;font-weight:600;transition:background .15s}.deck-cancel-btn:hover{background:#ffffff1a}.deck-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;text-align:center}.deck-empty-icon{font-size:2.5rem}.deck-empty-title{font-size:1.15rem;font-weight:600;color:var(--text)}.deck-empty-desc{color:var(--text-muted);font-size:.9rem;max-width:300px}.deck-title-editable{cursor:pointer;display:inline-flex;align-items:center;gap:8px}.deck-title-editable:hover .deck-name-edit-hint{opacity:1}.deck-name-edit-hint{font-size:.9rem;font-weight:400;color:var(--text-dim);opacity:0;transition:opacity .15s}.deck-name-input{background:transparent;border:none;border-bottom:2px solid var(--purple);color:var(--text);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;font-family:inherit;padding:0 2px 2px;outline:none;min-width:120px;max-width:420px;width:auto}.back-btn{padding:9px 18px;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid var(--border2);color:var(--text-muted);font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.back-btn:hover{background:#ffffff1a;color:var(--text)}.header-nav{display:flex;align-items:center;gap:8px;margin-left:16px}.header-new-deck-btn{padding:7px 14px;font-size:.82rem}.deck-switcher{position:relative}.deck-switcher-btn{padding:7px 14px;border-radius:var(--radius-sm);background:#7c3aed1a;border:1px solid var(--border2);color:var(--purple-lt);font-size:.82rem;font-weight:600;transition:background .15s;white-space:nowrap}.deck-switcher-btn:hover{background:#7c3aed33}.deck-switcher-arrow{font-size:.7rem;margin-left:2px}.deck-switcher-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;overflow:hidden;animation:fadeUp .15s ease}.deck-switcher-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;background:transparent;color:var(--text-muted);font-size:.85rem;text-align:left;transition:background .12s,color .12s}.deck-switcher-item:hover{background:#ffffff0d;color:var(--text)}.deck-switcher-item.active{color:var(--purple-lt);background:#7c3aed14}.deck-switcher-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-switcher-count{font-size:.75rem;color:var(--text-dim);flex-shrink:0}.deck-switcher-empty{display:block;padding:12px 14px;font-size:.85rem;color:var(--text-dim)}.deck-switcher-divider{height:1px;background:var(--border);margin:4px 0}.deck-switcher-new{display:block;width:100%;padding:10px 14px;background:transparent;color:var(--purple-lt);font-size:.85rem;font-weight:600;text-align:left;transition:background .12s}.deck-switcher-new:hover{background:#7c3aed1a}.deck-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.deck-view-title{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.deck-row-clickable{cursor:pointer;flex:1;min-width:0}.deck-row-clickable:hover .deck-row-name{color:var(--purple-lt)}.card-list{display:flex;flex-direction:column;gap:10px}.card-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:border-color .15s}.card-item:hover{border-color:var(--border2)}.card-item-num{font-size:.75rem;color:var(--text-dim);font-weight:500;flex-shrink:0;margin-top:3px;min-width:24px}.card-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.card-item-row{display:flex;align-items:flex-start;gap:10px}.card-item-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);flex-shrink:0;width:14px;margin-top:2px}.card-item-text{font-size:.9rem;color:var(--text);line-height:1.5}.card-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.card-edit-btn{padding:6px 12px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.card-edit-btn:hover{background:#ffffff0f;border-color:var(--border2);color:var(--text)}.add-card-form{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:20px;margin-bottom:20px;animation:fadeUp .2s ease}.card-edit-form{width:100%;animation:fadeUp .15s ease}.add-card-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:14px}.add-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.card-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}.add-card-field{display:flex;flex-direction:column;gap:6px}.add-card-field label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.card-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;font-size:.9rem;color:var(--text);resize:vertical;transition:border-color .15s;line-height:1.5}.card-textarea:focus{outline:none;border-color:var(--purple)}.add-card-actions{display:flex;gap:10px}.rating-row{display:flex;flex-direction:column;align-items:center;gap:12px;animation:fadeUp .2s ease}.rating-label{font-size:.85rem;color:var(--text-muted)}.rating-btns{display:flex;gap:12px}.rating-btn{padding:11px 28px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;border:none;transition:opacity .15s,transform .1s}.rating-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.rating-btn:disabled{opacity:.4;cursor:not-allowed}.rating-forgot{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#f87171}.rating-hard{background:#eab3081f;border:1px solid rgba(234,179,8,.4);color:#fbbf24}.rating-easy{background:#22c55e1f;border:1px solid rgba(34,197,94,.4);color:#4ade80}.session-complete{display:flex;flex-direction:column;align-items:center;gap:16px;padding:72px 24px;text-align:center}.session-complete-icon{font-size:3.5rem}.session-complete-title{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.session-complete-desc{color:var(--text-muted);font-size:1rem}.session-complete-actions{display:flex;gap:12px;margin-top:8px}.card-item-due{border-left:3px solid var(--purple)}.merge-bar{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);padding:16px 20px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px;animation:fadeUp .2s ease}.merge-bar-hint{font-size:.88rem;color:var(--text-muted)}.merge-bar-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.merge-name-input{flex:1;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:.88rem;color:var(--text);font-family:inherit}.merge-name-input:focus{outline:none;border-color:var(--purple)}.merge-delete-label{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}.merge-delete-label input[type=checkbox]{accent-color:var(--purple)}.merge-error{font-size:.85rem;color:var(--error)}.deck-row-selected{border-color:var(--border2);background:#7c3aed0f}.deck-checkbox{width:26px;height:26px;border-radius:6px;border:2px solid var(--border2);background:transparent;color:var(--purple-lt);font-size:.85rem;font-weight:700;flex-shrink:0;transition:background .12s,border-color .12s}.deck-checkbox.checked{background:var(--purple);border-color:var(--purple);color:#fff}@media(max-width:600px){.add-card-fields,.card-edit-fields{grid-template-columns:1fr}.deck-view-header{flex-direction:column}.card-item{flex-wrap:wrap}.card-item-actions{margin-left:0}.rating-btns{gap:8px}.rating-btn{padding:10px 18px;font-size:.85rem}.merge-bar-form{flex-direction:column;align-items:stretch}}
