@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;overflow-y:scroll}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)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.textarea::-webkit-scrollbar{width:6px}.textarea::-webkit-scrollbar-track{background:var(--color-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.textarea::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.textarea::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-lg);transition:max-width .3s ease}.container:has(.with-chat-panel),.container:has(.chat-page){max-width:1400px}.section{margin-bottom:var(--space-3xl)}.create-view{position:relative;max-width:720px;width:100%;margin:0 auto}.create-view>.card:first-child{margin-top:calc(var(--space-2xl) * 2 - var(--space-xl))}@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{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.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);opacity:0;animation:fadeInLoading .3s ease forwards;animation-delay:.3s}@keyframes fadeInLoading{to{opacity:1}}.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}}.generate-settings{margin-top:var(--space-md);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-md)}.generate-settings-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) 0;font-size:.875rem;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.generate-settings-toggle:hover{color:var(--color-text)}.generate-settings-value{margin-left:auto;font-weight:500;color:var(--color-accent)}.generate-settings-panel{padding:var(--space-md) 0 var(--space-sm);animation:settingsPanelSlideIn .2s ease}@keyframes settingsPanelSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.setting-row{display:flex;flex-direction:column;gap:var(--space-xs)}.setting-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.setting-control{display:flex;align-items:center;gap:var(--space-md)}.setting-slider{flex:1;height:4px;appearance:none;background:var(--color-border);border-radius:2px;cursor:pointer}.setting-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast)}.setting-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.setting-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-accent);border:none;border-radius:50%;cursor:pointer}.setting-value{min-width:36px;font-size:.875rem;font-weight:600;color:var(--color-accent);text-align:right}.setting-hint{font-size:.75rem;color:var(--color-text-muted);margin:0}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-nav{position:sticky;top:0;background:#f0efeae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}[data-theme=dark] .app-nav{background:#1a1918e6}.app-nav-inner{display:flex;flex-direction:column;max-width:1260px;margin:0 auto;padding:var(--space-sm) var(--space-xl)}.app-nav-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.app-nav-brand{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text);cursor:pointer;flex-shrink:0;transition:opacity var(--transition-fast)}.app-nav-brand:hover{opacity:.7}.app-nav-links{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);margin-left:calc(-1 * var(--space-sm))}.app-nav-link{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:1rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color var(--transition-fast);white-space:nowrap;position:relative}.app-nav-link:hover{color:var(--color-text)}.app-nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent);border-radius:1px;transition:width .25s ease,left .25s ease}.app-nav-link:hover:after{width:60%;left:20%}.app-nav-link.active{color:var(--color-text)}.app-nav-link.active:after{width:80%;left:10%}.app-nav-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.app-main{flex:1;display:flex;flex-direction:column;max-width:1260px;width:100%;margin:0 auto;padding:var(--space-xl) var(--space-xl) var(--space-2xl)}@media(max-width:640px){.app-nav-inner{padding:var(--space-sm) var(--space-md)}.app-nav-brand{font-size:1.25rem}.app-nav-links{gap:0;margin-top:var(--space-xs);margin-left:0;width:100%;justify-content:space-around}.app-nav-link{flex:1;justify-content:center;padding:var(--space-sm) var(--space-xs);font-size:1rem}.nav-badge{min-width:16px;height:16px;font-size:.6875rem}.app-main{padding:var(--space-lg) var(--space-md)}}.container{max-width:1260px;margin:0 auto;padding:var(--space-2xl) var(--space-xl)}.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-xs);background:transparent;border:none;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.user-info-trigger:hover{opacity:.8}.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}.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)}@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}.sequence-hint{font-size:.875rem;color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-md)}.sequence-items{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.sequence-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.sequence-item.draggable{cursor:grab}.sequence-item.draggable:hover{border-color:var(--color-accent);background:#cc785c08}.sequence-item.draggable:active{cursor:grabbing}.sequence-item.dragging{opacity:.6;border-color:var(--color-accent);background:#cc785c26;box-shadow:0 4px 12px #cc785c4d;transform:scale(.98)}.sequence-item.insert-before{position:relative}.sequence-item.insert-before:before{content:"";position:absolute;top:calc(-1 * var(--space-sm) / 2 - 2px);left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light, #e0a090));border-radius:2px;box-shadow:0 0 8px #cc785c80;animation:insert-indicator-pulse 1s ease-in-out infinite}.sequence-item.insert-after{position:relative}.sequence-item.insert-after:after{content:"";position:absolute;bottom:calc(-1 * var(--space-sm) / 2 - 2px);left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light, #e0a090));border-radius:2px;box-shadow:0 0 8px #cc785c80;animation:insert-indicator-pulse 1s ease-in-out infinite}@keyframes insert-indicator-pulse{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.7;transform:scaleX(.98)}}.sequence-item.disabled{cursor:default}.sequence-item.correct{border-color:var(--color-success);background:#5a8f6a0f}.sequence-item.incorrect{border-color:var(--color-error);background:#c750500f}.sequence-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0;touch-action:none}.sequence-item.draggable:hover .sequence-drag-handle{color:var(--color-accent)}.sequence-item-content{display:flex;align-items:center;gap:var(--space-md);flex:1}.sequence-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;border-radius:50%;background:var(--color-bg-card);border:1px solid var(--color-border);flex-shrink:0;color:var(--color-text-muted)}.sequence-item.correct .sequence-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.sequence-item.incorrect .sequence-number{background:var(--color-error);border-color:var(--color-error);color:#fff}.sequence-text{flex:1;font-size:1rem;color:var(--color-text)}.sequence-confirm{display:flex;justify-content:center;margin-top:var(--space-md)}.sequence-result{padding:var(--space-md);border-radius:var(--radius-sm);font-weight:600;text-align:center;margin-bottom:var(--space-md)}.sequence-result.correct{background:#5a8f6a1a;color:var(--color-success);border:1px solid var(--color-success)}.sequence-result.incorrect{background:#c750501a;color:var(--color-error);border:1px solid var(--color-error)}.sequence-correct-order{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.sequence-correct-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:.9375rem}.matching-hint{font-size:.875rem;color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-md)}.matching-container{position:relative;display:flex;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-lg);padding:0 var(--space-sm)}.matching-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.matching-line{stroke:var(--color-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .2s ease}.matching-line.correct{stroke:var(--color-success);stroke-width:2.5}.matching-line.incorrect{stroke:var(--color-error);stroke-width:2.5}.matching-column{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;max-width:45%;z-index:2}.matching-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;min-height:48px}.matching-item:hover:not(.disabled){border-color:var(--color-accent);background:#cc785c08}.matching-item.selected{border-color:var(--color-accent);background:#cc785c1a;box-shadow:0 0 0 3px #cc785c33}.matching-item.connected{border-color:var(--color-accent);background:#cc785c0d}.matching-item.disabled{cursor:default}.matching-item.correct{border-color:var(--color-success);background:#5a8f6a0f}.matching-item.incorrect{border-color:var(--color-error);background:#c750500f}.matching-item-left{justify-content:space-between}.matching-item-right{justify-content:flex-start}.matching-item-text{flex:1;font-size:.9375rem;color:var(--color-text);line-height:1.4}.matching-connected-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.matching-confirm{display:flex;justify-content:center;margin-top:var(--space-md)}.matching-confirm .btn:disabled{opacity:.5;cursor:not-allowed}.matching-result{padding:var(--space-md);border-radius:var(--radius-sm);font-weight:600;text-align:center;margin-bottom:var(--space-md)}.matching-result.correct{background:#5a8f6a1a;color:var(--color-success);border:1px solid var(--color-success)}.matching-result.incorrect{background:#c750501a;color:var(--color-error);border:1px solid var(--color-error)}.matching-correct-pairs{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.matching-correct-pair{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:.9375rem}.matching-pair-left{flex:1;color:var(--color-text)}.matching-arrow{color:var(--color-accent);font-weight:600;flex-shrink:0}.matching-pair-right{flex:1;color:var(--color-text);text-align:right}@media(max-width:600px){.matching-container{flex-direction:column;gap:var(--space-lg)}.matching-column{max-width:100%}.matching-lines-svg{display:none}.matching-item-left,.matching-item-right{justify-content:center}.matching-item.connected{position:relative}.matching-item.connected:after{content:"";position:absolute;right:var(--space-sm);width:8px;height:8px;border-radius:50%;background:var(--color-accent)}.matching-item-right.connected:after{left:var(--space-sm);right:auto}.matching-connected-dot{display:none}.matching-correct-pair{flex-direction:column;text-align:center;gap:var(--space-xs)}.matching-pair-left,.matching-pair-right{text-align:center}}.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-sm)}.review-card-content.slide-right{animation:slideFromRight .35s cubic-bezier(.25,.46,.45,.94)}.review-card-content.slide-left{animation:slideFromLeft .35s cubic-bezier(.25,.46,.45,.94)}@keyframes slideFromRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.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-top-area{max-width:750px;width:100%;margin:0 auto}.review-main-area{display:flex;flex-direction:column;flex:1;margin-top:var(--space-xs);min-height:0}.review-card-section{max-width:750px;width:100%;margin:0 auto;display:flex;flex-direction:column}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.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}.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;max-width:680px;margin:0 auto}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.summary-card-compact{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg)}.summary-header-row{margin-bottom:var(--space-sm)}.summary-header-row .summary-badge{display:inline-block;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);background:#cc785c1a;border-radius:var(--radius-pill);margin-bottom:var(--space-xs)}.summary-header-row .summary-title{font-family:var(--font-serif);font-size:1.375rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.summary-text-inline{font-size:.9375rem;line-height:1.6;color:var(--color-text-muted);margin:0 0 var(--space-sm) 0}.summary-meta-inline{display:flex;justify-content:center;gap:var(--space-lg);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.summary-meta-inline .summary-meta-item{display:flex;align-items:center;gap:var(--space-xs)}.summary-start-btn{margin-top:var(--space-md)}.source-section{margin-top:var(--space-lg)}.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-preview{max-width:none}.summary-card{padding:var(--space-xl)}.summary-card-compact{padding:var(--space-md)}.summary-title{font-size:1.5rem}.summary-header-row .summary-title{font-size:1.25rem}.summary-content{padding:var(--space-md)}.summary-meta,.summary-meta-inline{flex-direction:column;gap:var(--space-sm)}}.card-type-stats{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:rgba(var(--color-primary-rgb, 204, 120, 92),.08);border-radius:var(--radius-sm);flex-wrap:wrap}.card-type-stat-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--color-text-muted)}.card-type-label{font-weight:500}.card-type-count{font-weight:600;color:var(--color-text)}.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}.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-complete{justify-content:center;background:var(--color-accent);border-color:var(--color-accent);color:#fff}.action-bar-complete:hover:not(:disabled){background:var(--color-accent-hover, #b86a4a);border-color:var(--color-accent-hover, #b86a4a);color:#fff}.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)}.action-bar-btn-wrapper{position:relative}.regenerate-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:140px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;padding:var(--space-xs);z-index:100;animation:menuFadeIn .15s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.regenerate-menu:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--color-bg);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.regenerate-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left;position:relative}.regenerate-menu-item:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.regenerate-menu-item.has-submenu{padding-right:var(--space-sm)}.regenerate-submenu{position:absolute;left:calc(100% + 4px);top:-4px;min-width:120px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;padding:var(--space-xs);z-index:101;animation:submenuFadeIn .15s ease-out}@keyframes submenuFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.regenerate-submenu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left}.regenerate-submenu-item:hover:not(:disabled){background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.regenerate-submenu-item:disabled{cursor:default}.regenerate-submenu-item.is-current{color:var(--color-text-muted)}.current-badge{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-subtle);padding:2px 6px;border-radius:var(--radius-xs)}.action-bar-btn.is-loading{pointer-events:none}.action-bar-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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)}.sequence-editor{display:flex;flex-direction:column;gap:var(--space-sm)}.sequence-edit-row{display:flex;align-items:center;gap:var(--space-sm)}.sequence-order-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border-radius:50%;flex-shrink:0}.sequence-input{flex:1}.sequence-controls-vertical{display:flex;flex-direction:column;gap:2px}.btn-icon-sm{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-bg);color:var(--color-text-muted);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast)}.btn-icon-sm:hover:not(:disabled){background:var(--color-bg-card);color:var(--color-text)}.btn-icon-sm:disabled{opacity:.3;cursor:not-allowed}.btn-icon-sm.btn-remove-option:hover{background:#c750501a;color:var(--color-error)}.matching-editor{display:flex;flex-direction:column;gap:var(--space-sm)}.matching-editor-header{display:grid;grid-template-columns:1fr auto 1fr auto;gap:var(--space-sm);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--space-xs)}.matching-edit-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:var(--space-sm);align-items:center}.matching-input{flex:1;min-width:0}.matching-select{width:70px;padding:var(--space-sm);font-size:.875rem;font-family:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast)}.matching-select:focus{outline:none;border-color:var(--color-accent)}@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)}}.chat-message-list{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);background:transparent}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted)}.chat-empty-state svg{margin-bottom:var(--space-md);opacity:.5;color:var(--color-accent)}.chat-empty-state h3{font-family:var(--font-sans);font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-sm) 0}.chat-empty-state p{font-size:.875rem;margin:0;max-width:300px;line-height:1.6}.chat-message-item{display:flex;align-items:flex-end;gap:var(--space-xs);max-width:90%;animation:chatMessageSlideIn .2s ease-out}@keyframes chatMessageSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-message-item.user{align-self:flex-end}.chat-message-item.assistant{align-self:flex-start}.chat-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-avatar svg{width:14px;height:14px}.chat-message-item.user .chat-avatar{background:var(--color-accent);color:#fff}.chat-message-item.assistant .chat-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.chat-bubble{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5;min-width:0;max-width:100%;transition:width .15s ease-out}.chat-message-item.user .chat-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.chat-message-item.assistant .chat-bubble{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border-subtle);border-bottom-left-radius:4px}.chat-time{font-size:.625rem;color:var(--color-text-muted);opacity:.6;white-space:nowrap;flex-shrink:0;align-self:flex-end;padding-bottom:2px}.chat-content{word-break:break-word}.chat-content h1,.chat-content h2,.chat-content h3,.chat-content h4,.chat-content h5,.chat-content h6{font-family:var(--font-sans);font-weight:600;margin:.5em 0 .25em;line-height:1.4}.chat-content h1{font-size:1.1em}.chat-content h2{font-size:1.05em}.chat-content h3{font-size:1em}.chat-content h4,.chat-content h5,.chat-content h6{font-size:.95em}.chat-content pre{background:#0000000d!important;border-radius:var(--radius-sm);padding:var(--space-sm);overflow-x:auto}.chat-message-item.user .chat-content{white-space:pre-wrap}.chat-typing-bubble{padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);border-bottom-left-radius:4px}.typing-dots{display:flex;gap:4px}.typing-dots span{width:6px;height:6px;background:var(--color-text-muted);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.chat-markdown-loading{height:1.5em;width:100px;background:linear-gradient(90deg,transparent 25%,rgba(0,0,0,.05) 50%,transparent 75%);background-size:200% 100%;animation:loadingShimmer 1.5s infinite}@keyframes loadingShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:640px){.chat-message-item{max-width:95%}.chat-bubble{padding:var(--space-xs) var(--space-sm)}}.card-chat-panel{width:100%;min-height:480px;height:90vh;max-height:800px;margin-top:var(--space-md);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:slideInUp .3s ease;overflow:hidden}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(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:640px){.card-chat-panel{min-height:400px;height:80vh;max-height:600px;margin-top:var(--space-sm)}.card-chat-input{min-height:80px}}.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)}.card-list-preview{margin-top:var(--space-lg)}.card-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-subtle)}.card-list-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.card-list-items{display:flex;flex-direction:column;gap:var(--space-sm)}.card-list-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.card-list-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.card-item-index{width:24px;height:24px;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}.card-item-content{flex:1;min-width:0}.card-item-header{margin-bottom:var(--space-xs)}.card-type-badge{display:inline-block;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);background:#cc785c1a;border-radius:var(--radius-pill)}.card-item-question{font-size:.9375rem;line-height:1.5;color:var(--color-text);margin:0;word-break:break-word}.card-item-answer{margin-top:var(--space-sm);padding:var(--space-sm);background:#5a8f6a14;border-radius:var(--radius-xs);font-size:.875rem}.answer-label{color:var(--color-success);font-weight:500;margin-right:var(--space-xs)}.answer-text{color:var(--color-text)}.card-item-actions{display:flex;gap:var(--space-xs);flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.card-list-item:hover .card-item-actions{opacity:1}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-card);color:var(--color-text)}.btn-icon-danger:hover{background:#c750501a;color:var(--color-error)}@media(max-width:640px){.card-item-actions{opacity:1}.card-list-item{padding:var(--space-sm)}}.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)}.daily-plan-overview{display:flex;gap:var(--space-md);max-width:900px;margin:0 auto;padding:var(--space-md)}.daily-plan-main{flex:1;min-width:420px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;align-items:center}.daily-plan-title-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-lg)}.daily-plan-title{font-family:var(--font-sans);font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.daily-plan-content{display:flex;align-items:flex-start;gap:var(--space-xl);width:100%;margin-bottom:var(--space-xl)}.progress-circle-container{position:relative;width:180px;height:180px;flex-shrink:0}.progress-circle{width:100%;height:100%}.progress-circle-bg{stroke:var(--color-border-subtle)}.progress-circle-bar{stroke:var(--color-accent);transition:stroke-dashoffset .5s ease,stroke .3s ease}.progress-circle-bar.completed{stroke:var(--color-success)}.progress-circle-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-circle-value{display:block;font-family:var(--font-serif);font-size:3rem;font-weight:700;line-height:1;color:var(--color-accent);transition:color .3s ease}.progress-circle-container.completed .progress-circle-value{color:var(--color-success)}.progress-circle-total{font-size:1.5rem;font-weight:500;color:var(--color-text-muted)}.progress-circle-label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.daily-plan-sets{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;max-width:220px;background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-xs)}.daily-plan-set-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:.8rem;border-radius:var(--radius-xs)}.daily-plan-set-item:hover{background:var(--color-bg-card)}.set-index{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:50%;flex-shrink:0}.set-title{flex:1;color:var(--color-text);font-weight:500;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.set-count{font-weight:600;color:var(--color-accent);font-size:.7rem;padding:1px 6px;background:#cc785c1a;border-radius:var(--radius-pill)}.daily-plan-action{width:100%;margin-top:auto}.btn-start{width:100%;padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;border-radius:var(--radius-pill)}.daily-plan-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);width:100%}.daily-plan-empty p{color:var(--color-text-muted);margin:0}.btn-create-link{padding:var(--space-sm) var(--space-lg);font-size:.875rem;border-radius:var(--radius-pill);text-decoration:none}.daily-plan-sidebar{width:200px;display:flex;flex-direction:column;gap:var(--space-md);flex-shrink:0}.sidebar-icon-btn{padding:6px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.sidebar-icon-btn svg.spin{animation:spin 1s linear infinite}.sidebar-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-md)}.sidebar-card-title{font-size:.8rem;font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:.05em}.sidebar-card-value{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-success);line-height:1}.sidebar-card-sub{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.history-stats{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm)}.history-stat{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.history-label{color:var(--color-text-muted)}.history-value{font-weight:600;color:var(--color-text)}.history-chart-placeholder{margin-top:var(--space-sm);padding:var(--space-sm) 0}.history-chart{width:100%;height:40px}.recent-sets{display:flex;flex-direction:column;gap:var(--space-xs)}.recent-set-item{padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.8rem}.recent-set-title{color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.recent-empty{font-size:.8rem;color:var(--color-text-muted);text-align:center;padding:var(--space-sm)}@media(max-width:768px){.daily-plan-overview{flex-direction:column;padding:var(--space-sm)}.daily-plan-main{min-width:auto}.daily-plan-content{flex-direction:column;align-items:center}.daily-plan-sets{width:100%;max-width:none}.daily-plan-sidebar{width:100%;flex-direction:row;flex-wrap:wrap}.sidebar-card{flex:1;min-width:140px}.progress-circle-container{width:150px;height:150px}.progress-circle-value{font-size:2.5rem}}.history-card{display:flex;flex-direction:column;gap:12px}.history-loading,.history-error,.chart-empty{text-align:center;color:var(--color-text-secondary);font-size:14px;padding:20px 0}.history-error{color:var(--color-error)}.history-stats{display:flex;gap:6px;flex-wrap:wrap}.history-stat{display:flex;align-items:baseline;gap:4px}.history-label{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.history-value{font-size:20px;font-weight:600;color:var(--color-text-primary)}.history-chart-container{margin-top:0}.history-chart{width:100%;height:auto;display:block}.chart-labels{display:flex;justify-content:space-between;margin-top:4px;padding:0 2px;font-size:10px;color:var(--color-text-secondary)}.chart-label-start,.chart-label-end{font-size:10px;opacity:.7}.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:320px;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%}}.section-transform{background:var(--color-bg)}.transform-demo{position:relative;width:630px;height:390px}.phase-initial{position:absolute;top:0;left:0;right:0}.initial-input-box{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);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-height:56px}.placeholder-text{font-size:.875rem;color:var(--color-text-muted);opacity:.6}.paste-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer}.paste-button svg{width:16px;height:16px}.cursor-pointer{position:absolute;top:10px;right:100px;width:20px;height:20px;color:var(--color-text);z-index:10}.cursor-pointer svg{width:100%;height:100%;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2))}.phase-text{position:absolute;top:0;left:0;right:0}.text-content-box{position:relative;padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:300px;overflow:hidden}.text-content{font-size:.8125rem;line-height:1.7;color:var(--color-text-muted)}.text-content p{margin:0 0 var(--space-sm) 0}.text-content p:last-child{margin-bottom:0}.text-fade-mask{position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to bottom,transparent 0%,var(--color-bg-card) 100%);pointer-events:none}.progress-bar-container{margin-top:var(--space-md);height:4px;background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.progress-bar{height:100%;background:var(--color-accent);border-radius:var(--radius-pill)}.progress-text{margin-top:var(--space-sm);font-size:.75rem;color:var(--color-text-muted);text-align:center}.phase-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.loading-dots{display:flex;gap:6px}.loading-dots span{width:10px;height:10px;background:var(--color-accent);border-radius:50%;animation:dot-bounce .6s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.1s}.loading-dots span:nth-child(3){animation-delay:.2s}@keyframes dot-bounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}.loading-text{font-size:.875rem;color:var(--color-text-muted)}.phase-cards{position:absolute;top:0;left:0;right:0}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.mini-card{padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-height:120px;display:flex;flex-direction:column}.mini-card-tag{display:inline-block;padding:2px 8px;background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);margin-bottom:var(--space-sm);width:fit-content}.mini-card .card-question{margin:0 0 var(--space-sm) 0;font-size:.875rem;color:var(--color-text);line-height:1.4;flex:1}.mini-card .card-answer{margin:0;padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-accent);font-weight:500}@media(max-width:600px){.transform-demo{width:280px}.initial-input-box{flex-direction:column;gap:var(--space-md);text-align:center}.placeholder-text{font-size:.8125rem}.cards-grid{grid-template-columns:repeat(2,1fr)}}.section-memory{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-gradient-end) 100%)}.memory-demo{display:flex;flex-direction:column;gap:var(--space-xl);width:320px}.memory-curve{padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.curve-label{font-size:.75rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.curve-graph{height:100px;margin-bottom:var(--space-xs)}.forgetting-curve{width:100%;height:100%}.curve-animated{stroke:var(--color-accent);stroke-dasharray:600;stroke-dashoffset:600;animation:draw-curve 4s ease-in-out infinite}@keyframes draw-curve{0%{stroke-dashoffset:600}50%,to{stroke-dashoffset:0}}.curve-time{font-size:.75rem;color:var(--color-text-muted);text-align:right}.memory-schedule{display:flex;flex-direction:column;gap:var(--space-sm)}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.schedule-item.today{background:rgba(var(--color-accent-rgb),.08);border-color:var(--color-accent)}.schedule-day{color:var(--color-text);font-weight:500}.schedule-item.today .schedule-day{color:var(--color-accent)}.schedule-cards{color:var(--color-text-muted);font-size:.8125rem}.schedule-item.today .schedule-cards{color:var(--color-accent);font-weight:500}.section-practice{background:var(--color-bg)}.carousel-container{position:relative;width:320px;height:280px;perspective:1000px}.carousel-card{position:absolute;width:100%;padding:var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;transform:scale(.85) translate(100px);transition:all .5s ease;pointer-events:none}.carousel-card.active{opacity:1;transform:scale(1) translate(0);z-index:3;pointer-events:auto}.carousel-card.next{opacity:.5;transform:scale(.9) translate(40px) translateY(20px);z-index:2}.carousel-card.prev{opacity:.5;transform:scale(.9) translate(-40px) translateY(20px);z-index:1}.card-type-tag{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.card-question{font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.5;margin-bottom:var(--space-lg)}.demo-options{display:flex;flex-direction:column;gap:var(--space-xs)}.demo-options .option{padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-muted)}.demo-options .option.correct{background:#5a8f6a1f;color:var(--color-success);font-weight:500}.demo-fill .blank-answer{display:inline-block;padding:var(--space-sm) var(--space-md);background:rgba(var(--color-accent-rgb),.1);color:var(--color-accent);font-weight:500;border-radius:var(--radius-sm);border-bottom:2px solid var(--color-accent)}.demo-tf{display:flex;gap:var(--space-md)}.tf-btn{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-muted);text-align:center}.tf-btn.wrong{background:#c750501f;color:var(--color-error);font-weight:500}.demo-qa .qa-answer{font-size:.875rem;line-height:1.6;color:var(--color-text-muted);margin:0}.carousel-dots{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;gap:var(--space-sm)}.dot{width:8px;height:8px;background:var(--color-border);border:none;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.dot.active{width:24px;background:var(--color-accent);border-radius:var(--radius-pill)}@media(max-width:640px){.carousel-container{width:280px}}.section-chat{background:var(--color-bg)}.chat-demo-container{display:flex;gap:var(--space-lg);align-items:flex-start}@media(max-width:700px){.chat-demo-container{flex-direction:column;align-items:center}}.demo-flashcard{width:280px;padding:var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.demo-flashcard.with-chat{transform:translate(-20px)}@media(max-width:700px){.demo-flashcard.with-chat{transform:none}}.demo-flashcard .card-type-tag{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.demo-flashcard .card-question{font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.5;margin-bottom:var(--space-lg)}.demo-flashcard .demo-options{display:flex;flex-direction:column;gap:var(--space-xs)}.demo-flashcard .demo-options .option{padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-muted)}.demo-flashcard .demo-options .option.correct{background:#5a8f6a1f;color:var(--color-success);font-weight:500}.chat-trigger-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-trigger-btn:hover{background:var(--color-accent-hover)}.chat-trigger-btn svg{width:16px;height:16px}.demo-chat-panel{width:300px;max-height:360px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;opacity:0;transform:translate(-20px) scale(.95);transition:all .3s ease;pointer-events:none}.demo-chat-panel.visible{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.chat-messages{padding:var(--space-md);max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.chat-msg{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5;max-width:90%}.chat-msg.assistant{background:var(--color-bg);color:var(--color-text);align-self:flex-start}.chat-msg.user{background:var(--color-accent);color:#fff;align-self:flex-end}.chat-input-area{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-top:1px solid var(--color-border)}.chat-input-area input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text)}.chat-input-area input:focus{outline:none;border-color:var(--color-accent)}.chat-input-area button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.chat-input-area button:hover{background:var(--color-accent-hover)}.chat-input-area button svg{width:16px;height:16px;color:#fff}@media(max-width:640px){.demo-flashcard,.demo-chat-panel{width:260px}}.book-container{position:relative;width:360px;height:400px;display:flex;align-items:center;justify-content:center;cursor:pointer}.book-wrapper{position:relative;width:240px;height:320px;perspective:1200px;animation:bookFloat 3s ease-in-out infinite}@keyframes bookFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.book-page-right{position:absolute;width:100%;height:100%;background:#f5f4ef;border-radius:3px 10px 10px 3px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:var(--space-lg) var(--space-xl);box-shadow:4px 4px 12px #00000026,2px 2px 4px #0000001a}.book-page-right:before{content:"";position:absolute;right:-3px;top:4px;bottom:4px;width:6px;background:linear-gradient(90deg,#e8e7e2,#d8d7d2,#c8c7c2);border-radius:0 2px 2px 0;box-shadow:1px 0 2px #0000001a}[data-theme=dark] .book-page-right{background:#2d2c2a}[data-theme=dark] .book-page-right:before{background:linear-gradient(90deg,#3d3c3a,#2d2c2a,#1d1c1a)}.book-page-right p{font-family:var(--font-serif);font-size:.875rem;margin:0;line-height:1.6;border-bottom:1px solid var(--color-border);padding-bottom:3px}.book-page-right p span{color:var(--color-text-muted);display:inline-block}.book-cover{position:absolute;width:100%;height:100%;transform-style:preserve-3d;transform-origin:left center}.cover-front{position:absolute;width:100%;height:100%;background:linear-gradient(145deg,#8b7355,#6b5344);border-radius:6px 14px 14px 6px;backface-visibility:hidden}[data-theme=dark] .cover-front{background:linear-gradient(145deg,#c4b8a8,#a89888)}.cover-spine{position:absolute;left:0;top:0;width:16px;height:100%;background:linear-gradient(90deg,#4a3728,#5c4636);border-radius:5px 0 0 5px}[data-theme=dark] .cover-spine{background:linear-gradient(90deg,#7a6a5a,#8a7a6a)}.cover-title{position:absolute;top:var(--space-2xl);left:50%;transform:translate(-50%);text-align:center}.cover-title span{font-family:var(--font-serif);font-size:1.25rem;color:#f5f4ef;letter-spacing:.1em}[data-theme=dark] .cover-title span{color:#2c2c2c}.cover-back{position:absolute;width:100%;height:100%;background:#f5f4ef;border-radius:12px 5px 5px 12px;backface-visibility:hidden;transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:var(--space-lg);box-shadow:-3px 0 12px #0000001a}[data-theme=dark] .cover-back{background:#2d2c2a}.cover-back p{font-family:var(--font-serif);font-size:.95rem;color:var(--color-text-muted);margin:0;line-height:1.6}.book-shadow{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:220px;height:20px;background:radial-gradient(ellipse,rgba(0,0,0,.12) 0%,transparent 70%)}@media(max-width:768px){.book-container{width:280px;height:320px}.book-wrapper{width:180px;height:240px}.book-page-right p,.cover-back p{font-size:.75rem}.cover-title span{font-size:1rem}}.landing-page{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.landing-nav{position:fixed;top:0;left:0;right:0;background:#f0efeae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid var(--color-border-subtle)}[data-theme=dark] .landing-nav{background:#1a1918e6}.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1260px;margin:0 auto;padding:var(--space-md) var(--space-xl)}.nav-brand{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text)}.nav-cta{padding:var(--space-sm) var(--space-lg);background:var(--color-text);color:var(--color-bg);font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.nav-cta:hover{opacity:.85}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-3xl);padding:calc(80px + var(--space-3xl)) var(--space-xl) var(--space-3xl);max-width:1260px;margin:0 auto}@media(max-width:768px){.hero{grid-template-columns:1fr;text-align:center;min-height:auto;padding-top:calc(80px + var(--space-2xl));padding-bottom:var(--space-2xl)}}.hero-content{max-width:560px}@media(max-width:768px){.hero-content{max-width:100%;order:1}}.hero-title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--space-2xl)}.scroll-hint{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all var(--transition-normal);animation:bounce 2s infinite}@media(max-width:768px){.scroll-hint{margin:0 auto}}.scroll-hint:hover{border-color:var(--color-text);background:var(--color-bg-card)}.scroll-hint svg{width:20px;height:20px;color:var(--color-text-muted)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(6px)}60%{transform:translateY(3px)}}.hero-visual{display:flex;align-items:center;justify-content:flex-end;overflow:visible}@media(max-width:768px){.hero-visual{order:2;margin-top:var(--space-2xl)}}.intro-section{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-3xl);padding:var(--space-3xl) var(--space-xl);max-width:1260px;margin:0 auto}@media(max-width:1024px){.intro-section{grid-template-columns:1fr;min-height:auto;padding:var(--space-2xl) var(--space-xl)}}.intro-content{max-width:480px}@media(max-width:1024px){.intro-content{max-width:100%;text-align:center}}.intro-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.2;margin-bottom:var(--space-lg)}.intro-description{font-size:1.125rem;line-height:1.7;color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.intro-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}@media(max-width:1024px){.intro-actions{justify-content:center}}.intro-cards{position:relative;height:400px}.landing-page .btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--color-text);color:var(--color-bg);font-size:.9375rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.landing-page .btn-primary:hover{opacity:.85}.landing-page .btn-primary svg{width:16px;height:16px;transition:transform var(--transition-fast)}.landing-page .btn-primary:hover svg{transform:translate(3px)}.landing-page .btn-secondary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:transparent;color:var(--color-text);font-size:.9375rem;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.landing-page .btn-secondary svg{width:16px;height:16px}.landing-page .btn-secondary:hover{border-color:var(--color-text)}.intro-cards{position:relative;height:420px;width:580px}@media(max-width:1024px){.intro-cards{display:none}}.demo-card{position:absolute;width:180px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all .4s cubic-bezier(.25,.46,.45,.94)}.demo-card:hover{box-shadow:var(--shadow-lg);z-index:10!important}.demo-card-1{top:60px;left:200px;z-index:6;transform:rotate(-1deg)}.demo-card-2{top:72px;left:208px;z-index:5;transform:rotate(1deg)}.demo-card-3{top:84px;left:204px;z-index:4;transform:rotate(-.5deg)}.demo-card-4{top:96px;left:212px;z-index:3;transform:rotate(.5deg)}.demo-card-5{top:108px;left:202px;z-index:2;transform:rotate(-1deg)}.demo-card-6{top:120px;left:210px;z-index:1;transform:rotate(.8deg)}.intro-cards.expanded .demo-card-1{top:0;left:0;transform:rotate(-2deg)}.intro-cards.expanded .demo-card-2{top:0;left:195px;transform:rotate(1deg)}.intro-cards.expanded .demo-card-3{top:0;left:390px;transform:rotate(-1deg)}.intro-cards.expanded .demo-card-4{top:220px;left:0;transform:rotate(1.5deg)}.intro-cards.expanded .demo-card-5{top:220px;left:195px;transform:rotate(-1deg)}.intro-cards.expanded .demo-card-6{top:220px;left:390px;transform:rotate(2deg)}.demo-card-type{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.demo-card-question{font-size:.9375rem;color:var(--color-text);line-height:1.5;margin:0 0 var(--space-md) 0}.demo-card-options{display:flex;flex-direction:column;gap:var(--space-xs)}.demo-card-options .option{padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text-muted)}.demo-card-options .option.correct{background:#5a8f6a1f;color:var(--color-success);font-weight:500}.demo-card .blank{display:inline;padding:0 var(--space-xs);border-bottom:2px solid var(--color-accent);color:var(--color-accent);font-weight:500}.demo-card-answer .wrong{display:inline-block;padding:var(--space-xs) var(--space-sm);background:#c750501f;color:var(--color-error);font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm)}.feature-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(80px + var(--space-2xl)) var(--space-xl) var(--space-2xl)}.section-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center;max-width:1080px;width:100%}@media(max-width:900px){.section-content{grid-template-columns:1fr;gap:var(--space-2xl);text-align:center}}.section-text{max-width:480px}@media(max-width:900px){.section-text{max-width:100%;margin:0 auto}}.section-text h2{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.2;margin-bottom:var(--space-lg)}.section-text .highlight{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:9px;text-underline-offset:6px}.section-text p{font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted)}.section-demo{display:flex;justify-content:center}.cta-section{padding:var(--space-3xl) var(--space-xl);text-align:center;background:linear-gradient(180deg,var(--color-bg-gradient-end) 0%,var(--color-bg) 100%)}.cta-section h2{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:400;margin-bottom:var(--space-md)}.cta-section p{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--space-xl)}.cta-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xl);background:var(--color-text);color:var(--color-bg);font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.cta-btn:hover{opacity:.85}.cta-btn svg{width:18px;height:18px;transition:transform var(--transition-fast)}.cta-btn:hover svg{transform:translate(4px)}.landing-footer{padding:var(--space-2xl) var(--space-xl);border-top:1px solid var(--color-border);max-width:1260px;margin:0 auto}.footer-bottom{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-subtle)}.footer-bottom p{font-size:.875rem;color:var(--color-text-muted)}@media(max-width:640px){.landing-nav{padding:var(--space-sm) var(--space-md)}.feature-section{padding:calc(60px + var(--space-xl)) var(--space-md) var(--space-xl);min-height:auto}}
