@font-face{font-family:Tiempos Text;src:url(/assets/test-tiempos-text-vf-roman-C1o2vH6m.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-bg: #F0EFEA;--color-bg-card: #FAFAF8;--color-bg-gradient-end: #E8E7E2;--color-text: #141413;--color-text-muted: #5A5A58;--color-accent: #CC785C;--color-accent-hover: #B8694D;--color-accent-rgb: 204, 120, 92;--color-success: #5A8F6A;--color-error: #C75050;--color-border: #E0DFD9;--color-border-subtle: #EEEDEA;--font-serif: "Tiempos Text", "Georgia", serif;--font-sans: "Inter", "SF Pro Display", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(20, 20, 19, .04);--shadow-md: 0 4px 12px rgba(20, 20, 19, .06);--shadow-lg: 0 12px 24px rgba(20, 20, 19, .1);--shadow-xl: 0 20px 40px rgba(20, 20, 19, .15);--transition-fast: .15s ease;--transition-normal: .25s ease}@media(max-width:768px){:root{--space-xs: .125rem;--space-sm: .375rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.25rem;--space-2xl: 1.75rem;--space-3xl: 2.5rem;--radius-md: 8px;--radius-lg: 16px}}[data-theme=dark]{--color-bg: #1A1918;--color-bg-card: #242322;--color-bg-gradient-end: #131212;--color-text: #EEEDEA;--color-text-muted: #A5A5A3;--color-accent: #D9937A;--color-accent-hover: #E5A892;--color-accent-rgb: 217, 147, 122;--color-success: #7AB88A;--color-error: #E07070;--color-border: #3D3C3A;--color-border-subtle: #2E2D2C;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .35);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.3;letter-spacing:-.02em}h1{font-size:2.5rem;margin-bottom:var(--space-lg)}h2{font-size:1.75rem;margin-bottom:var(--space-md)}h3{font-size:1.25rem;margin-bottom:var(--space-sm)}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}}p{color:var(--color-text-muted);margin-bottom:var(--space-md)}.container{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-lg);transition:max-width .3s ease}.container:has(.with-chat-panel){max-width:1400px}.section{margin-bottom:var(--space-3xl)}@media(max-width:640px){.container{padding:var(--space-lg) var(--space-md)}}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.animate-spin{animation:spin 1s linear infinite}@media(max-width:640px){:root{font-size:15px}h1{font-size:2rem}}.card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-xl);transition:border-color var(--transition-normal)}.card:hover{border-color:var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-sans);font-size:.875rem;font-weight:500;letter-spacing:.01em;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-card);border-color:var(--color-text-muted)}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm)}.btn-ghost:hover{color:var(--color-text)}.btn-large{padding:var(--space-md) var(--space-2xl);font-size:1rem}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#b54545;transform:translateY(-1px)}.btn-accent-soft{background:rgba(var(--color-accent-rgb),.08);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb),.2)}.btn-accent-soft:hover{background:rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent)}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.input,.textarea{width:100%;padding:var(--space-md);font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);outline:none}.input:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #cc785c1a}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted);opacity:.6}.textarea{min-height:200px;resize:vertical;line-height:1.7}.tabs{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-bg-card);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);width:fit-content}.tab{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--color-text)}.tab.active{background:var(--color-accent);color:#fff}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-3xl);color:var(--color-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted)}.badge-success{background:#5a8f6a1a;color:var(--color-success)}.badge-error{background:#c750501a;color:var(--color-error)}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .2s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;width:90%;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border-subtle)}.modal-header h3{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text)}.modal-body{padding:var(--space-xl)}.modal-body p{margin:0 0 var(--space-sm) 0;font-size:.9375rem;line-height:1.6}.modal-body p:last-child{margin-bottom:0}.modal-footer{padding:var(--space-md) var(--space-xl) var(--space-xl);display:flex;justify-content:flex-end;gap:var(--space-sm)}.input-with-action{display:flex;gap:var(--space-sm);align-items:stretch}.input-with-action .input{flex:1}.btn-paste{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-paste:hover{color:var(--color-accent);border-color:var(--color-accent);background:#cc785c0d}.btn-paste:active{transform:scale(.98)}.image-upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:all var(--transition-fast);cursor:pointer;overflow:hidden}.image-upload-area:hover{border-color:var(--color-accent);background:#cc785c08}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);color:var(--color-text-muted);text-align:center}.image-upload-placeholder svg{margin-bottom:var(--space-md);opacity:.4;transition:all var(--transition-fast)}.image-upload-area:hover .image-upload-placeholder svg{color:var(--color-accent);opacity:.7;transform:scale(1.05)}.image-upload-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-xs) 0}.image-upload-hint{font-size:.875rem;margin:0 0 var(--space-xs) 0;opacity:.8}.image-upload-formats{font-size:.75rem;margin:0;opacity:.6}.input-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);gap:var(--space-md)}@media(max-width:640px){.input-panel-header{flex-direction:column;align-items:stretch}.input-panel-header .tabs{width:100%;justify-content:space-between;overflow-x:auto}.input-panel-header .tab{flex:1;justify-content:center;padding:var(--space-sm);white-space:nowrap}.input-panel-header .btn{width:100%;justify-content:center}}.app-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3xl);flex-wrap:wrap;gap:var(--space-md)}.header-content{text-align:left;flex:1}.app-header h1{margin-bottom:var(--space-sm)}.app-header p{font-size:1.125rem;max-width:600px;margin:0}@media(max-width:640px){.app-header{flex-direction:column;align-items:center;text-align:center;position:relative}.header-content{text-align:center;width:100%;padding:0 var(--space-xl)}.app-header>.user-menu-wrapper{position:absolute;top:0;right:0}}.nav-tabs{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border-subtle);padding-bottom:var(--space-md)}.nav-tab{padding:var(--space-sm) var(--space-md);font-size:.9375rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;cursor:pointer;position:relative;transition:color var(--transition-fast);width:140px;text-align:center;white-space:nowrap}@media(max-width:640px){.nav-tabs{gap:var(--space-xs)}.nav-tab{width:auto;flex:1;padding:var(--space-sm) var(--space-xs);font-size:.875rem}}.nav-tab:hover{color:var(--color-text)}.nav-tab.active{color:var(--color-accent)}.nav-tab.active:after{content:"";position:absolute;bottom:calc(-1 * var(--space-sm) - 1px);left:0;right:0;height:2px;background:var(--color-accent)}.user-menu-wrapper{position:relative;z-index:100}.user-info-trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.user-info-trigger:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.user-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-weight:600;font-size:.75rem;border-radius:50%;text-transform:uppercase;flex-shrink:0}.user-name{font-weight:500;color:var(--color-text)}.user-dropdown-icon{color:var(--color-text-muted);margin-left:var(--space-xs);transition:transform var(--transition-fast)}.user-menu-wrapper:hover .user-dropdown-icon{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs) 0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all var(--transition-fast)}.user-menu-wrapper:hover .user-dropdown,.user-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:640px){.user-info-trigger{padding:0;border:none;background:transparent}.user-info-trigger:hover{box-shadow:none}.user-name,.user-dropdown-icon{display:none}.user-avatar{width:32px;height:32px;font-size:.875rem;box-shadow:var(--shadow-sm)}.user-dropdown{right:-8px;top:calc(100% + 8px);min-width:180px}}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);border:none;background:none;width:100%;text-align:left}.user-dropdown-item:hover{background:var(--color-bg)}.user-dropdown-item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.user-dropdown-item select{flex:1;padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text);cursor:pointer}.user-dropdown-item select:focus{outline:none;border-color:var(--color-accent)}.user-dropdown-divider{height:1px;background:var(--color-border-subtle);margin:var(--space-xs) 0}.user-dropdown-item.logout:hover{background:#c750500d;color:var(--color-error)}.user-dropdown-item.logout:hover .user-dropdown-item-icon{color:var(--color-error)}.task-list{margin-top:var(--space-xl);animation:slideUp .3s ease}.task-list-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.task-items{display:flex;flex-direction:column;gap:var(--space-sm)}.task-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--transition-normal);animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.task-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.task-item-pending{border-left:3px solid var(--color-accent)}.task-item-completed{border-left:3px solid var(--color-success)}.task-item-failed{border-left:3px solid var(--color-error)}.task-item-left{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}.task-spinner{color:var(--color-accent);flex-shrink:0}.task-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;border-radius:50%;width:24px;height:24px}.task-icon-success{background:var(--color-success);color:#fff}.task-icon-error{background:var(--color-error);color:#fff}.task-item-info{flex:1;min-width:0}.task-item-content{font-size:.9375rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-xs)}.task-item-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-muted);flex-wrap:wrap}.task-status{font-weight:500}.task-status-pending{color:var(--color-accent)}.task-status-completed{color:var(--color-success)}.task-status-failed{color:var(--color-error)}.task-progress{color:var(--color-text-muted);font-size:.75rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.task-card-count{background:#5a8f6a1a;color:var(--color-success);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);font-size:.75rem;font-weight:500}.task-error{color:var(--color-error);font-size:.75rem}.task-time{color:var(--color-text-muted);opacity:.7}.task-time:before{content:"·";margin-right:var(--space-sm)}.task-item-actions{display:flex;gap:var(--space-sm);flex-shrink:0;margin-left:var(--space-md)}.task-btn-cancel{color:var(--color-text-muted)}.task-btn-cancel:hover{color:var(--color-error)}.task-btn-view,.task-btn-retry{font-size:.8125rem;padding:var(--space-xs) var(--space-md)}.task-btn-pick{font-size:.8125rem;padding:var(--space-xs) var(--space-md);display:inline-flex;align-items:center;gap:var(--space-xs);background:rgba(var(--color-accent-rgb),.1);border-color:rgba(var(--color-accent-rgb),.3);color:var(--color-accent)}.task-btn-pick:hover{background:rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent)}@media(max-width:640px){.task-item{flex-direction:column;align-items:stretch;gap:var(--space-md)}.task-item-left{width:100%}.task-item-actions{margin-left:0;justify-content:flex-end}}.card-picker-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.card-picker-container{width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-lg);max-width:1200px;margin:0 auto}.card-picker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;gap:var(--space-lg)}.card-picker-header .btn-ghost{color:#fffc}.card-picker-header .btn-ghost:hover{color:#fff}.picker-progress{flex:1;max-width:400px;display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-lg)}.progress-text{color:#ffffffb3;font-size:.875rem;text-align:center}.progress-bar{height:4px;background:#fff3;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);transition:width .3s ease}.picker-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);max-width:500px}.nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:#ffffff1a;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:#fff3;color:#fff}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.finish-btn{margin-left:var(--space-sm)}.picker-stats{display:flex;gap:var(--space-md)}.picker-stats .stat{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:500;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.picker-stats .stat.get{color:var(--color-success);background:#5a8f6a33}.picker-stats .stat.discard{color:var(--color-error);background:#c7505033}.card-picker-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;perspective:1000px}.picker-card{width:432px;max-width:95vw;height:576px;max-height:75vh;position:relative;transform-style:preserve-3d}.picker-card.flipped .picker-card-inner{transform:rotateY(180deg)}.picker-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.picker-card-front,.picker-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 0 60px #0000004d;overflow:hidden}.picker-card-front{background:linear-gradient(145deg,var(--color-bg-card) 0%,var(--color-bg) 100%);padding:var(--space-xl);display:flex;flex-direction:column}.picker-card-back{background:linear-gradient(145deg,#2a2a2a,#1a1a1a);transform:rotateY(180deg);display:flex;align-items:center;justify-content:center}.picker-card-content{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.picker-card-type-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);width:fit-content}.picker-card-question{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;line-height:1.6;color:var(--color-text);margin:0}.picker-card-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.picker-card-option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);font-size:.9rem}.picker-card-option.correct{background:#5a8f6a1a;border-color:var(--color-success)}.picker-card-option.correct .option-letter{background:var(--color-success);color:#fff}.option-letter{display:flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.75rem;font-weight:600;background:var(--color-border);color:var(--color-text-muted);border-radius:50%;flex-shrink:0}.option-text{flex:1;line-height:1.4}.picker-card-answer{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:rgba(var(--color-accent-rgb),.1);border-radius:var(--radius-sm);margin-top:var(--space-lg)}.answer-label{font-size:.875rem;color:var(--color-text-muted)}.answer-text{font-weight:600;color:var(--color-accent)}.picker-card-verdict{padding:var(--space-md);border-radius:var(--radius-sm);font-weight:600;text-align:center;margin-top:var(--space-lg)}.picker-card-verdict.true{background:#5a8f6a26;color:var(--color-success)}.picker-card-verdict.false{background:#c7505026;color:var(--color-error)}.picker-card-explanation{padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;line-height:1.6;color:var(--color-text-muted);border-left:3px solid var(--color-accent);margin-top:var(--space-md)}.explanation-label{font-weight:600;color:var(--color-text);margin-right:var(--space-xs)}.regenerating-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);color:#fffc}.regenerating-indicator .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card-picker-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-xl) 0}.action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative}.action-btn span{position:absolute;bottom:-24px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:.8}.action-btn:hover span{opacity:1}.action-btn.discard{background:#c7505033;color:var(--color-error);width:70px;height:70px}.action-btn.regenerate{background:#ffffff1a;color:#fffc;width:64px;height:64px}.action-btn.regenerate:hover{background:#fff3;color:#fff;transform:scale(1.1)}.action-btn.regenerate:hover svg{transform:rotate(180deg);transition:transform .4s ease}.action-btn.regenerate svg{transition:transform .4s ease}.action-btn.get{background:#5a8f6a33;color:var(--color-success);width:70px;height:70px}.action-btn.get:hover:not(:disabled){background:var(--color-success);color:#fff;transform:scale(1.1);box-shadow:0 8px 30px #5a8f6a66}.action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.action-btn.selected{opacity:.6}.action-btn.discard:hover:not(:disabled){background:var(--color-error);color:#fff;transform:scale(1.1);box-shadow:0 8px 30px #c7505066}.card-picker-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-3xl)}.complete-stats{display:flex;gap:var(--space-xl)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md)}.stat-item.get{background:#5a8f6a33;color:var(--color-success)}.stat-item.discard{background:#c7505033;color:var(--color-error)}.stat-number{font-size:2rem;font-weight:700}.stat-label{font-size:.875rem;opacity:.8}.complete-title{font-family:var(--font-serif);font-size:2rem;font-weight:500;color:#fff;margin:0}.complete-subtitle{color:#ffffffb3;font-size:1rem;margin:0}.complete-subtitle strong{color:var(--color-accent)}.complete-actions{display:flex;flex-direction:column;gap:var(--space-md);align-items:center;margin-top:var(--space-lg)}.complete-actions .btn-primary{gap:var(--space-sm)}.complete-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.exit-btn-wrapper{position:relative}.exit-btn{color:#ffffffb3!important}.exit-btn:hover{color:var(--color-error)!important}.exit-confirm-popup{position:absolute;top:calc(100% + var(--space-sm));left:0;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-xl),0 0 40px #0000004d;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);z-index:1100;min-width:300px;white-space:nowrap}.exit-confirm-content{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);font-size:.9375rem}.exit-confirm-icon{color:var(--color-error);flex-shrink:0}.exit-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.exit-confirm-actions .btn-ghost{color:var(--color-text-muted)}.exit-confirm-actions .btn-ghost:hover{color:var(--color-text)}.exit-confirm-actions .btn-danger{font-size:.875rem;padding:var(--space-xs) var(--space-md)}@media(max-width:640px){.card-picker-container{padding:var(--space-md)}.picker-card{width:360px;height:504px}.picker-card-front{padding:var(--space-lg)}.picker-card-question{font-size:1.1rem}.card-picker-actions{gap:var(--space-lg);padding:var(--space-md) 0}.action-btn.get,.action-btn.discard{width:60px;height:60px;padding:var(--space-md)}.action-btn.regenerate{width:48px;height:48px}}.complete-confirm-overlay{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.complete-confirm-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 0 60px #0006;padding:var(--space-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);min-width:340px;max-width:90vw;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.complete-confirm-stats{display:flex;gap:var(--space-lg)}.confirm-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);min-width:80px}.confirm-stat.get{background:#5a8f6a26;color:var(--color-success)}.confirm-stat.discard{background:#c7505026;color:var(--color-error)}.confirm-stat-number{font-size:1.5rem;font-weight:700}.confirm-stat-label{font-size:.75rem;opacity:.8}.complete-confirm-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-text);margin:0}.complete-confirm-subtitle{color:var(--color-text-muted);font-size:.9375rem;margin:0;text-align:center}.complete-confirm-subtitle strong{color:var(--color-accent)}.complete-confirm-actions{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.complete-confirm-actions .btn-ghost{color:var(--color-text-muted)}.complete-confirm-actions .btn-ghost:hover{color:var(--color-text)}.review-card-wrapper{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-xl);margin-top:var(--space-lg)}.memory-card{position:relative;background:transparent;border:none;border-radius:0;padding:0;margin-bottom:0;transition:all var(--transition-normal)}.memory-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.memory-card-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent)}.memory-card-question{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;line-height:1.5;margin-bottom:var(--space-lg)}.options{display:flex;flex-direction:column;gap:var(--space-sm)}.option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.option:hover:not(.disabled){border-color:var(--color-accent);background:#cc785c08}.option.selected{border-color:var(--color-accent);background:#cc785c0f}.option.correct{border-color:var(--color-success);background:#5a8f6a0f}.option.incorrect{border-color:var(--color-error);background:#c750500f}.option.disabled{cursor:default}.option-marker{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;border-radius:50%;background:var(--color-bg-card);border:1px solid var(--color-border);flex-shrink:0}.option.selected .option-marker{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.option.correct .option-marker{background:var(--color-success);border-color:var(--color-success);color:#fff}.option.incorrect .option-marker{background:var(--color-error);border-color:var(--color-error);color:#fff}.fill-blank-input{display:inline-block;padding:0 var(--space-xs);font-size:inherit;font-family:inherit;color:var(--color-text);border:none;border-bottom:2px solid var(--color-border);background:transparent;outline:none;min-width:3em;text-align:center;transition:border-color var(--transition-fast),color var(--transition-fast);vertical-align:baseline;box-sizing:content-box}.fill-blank-input::placeholder{color:var(--color-text-muted);opacity:.5}.fill-blank-input:focus{border-color:var(--color-accent);color:var(--color-accent)}.fill-blank-input.correct{border-color:var(--color-success);color:var(--color-success);background:rgba(var(--color-success-rgb, 90, 143, 106),.1)}.fill-blank-input.incorrect{border-color:var(--color-error);color:var(--color-error);background:rgba(var(--color-error-rgb, 199, 80, 80),.1)}.tf-buttons{display:flex;gap:var(--space-md)}.tf-btn{flex:1;padding:var(--space-md) var(--space-lg);font-size:1rem;font-weight:500;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.tf-btn:hover:not(.disabled){border-color:var(--color-accent)}.tf-btn.selected{border-color:var(--color-accent);background:#cc785c0f}.tf-btn.correct{border-color:var(--color-success);background:#5a8f6a1a;color:var(--color-success)}.tf-btn.incorrect{border-color:var(--color-error);background:#c750501a;color:var(--color-error)}.tf-btn.disabled{cursor:default}.explanation{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent)}.explanation-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:var(--space-xs)}.explanation-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin:0}.card-next-action{display:flex;justify-content:flex-end;margin-top:var(--space-md)}.card-nav{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-subtle)}.card-progress{font-size:.875rem;color:var(--color-text-muted)}@media(max-width:640px){.tf-buttons{flex-direction:column}}.review-session{width:100%;margin:0 auto;display:flex;flex-direction:column;min-height:calc(100vh - 140px)}.review-main-area{display:flex;gap:var(--space-lg);flex:1;margin-top:var(--space-lg);min-height:0;align-items:stretch}.review-card-section{flex:1;min-width:400px;display:flex;flex-direction:column}.review-session.with-chat-panel .review-card-section{flex:1 1 50%}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.review-back-btn{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-weight:500}.review-back-btn:hover{color:var(--color-text)}.review-progress-info{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:var(--color-text-muted);background:var(--color-bg-card);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle)}.review-progress-info .progress-value{font-weight:600;color:var(--color-text)}.review-card-container{margin:var(--space-xl) 0}.review-actions{display:flex;justify-content:center;margin-top:var(--space-2xl)}.review-empty-state,.review-result-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-3xl) var(--space-xl);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-sm);max-width:600px;margin:var(--space-2xl) auto}.review-overview-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-xl) var(--space-lg);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-sm);width:100%;margin:0}.week-streak{width:100%;max-width:600px;margin:0 auto var(--space-lg);padding:var(--space-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.week-streak-header{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.streak-header-icon{color:#ff6b35}.streak-header-text{font-size:.9rem;font-weight:600;color:var(--color-text)}.week-days{display:flex;justify-content:space-between;gap:var(--space-xs)}.week-day{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);flex:1;border-radius:var(--radius-md);transition:all .2s ease}.week-day:last-child{background:rgba(var(--color-primary-rgb, 204, 120, 92),.08)}.day-flame{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.flame-active{color:#ff6b35;animation:flameGlow 2s ease-in-out infinite}@keyframes flameGlow{0%,to{filter:drop-shadow(0 0 2px rgba(255,107,53,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 6px rgba(255,107,53,.6));transform:scale(1.05)}}.flame-empty{width:20px;height:20px;border-radius:50%;background:var(--color-border-subtle)}.day-info{display:flex;flex-direction:column;align-items:center;gap:2px}.day-name{font-size:.7rem;color:var(--color-text-muted);font-weight:500}.day-date{font-size:.75rem;color:var(--color-text);font-weight:600}.week-day.studied .day-date{color:#ff6b35}.review-overview-state .review-icon{font-size:3rem;margin-bottom:var(--space-sm)}.review-overview-state h2{font-family:var(--font-sans);font-size:1.75rem;color:var(--color-text);margin-bottom:var(--space-xs)}.review-actions-group{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.review-actions-group .btn{min-width:120px}.review-icon{font-size:4rem;margin-bottom:var(--space-lg);line-height:1}.review-empty-state h2,.review-result-state h2{font-family:var(--font-serif);font-size:2rem;color:var(--color-text);margin-bottom:var(--space-md)}.review-empty-state p{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:1.125rem}.review-stats{display:flex;gap:var(--space-2xl);margin:var(--space-xl) 0 var(--space-2xl)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.stat-label{font-size:.875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-serif);font-size:2.5rem;font-weight:600;color:var(--color-accent)}.review-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);width:100%;max-width:600px;margin:0 auto var(--space-xl);align-items:stretch}.review-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);transition:all .2s ease}.review-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-card-value{font-family:var(--font-serif);font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:var(--space-xs)}.stat-card-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.top-sets-list{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-subtle);width:100%}.top-set-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:.875rem}.top-set-rank{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-card);border-radius:50%;flex-shrink:0}.top-set-title{flex:1;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.top-set-count{font-weight:600;color:var(--color-primary);font-size:.8rem;padding:2px 8px;background:rgba(var(--color-primary-rgb, 204, 120, 92),.1);border-radius:var(--radius-pill)}.due-card .stat-card-value{color:var(--color-primary)}.done-card .stat-card-value{color:var(--color-success)}.today-accuracy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-subtle)}.accuracy-value{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-success)}.accuracy-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.review-action-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%;max-width:300px;margin:0 auto}.btn-xl{width:100%;padding:var(--space-md) var(--space-xl);font-size:1.125rem;font-weight:600;border-radius:var(--radius-pill);box-shadow:var(--shadow-md);transition:all .2s ease}.btn-xl:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.review-time-estimate{font-size:.875rem;color:var(--color-text-muted)}.review-empty-message{text-align:center;padding:var(--space-lg);background:var(--color-bg-subtle);border-radius:var(--radius-lg);width:100%}.empty-title{font-size:1.25rem;font-weight:700;color:var(--color-success);margin-bottom:var(--space-xs)}.empty-desc{color:var(--color-text-muted);font-size:.95rem}.selection-count{font-size:3rem;font-weight:800;margin-bottom:var(--space-xs);line-height:1}.new-cards .selection-count{color:var(--color-primary)}.review-cards .selection-count{color:var(--color-success)}.selection-label{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.selection-desc{font-size:.875rem;color:var(--color-text-muted)}.summary-preview{animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.summary-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-2xl);text-align:center}.summary-header{margin-bottom:var(--space-xl)}.summary-badge{display:inline-block;padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);background:#cc785c1a;border-radius:var(--radius-pill);margin-bottom:var(--space-md)}.summary-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.summary-content{padding:var(--space-xl) var(--space-lg);background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);border-left:3px solid var(--color-accent)}.summary-text{font-size:1.0625rem;line-height:1.8;color:var(--color-text);margin:0;text-align:left}.summary-text-empty{color:var(--color-text-muted);font-style:italic}.summary-meta{display:flex;justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-lg)}.summary-meta-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:.9375rem}.summary-meta-icon{font-size:1.25rem}.summary-meta-value{font-weight:500}.summary-actions{margin-top:var(--space-sm)}@media(max-width:640px){.summary-card{padding:var(--space-xl)}.summary-title{font-size:1.5rem}.summary-content{padding:var(--space-md)}.summary-meta{flex-direction:column;gap:var(--space-sm)}}.progress-container{margin-bottom:var(--space-md)}.progress-bar{width:100%;height:6px;background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-pill);transition:width .4s ease;box-shadow:0 0 8px #cc785c40}.source-display{margin-top:var(--space-lg);padding-top:var(--space-lg);text-align:left}.source-label{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-weight:500;font-family:var(--font-sans)}.source-link{color:var(--color-accent);text-decoration:none;word-break:break-all;display:inline-flex;align-items:center;font-family:var(--font-sans)}.source-link:hover{text-decoration:underline}.source-link-icon{margin-right:var(--space-xs)}.source-image-container{max-width:100%;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.source-image{max-width:100%;max-height:200px;object-fit:cover;display:block}.source-text-container{position:relative}.source-text{font-size:.875rem;line-height:1.5;color:var(--color-text);white-space:pre-wrap;font-family:var(--font-sans);background-color:var(--color-bg);padding:var(--space-md);border-radius:var(--radius-md);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-text-container.expanded .source-text{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.btn-text-expand{background:none;border:none;color:var(--color-accent);font-size:.875rem;cursor:pointer;padding:0;margin-top:var(--space-xs);font-family:var(--font-sans)}.btn-text-expand:hover{text-decoration:underline;color:var(--color-accent-hover)}.review-action-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0 0 0;margin-top:var(--space-md);background:transparent;border:none;border-top:1px solid var(--color-border-subtle)}.action-bar-nav{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;color:var(--color-text);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-width:90px}.action-bar-nav:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-accent);color:var(--color-accent)}.action-bar-nav:disabled{opacity:.4;cursor:not-allowed}.action-bar-prev{justify-content:flex-start}.action-bar-next{justify-content:flex-end}.action-bar-actions{display:flex;align-items:center;gap:var(--space-sm)}.action-bar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.action-bar-btn:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border);color:var(--color-accent)}.action-bar-btn:disabled{opacity:.4;cursor:not-allowed}.action-bar-btn-archive:hover:not(:disabled){color:var(--color-warning, #e67e22);border-color:var(--color-warning, #e67e22)}@media(max-width:640px){.review-action-bar{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.action-bar-nav{min-width:auto;padding:var(--space-sm)}.action-bar-nav span{display:none}.action-bar-btn{width:32px;height:32px}.action-bar-actions{gap:var(--space-xs)}}.card-edit-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);width:90%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.card-edit-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border-subtle)}.card-edit-title{display:flex;align-items:center;gap:var(--space-md)}.card-edit-title h3{margin:0;font-size:1.125rem;font-weight:600}.card-edit-title .card-type-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);background:#cc785c1a;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.card-edit-error{margin:var(--space-md) var(--space-xl) 0;padding:var(--space-sm) var(--space-md);background:#c750501a;border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem}.card-edit-content{flex:1;overflow-y:auto;padding:var(--space-xl)}.card-edit-content .form-group{margin-bottom:var(--space-lg)}.card-edit-content .form-group:last-child{margin-bottom:0}.card-edit-content label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.card-edit-content textarea,.card-edit-content input[type=text]{width:100%;padding:var(--space-sm) var(--space-md);font-size:.9375rem;font-family:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);resize:vertical}.card-edit-content textarea:focus,.card-edit-content input[type=text]:focus{outline:none;border-color:var(--color-accent)}.form-hint{margin-top:var(--space-xs);font-size:.8125rem;color:var(--color-text-muted)}.options-editor{display:flex;flex-direction:column;gap:var(--space-sm)}.option-row{display:flex;align-items:center;gap:var(--space-sm)}.option-radio{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer}.option-radio input[type=radio]{display:none}.option-radio .option-marker{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-border);transition:all var(--transition-fast)}.option-radio input[type=radio]:checked+.option-marker{background:var(--color-success);border-color:var(--color-success);color:#fff}.option-row input[type=text]{flex:1}.btn-remove-option{color:var(--color-text-muted);opacity:.6;transition:all var(--transition-fast)}.btn-remove-option:hover{color:var(--color-error);opacity:1}.btn-add-option{align-self:flex-start;margin-top:var(--space-xs)}.tf-toggle{display:flex;gap:var(--space-sm)}.tf-option{flex:1;padding:var(--space-md);font-size:.9375rem;font-weight:500;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.tf-option:hover{border-color:var(--color-accent)}.tf-option.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.tf-option:last-child.active{background:var(--color-error);border-color:var(--color-error)}.card-edit-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border-subtle)}.card-edit-footer .btn{display:inline-flex;align-items:center;gap:var(--space-xs)}@media(max-width:640px){.card-edit-modal{width:100%;max-width:none;max-height:100vh;border-radius:0}.card-edit-header,.card-edit-content,.card-edit-footer{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@keyframes x-markdown-fade-in{0%{opacity:0}to{opacity:1}}.x-markdown{--text-color: inherit;--font-size: inherit;--margin-block: 0 0 1em 0;--td-th-padding: .85em 1em;--pre-th-td-padding: 2px 0;--border-font-weight: 600;--padding-ul-ol: 0 0 0 1em;--margin-ul-ol: 0 0 1em 1.8em;--margin-li: .25em 0;--margin-pre: 1em 0;--padding-code-inline: .2em .4em;--margin-code-inline: 0 .2em;--code-inline-text: .85em;--small-border-radius: 2px;--image-margin: .5em 0;--hr-margin: 1.5em 0;--table-margin: 1em 0;font-size:var(--font-size);line-height:1.5714285714285714;width:100%;color:var(--text-color)}.x-markdown p,.x-markdown div,.x-markdown span,.x-markdown li{word-break:break-word;overflow-wrap:break-word}.x-markdown pre,.x-markdown code{word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}.x-markdown th,.x-markdown td{padding:var(--td-th-padding)}.x-markdown th{font-weight:var(--border-font-weight)}.x-markdown pre table{box-shadow:none}.x-markdown pre td,.x-markdown pre th{padding:var(--pre-th-td-padding);border:none;text-align:left}.x-markdown p{margin:var(--margin-block)}.x-markdown p:first-child{margin-top:0}.x-markdown p:last-child{margin-bottom:0}.x-markdown ul,.x-markdown ol{margin:var(--margin-ul-ol);padding:var(--padding-ul-ol)}.x-markdown ul:first-child,.x-markdown ol:first-child{margin-top:0}.x-markdown ul:last-child,.x-markdown ol:last-child{margin-bottom:0}.x-markdown ol>li{list-style:decimal}.x-markdown ul>li{list-style:disc}.x-markdown li{margin:var(--margin-li)}.x-markdown li:first-child{margin-top:0}.x-markdown li:last-child{margin-bottom:0}.x-markdown pre{margin:var(--margin-pre);overflow-x:auto}.x-markdown pre:first-child{margin-top:0}.x-markdown pre:last-child{margin-bottom:0}.x-markdown code{padding:var(--padding-code-inline);margin:var(--margin-code-inline);font-size:var(--code-inline-text);border-radius:var(--small-border-radius)}.x-markdown pre code{padding:0;margin:0;font-size:inherit;border-radius:0;line-height:2}.x-markdown img{max-width:100%;height:auto;margin:var(--image-margin)}.x-markdown hr{margin:var(--hr-margin)}.x-markdown table:not(pre){margin:var(--table-margin);border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.x-markdown table:not(pre):first-child{margin-top:0}.x-markdown table:not(pre):last-child{margin-bottom:0}.x-markdown .inline-katex .katex-display{display:inline-block;margin:0;text-align:initial;vertical-align:middle}.x-markdown .inline-katex .katex-display>.katex{display:inline-block;text-align:initial;white-space:normal}.x-markdown .inline-katex .katex-display>.katex>.katex-html{display:inline-block;position:static}.x-markdown .inline-katex .katex-display>.katex>.katex-html>.tag{position:static}.card-chat-panel{flex:1 1 50%;min-width:320px;margin-top:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;position:relative;animation:slideInRight .3s ease;align-self:flex-start;max-height:calc(100vh - 250px);overflow:hidden}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.card-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.card-chat-header-title{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;font-weight:600;color:var(--color-text)}.card-chat-header-title svg{color:var(--color-accent)}.card-chat-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.card-chat-close:hover{background:var(--color-bg);color:var(--color-text)}.card-chat-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);min-height:0}.card-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted);padding:var(--space-lg)}.card-chat-empty svg{color:var(--color-accent);opacity:.5;margin-bottom:var(--space-md)}.card-chat-empty p{font-size:.9rem;line-height:1.5;max-width:280px}.card-chat-message{display:flex;gap:var(--space-sm);align-items:flex-start}.card-chat-message.user{flex-direction:row-reverse}.card-chat-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);color:var(--color-text-muted)}.card-chat-message.assistant .card-chat-avatar,.card-chat-avatar.assistant{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.card-chat-bubble{max-width:85%;display:flex;flex-direction:column;gap:var(--space-xs)}.card-chat-content{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.card-chat-message.user .card-chat-content{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--radius-xs)}.card-chat-message.assistant .card-chat-content{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border-subtle);border-bottom-left-radius:var(--radius-xs);white-space:normal}.card-chat-message.assistant .card-chat-content h1,.card-chat-message.assistant .card-chat-content h2,.card-chat-message.assistant .card-chat-content h3,.card-chat-message.assistant .card-chat-content h4{margin:.5em 0 .3em;font-weight:600;line-height:1.4}.card-chat-message.assistant .card-chat-content h1{font-size:1.1em}.card-chat-message.assistant .card-chat-content h2{font-size:1.05em}.card-chat-message.assistant .card-chat-content h3{font-size:1em}.card-chat-message.assistant .card-chat-content p{margin:.4em 0}.card-chat-message.assistant .card-chat-content ul,.card-chat-message.assistant .card-chat-content ol{margin:.4em 0;padding-left:1.5em}.card-chat-message.assistant .card-chat-content li{margin:.2em 0}.card-chat-message.assistant .card-chat-content code{background:var(--color-bg);padding:.15em .4em;border-radius:var(--radius-xs);font-size:.85em;font-family:SF Mono,Monaco,Courier New,monospace}.card-chat-message.assistant .card-chat-content pre{background:var(--color-bg);padding:var(--space-sm);border-radius:var(--radius-sm);overflow-x:auto;margin:.5em 0}.card-chat-message.assistant .card-chat-content pre code{background:none;padding:0}.card-chat-message.assistant .card-chat-content blockquote{border-left:3px solid var(--color-accent);margin:.5em 0;padding-left:var(--space-sm);color:var(--color-text-muted)}.card-chat-message.assistant .card-chat-content strong{font-weight:600}.card-chat-message.assistant .card-chat-content a{color:var(--color-accent);text-decoration:none}.card-chat-message.assistant .card-chat-content a:hover{text-decoration:underline}.card-chat-time{font-size:.7rem;color:var(--color-text-muted);opacity:.7}.card-chat-message.user .card-chat-time{text-align:right}.card-chat-typing{display:flex;gap:var(--space-sm);align-items:center}.card-chat-typing-dots{display:flex;gap:4px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.card-chat-typing-dots span{width:6px;height:6px;background:var(--color-text-muted);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.card-chat-typing-dots span:nth-child(2){animation-delay:.2s}.card-chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.card-chat-input-area{padding:var(--space-md);border-top:1px solid var(--color-border-subtle);flex-shrink:0}.card-chat-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:#c750501a;border:1px solid rgba(199,80,80,.2);border-radius:var(--radius-sm);font-size:.8rem;color:var(--color-error)}.card-chat-error button{background:none;border:none;color:var(--color-error);cursor:pointer;padding:2px;display:flex}.card-chat-input-wrapper{display:flex;gap:var(--space-sm);align-items:flex-end}.card-chat-input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text);font-size:.875rem;font-family:inherit;line-height:1.5;resize:none;outline:none;transition:border-color var(--transition-fast);min-height:100px;max-height:150px;overflow-y:auto}.card-chat-input::-webkit-scrollbar{width:6px}.card-chat-input::-webkit-scrollbar-track{background:transparent;margin:8px 0}.card-chat-input::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.card-chat-input::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.card-chat-input:focus{border-color:var(--color-accent)}.card-chat-input::placeholder{color:var(--color-text-muted)}.card-chat-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.card-chat-send:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.card-chat-send:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.card-chat-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;border-radius:0;z-index:1000;box-shadow:-4px 0 24px #00000026}}.card-set-list{display:flex;flex-direction:column;gap:var(--space-md)}.card-set-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);cursor:pointer;transition:all var(--transition-fast)}.card-set-item:hover{border-color:var(--color-border);transform:translate(4px)}.card-set-info h4{font-family:var(--font-sans);font-size:1rem;font-weight:500;margin-bottom:var(--space-xs)}.card-set-meta{font-size:.8125rem;color:var(--color-text-muted)}.card-set-item-new{position:relative;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:all var(--transition-fast)}.card-set-item-new:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-set-menu{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:10}.card-set-content{padding-right:var(--space-3xl)}.card-set-title{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-sm) 0;line-height:1.4}.card-set-summary{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin:0 0 var(--space-md) 0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-set-meta-row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.card-set-count,.card-set-date{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--color-text-muted)}.meta-icon{font-size:.875rem;opacity:.7}.card-set-practice-row{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--color-border-subtle)}.card-set-practice,.card-set-accuracy{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--color-text-muted)}.card-set-accuracy{color:var(--color-success);font-weight:500}.more-menu{position:relative}.more-menu-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-muted)}.more-menu-trigger:hover{background:var(--color-bg);color:var(--color-text)}.more-menu-dots{font-size:1.25rem;font-weight:700;line-height:1}.more-menu-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-xs);min-width:160px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100;animation:menuFadeIn .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.more-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;font-size:.875rem;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);text-align:left}.more-menu-item:hover{background:var(--color-bg)}.more-menu-item-danger{color:var(--color-error)}.more-menu-item-danger:hover{background:#c750501a}.more-menu-icon{font-size:1rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.card-preview{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-md);transition:all var(--transition-fast)}.card-preview:hover{border-color:var(--color-border)}.card-preview-header{margin-bottom:var(--space-sm)}.card-preview-question{font-size:.9375rem;color:var(--color-text);line-height:1.5;margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-preview-source{font-size:.75rem;color:var(--color-text-muted)}.edit-modal-overlay{z-index:1000}.card-set-edit-modal{position:relative;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(to bottom,var(--color-bg),transparent)}.edit-modal-title-section{flex:1;min-width:0}.title-display{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.title-display h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-edit-title{opacity:0;transition:opacity var(--transition-fast)}.title-display:hover .btn-edit-title{opacity:.6}.btn-edit-title:hover{opacity:1!important}.title-edit-wrapper{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.title-input{flex:1;padding:var(--space-sm) var(--space-md);font-size:1.125rem;font-weight:600;border:2px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none}.title-input:focus{box-shadow:0 0 0 3px rgba(var(--color-accent-rgb, 174, 129, 100),.2)}.card-count-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border-radius:var(--radius-full)}.btn-close{color:var(--color-text-muted);transition:all var(--transition-fast)}.btn-close:hover{color:var(--color-text);background:var(--color-bg)}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-muted)}.btn-icon:hover{background:var(--color-bg);color:var(--color-text)}.edit-modal-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) var(--space-lg);background:#c750501a;border:1px solid rgba(199,80,80,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem}.edit-modal-error button{margin-left:auto;background:transparent;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-error);opacity:.7;transition:opacity var(--transition-fast)}.edit-modal-error button:hover{opacity:1}.edit-modal-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-muted)}.cards-reorder-list{display:flex;flex-direction:column;gap:var(--space-md)}.list-header{display:flex;align-items:center;justify-content:space-between}.list-tip{font-size:.8125rem;color:var(--color-text-muted)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.8125rem;gap:var(--space-xs)}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.card-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:grab;transition:all var(--transition-fast)}.card-list-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.card-list-item.dragging{opacity:.5;cursor:grabbing}.card-list-item.drag-over{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb, 174, 129, 100),.05);transform:translateY(2px)}.card-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:grab;padding:var(--space-xs);margin:calc(-1 * var(--space-xs));transition:color var(--transition-fast)}.card-list-item:hover .card-drag-handle{color:var(--color-text)}.card-list-info{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-sm)}.card-type-badge{flex-shrink:0;font-size:.6875rem;font-weight:500;padding:2px 6px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.card-question-preview{flex:1;min-width:0;font-size:.875rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-delete-card{flex-shrink:0;opacity:0;color:var(--color-text-muted);transition:all var(--transition-fast)}.card-list-item:hover .btn-delete-card{opacity:1}.btn-delete-card:hover{color:var(--color-error)!important;background:#c750501a}.delete-confirm-overlay{z-index:1100}.delete-confirm-modal{max-width:400px}.card-preview-text{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);font-style:italic;font-size:.875rem}.edit-modal-content .empty-state{padding:var(--space-2xl)}.edit-modal-content::-webkit-scrollbar{width:6px}.edit-modal-content::-webkit-scrollbar-track{background:transparent}.edit-modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.edit-modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-gradient-end, #E8E7E2) 100%);position:relative}.auth-theme-toggle{position:absolute;top:var(--space-lg);right:var(--space-lg);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-muted)}.auth-theme-toggle:hover{border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm);transform:scale(1.05)}.theme-system-indicator{position:absolute;bottom:4px;right:4px;color:var(--color-accent)}.auth-card{width:100%;max-width:420px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-md);animation:authFadeIn .4s ease}@keyframes authFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-logo{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--color-accent);margin-bottom:var(--space-sm);letter-spacing:-.02em}.auth-tagline{font-size:.9375rem;color:var(--color-text-muted);margin:0}.auth-tabs{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-bg);border-radius:var(--radius-pill);margin-bottom:var(--space-lg)}.auth-tab{flex:1;padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast)}.auth-tab:hover{color:var(--color-text)}.auth-tab.active{background:var(--color-bg-card);color:var(--color-text);box-shadow:var(--shadow-sm)}.auth-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#c7505014;border:1px solid rgba(199,80,80,.2);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem;margin-bottom:var(--space-lg);animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.auth-error-icon{font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-field{display:flex;flex-direction:column;gap:var(--space-xs)}.auth-field label{font-size:.875rem;font-weight:500;color:var(--color-text)}.auth-field .input{padding:var(--space-md)}.auth-submit{margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);font-size:1rem;width:100%}.auth-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-subtle)}.auth-footer p{font-size:.875rem;color:var(--color-text-muted);margin:0}.auth-link{background:none;border:none;color:var(--color-accent);font-weight:500;cursor:pointer;transition:color var(--transition-fast);margin-left:var(--space-xs)}.auth-link:hover{color:var(--color-accent-hover);text-decoration:underline}.auth-features{display:flex;gap:var(--space-xl);margin-top:var(--space-2xl);animation:authFadeIn .6s ease .2s both}.auth-feature{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:var(--color-text-muted)}.auth-feature-icon{display:flex;align-items:center;justify-content:center;color:var(--color-accent)}@media(max-width:640px){.auth-container{padding:var(--space-md)}.auth-card{padding:var(--space-xl)}.auth-logo{font-size:1.75rem}.auth-features{flex-direction:column;gap:var(--space-md);align-items:center}}.chat-page{display:flex;height:calc(100vh - 200px);min-height:500px;margin-top:var(--space-lg);background:var(--color-bg-card);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);overflow:hidden}.chat-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-card);border-right:1px solid var(--color-border);overflow:hidden}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-subtle)}.chat-sidebar-header h3{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.new-chat-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.new-chat-btn:hover{background:var(--color-accent-hover);transform:scale(1.05)}.chat-history-list{flex:1;overflow-y:auto;padding:var(--space-sm)}.chat-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);text-align:center;padding:var(--space-xl)}.chat-history-empty svg{margin-bottom:var(--space-md);opacity:.5}.chat-history-empty p{font-size:.875rem;margin:0}.chat-history-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-xs);position:relative}.chat-history-item:hover{background:rgba(var(--color-accent-rgb),.08)}.chat-history-item.active{background:rgba(var(--color-accent-rgb),.15)}.chat-history-item-content{flex:1;min-width:0}.chat-history-item-title{font-size:.875rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 var(--space-xs) 0}.chat-history-item-time{font-size:.75rem;color:var(--color-text-muted);margin:0}.chat-history-item-delete{opacity:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-history-item:hover .chat-history-item-delete{opacity:1}.chat-history-item-delete:hover{background:var(--color-error);color:#fff}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--color-bg-card);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-subtle)}.chat-header-title{display:flex;align-items:center;gap:var(--space-sm)}.chat-header-title h2{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0}.chat-header-back{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--color-text-muted);font-size:.875rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-header-back:hover{background:rgba(var(--color-accent-rgb),.1);color:var(--color-accent)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.chat-messages-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted)}.chat-messages-empty svg{margin-bottom:var(--space-md);opacity:.5;color:var(--color-accent)}.chat-messages-empty h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-sm) 0}.chat-messages-empty p{font-size:.875rem;margin:0;max-width:300px;line-height:1.6}.chat-message{display:flex;gap:var(--space-md);max-width:85%;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.chat-message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-message.user .chat-message-avatar{background:var(--color-accent);color:#fff}.chat-message.assistant .chat-message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.chat-message-content{display:flex;flex-direction:column;gap:var(--space-xs)}.chat-message-bubble{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:.9375rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-message.user .chat-message-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-message-bubble{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-subtle);border-bottom-left-radius:4px}.chat-message-time{font-size:.75rem;color:var(--color-text-muted);padding:0 var(--space-sm)}.chat-message.user .chat-message-time{text-align:right}.chat-typing-indicator{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0}.chat-typing-dots{display:flex;gap:4px;padding:var(--space-md) var(--space-lg);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.chat-typing-dots span{width:8px;height:8px;background:var(--color-text-muted);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.chat-typing-dots span:nth-child(1){animation-delay:0s}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-input-area{padding:var(--space-lg);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-card)}.chat-input-container{display:flex;gap:var(--space-sm);align-items:center}.chat-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.chat-input{width:100%;height:40px;max-height:120px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;resize:none;outline:none;transition:all var(--transition-fast)}.chat-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),.15)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.chat-send-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:scale(1.05)}.chat-send-btn:disabled{background:var(--color-border);cursor:not-allowed}.chat-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#c750501a;border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem;margin-bottom:var(--space-md)}.chat-error-close{margin-left:auto;background:none;border:none;color:var(--color-error);cursor:pointer;padding:var(--space-xs);display:flex;align-items:center;justify-content:center}@media(max-width:768px){.chat-page{flex-direction:column;height:calc(100vh - 180px)}.chat-sidebar{width:100%;height:auto;max-height:200px}.chat-main{flex:1;min-height:0}.chat-message{max-width:95%}}
