@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root[data-theme=light]{--bg-primary:#eee;--bg-secondary:#fff;--bg-tertiary:#d9d9d9;--text-primary:#222831;--text-secondary:#393e46;--text-tertiary:#5a5f67;--border-color:#393e46;--border-hover:#00adb5;--accent-color:#00adb5;--accent-hover:#008c94;--accent-text:#eee;--card-bg:#fff;--card-shadow:#22283126;--card-shadow-hover:#00adb54d;--overlay-bg:#222831e6;--input-bg:#fff;--input-border:#393e46;--success-color:#00adb5;--error-color:#ff6b6b;--primary-gradient-start:#00adb5;--primary-gradient-end:#008c94}:root[data-theme=dark]{--bg-primary:#222831;--bg-secondary:#393e46;--bg-tertiary:#4a5057;--text-primary:#eee;--text-secondary:#d0d0d0;--text-tertiary:#b0b0b0;--border-color:#00adb5;--border-hover:#00c9d1;--accent-color:#00adb5;--accent-hover:#00c9d1;--accent-text:#222831;--card-bg:#393e46;--card-shadow:#00adb533;--card-shadow-hover:#00adb566;--overlay-bg:#222831f2;--input-bg:#393e46;--input-border:#00adb5;--success-color:#00adb5;--error-color:#ff6b6b;--primary-gradient-start:#00adb5;--primary-gradient-end:#00c9d1}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;transition:background-color .3s ease,color .3s ease}@media (max-width:768px){body.flashcard-viewer-active{height:100%;overflow:hidden;position:fixed;touch-action:none;width:100%}html.flashcard-viewer-active{height:100%;overflow:hidden}}#root{min-height:100vh}code{font-family:SF Mono,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.grecaptcha-badge{animation:fadeOutRecaptcha .5s ease-out 3s forwards;opacity:1;pointer-events:none}@keyframes fadeOutRecaptcha{0%{opacity:1}to{opacity:0;visibility:hidden}}:root{--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left);--safe-area-inset-right:env(safe-area-inset-right)}body{padding-top:env(safe-area-inset-top)}.App{color:var(--text-primary);min-height:100vh}.App,.App-header{background:var(--bg-primary);display:flex}.App-header{align-items:center;border-bottom:1px solid var(--border-color);height:60px;justify-content:space-between;left:280px;padding:0 max(2rem,env(safe-area-inset-right)) 0 max(2rem,env(safe-area-inset-left));position:fixed;right:0;top:env(safe-area-inset-top,0);transition:left .3s cubic-bezier(.4,0,.2,1);z-index:100}.App.sidebar-closed .App-header{left:0}.App-header-content{flex:1 1;margin-left:3rem;min-width:0;overflow:hidden}.App-header-actions,.App-header-content{align-items:center;display:flex;gap:1rem}.App-header h1{align-items:center;color:var(--text-primary);display:flex;flex:1 1;font-size:1.25rem;font-weight:600;gap:.75rem;margin:0;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-logo{display:inline-block;height:32px;vertical-align:middle;width:auto}.settings-toggle,.theme-toggle{align-items:center;background:var(--accent-color);border:1px solid var(--accent-color);border-radius:8px;color:var(--bg-primary);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.settings-toggle.icon-btn,.theme-toggle.icon-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);height:38px;justify-content:center;padding:0;width:38px}.settings-toggle.icon-btn:hover,.theme-toggle.icon-btn:hover{background:var(--hover-bg);border-color:var(--border-hover);color:var(--accent-color);transform:scale(1.05)}.settings-toggle.icon-btn .settings-icon,.theme-toggle.icon-btn .theme-toggle-icon{font-size:1.125rem}.settings-toggle:hover,.theme-toggle:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px)}.settings-icon,.theme-toggle-icon{font-size:1rem}.auth-buttons{align-items:center;display:flex;gap:.5rem}.btn-login,.btn-register{border:none;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.btn-login{background:#0000;border:2px solid var(--accent-color);color:var(--text-primary)}.btn-login:hover{background:var(--accent-color);box-shadow:0 4px 12px var(--card-shadow);color:var(--accent-text);transform:translateY(-1px)}.btn-register{background:linear-gradient(135deg,var(--accent-color) 0,var(--accent-hover) 100%);color:var(--accent-text)}.btn-register:hover{background:linear-gradient(135deg,var(--accent-hover) 0,var(--accent-color) 100%);box-shadow:0 4px 12px var(--card-shadow-hover);transform:translateY(-1px)}.loading-screen{align-items:center;display:flex;justify-content:center;min-height:100vh}.book-loader{margin:0 auto}.App-container{display:flex;flex-direction:column;margin-top:60px;width:100%}.viewer-controls-bar{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;left:280px;padding:.75rem 2rem;position:fixed;right:0;top:calc(60px + env(safe-area-inset-top, 0));transition:left .3s cubic-bezier(.4,0,.2,1);z-index:99}.App.sidebar-closed .viewer-controls-bar{left:0}.App .navigation{left:280px}.App.sidebar-closed .navigation{left:0}.viewer-controls-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;width:100%}.viewer-controls-left{align-items:center;display:flex;flex:0 0 auto;gap:1rem;min-width:0}.viewer-controls-center{align-items:center;display:flex;flex:1 1;justify-content:center;min-width:0}.viewer-controls-right{align-items:center;display:flex;flex:0 0 auto;gap:.5rem}.actions-dropdown,.difficulty-filter-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;min-width:200px;outline:none;padding:.625rem 1rem;transition:all .2s ease}.actions-dropdown:hover,.difficulty-filter-dropdown:hover{border-color:var(--accent-color)}.actions-dropdown:focus,.difficulty-filter-dropdown:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #667eea1a}.actions-dropdown{min-width:150px}.desktop-only{display:inline-flex}.viewer-progress-text.desktop-only{display:inline-block}.difficulty-filter-bar.desktop-only{display:inline-flex}.mobile-only{display:none}.viewer-progress-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.viewer-progress-text{color:var(--text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap}.viewer-progress-bar-wrapper{height:3px;left:0;position:absolute;right:0;top:0;z-index:100}.viewer-progress-bar{background:#0000;height:100%;overflow:hidden}.viewer-progress-fill{background:linear-gradient(90deg,var(--accent-color),var(--primary-color));box-shadow:0 0 8px #667eea80;height:100%;transition:width .3s ease}.control-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.control-btn:hover{background:var(--hover-bg);border-color:var(--border-hover);transform:translateY(-1px)}.control-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--bg-primary)}.control-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.control-btn.danger{background:var(--danger-bg);border-color:var(--danger-color);color:var(--danger-color)}.control-btn.danger:hover{background:var(--danger-color);color:#fff}.App-main{flex:1 1;margin-left:280px;margin-top:calc(60px + env(safe-area-inset-top, 0));min-height:calc(100vh - 60px - env(safe-area-inset-top, 0));padding:2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.App-main.with-controls{margin-top:calc(112px + env(safe-area-inset-top, 0));min-height:calc(100vh - 120px - env(safe-area-inset-top, 0))}.App.sidebar-closed .App-main{margin-left:0}@media (max-width:768px){.App-main.with-controls{height:100vh;height:100dvh;margin-left:0;margin-top:calc(60px + env(safe-area-inset-top, 0));overflow:hidden;padding:0}}@media (max-width:768px) and (min-width:501px){.App-header{left:0}.App-header h1{font-size:1.125rem}.viewer-controls-bar{left:0;padding:.75rem 1rem}.viewer-progress-bar-wrapper{height:3px}.control-btn{font-size:.75rem;padding:.4rem .6rem}.App-main{margin-left:0;padding:1rem}.theme-toggle{font-size:.75rem;padding:.4rem .6rem}.desktop-only{display:none!important}.mobile-only{display:block!important}.viewer-controls-content{gap:.75rem}.viewer-controls-left{display:none}.viewer-controls-center{flex:1 1}.difficulty-filter-dropdown{max-width:none;width:100%}.actions-dropdown{width:150px}}@media (max-width:500px){.App-header{height:60px;left:0!important;padding:0 1rem}.App-header h1{font-size:1rem;max-width:calc(100vw - 120px)}.App-header-content{gap:.5rem;margin-left:3.5rem}.viewer-controls-bar{left:0!important;padding:.5rem .75rem}.viewer-controls-left{display:none}.viewer-controls-center{flex:1 1;justify-content:center}.viewer-controls-right{flex:0 0 auto;justify-content:center}.viewer-controls-content{flex-wrap:nowrap;gap:.5rem}.desktop-only{display:none!important}.mobile-only{display:block!important}.difficulty-filter-dropdown{max-width:none;width:100%}.actions-dropdown,.difficulty-filter-dropdown{font-size:.8rem;min-width:auto;padding:.5rem .75rem}.actions-dropdown{width:130px}.viewer-progress-bar-wrapper{height:3px}.control-btn,.viewer-progress-text{font-size:.75rem}.control-btn{flex:1 1;padding:.375rem .625rem}.App-main{margin-left:0!important;padding:1rem;width:100%}.App.sidebar-closed .App-main{margin-left:0;width:100%}.App.sidebar-open .App-main{margin-left:0}.theme-toggle{font-size:.75rem;padding:.4rem .6rem}.settings-toggle span:not(.settings-icon),.theme-toggle span:not(.theme-toggle-icon){display:none}.App-header-actions{gap:.5rem}.btn-login,.btn-register{font-size:.75rem;padding:.4rem .75rem}}.dashboard{margin:0 auto;max-width:800px;padding:0;width:100%}.dashboard-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:2rem;text-align:center}.empty-deck-illustration{animation:fadeInScale .6s ease-out;height:300px;margin-bottom:2rem;max-width:100%;opacity:.9;width:300px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:.9;transform:scale(1)}}.dashboard-empty-state h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 1rem}.empty-state-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0;max-width:500px}.create-deck-page{max-width:100%}.create-deck-page-header{margin-bottom:1rem}.back-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.back-button:hover{background:var(--primary-hover);transform:translateX(-4px)}.dashboard-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px var(--card-shadow);padding:2.5rem}.upload-icon{font-size:2.5rem;margin-bottom:.5rem;text-align:center}.dashboard-content h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin-bottom:.75rem;text-align:center}.dashboard-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem;text-align:center}.upload-area{background:var(--bg-secondary);border:2px dashed var(--border-hover);border-radius:12px;cursor:pointer;padding:2.5rem;text-align:center;transition:all .2s ease}.upload-area.drag-active,.upload-area:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.upload-area.drag-active{transform:scale(1.01)}.upload-icon-large{font-size:3.5rem;margin-bottom:1rem;opacity:.7}.upload-text{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.upload-or{color:var(--text-tertiary);font-size:.875rem;margin:1rem 0}.upload-button{background:var(--accent-color);border:none;border-radius:8px;color:var(--bg-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;padding:.875rem 2rem;transition:all .2s ease}.upload-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.upload-button:active{transform:translateY(0)}.upload-formats{color:var(--text-tertiary);font-size:.8rem;margin-top:1rem}.loading{padding:2rem;text-align:center}.loading p{color:var(--text-primary);font-weight:500}.loading-subtext{color:var(--text-secondary)!important;font-size:.875rem!important;font-weight:400!important;line-height:1.5;margin-top:1rem!important}.message{border-radius:8px;font-size:.875rem;font-weight:500;margin-top:1.5rem;padding:1rem;text-align:center}.success-message{background:var(--bg-secondary);border:1px solid var(--success-color);color:var(--success-color)}.create-options{margin-top:2rem}.option-divider{margin:2rem 0;position:relative;text-align:center}.option-divider:after,.option-divider:before{background:var(--border-color);content:"";height:1px;position:absolute;top:50%;width:40%}.option-divider:before{left:0}.option-divider:after{right:0}.option-divider span{background:var(--card-bg);color:var(--text-tertiary);font-size:.875rem;font-weight:500;padding:0 1rem}.create-deck-button{align-items:center;background:var(--accent-color);border:none;border-radius:12px;color:var(--bg-primary);cursor:pointer;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:.5rem;padding:1.5rem;transition:all .2s ease;width:100%}.create-deck-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px)}.create-deck-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.create-deck-button .button-icon{font-size:2rem}.create-deck-button .button-text{font-size:1.125rem;font-weight:600}.create-deck-button .button-desc{font-size:.875rem;font-weight:400;opacity:.9}.features{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2.5rem}.feature{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;transition:transform .2s ease}.feature:hover{border-color:var(--border-hover);transform:translateY(-3px)}.feature-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.8}.feature h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.feature p{color:var(--text-secondary);font-size:.875rem;line-height:1.5}@media (max-width:768px){.dashboard-content,.upload-area{padding:1.5rem}.features{grid-template-columns:1fr}}.mode-selection{margin-bottom:1.5rem}.mode-selection label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.75rem}.mode-buttons{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.mode-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.mode-button:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.mode-button.active{background:var(--primary-hover);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.mode-icon{font-size:1.5rem}.mode-label{font-size:.9rem}.file-input{background:var(--input-bg);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;padding:.75rem;transition:all .2s ease;width:100%}.file-input:hover{background:var(--primary-hover);border-color:var(--primary-color)}.file-selected{align-items:center;background:var(--primary-hover);border:1px solid var(--primary-color);border-radius:6px;color:var(--text-primary);display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.file-icon{font-size:1.25rem}.file-name{flex:1 1}.file-size{color:var(--text-secondary);font-size:.85rem}.new-deck-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.new-deck-modal{animation:slideIn .3s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;padding:2rem;position:relative;width:100%}.loading-overlay-inline{animation:fadeIn .3s ease}.modal-header h2{font-size:1.5rem}.close-button{color:var(--text-secondary);padding:0;transition:all .2s ease}.close-button:hover{background:var(--danger-bg);color:var(--danger-color)}.required{color:var(--error-color)}.form-group input[type=text]{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.form-group input[type=text]:focus{border-color:var(--accent-color);outline:none}.helper-text{color:var(--text-tertiary);font-size:.75rem;font-style:italic;margin:.5rem 0 0}.ai-helper{color:var(--text-secondary);font-weight:500}.info-box{background:var(--bg-secondary);border-left:3px solid var(--accent-color);border-radius:8px;margin-bottom:1.25rem;padding:1rem}.info-box p{color:var(--text-secondary);font-size:.875rem;margin:0 0 .5rem}.info-box strong{color:var(--text-primary)}.info-box ul{margin:.5rem 0 0;padding-left:1.5rem}.info-box li{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0}.ai-toggle-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.toggle-container,.toggle-label{align-items:center;display:flex}.toggle-label{cursor:pointer;gap:.875rem;position:relative;-webkit-user-select:none;user-select:none}.toggle-checkbox{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background-color:var(--border-hover);border-radius:24px;display:inline-block;height:24px;position:relative;transition:background-color .2s;width:44px}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:transform .2s;width:18px}.toggle-checkbox:checked+.toggle-slider{background:var(--accent-color)}.toggle-checkbox:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{color:var(--text-primary);font-size:.875rem;font-weight:500}.ai-description-group{animation:slideDown .3s ease-out}.description-textarea{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.875rem;min-height:120px;padding:.75rem;resize:vertical;transition:all .2s;width:100%}.description-textarea:focus{border-color:var(--accent-color);outline:none}.card-count-group{animation:slideDown .3s ease-out}.card-count-value{background:var(--accent-color);border-radius:6px;color:var(--bg-primary);display:inline-block;font-size:.875rem;font-weight:600;margin-left:.5rem;padding:.2rem .75rem}.card-count-controls{margin-top:.75rem}.card-count-slider{-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.card-count-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-color);border-radius:50%;cursor:pointer;height:20px;-webkit-transition:all .2s;transition:all .2s;width:20px}.card-count-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.card-count-slider::-moz-range-thumb{background:var(--accent-color);border:none;border-radius:50%;cursor:pointer;height:20px;-moz-transition:all .2s;transition:all .2s;width:20px}.card-count-slider::-moz-range-thumb:hover{transform:scale(1.15)}.card-count-slider::-webkit-slider-runnable-track{background:var(--border-color);border-radius:3px;height:6px;width:100%}.card-count-slider::-moz-range-track{background:var(--border-color);border-radius:3px;height:6px;width:100%}.range-labels{display:flex;justify-content:space-between;margin-top:.5rem;padding:0 .25rem}.range-labels span{color:var(--text-tertiary);font-size:.75rem;font-weight:500}@media (max-width:768px){.new-deck-modal{max-width:95%;padding:1.5rem}.mode-buttons{grid-template-columns:1fr}.mode-button{flex-direction:row;justify-content:center}.button-group{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}.optional{color:#858585;color:var(--text-tertiary,#858585);font-size:.875rem;font-weight:400}.folder-select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;color:#333;color:var(--text-primary,#333);cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.folder-select:focus{box-shadow:0 0 0 3px #007acc1a;outline:none}.folder-select:focus,.folder-select:hover{border-color:#007acc;border-color:var(--primary-color,#007acc)}.ai-config-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.ai-config-modal{animation:slideUp .3s ease;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.ai-config-header{align-items:center;background:#252526;background:var(--bg-primary,#252526);border-bottom:1px solid #2d2d2d;border-bottom:1px solid var(--border-color,#2d2d2d);display:flex;justify-content:space-between;padding:1.5rem}.ai-config-header h2{align-items:center;color:#ccc;color:var(--text-primary,#ccc);display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0}.ai-config-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#9d9d9d;color:var(--text-secondary,#9d9d9d);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.ai-config-close:hover{background:#2a2d2e;background:var(--bg-secondary,#2a2d2e);color:#fff;color:var(--text-primary,#fff)}.ai-config-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-config-body::-webkit-scrollbar{width:8px}.ai-config-body::-webkit-scrollbar-track{background:#0000}.ai-config-body::-webkit-scrollbar-thumb{background:#424242;background:var(--border-color,#424242);border-radius:4px}.ai-config-file-info{align-items:center;background:#007acc1a;background:var(--primary-hover,#007acc1a);border:1px solid #007acc;border:1px solid var(--primary-color,#007acc);border-radius:8px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.file-icon{font-size:1.5rem}.file-name{font-size:.95rem;font-weight:500;word-break:break-all}.form-group{margin-bottom:1.5rem}.form-group label{color:#ccc;color:var(--text-primary,#ccc)}.label-hint{color:#858585;color:var(--text-tertiary,#858585);display:block;font-size:.85rem;font-weight:400;margin-top:.25rem}.ai-config-input,.ai-config-select,.ai-config-textarea{background:#252526;background:var(--bg-primary,#252526);border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);border-radius:6px;color:#ccc;color:var(--text-primary,#ccc);font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.ai-config-input:focus,.ai-config-select:focus,.ai-config-textarea:focus{border-color:#007acc;border-color:var(--primary-color,#007acc);box-shadow:0 0 0 3px #007acc1a;outline:none}.ai-config-textarea{min-height:100px;resize:vertical}.model-info{align-items:center;border-radius:6px;display:flex;font-size:.85rem;gap:.75rem;margin-top:.5rem;padding:.75rem}.model-info.free{background:#10b9811a;border:1px solid #10b9814d}.model-info.paid{background:#f587711a;border:1px solid #f587714d}.model-badge{font-weight:600;white-space:nowrap}.model-info.free .model-badge{color:#10b981}.model-info.paid .model-badge{color:#f58771}.model-description{color:#9d9d9d;color:var(--text-secondary,#9d9d9d)}.api-key-note{font-style:italic}.api-key-note,.field-note{color:#858585;color:var(--text-tertiary,#858585);font-size:.85rem;margin-top:.5rem}.field-note{align-items:center;display:flex;gap:.5rem;margin-bottom:0}.custom-prompt-group{background:#252526;background:var(--bg-primary,#252526);border:2px solid #00adb5;border:2px solid var(--accent-color,#00adb5);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.custom-prompt-group label{align-items:center;color:#00adb5;color:var(--accent-color,#00adb5);display:flex;font-size:1rem}.custom-prompt-group .ai-config-textarea{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-color:#00adb5;border-color:var(--accent-color,#00adb5);border-width:1px}.custom-prompt-group .ai-config-textarea:focus{border-color:#00adb5;border-color:var(--accent-color,#00adb5);box-shadow:0 0 0 3px #00adb533}.ai-config-actions{border-top:1px solid #2d2d2d;border-top:1px solid var(--border-color,#2d2d2d);display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem}@media (max-width:768px){.ai-config-modal{border-radius:0;max-height:100vh;max-width:100%}.ai-config-header{padding:1rem}.ai-config-header h2{font-size:1.25rem}.ai-config-body{padding:1rem}.ai-config-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (prefers-color-scheme:light){.ai-config-modal{background:#fff}.ai-config-header{background:#f3f3f3}.ai-config-input,.ai-config-select,.ai-config-textarea{background:#f9f9f9;border-color:#e5e5e5;color:#3c3c3c}.btn-secondary{border-color:#e5e5e5;color:#3c3c3c}.btn-secondary:hover{background:#f3f3f3}}.page-range-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10001}.page-range-modal{animation:slideUp .3s ease;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:550px;overflow:hidden;width:100%}.page-range-header{align-items:center;background:#252526;background:var(--bg-primary,#252526);border-bottom:1px solid #2d2d2d;border-bottom:1px solid var(--border-color,#2d2d2d);display:flex;justify-content:space-between;padding:1.5rem}.page-range-header h2{align-items:center;color:#ccc;color:var(--text-primary,#ccc);display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0}.page-range-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#9d9d9d;color:var(--text-secondary,#9d9d9d);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.page-range-close:hover{background:#2a2d2e;background:var(--bg-secondary,#2a2d2e);color:#fff;color:var(--text-primary,#fff)}.page-range-body{flex:1 1;overflow-y:auto;padding:1.5rem}.page-range-body::-webkit-scrollbar{width:8px}.page-range-body::-webkit-scrollbar-track{background:#0000}.page-range-body::-webkit-scrollbar-thumb{background:#424242;background:var(--border-color,#424242);border-radius:4px}.pdf-info{background:#007acc1a;background:var(--primary-hover,#007acc1a);border:1px solid #007acc;border:1px solid var(--primary-color,#007acc);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.pdf-info-item{align-items:center;display:flex;gap:.5rem;padding:.25rem 0}.info-label{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:.9rem;font-weight:600}.info-value{color:#ccc;color:var(--text-primary,#ccc);font-size:.9rem;word-break:break-word}.page-range-notice{background:#ffc1071a;border:1px solid #ffc1074d;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.notice-icon{flex-shrink:0;font-size:1.25rem}.notice-text{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:.9rem;line-height:1.5}.page-range-inputs{align-items:flex-end;display:flex;gap:1rem;margin-bottom:1.5rem}.input-group{flex:1 1}.input-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.input-group label,.page-input{color:#ccc;color:var(--text-primary,#ccc)}.page-input{background:#252526;background:var(--bg-primary,#252526);border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.page-input:focus{border-color:#007acc;border-color:var(--primary-color,#007acc);box-shadow:0 0 0 3px #007acc1a;outline:none}.range-divider{color:#858585;color:var(--text-tertiary,#858585);font-size:1.5rem;padding-bottom:.75rem}.page-range-summary{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.summary-badge{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;display:flex;gap:1rem;padding:.75rem 1rem}.summary-badge.error{background:#ef44441a;border-color:#ef44444d}.summary-label{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:.9rem}.summary-value{color:#ccc;color:var(--text-primary,#ccc);font-size:1.25rem;font-weight:700}.page-range-error,.summary-error{align-items:center;color:#ef4444;display:flex;font-size:.9rem;gap:.5rem}.page-range-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.error-icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:1.1rem;justify-content:center}.quick-select{display:flex;flex-direction:column;gap:.75rem}.quick-select-label{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:.9rem;font-weight:600}.quick-select-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.quick-btn{background:#252526;background:var(--bg-primary,#252526);border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);border-radius:6px;color:#ccc;color:var(--text-primary,#ccc);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease}.quick-btn:hover:not(:disabled){background:#007acc1a;background:var(--primary-hover,#007acc1a);border-color:#007acc;border-color:var(--primary-color,#007acc)}.quick-btn:disabled{cursor:not-allowed;opacity:.5}.page-range-actions{border-top:1px solid #2d2d2d;border-top:1px solid var(--border-color,#2d2d2d);display:flex;gap:1rem;padding:1.5rem}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:#007acc;background:var(--primary-color,#007acc);color:#fff}.btn-primary:hover{background:#005a9e;background:var(--primary-color-hover,#005a9e);box-shadow:0 4px 12px #007acc4d;transform:translateY(-1px)}.btn-secondary{background:#0000;border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);color:#ccc;color:var(--text-primary,#ccc)}.btn-secondary:hover{background:#2a2d2e;background:var(--bg-primary,#2a2d2e);border-color:#858585;border-color:var(--text-tertiary,#858585)}@media (max-width:768px){.page-range-modal{border-radius:0;max-height:100vh;max-width:100%}.page-range-header{padding:1rem}.page-range-header h2{font-size:1.25rem}.page-range-body{padding:1rem}.quick-select-buttons{grid-template-columns:1fr}.page-range-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.review-page{height:100%;overflow-y:auto;padding:20px;width:100%}.review-page-content{margin:0 auto;max-width:1200px}.review-page-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px;text-align:center}.review-empty-icon{color:var(--accent-color);font-size:64px;margin-bottom:20px;opacity:.7}.review-page-empty h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 12px}.review-page-empty p{color:var(--text-secondary);font-size:16px;margin:8px 0}.review-empty-subtext{font-size:14px;opacity:.8}.review-loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.review-loading-state .book-loader{background:#979794;border-radius:8px;box-sizing:border-box;height:140px;margin:0 auto 24px;perspective:1000px;position:relative;width:200px}.review-loading-state .book-loader:before{background:#f5f5f5 no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:15px 30px,15px 60px,15px 90px,105px 30px,105px 60px,105px 90px;background-size:60px 10px;border-radius:8px;bottom:10px;box-shadow:0 0 10px #00000040;content:"";left:10px;position:absolute;right:10px;top:10px}.review-loading-state .book-loader:after{animation:paging 1s linear infinite;background:#fff no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:50% 30px,50% 60px,50% 90px;background-size:60px 10px;border-radius:8px;bottom:10px;content:"";position:absolute;right:10px;top:10px;transform:rotateY(0deg);transform-origin:left center;width:calc(50% - 10px)}.review-loading-state p{color:var(--text-secondary);font-size:16px;margin-top:8px}.review-today-section{animation:slideIn .4s ease-out;background:var(--card-bg);border:2px solid var(--border-color);border-radius:20px;box-shadow:0 4px 20px var(--card-shadow);margin-bottom:32px;overflow:hidden;padding:32px;position:relative}.review-today-section:before{background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));content:"";height:4px;left:0;position:absolute;right:0;top:0}.review-today-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.review-today-title{align-items:center;display:flex;gap:12px}.review-icon{color:var(--accent-color);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:32px}.review-today-title h3{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.review-today-badge{align-items:center;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:25px;box-shadow:0 4px 12px #00000026;color:var(--accent-text);display:flex;font-size:15px;font-weight:700;gap:8px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.review-today-badge:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.review-decks-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.review-deck-row{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--card-shadow);display:flex;gap:20px;justify-content:space-between;overflow:hidden;padding:16px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.review-deck-row:before{background:var(--accent-color);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.review-deck-row:hover{border-color:var(--accent-color);box-shadow:0 4px 16px var(--card-shadow-hover);transform:translateX(4px)}.review-deck-row:hover:before{transform:scaleY(1)}.review-deck-main{align-items:center;display:flex;flex:1 1;gap:20px;min-width:0}.review-deck-info{flex:1 1;max-width:100%;min-width:0;overflow:hidden}.review-deck-title{color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:-.2px;margin:0 0 6px}.review-deck-stats{align-items:center;display:flex;font-size:14px;gap:10px}.due-count{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:12px;box-shadow:0 2px 6px #0000001a;color:var(--accent-text);font-size:13px;font-weight:700;padding:6px 14px}.total-count{color:var(--text-secondary);font-size:13px;font-weight:500}.review-mode-buttons{align-items:center;display:flex;flex-shrink:0;gap:8px}.review-mode-btn{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;gap:4px;min-width:60px;padding:8px 12px;position:relative;transition:all .2s ease}[data-theme=light] .review-mode-btn{border-color:#b0b0b0;border-width:2px}[data-theme=dark] .review-mode-btn{border-color:var(--border-color)}.review-mode-btn:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 12px #00000026}.review-mode-btn:hover .mode-icon,.review-mode-btn:hover .mode-label{color:var(--accent-text)}.review-mode-btn .mode-icon{color:var(--text-secondary);display:block;font-size:18px;transition:transform .2s ease}.review-mode-btn:hover .mode-icon{transform:scale(1.1)}.review-mode-btn .mode-label{color:var(--text-secondary);font-size:11px;font-weight:600;transition:color .2s ease}.review-mode-btn.quick:hover{background:#ff9800;border-color:#ff9800}.review-mode-btn.standard:hover{background:var(--accent-color);border-color:var(--accent-color)}.review-mode-btn.focus:hover{background:#9c27b0;border-color:#9c27b0}.review-mode-btn.nightly:hover{background:#3f51b5;border-color:#3f51b5}.review-more-info{border-top:2px solid var(--border-color);color:var(--text-secondary);font-size:14px;font-weight:500;margin-top:8px;padding-top:16px;text-align:center}@media (max-width:768px){.review-today-section{margin-bottom:24px;padding:20px}.review-today-header{align-items:flex-start;flex-direction:column;gap:12px}.review-today-badge{align-self:flex-start}.review-deck-row{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.review-deck-main{width:100%}.review-mode-buttons{flex-wrap:wrap;justify-content:space-between;width:100%}.review-mode-btn{flex:1 1;min-width:60px;padding:6px 8px}.review-mode-btn .mode-icon{font-size:16px}.review-mode-btn .mode-label{font-size:10px}}@media (max-width:600px){.review-today-section{margin-bottom:20px;padding:16px}.review-decks-list{gap:10px}.review-deck-row{flex-direction:column;gap:10px;padding:12px}.review-deck-title{font-size:14px}.review-deck-stats{flex-wrap:wrap;font-size:12px;gap:6px}.due-count{padding:3px 8px}.due-count,.total-count{font-size:12px}.review-mode-buttons{justify-content:space-between;width:100%}.review-mode-btn{flex:1 1;min-width:50px;padding:6px}.review-mode-btn .mode-icon{font-size:14px}.review-mode-btn .mode-label{font-size:9px}}.sidebar{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-right:1px solid #2d2d2d;border-right:1px solid var(--border-color,#2d2d2d);color:#ccc;color:var(--text-primary,#ccc);display:flex;flex-direction:column;font-family:Segoe UI,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;height:calc(100vh - env(safe-area-inset-top, 0));left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;top:env(safe-area-inset-top,0);transition:transform .3s ease;width:280px;z-index:900}.sidebar.closed{transform:translateX(-280px)}.sidebar.open{transform:translateX(0)}.sidebar-toggle{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);border-radius:6px;cursor:pointer;display:flex;height:36px;justify-content:center;left:8px;padding:0;position:fixed;top:calc(8px + env(safe-area-inset-top, 0));transition:all .2s ease;width:36px;z-index:901}.sidebar-toggle:hover{background:#252526;background:var(--bg-primary,#252526);border-color:#007acc;border-color:var(--primary-color,#007acc)}.sidebar-toggle.open{left:288px}.hamburger-icon{display:flex;flex-direction:column;gap:4px}.hamburger-icon span{background:#ccc;background:var(--text-primary,#ccc);border-radius:1px;height:2px;transition:all .2s ease;width:18px}.sidebar-header{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-bottom:1px solid #2d2d2d;border-bottom:1px solid var(--border-color,#2d2d2d);justify-content:space-between;padding:12px 16px}.sidebar-header,.sidebar-title{align-items:center;display:flex}.sidebar-title{color:#858585;color:var(--text-tertiary,#858585);font-size:11px;font-weight:700;gap:8px;letter-spacing:.5px;margin:0;text-transform:uppercase}.title-icon{font-size:14px}.header-actions{align-items:center;display:flex;gap:4px}.nav-btn,.new-folder-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#ccc;color:var(--text-primary,#ccc);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;padding:6px;transition:all .15s ease;width:28px}.nav-btn:hover,.new-folder-btn:hover{background:#252526;background:var(--bg-primary,#2a2d2e);color:#ccc;color:var(--text-primary,#fff)}.nav-btn.active{background:#007acc;background:var(--accent-color,#007acc);color:#fff;color:var(--accent-text,#fff)}.nav-btn.active:hover{background:#005a9e;background:var(--accent-hover,#005a9e)}.nav-btn:active,.new-folder-btn:active{transform:scale(.95)}.mobile-hint{align-items:center;animation:slideIn .3s ease-out;background:var(--accent-color);border-radius:8px;color:var(--accent-text);display:none;font-size:12px;gap:8px;line-height:1.4;margin:8px;padding:10px 12px;position:relative}@media (max-width:500px){.mobile-hint{display:flex}}.hint-icon{flex-shrink:0;font-size:14px;opacity:.9}.hint-text{flex:1 1;font-weight:500}.hint-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--accent-text);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;justify-content:center;opacity:.8;padding:4px;transition:opacity .2s}.hint-close:hover{background:#ffffff1a;opacity:1}.hint-close:active{transform:scale(.95)}.sidebar-explorer{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:4px 0}.sidebar-explorer::-webkit-scrollbar{width:10px}.sidebar-explorer::-webkit-scrollbar-track{background:#0000}.sidebar-explorer::-webkit-scrollbar-thumb{background:#2d2d2d;background:var(--border-color,#424242);border:2px solid #1e1e1e;border:2px solid var(--bg-secondary,#1e1e1e);border-radius:5px}.sidebar-explorer::-webkit-scrollbar-thumb:hover{background:#858585;background:var(--text-tertiary,#4e4e4e)}.file-tree{-webkit-user-select:none;user-select:none}.tree-folder{margin-bottom:2px}.tree-folder-header{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:4px;margin:0 4px;padding:4px 8px 4px 4px;transition:background .15s ease}.tree-folder-header:active,.tree-folder-header:hover{background:#252526;background:var(--bg-primary,#2a2d2e)}.tree-folder-header{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.tree-folder-header.uncategorized{opacity:.7}.tree-folder-header.uncategorized .folder-name{font-style:italic}.folder-chevron{align-items:center;color:#858585;color:var(--text-tertiary,#858585);display:flex;height:16px;justify-content:center;transition:transform .15s ease;width:16px}.folder-chevron.expanded{transform:rotate(90deg)}.folder-icon{font-size:16px;line-height:1}.folder-name{color:#ccc;color:var(--text-primary,#ccc);flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-owner{color:#858585;color:var(--text-tertiary,#858585);font-size:11px;font-style:italic;font-weight:400}.public-badge{background:#10b981;border-radius:4px;color:#fff;font-size:9px;font-weight:600;letter-spacing:.5px;margin-left:4px;padding:2px 6px;text-transform:uppercase}.folder-count{border-radius:10px;font-size:11px;padding:2px 6px}.auto-badge,.folder-count{background:#252526;background:var(--bg-primary,#2a2d2e);color:#858585;color:var(--text-tertiary,#858585);font-weight:600}.auto-badge{border:1px solid #2d2d2d;border:1px solid var(--border-color,#2d2d2d);border-radius:3px;font-size:9px;letter-spacing:.5px;padding:2px 4px;text-transform:uppercase}.tree-folder-content{border-left:1px solid #2d2d2d;border-left:1px solid var(--border-color,#2d2d2d);margin-left:16px;padding-left:4px}.empty-folder-message{align-items:center;color:#858585;color:var(--text-tertiary,#858585);display:flex;font-size:12px;font-style:italic;gap:8px;padding:8px 12px}.empty-folder-icon{font-size:16px;opacity:.5}.empty-folder-text{opacity:.7}.tree-file{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:6px;margin:1px 4px 1px 0;padding:5px 8px 5px 12px;position:relative;transition:all .15s ease}.tree-file:hover{background:#252526;background:var(--bg-primary,#2a2d2e)}.tree-file.selected{background:#007acc;background:var(--primary-color,#094771);color:#ccc;color:var(--text-primary,#fff)}.tree-file:active{background:#252526;background:var(--bg-primary,#2a2d2e)}.tree-file.selected:active{background:#007acc;background:var(--primary-color,#094771);opacity:.9}.tree-file.processing{background:#ffc1070d;border-left:2px solid #ffc107;cursor:default;overflow:hidden;position:relative}.tree-file.processing:before{background:linear-gradient(90deg,#ffc10740,#ffc10726);content:"";height:100%;left:0;position:absolute;top:0;transition:width .5s ease;width:0;width:var(--progress-percent,0);z-index:0}.tree-file.processing .file-icon,.tree-file.processing .file-info{position:relative;z-index:1}.tree-file.processing:hover{background:#ffc10714}.tree-file.processing:hover:before{background:linear-gradient(90deg,#ffc1074d,#ffc10733)}.tree-file.processing .file-icon{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tree-file{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.tree-file.selected .file-meta{color:#ffffffb3}.file-icon{flex-shrink:0;font-size:16px;line-height:1}.file-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.file-name{color:#ccc;color:var(--text-primary,#ccc);font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-file.selected .file-name{color:#fff;font-weight:500}.file-meta{color:#858585;color:var(--text-tertiary,#858585);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename-input{background:#252526;background:var(--bg-primary,#3c3c3c);border:1px solid #007acc;border:1px solid var(--primary-color,#007acc);border-radius:3px;color:#ccc;color:var(--text-primary,#ccc);flex:1 1;font-family:inherit;font-size:13px;outline:none;padding:4px 6px}.context-menu{animation:contextMenuAppear .15s ease;background:#1e1e1e;background:var(--bg-secondary,#252526);border:1px solid #2d2d2d;border:1px solid var(--border-color,#454545);border-radius:6px;box-shadow:0 4px 16px #0006;font-size:13px;min-width:200px;padding:4px 0;position:fixed;z-index:9999}@keyframes contextMenuAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{align-items:center;color:#ccc;color:var(--text-primary,#ccc);cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:background .15s ease}.context-menu-item:hover{background:#007acc;background:var(--primary-color,#094771);color:#fff}.context-menu-item.danger{color:#f48771}.context-menu-item.danger:hover{background:#5a1d1d;color:#f48771}.context-menu-info{align-items:flex-start;background:#007acc1a;background:var(--primary-hover,#007acc1a);border-radius:4px;color:#9d9d9d;color:var(--text-secondary,#9d9d9d);display:flex;font-size:12px;gap:8px;line-height:1.4;margin:4px;padding:8px 12px}.info-icon{flex-shrink:0;font-size:14px;margin-top:1px}.context-icon{align-items:center;display:flex;font-size:14px;justify-content:center;width:16px}.context-shortcut{color:#858585;color:var(--text-tertiary,#858585);font-size:11px;font-weight:600;margin-left:auto}.context-menu-divider{background:#2d2d2d;background:var(--border-color,#454545);height:1px;margin:4px 0}.copied-deck-indicator{align-items:center;animation:slideInBottom .3s ease-out;background:#007acc1a;background:var(--primary-hover,#007acc1a);border:1px solid #007acc;border:1px solid var(--primary-color,#007acc);border-radius:6px;display:flex;gap:8px;margin:8px 12px 0;padding:8px 12px}@keyframes slideInBottom{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.copied-icon{flex-shrink:0;font-size:14px}.copied-text{color:#ccc;color:var(--text-primary,#ccc);flex:1 1;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-copy-btn{align-items:center;background:none;border:none;border-radius:4px;color:#858585;color:var(--text-tertiary,#858585);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.clear-copy-btn:hover{background:#2a2d2e;background:var(--bg-tertiary,#2a2d2e);color:#ccc;color:var(--text-primary,#ccc)}.sidebar-footer{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-top:1px solid #2d2d2d;border-top:1px solid var(--border-color,#2d2d2d);display:flex;gap:12px;justify-content:space-around;padding:8px 16px}.footer-stat{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:11px;font-weight:500;white-space:nowrap}.loading-folders{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:40px 20px}.loading-folders p{color:#9d9d9d;color:var(--text-secondary,#9d9d9d);font-size:14px;margin-top:1rem}.loading-folders .book-loader{height:56px;margin:0 auto;width:80px}.loading-folders .book-loader:before{background-image:linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0);background-position:6px 12px,6px 24px,6px 36px,42px 12px,42px 24px,42px 36px;background-size:24px 4px;border-radius:4px;bottom:4px;box-shadow:0 0 4px #00000040;left:4px;right:4px;top:4px}.loading-folders .book-loader:after{background-image:linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0),linear-gradient(#ddd 40px,#0000 0);background-position:50% 12px,50% 24px,50% 36px;background-size:24px 4px;border-radius:4px;bottom:4px;right:4px;top:4px;width:calc(50% - 4px)}.book-loading{animation:bookPulse 1.5s ease-in-out infinite;color:#007acc;color:var(--primary-color,#007acc)}@keyframes bookPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.login-prompt{align-items:center;color:#9d9d9d;color:var(--text-secondary,#9d9d9d);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.login-prompt-icon{font-size:64px;margin-bottom:16px;opacity:.6}.login-prompt h3{color:#ccc;color:var(--text-primary,#ccc);font-size:18px;font-weight:600;margin:0 0 12px}.login-prompt p{font-size:14px;line-height:1.6;margin:0;max-width:250px}.empty-state{flex-direction:column;padding:40px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-text{color:#858585;color:var(--text-tertiary,#858585);font-size:13px;margin:0 0 16px}.empty-action{background:#007acc;background:var(--primary-color,#007acc);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.empty-action:hover{background:#005a9e;background:var(--primary-color-hover,#005a9e);box-shadow:0 2px 8px #007acc4d;transform:translateY(-1px)}.sidebar-overlay{display:none}@media (max-width:768px){.sidebar{box-shadow:4px 0 16px #0000004d;max-width:320px;width:100%}.sidebar.closed{transform:translateX(-100%)}.sidebar-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:899}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-toggle,.sidebar-toggle.open{left:8px;top:calc(8px + env(safe-area-inset-top, 0))}.sidebar-toggle.open{background:#1e1e1ef2}.context-menu{max-width:calc(100vw - 40px)}}:root{--bg-primary:#252526;--bg-secondary:#1e1e1e;--text-primary:#ccc;--text-secondary:#9d9d9d;--text-tertiary:#858585;--border-color:#2d2d2d;--primary-color:#007acc;--primary-color-hover:#005a9e}@media (prefers-color-scheme:light){:root{--bg-primary:#f3f3f3;--bg-secondary:#fff;--text-primary:#3c3c3c;--text-secondary:#6c6c6c;--text-tertiary:#858585;--border-color:#e5e5e5}.context-menu,.sidebar-toggle{background:#fff}.context-menu-item:hover{background:#0078d4}}.context-menu-item:focus,.tree-file:focus,.tree-folder-header:focus{outline:2px solid #007acc;outline:2px solid var(--primary-color,#007acc);outline-offset:-2px}.tree-file,.tree-folder{animation:slideIn .2s ease}.tree-file.selected:before{background:#007acc;background:var(--primary-color,#007acc);border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.tree-file:active,.tree-folder-header:active{transform:scale(.98)}.sidebar-explorer{scrollbar-color:#2d2d2d #0000;scrollbar-color:var(--border-color,#424242) #0000;scrollbar-width:thin}.confirmation-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirmation-modal{animation:slideUp .3s ease-out;background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:450px;width:90%}.confirmation-header{padding:2rem 2rem 1rem;text-align:center}.confirmation-icon{align-items:center;animation:iconPulse .5s ease-out;color:var(--text-primary);display:inline-flex;font-size:3.5rem;justify-content:center;margin-bottom:1rem}@keyframes iconPulse{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.confirmation-icon.danger{filter:drop-shadow(0 0 20px rgba(255,77,79,.4))}.confirmation-icon.warning{filter:drop-shadow(0 0 20px rgba(255,193,7,.4))}.confirmation-header h2{color:#fff;color:var(--text-primary,#fff);font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;margin:0}.confirmation-body{padding:1rem 2rem 2rem;text-align:center}.confirmation-body p{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:1rem;line-height:1.6;margin:0}.confirmation-actions{display:flex;gap:1rem;justify-content:stretch;padding:0 2rem 2rem}.confirmation-cancel-btn,.confirmation-confirm-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease}.confirmation-cancel-btn{background:#ffffff0d;border:1px solid #ffffff1a;color:#fff;color:var(--text-primary,#fff)}.confirmation-cancel-btn:hover{background:#ffffff1a;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.confirmation-confirm-btn{color:#fff;font-weight:600}.confirmation-confirm-btn.danger{background:linear-gradient(135deg,#ff4d4f,#d32f2f)}.confirmation-confirm-btn.danger:hover{background:linear-gradient(135deg,#ff6b6b,#e74c3c);box-shadow:0 4px 20px #ff4d4f66;transform:translateY(-1px)}.confirmation-confirm-btn.warning{background:linear-gradient(135deg,#ffc107,#ff9800)}.confirmation-confirm-btn.warning:hover{background:linear-gradient(135deg,#ffd54f,#ffa726);box-shadow:0 4px 20px #ffc10766;transform:translateY(-1px)}.confirmation-cancel-btn:active,.confirmation-confirm-btn:active{transform:translateY(0)}@media (max-width:768px){.confirmation-modal{margin:1rem;max-width:90%}.confirmation-header{padding:1.5rem 1.5rem .75rem}.confirmation-header h2{font-size:1.25rem}.confirmation-body{padding:.75rem 1.5rem 1.5rem}.confirmation-body p{font-size:.9rem}.confirmation-actions{flex-direction:column;padding:0 1.5rem 1.5rem}.confirmation-cancel-btn,.confirmation-confirm-btn{padding:.75rem 1rem;width:100%}}.create-folder-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.create-folder-modal{animation:slideUpModal .3s ease-out;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px var(--card-shadow-hover);max-width:500px;width:90%}.create-folder-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 24px 16px}.create-folder-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.create-folder-header .close-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.create-folder-header .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.create-folder-body{padding:24px}.folder-icon-display{animation:bounceIn .5s ease-out;font-size:4rem;margin-bottom:24px;text-align:center}.form-group{margin-bottom:16px}.form-group label{font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input{background:var(--input-bg);border:2px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #00adb51a;outline:none}.form-group input::placeholder{color:var(--text-tertiary)}.error-message{gap:6px;margin-top:8px}.error-message:before{content:"!"}.folder-info{align-items:center;background:#00adb51a;border:1px solid #00adb533;border-radius:8px;color:var(--text-secondary);display:flex;font-size:.9rem;gap:8px;padding:12px}.folder-info .info-icon{font-size:1.2rem}.create-folder-footer{border-top:2px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.create-folder-footer button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.create-btn{background:var(--accent-color);color:var(--accent-text);min-width:140px}.create-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px #00adb54d;transform:translateY(-2px)}.create-btn:active{transform:translateY(0)}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.create-folder-modal{max-width:none;width:95%}.create-folder-header h2{font-size:1.25rem}.folder-icon-display{font-size:3rem;margin-bottom:16px}.create-folder-body{padding:20px}.create-folder-footer{flex-direction:column-reverse}.create-folder-footer button{width:100%}}.share-deck-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.share-deck-modal{animation:slideUp .3s ease;background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.share-deck-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;justify-content:space-between;padding:1.5rem}.share-deck-header h2{align-items:center;color:#333;color:var(--text-primary,#333);display:flex;font-size:1.5rem;gap:.5rem;margin:0}.share-icon{color:#007acc;color:var(--primary-color,#007acc)}.close-button{border-radius:4px;color:#666;color:var(--text-secondary,#666);font-size:1.5rem;padding:.25rem}.close-button:hover{background:#f0f0f0;background:var(--hover-bg,#f0f0f0);color:#333;color:var(--text-primary,#333)}.close-button:disabled{cursor:not-allowed;opacity:.5}.share-deck-body{padding:1.5rem}.deck-info{background:#f5f5f5;background:var(--hover-bg,#f5f5f5);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.deck-title-label{color:#666;color:var(--text-secondary,#666);font-size:.875rem;font-weight:500;margin:0 0 .5rem}.deck-title{color:#333;color:var(--text-primary,#333);font-size:1.125rem;font-weight:600;margin:0}.my-user-id-section{background:#f5f5f5;background:var(--hover-bg,#f5f5f5);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.my-user-id-header{align-items:center;color:#333;color:var(--text-primary,#333);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.info-icon{color:#007acc;color:var(--primary-color,#007acc)}.user-id-display{background:#fff;background:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;gap:.5rem;padding:.75rem}.user-id-code{color:#333;color:var(--text-primary,#333);font-size:.875rem}.copy-user-id-btn{border-radius:6px;padding:.5rem}.copied-message{font-size:.875rem;margin:.5rem 0 0}.user-selection{margin-bottom:1.5rem}.user-selection label{display:block;font-weight:500;margin-bottom:.5rem}.user-id-input,.user-selection label{color:#333;color:var(--text-primary,#333)}.user-id-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-sizing:border-box;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.user-id-input:focus{border-color:#007acc;border-color:var(--primary-color,#007acc);box-shadow:0 0 0 3px #007acc1a;outline:none}.user-id-input:disabled{cursor:not-allowed;opacity:.6}.input-hint{color:#666;color:var(--text-secondary,#666);font-size:.875rem;font-style:italic;margin:.5rem 0 0}.error-message{background:#fee;border:1px solid #fcc;color:#c33}.error-message,.success-message{align-items:center;display:flex;gap:.5rem;padding:1rem}.success-message{background:#efe;border:1px solid #cfc;border-radius:8px;color:#3c3;margin-bottom:1rem}.share-deck-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.cancel-button,.share-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.cancel-button{background:#f0f0f0;background:var(--hover-bg,#f0f0f0);color:#333;color:var(--text-primary,#333)}.cancel-button:hover:not(:disabled){background:#e0e0e0;background:var(--border-color,#e0e0e0)}.share-button{background:#007acc;background:var(--primary-color,#007acc);color:#fff}.share-button:hover:not(:disabled){background:#005a9e;background:var(--primary-color-dark,#005a9e);box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.cancel-button:disabled,.share-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.share-deck-modal{max-height:85vh;width:95%}.share-deck-header h2{font-size:1.25rem}}.rename-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.rename-modal{animation:slideUp .3s ease-out;background:#252526;background:var(--bg-primary,#252526);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.rename-header{align-items:center;border-bottom:1px solid #3e3e42;border-bottom:1px solid var(--border-color,#3e3e42);display:flex;justify-content:space-between;padding:1.5rem}.rename-header h2{align-items:center;color:#ccc;color:var(--text-primary,#ccc);display:flex;font-size:1.25rem;font-weight:600;margin:0}.close-btn{border-radius:4px;color:#858585;color:var(--text-secondary,#858585);font-size:1.25rem;padding:.5rem;transition:all .2s}.close-btn:hover{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);color:#ccc;color:var(--text-primary,#ccc)}.rename-body{padding:1.5rem}.rename-body .form-group{display:flex;flex-direction:column;gap:.5rem}.rename-body label{color:#858585;color:var(--text-secondary,#858585);font-size:.9rem;font-weight:500}.rename-body input{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #3e3e42;border:1px solid var(--border-color,#3e3e42);border-radius:6px;box-sizing:border-box;color:#ccc;color:var(--text-primary,#ccc);font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.rename-body input:focus{border-color:#00adb5;border-color:var(--accent-color,#00adb5);box-shadow:0 0 0 3px #00adb533;outline:none}.rename-body input::placeholder{color:#6a6a6a;color:var(--text-tertiary,#6a6a6a)}.error-message{color:#ff6b6b;margin-top:.25rem}.rename-footer{border-top:1px solid #3e3e42;border-top:1px solid var(--border-color,#3e3e42);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.cancel-btn,.rename-btn{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);color:#858585;color:var(--text-secondary,#858585)}.cancel-btn:hover{background:#2d2d30;background:var(--bg-tertiary,#2d2d30);color:#ccc;color:var(--text-primary,#ccc)}.rename-btn{background:#00adb5;background:var(--accent-color,#00adb5);color:#fff}.rename-btn:hover{background:#00d4e0;background:var(--accent-hover,#00d4e0);box-shadow:0 4px 12px #00adb54d;transform:translateY(-1px)}.rename-btn:active{transform:translateY(0)}.flashcard-viewer{margin:0 auto;outline:none;padding-bottom:100px;position:relative;transition:padding-right .3s cubic-bezier(.4,0,.2,1);width:100%}.flashcard-viewer.sidebar-visible{padding-right:280px}.flashcard-viewer.sidebar-hidden{padding-right:0}.flashcard-viewer-content{align-items:flex-start;display:flex;gap:1rem;justify-content:center;margin:0 auto;position:relative;width:100%}.difficulty-filter-section{margin-bottom:2rem}.difficulty-filter-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px #00000014;display:inline-flex;gap:0;padding:4px}.filter-btn{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;padding:.625rem 1.125rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.filter-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.filter-btn.active{background:var(--accent-color);box-shadow:0 2px 8px #667eea4d;color:#fff;font-weight:600}.filter-btn.easy.active{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.filter-btn.medium.active{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.filter-btn.hard.active{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.filter-count{font-size:.75rem;font-weight:400;margin-left:.25rem;opacity:.8}.filter-btn.active .filter-count{font-weight:500;opacity:.9}@media (max-width:768px){.difficulty-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.5rem}.filter-btn{font-size:.75rem;padding:.5rem .875rem}.filter-count{font-size:.7rem}}@media (max-width:500px){.difficulty-filter-section{margin-bottom:1.5rem}.difficulty-filter-bar{padding:.375rem;width:100%}.filter-btn{flex:1 1;font-size:.7rem;min-width:0;padding:.5rem .625rem}.filter-count{display:block;font-size:.65rem;margin-left:0;margin-top:.125rem}}.progress{margin-top:1rem}.progress-text{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.progress-bar{background:var(--bg-tertiary);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent-color);border-radius:2px;height:100%;transition:width .3s ease}.flashcard-container{align-items:center;display:flex;flex:0 0 auto;justify-content:center;margin:1rem auto;max-width:900px;min-height:calc(100vh - 280px);transition:max-width .3s cubic-bezier(.4,0,.2,1);width:100%}.flashcard-viewer.sidebar-hidden .flashcard-container{max-width:1200px}.navigation{background:var(--card-bg);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 8px #00000014;flex-direction:row;gap:1rem;justify-content:space-between;left:280px;padding:1rem 2rem max(1rem,env(safe-area-inset-bottom));position:fixed;right:0;transition:left .3s cubic-bezier(.4,0,.2,1);z-index:98}.nav-button,.navigation{align-items:center;display:flex}.nav-button{background:var(--accent-color);border:none;border-radius:50%;color:var(--bg-primary);cursor:pointer;flex-shrink:0;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:500;height:44px;justify-content:center;padding:0;transition:all .2s ease;width:44px}.nav-button.prev{order:-1}.nav-button.next{order:1}.nav-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.nav-button:active:not(:disabled){transform:translateY(0)}.nav-button:disabled{cursor:not-allowed;opacity:.3}.card-dots{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center;max-width:600px;padding:.3rem}.dot{background:var(--border-hover);border-radius:50%;cursor:pointer;height:6px;transition:all .2s ease;width:6px}.dot.difficulty-easy{background:#4ade80}.dot.difficulty-medium{background:#fbbf24}.dot.difficulty-hard{background:#ef4444}.dot:hover{opacity:.8;transform:scale(1.3)}.dot.active{box-shadow:0 0 0 2px var(--card-bg),0 0 0 3px currentColor;transform:scale(1.4)}.dot.difficulty-easy.active{color:#4ade80}.dot.difficulty-medium.active{color:#fbbf24}.dot.difficulty-hard.active{color:#ef4444}.dot-pagination{align-items:center;color:var(--text-tertiary);display:flex;font-size:.65rem;font-weight:500;padding:0 .5rem;white-space:nowrap}.navigation-center{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;justify-content:center;order:0}.keyboard-hint{color:var(--text-tertiary);font-size:.75rem;font-style:italic;pointer-events:none;text-align:center}.empty-state{align-items:center;display:flex;justify-content:center;min-height:60vh}.empty-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px var(--card-shadow);max-width:600px;padding:3rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-content h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:1rem 0}.empty-content p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:.5rem 0}.add-first-card-button{background:var(--accent-color);border:none;border-radius:8px;color:var(--bg-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;margin-top:1.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.add-first-card-button:hover{background:var(--accent-hover);transform:translateY(-2px)}.add-first-card-button:active{transform:translateY(0)}@media (max-width:768px){.flashcard-viewer{padding:0}.flashcard-viewer,.flashcard-viewer.sidebar-hidden,.flashcard-viewer.sidebar-visible{padding-right:0!important}.flashcard-viewer-content{flex-direction:column}.flashcard-container,.flashcard-viewer-content{align-items:center;justify-content:center;max-width:100%;width:100%}.flashcard-container{display:flex;margin:1rem auto;min-height:calc(100vh - 350px)}.header-top{align-items:stretch;flex-direction:column}.viewer-header h2{font-size:1.25rem;text-align:center}.card-actions{flex-wrap:wrap;width:100%}.add-card-button,.delete-card-button,.edit-card-button{flex:1 1;min-width:-webkit-fit-content;min-width:fit-content}.difficulty-filter-bar{flex-direction:column;gap:.375rem}.filter-btn{width:100%}.navigation{flex-wrap:wrap;gap:.75rem;left:0!important;padding:.75rem 1rem}.nav-button.prev{order:1}.navigation-center{order:2;width:100%}.nav-button.next{order:3}.card-dots{width:100%}.nav-button{flex:0 0 auto;height:44px;width:44px}.keyboard-hint{display:none}.flashcard-viewer{padding-bottom:140px}}.flashcard{cursor:pointer;height:500px;max-width:800px;min-width:300px;perspective:1000px;width:30vw}@media (min-width:1024px){.flashcard{height:600px;max-width:1000px;width:40vw}}.flashcard:focus{outline:none}.flashcard-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;transition:transform var(--card-animation-speed,.6s);width:100%}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;border-radius:var(--card-border-radius,12px);box-shadow:0 4px 12px var(--card-shadow);display:flex;flex-direction:column;height:100%;padding:2.5rem;position:absolute;transition:all .3s ease;width:100%}.flashcard-back,.flashcard-inner.flipped .flashcard-front{pointer-events:none}.flashcard-inner.flipped .flashcard-back{pointer-events:auto}.flashcard-back .audio-play-btn,.flashcard-inner.flipped .flashcard-front .audio-play-btn{opacity:0;pointer-events:none;visibility:hidden}.flashcard-inner.flipped .flashcard-back .audio-play-btn{opacity:1;pointer-events:auto;visibility:visible}.flashcard-back:hover,.flashcard-front:hover{border-color:var(--border-hover);box-shadow:0 8px 24px var(--card-shadow-hover)}.flashcard[data-style=minimal] .flashcard-back,.flashcard[data-style=minimal] .flashcard-front{border:1px solid var(--border-color);box-shadow:none}.flashcard[data-style=bold] .flashcard-back,.flashcard[data-style=bold] .flashcard-front{border:3px solid var(--accent-color);box-shadow:0 8px 20px var(--card-shadow-hover)}.flashcard[data-style=bold] .card-content p,.flashcard[data-style=bold] .latex-content{font-weight:600}.flashcard[data-style=elegant] .flashcard-back,.flashcard[data-style=elegant] .flashcard-front{background:linear-gradient(135deg,var(--card-bg) 0,var(--bg-secondary) 100%);border:none;box-shadow:0 10px 30px #0003}.flashcard-back,.flashcard-front{color:var(--text-primary)}.flashcard-back{transform:rotateY(180deg)}.card-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:1.5rem;opacity:.6;text-align:center;text-transform:uppercase}.card-position{font-size:.7rem;font-weight:500;letter-spacing:normal;margin-left:.25rem;opacity:.8;text-transform:none}.card-content{-webkit-overflow-scrolling:touch;align-items:center;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;font-size:1.25rem;font-size:var(--card-font-size,1.25rem);gap:.5rem;justify-content:center;max-height:100%;overflow-x:auto;overflow-y:auto;padding:.5rem;scroll-behavior:smooth;width:100%}.card-content::-webkit-scrollbar{width:6px}.card-content::-webkit-scrollbar-track{background:#0000}.card-content::-webkit-scrollbar-thumb{background:#00adb54d;border-radius:3px}.card-content::-webkit-scrollbar-thumb:hover{background:#00adb580}.card-image{align-items:center;display:flex;flex-shrink:1;justify-content:center;margin:0;max-height:50%;max-width:100%}.card-image img{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:200px;max-width:100%;object-fit:contain}.audio-play-btn{box-shadow:0 4px 12px #ffd70066;margin-top:1rem}.audio-play-btn:hover{box-shadow:0 6px 16px #ffd70099;transform:scale(1.1)}.audio-play-btn:active{transform:scale(.95)}.card-content p{margin:0}.card-content p,.latex-content{word-wrap:break-word;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--card-font,"Inter"),sans-serif;font-size:inherit;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;max-width:100%;overflow-wrap:break-word;text-align:center;width:100%;word-break:break-word}.latex-content{box-sizing:border-box;padding:0 .25rem;white-space:pre-wrap}.latex-inline{display:inline;margin:0 .2em}.latex-block{display:block;margin:.5em 0;max-width:100%;overflow:hidden;text-align:center}.latex-error{background:var(--bg-secondary);border-radius:4px;color:var(--error-color);font-family:monospace;padding:.2em .5em}.markdown-inline-code{border:1px solid #0003;border:1px solid var(--border-color,#0003);border-radius:3px;padding:.15em .4em}.markdown-code-block,.markdown-inline-code{background:#0000001a;background:var(--bg-secondary,#0000001a);color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-code-block{border:1px solid #0003;border:1px solid var(--border-color,#0003);border-radius:4px;display:block;margin:.5em 0;overflow-x:auto;padding:.5em 1em;white-space:pre}.latex-content strong{font-weight:700}.latex-content em{font-style:italic}.flip-hint{color:var(--text-tertiary);font-size:.75rem;font-weight:500;margin-bottom:.75rem;opacity:.5;text-align:center}.card-difficulty-selector{display:flex;gap:.5rem;justify-content:center;margin-top:auto}.card-difficulty-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;padding:0;touch-action:manipulation;transition:all .2s ease;user-select:none;-webkit-user-select:none;width:40px}.card-difficulty-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);transform:scale(1.1)}.card-difficulty-btn.easy.active{background:#4ade80;border-color:#4ade80;transform:scale(1.15)}.card-difficulty-btn.medium.active{background:#fbbf24;border-color:#fbbf24;transform:scale(1.15)}.card-difficulty-btn.hard.active{background:#ef4444;border-color:#ef4444;transform:scale(1.15)}.fullscreen-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--card-shadow);color:var(--text-primary);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;left:calc(12px + env(safe-area-inset-left, 0));position:absolute;top:calc(12px + env(safe-area-inset-top, 0));touch-action:manipulation;transition:all .2s ease;width:40px;z-index:10}.fullscreen-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);transform:scale(1.05)}.fullscreen-btn:active{transform:scale(.95)}.keyboard-shortcuts-hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:12px;bottom:max(20px,env(safe-area-inset-bottom));box-shadow:0 4px 12px #0000004d;display:flex;gap:1rem;left:50%;opacity:.7;padding:.75rem 1.5rem;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;z-index:10}.keyboard-shortcuts-hint:hover{opacity:1}.shortcut-item{color:#ffffffe6;font-size:.75rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}.fullscreen-nav-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;box-shadow:0 4px 12px var(--card-shadow);color:var(--text-primary);cursor:pointer;display:none;font-size:2.5rem;font-weight:300;height:60px;justify-content:center;position:absolute;top:50%;touch-action:manipulation;transform:translateY(-50%);transition:all .2s ease;width:60px;z-index:10}.flashcard.css-fullscreen .fullscreen-nav-btn,.flashcard:-webkit-full-screen .fullscreen-nav-btn,.flashcard:fullscreen .fullscreen-nav-btn{display:flex}.fullscreen-nav-btn.prev{left:max(20px,env(safe-area-inset-left))}.fullscreen-nav-btn.next{right:max(20px,env(safe-area-inset-right))}.fullscreen-nav-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover);transform:translateY(-50%) scale(1.1)}.fullscreen-nav-btn:active:not(:disabled){transform:translateY(-50%) scale(.95)}.fullscreen-nav-btn.disabled,.fullscreen-nav-btn:disabled{cursor:not-allowed;opacity:.3}.flashcard.css-fullscreen{-webkit-overflow-scrolling:touch;align-items:center;background:var(--bg-primary);bottom:0;display:flex;height:100vh;height:100dvh;justify-content:center;left:0;margin:0;max-width:100vw;min-height:100vh;min-height:100dvh;overflow:hidden;padding:2rem;position:fixed;right:0;top:0;touch-action:pan-x pan-y;width:100vw;width:100dvw;z-index:99999}.flashcard.css-fullscreen .flashcard-inner{height:100%;max-height:90vh;max-width:1200px;width:100%}.flashcard.css-fullscreen .flashcard-back,.flashcard.css-fullscreen .flashcard-front{overflow:hidden;padding:3rem}.flashcard.css-fullscreen .card-content{font-size:clamp(1.25rem,2vw,2rem);overflow-x:auto;overflow-y:auto}.flashcard.css-fullscreen .card-image img{max-height:35vh}.flashcard:-webkit-full-screen .card-image img,.flashcard:fullscreen .card-image img{max-height:35vh}@media (max-width:1024px){.flashcard{height:450px;margin:5%}.flashcard-back,.flashcard-front{padding:5%}.card-content,.card-content p,.latex-content{font-size:.875rem}.card-difficulty-btn{font-size:1.1rem;height:36px;width:36px}.fullscreen-btn{font-size:1rem;height:36px;left:calc(8px + env(safe-area-inset-left, 0));top:calc(8px + env(safe-area-inset-top, 0));width:36px}.fullscreen-nav-btn{font-size:2rem;height:50px;width:50px}.fullscreen-nav-btn.prev{left:max(10px,env(safe-area-inset-left))}.fullscreen-nav-btn.next{right:max(10px,env(safe-area-inset-right))}.keyboard-shortcuts-hint{bottom:max(10px,env(safe-area-inset-bottom));gap:.5rem;padding:.5rem 1rem}.shortcut-item{font-size:.65rem}.flashcard.css-fullscreen .card-image img,.flashcard:-webkit-full-screen .card-image img,.flashcard:fullscreen .card-image img{max-height:25vh}.card-image img{max-height:120px}.audio-play-btn{-webkit-tap-highlight-color:transparent;flex-grow:0;flex-shrink:0;font-size:14px;height:36px;max-height:36px;max-width:36px;min-height:36px;min-width:36px;touch-action:manipulation;width:36px;z-index:100}}@media (max-width:480px){.flashcard.css-fullscreen .card-image img,.flashcard:-webkit-full-screen .card-image img,.flashcard:fullscreen .card-image img{max-height:20vh}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.add-card-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.add-card-modal{animation:slideIn .3s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;position:relative;width:100%}.loading-overlay-inline{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.loading-content{padding:2rem;text-align:center}.loading-content h3{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.loading-subtext{color:#fffc;font-size:1rem;line-height:1.6;margin:0;max-width:500px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.mode-switcher{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.5rem;margin-bottom:2rem;padding:.375rem}.mode-button{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.mode-button:hover{color:var(--text-primary)}.mode-button.active{background:var(--accent-color);color:var(--bg-primary)}.ai-mode-content{animation:fadeIn .3s ease-out}.user-instructions-group{background:#252526;background:var(--bg-primary,#252526);border:2px solid #00adb5;border:2px solid var(--accent-color,#00adb5);border-radius:8px;margin-bottom:1.5rem;margin-top:1rem;padding:1.25rem}.user-instructions-group label{align-items:center;color:#00adb5;color:var(--accent-color,#00adb5);display:flex;font-size:1rem;font-weight:600;gap:.5rem}.instruction-icon{font-size:1.2rem}.user-instructions-textarea{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-color:#00adb5;border-color:var(--accent-color,#00adb5);border-radius:6px;border-width:1px;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.user-instructions-textarea:focus{border-color:#00adb5;border-color:var(--accent-color,#00adb5);box-shadow:0 0 0 3px #00adb533;outline:none}.instruction-helper{background:#00adb51a;border-left:3px solid #00adb5;border-left:3px solid var(--accent-color,#00adb5);border-radius:4px;font-size:.9rem;line-height:1.5;margin-top:.75rem;padding:.75rem}.instruction-helper strong{color:#00adb5;color:var(--accent-color,#00adb5)}.ai-hint{color:var(--text-tertiary);display:block;font-size:.75rem;font-style:italic;font-weight:400;margin-top:.25rem}.ai-success{align-items:center;animation:successPulse .6s ease-out;background:var(--success-color);border-radius:8px;color:#fff;display:flex;gap:.75rem;margin-bottom:1rem;padding:.875rem 1.25rem}@keyframes successPulse{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.success-icon{font-size:1.25rem}.ai-success p{font-size:.875rem;font-weight:500;margin:0}.ai-generate-button{background:var(--success-color);color:#fff}.ai-generate-button:hover:not(:disabled){background:var(--success-color);opacity:.9;transform:translateY(-1px)}.close-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;padding:.375rem;transition:all .2s;width:32px}.close-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.latex-hint{color:var(--text-tertiary);display:block;font-size:.75rem;font-style:italic;font-weight:400;margin-top:.25rem}.form-group input[type=text],.form-group textarea{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.875rem;padding:.75rem;resize:vertical;transition:all .2s;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:var(--accent-color);outline:none}.form-group textarea.with-toolbar{border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.form-actions{margin-bottom:1rem}.preview-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.preview-button:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.preview-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.preview-section h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1rem}.preview-cards{grid-gap:.875rem;display:grid;gap:.875rem}.preview-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.question-preview{border-left:3px solid var(--accent-color)}.answer-preview{border-left:3px solid var(--text-tertiary)}.preview-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.625rem;opacity:.7;text-transform:uppercase}.preview-card .latex-content{color:var(--text-primary);font-size:1rem;text-align:left;white-space:pre-wrap}.error-message{background:var(--bg-secondary);border:1px solid var(--error-color);border-radius:8px;color:var(--error-color);font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.button-group{display:flex;gap:.75rem;justify-content:flex-end}.cancel-button,.submit-button{border:none;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.cancel-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.cancel-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.submit-button{background:var(--accent-color);color:var(--bg-primary)}.submit-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.difficulty-selector{display:flex;gap:.5rem;margin-top:.5rem}.difficulty-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);flex:1 1;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;gap:.375rem;justify-content:center;padding:.625rem 1rem;transition:all .2s ease}.difficulty-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}.difficulty-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:var(--bg-primary)}.latex-help{border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1.25rem}.latex-help summary{color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 0;-webkit-user-select:none;user-select:none}.latex-help summary:hover{color:var(--text-primary)}.latex-examples{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:.8rem;margin-top:.875rem;padding:1rem}.latex-examples p{color:var(--text-secondary);margin:.5rem 0}.latex-examples code{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,Courier New,monospace;padding:.2rem .5rem}.image-upload-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:.75rem;padding:1rem}.image-upload-label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.image-upload-button{background:var(--accent-color);border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.image-upload-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.image-preview{display:inline-block;margin-top:1rem;position:relative}.image-preview img{border:2px solid var(--border-color);border-radius:8px;max-height:200px;max-width:100%}.remove-image-btn{background:#ef4444e6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:8px;top:8px;transition:all .2s ease}.remove-image-btn:hover{background:#dc2626}.audio-upload-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:.75rem;padding:1rem}.audio-upload-label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.audio-upload-button{background:var(--accent-color);border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.audio-upload-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.audio-preview{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;display:flex;gap:1rem;justify-content:space-between;margin-top:.75rem;padding:.75rem}.audio-name{color:var(--text-primary);flex:1 1;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-audio-btn{background:#ef4444e6;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .5rem;transition:all .2s ease}.remove-audio-btn:hover{background:#dc2626}@media (max-width:768px){.add-card-modal{padding:1.5rem}.mode-switcher{flex-direction:column;gap:.375rem}.mode-button{width:100%}.difficulty-selector{flex-direction:column;gap:.375rem}.button-group{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}.text-editor-toolbar{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-bottom:none;border-radius:8px 8px 0 0;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px}.toolbar-section{align-items:center;display:flex;gap:4px}.latex-section{position:relative}.toolbar-divider{background:var(--border-color);height:24px;width:1px}.toolbar-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;min-width:32px;padding:6px 10px;transition:all .2s ease}.toolbar-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text);transform:translateY(-1px)}.toolbar-btn:active{transform:translateY(0)}.latex-btn{font-family:Times New Roman,serif;font-size:18px;font-style:italic}.latex-menu{animation:slideDown .2s ease-out;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px var(--card-shadow-hover);left:0;margin-top:8px;max-width:400px;min-width:320px;padding:16px;position:absolute;top:100%;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.latex-menu-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.latex-menu-header span{color:var(--text-primary);font-size:14px;font-weight:700}.close-latex-menu{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.close-latex-menu:hover{background:var(--bg-tertiary);color:var(--text-primary)}.latex-quick-insert{display:flex;gap:8px;margin-bottom:16px}.latex-quick-btn{background:var(--accent-color);border:none;border-radius:8px;color:var(--accent-text);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:all .2s ease}.latex-quick-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px #00adb54d;transform:translateY(-2px)}.latex-symbols-header{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.latex-symbols-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(8,1fr);margin-bottom:16px}.latex-symbol-btn{align-items:center;aspect-ratio:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:8px;transition:all .2s ease}.latex-symbol-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text);transform:scale(1.1)}.latex-examples{border-top:1px solid var(--border-color);padding-top:12px}.latex-example-title{color:var(--text-secondary);font-size:11px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.latex-example{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:Courier New,monospace;font-size:12px;margin-bottom:4px;padding:6px 10px}.toolbar-info{align-items:center;display:flex;margin-left:auto}.toolbar-hint{color:var(--text-tertiary);font-size:12px;font-style:italic}@media (max-width:768px){.text-editor-toolbar{gap:8px;padding:6px 8px}.toolbar-btn{font-size:13px;height:28px;min-width:28px;padding:4px 8px}.latex-menu{left:auto;max-width:calc(100vw - 32px);min-width:280px;right:0}.latex-symbols-grid{grid-template-columns:repeat(6,1fr)}.toolbar-info{display:none}}@media (max-width:480px){.text-editor-toolbar{gap:4px}.toolbar-section{gap:2px}.latex-symbols-grid{grid-template-columns:repeat(5,1fr)}.latex-quick-insert{flex-direction:column}}.card-thumbnail-sidebar{background:#1e1e2e;background:var(--card-bg,#1e1e2e);border-left:1px solid #ffffff1a;border-left:1px solid var(--border-color,#ffffff1a);bottom:80px;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:0;top:110px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:97}.card-thumbnail-sidebar.visible{transform:translateX(0)}.card-thumbnail-sidebar.hidden{transform:translateX(100%)}.sidebar-hint{color:#ffffff80;color:var(--text-tertiary,#ffffff80);font-size:.75rem;font-style:italic;margin:0}.thumbnail-list{flex:1 1;overflow-y:auto;padding:1.5rem .5rem}.card-thumbnail,.thumbnail-list{display:flex;flex-direction:column;gap:.5rem}.card-thumbnail{-webkit-touch-callout:none;background:#252538;background:var(--bg-secondary,#252538);border:2px solid #ffffff1a;border:2px solid var(--border-color,#ffffff1a);border-radius:8px;cursor:grab;min-height:100px;padding:.75rem;position:relative;touch-action:pan-y;transition:all .2s ease;user-select:none;-webkit-user-select:none}.card-thumbnail:active{cursor:grabbing}@media (max-width:768px){.card-thumbnail{-webkit-tap-highlight-color:transparent;cursor:pointer}.card-thumbnail:before{color:#fff6;color:var(--text-tertiary,#fff6);content:"⋮⋮";font-size:1rem;left:.5rem;line-height:.5;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.card-thumbnail{touch-action:pan-y}.card-thumbnail:active{background:#0003;background:var(--bg-tertiary,#0003);transform:scale(.98)}}.card-thumbnail:hover:not(.disabled){border-color:#667eea;border-color:var(--accent-color,#667eea);box-shadow:0 2px 8px #00000026;transform:translateX(-2px)}.card-thumbnail.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.card-thumbnail.active{background:#094771;background:var(--primary-color,#094771);border-color:#094771;border-color:var(--primary-color,#094771);box-shadow:0 0 0 3px #09477133;color:#fff;color:var(--text-primary,#fff)}.card-thumbnail.dragging{border-color:#667eea;border-color:var(--accent-color,#667eea);opacity:.5}.thumbnail-number{background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border-radius:4px;color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:.7rem;font-weight:600;min-width:24px;padding:.2rem .4rem;position:absolute;right:.5rem;text-align:center;top:.5rem}.card-thumbnail.active .thumbnail-number{background:#fff3;color:#fff;color:var(--text-primary,#fff)}.thumbnail-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.thumbnail-answer,.thumbnail-question{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:.75rem;line-height:1.4;overflow:hidden}.card-thumbnail.active .thumbnail-answer,.card-thumbnail.active .thumbnail-question{color:#fff;color:var(--text-primary,#fff)}.thumbnail-text{max-height:40px;overflow:hidden}.thumbnail-image{align-items:center;background:#0003;background:var(--bg-tertiary,#0003);border-radius:4px;display:flex;height:40px;justify-content:center;overflow:hidden;width:100%}.thumbnail-image img{height:100%;object-fit:cover;width:100%}.thumbnail-difficulty{background:#ffffff4d;background:var(--border-hover,#ffffff4d);border-radius:50%;bottom:.5rem;height:8px;left:.5rem;position:absolute;width:8px}.thumbnail-difficulty.difficulty-easy{background:#4ade80}.thumbnail-difficulty.difficulty-medium{background:#fbbf24}.thumbnail-difficulty.difficulty-hard{background:#ef4444}.thumbnail-list::-webkit-scrollbar{width:6px}.thumbnail-list::-webkit-scrollbar-track{background:#1a1a2e;background:var(--bg-primary,#1a1a2e)}.thumbnail-list::-webkit-scrollbar-thumb{background:#fff3;background:var(--border-color,#fff3);border-radius:3px}.thumbnail-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background:var(--border-hover,#ffffff4d)}.sidebar-toggle-btn{align-items:center;background:#667eea;background:var(--accent-color,#667eea);border:none;border-bottom-left-radius:8px;border-top-left-radius:8px;box-shadow:-2px 0 8px #00000026;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;position:fixed;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:24px;z-index:98}.sidebar-toggle-btn.sidebar-visible{right:280px}.sidebar-toggle-btn.sidebar-hidden{right:0}.sidebar-toggle-btn:hover{background:#5568d3;background:var(--accent-hover,#5568d3);box-shadow:-2px 0 12px #0003;width:28px}.sidebar-toggle-btn:active{transform:translateY(-50%) scale(.95)}.sidebar-toggle-btn svg{font-size:12px}@media (max-width:1024px){.card-thumbnail-sidebar{height:calc(100vh - 180px);width:240px}.sidebar-toggle-btn.sidebar-visible{right:240px}}@media (max-width:768px){.card-thumbnail-sidebar,.sidebar-toggle-btn{display:none!important}}.auth-container{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:slideUp .3s ease-out;background:#fff;background:var(--card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;padding:40px;position:relative;width:100%}.auth-close{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:36px}.auth-close:hover{background:var(--accent-color);color:var(--accent-text)}.auth-header{margin-bottom:32px;text-align:center}.auth-header h2{color:#1f2937;color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:#6b7280;color:var(--text-secondary);font-size:14px;margin:0}.auth-form{gap:20px}.auth-form,.auth-input-group{display:flex;flex-direction:column}.auth-input-group{gap:8px}.auth-input-group label{color:#1f2937;color:var(--text-primary);font-size:14px;font-weight:600}.auth-input-group input{background:#fff;background:var(--input-bg);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:8px;color:#1f2937;color:var(--text-primary);font-size:15px;padding:12px 16px;transition:all .2s}.auth-input-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--card-shadow);outline:none}.auth-input-group input::placeholder{color:#6b7280;color:var(--text-secondary);opacity:.6}.auth-error{animation:shake .3s ease-in-out;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;margin-bottom:16px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}[data-theme=dark] .auth-error{background:#dc26261a;border-color:#dc26264d;color:#fca5a5}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-button-primary{background:linear-gradient(135deg,var(--accent-color) 0,var(--accent-hover) 100%);color:var(--accent-text);margin-top:8px}.auth-button-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover) 0,var(--accent-color) 100%);box-shadow:0 8px 20px var(--card-shadow-hover);transform:translateY(-2px)}.auth-button-primary:active:not(:disabled){transform:translateY(0)}.auth-button-google{align-items:center;background:#fff;border:2px solid #dadce0;color:#3c4043;display:flex;gap:10px;justify-content:center;width:100%}.auth-button-google:hover:not(:disabled){background:#f8f9fa;border-color:#c8ccd0;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}[data-theme=dark] .auth-button-google{background:#fff;background:var(--card-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--text-primary)}[data-theme=dark] .auth-button-google:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-color)}.google-icon{flex-shrink:0}.auth-divider{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;margin:24px 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);content:"";flex:1 1}.auth-divider span{padding:0 16px}.auth-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#6b7280;color:var(--text-secondary);font-size:14px;margin:0}.auth-link{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--accent-hover);text-decoration:underline}@media (max-width:500px){.auth-modal{padding:32px 24px}.auth-header h2{font-size:24px}.auth-container{padding:16px}}:root{--primary-color:#667eea;--card-bg:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border-color:#e5e7eb;--input-bg:#fff;--hover-bg:#f3f4f6}[data-theme=dark]{--card-bg:#1f2937;--text-primary:#f9fafb;--text-secondary:#9ca3af;--border-color:#374151;--input-bg:#111827;--hover-bg:#374151}.user-menu{position:relative}.user-menu-trigger{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:0;transition:transform .2s}.user-menu-trigger:hover{transform:scale(1.05)}.user-menu-trigger:active{transform:scale(.95)}.user-avatar-img{object-fit:cover}.user-avatar-img,.user-avatar-placeholder{border:2px solid var(--border-color);border-radius:50%;height:36px;width:36px}.user-avatar-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-color) 0,var(--accent-hover) 100%);color:var(--accent-text);display:flex;font-size:14px;font-weight:600;justify-content:center}.user-menu-dropdown{animation:menuFadeIn .2s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:240px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:16px}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{color:var(--text-primary);font-size:15px;font-weight:600}.user-email{color:var(--text-secondary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{background:var(--border-color);height:1px;margin:0}.user-id-section{padding:12px 16px}.user-id-label{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.user-id-display{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;display:flex;gap:8px;padding:8px}.user-id-code{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;word-break:break-all}.copy-user-id-btn{align-items:center;background:#007acc;background:var(--primary-color,#007acc);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;justify-content:center;padding:4px 8px;transition:all .2s}.copy-user-id-btn:hover{background:#005a9e;background:var(--primary-color-dark,#005a9e);transform:scale(1.05)}.copied-message{color:#3c3;color:var(--success-color,#3c3);font-size:11px;font-weight:500;margin-top:6px;text-align:center}.user-menu-item{align-items:center;background:none;border:none;border-radius:0;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .15s;width:100%}.user-menu-item:first-of-type{border-radius:0 0 12px 12px}.user-menu-item:hover{background:var(--accent-color);color:var(--accent-text)}.user-menu-item svg{flex-shrink:0;opacity:.7}@media (max-width:500px){.user-menu-dropdown{right:-8px}}.settings-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.settings-modal{animation:slideUp .3s ease;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.settings-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.settings-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-content{flex:1 1;overflow-y:auto;padding:2rem}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.settings-content::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.setting-group{margin-bottom:2rem}.setting-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.label-icon{align-items:center;display:inline-flex;font-size:1.25rem;justify-content:center}.setting-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.setting-select:hover{border-color:var(--border-hover)}.setting-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-custom-theme-btn{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;margin-top:12px;padding:12px 16px;transition:all .2s ease;width:100%}.edit-custom-theme-btn:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 12px #00adb54d;color:var(--accent-text);transform:translateY(-2px)}.setting-options{display:flex;flex-wrap:wrap;gap:.5rem}.setting-option{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:.625rem 1rem;transition:all .2s ease}.setting-option:hover{background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text-primary)}.setting-option.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:scale(1.05)}.settings-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:1rem;padding:1.5rem}.done-btn,.reset-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.reset-btn{background:#0000;color:var(--text-secondary)}.reset-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.done-btn{background:var(--accent-color);color:#fff}.done-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}@media (max-width:768px){.settings-modal{max-height:95vh;width:95%}.settings-header{padding:1rem}.settings-header h2{font-size:1.25rem}.settings-content{padding:1.5rem}.setting-option{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;min-width:0}.settings-footer{flex-direction:column;padding:1rem}}.custom-theme-overlay{align-items:center;animation:fadeIn .2s ease-out;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:10000}.custom-theme-modal{animation:slideUpModal .3s ease-out;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px var(--card-shadow-hover);display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.custom-theme-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.custom-theme-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.custom-theme-header .close-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.custom-theme-header .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.custom-theme-body{flex:1 1;overflow-y:auto;padding:24px}.theme-editor-info{background:#00adb51a;border:1px solid #00adb533;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.theme-editor-info .info-icon{flex-shrink:0;font-size:1.5rem}.theme-editor-info strong{color:var(--text-primary);display:block;margin-bottom:4px}.theme-editor-info p{color:var(--text-secondary);font-size:.9rem;margin:0}.mode-selector{display:flex;gap:12px;margin-bottom:20px}.mode-btn{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s ease}.mode-btn:hover{background:var(--bg-tertiary)}.mode-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text)}.theme-preview-section{margin-bottom:24px}.theme-preview-section h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:12px}.theme-preview-box{border:2px solid var(--border-color);border-radius:12px;padding:20px}.theme-preview-box.light{background:#f5f5f5}.theme-preview-box.dark{background:#1a1a1a}.preview-colors{flex-direction:column}.color-row,.preview-colors{display:flex;gap:12px}.color-item{align-items:center;border:2px solid #0000001a;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex:1 1;font-size:.85rem;font-weight:600;justify-content:center;padding:20px}.color-item span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:4px;padding:4px 8px;text-shadow:0 1px 2px #0000004d,0 -1px 2px #ffffff4d}.preview-card{border:2px solid;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px}.preview-card h4{margin:0 0 8px}.preview-card p{margin:0 0 12px}.preview-card button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:8px 16px}.preview-error{color:var(--error-color);font-weight:600;padding:20px;text-align:center}.json-editor-section{margin-bottom:20px}.editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.editor-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.copy-template-btn{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.copy-template-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text)}.json-editor{background:var(--input-bg);border:2px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:.9rem;line-height:1.6;min-height:300px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.json-editor:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #00adb51a;outline:none}.editor-error{align-items:center;background:#ef44441a;border:1px solid var(--error-color);border-radius:6px;color:var(--error-color);display:flex;font-size:.9rem;gap:8px;margin-top:8px;padding:12px}.variable-reference{margin-top:16px}.variable-reference details{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:12px}.variable-reference summary{color:var(--text-primary);cursor:pointer;font-weight:600;padding:8px;-webkit-user-select:none;user-select:none}.variable-reference summary:hover{color:var(--accent-color)}.variable-list{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px}.variable-category{color:var(--text-secondary);font-size:.9rem}.variable-category strong{color:var(--text-primary);display:block;margin-bottom:6px}.variable-category code{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--accent-color);display:inline-block;font-size:.85rem;margin:2px;padding:2px 6px}.custom-theme-footer{align-items:center;border-top:2px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.action-buttons{display:flex;gap:12px}.custom-theme-footer button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.reset-btn{background:var(--bg-tertiary);border:2px solid var(--border-color);color:var(--text-primary)}.reset-btn:hover{background:var(--bg-secondary);transform:translateY(-1px)}.cancel-btn{background:var(--bg-tertiary);color:var(--text-primary)}.cancel-btn:hover{background:var(--bg-secondary);transform:translateY(-1px)}.save-btn{background:var(--accent-color);color:var(--accent-text);min-width:160px}.save-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px #00adb54d;transform:translateY(-2px)}@media (max-width:768px){.custom-theme-modal{max-height:95vh;width:95%}.custom-theme-header h2{font-size:1.25rem}.custom-theme-body{padding:16px}.color-row{flex-direction:column}.json-editor{font-size:.85rem;min-height:200px}.custom-theme-footer{flex-direction:column;gap:12px}.action-buttons{flex-direction:column-reverse;width:100%}.custom-theme-footer button{width:100%}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-login-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:2rem}.admin-login-container{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px var(--card-shadow);max-width:450px;padding:3rem;width:100%}.admin-login-header{margin-bottom:2rem;text-align:center}.admin-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.admin-login-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.admin-login-header p{color:var(--text-secondary);font-size:.95rem;margin:0}.admin-login-form{margin-bottom:2rem}.admin-error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;padding:.875rem}.admin-form-group{margin-bottom:1.5rem}.admin-form-group label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.admin-form-group input{background:var(--bg-primary);background:var(--input-bg,var(--bg-primary));border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.875rem 1rem;transition:all .2s;width:100%}.admin-form-group input:focus{background:var(--card-bg);border-color:var(--accent-color);box-shadow:0 0 0 3px var(--card-shadow);outline:none}.admin-form-group input::placeholder{color:var(--text-secondary);opacity:.6}.admin-login-button{background:var(--accent-color);border:none;border-radius:8px;box-shadow:0 4px 14px var(--card-shadow);color:var(--accent-text);cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s;width:100%}.admin-login-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--card-shadow-hover);transform:translateY(-2px)}.admin-login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-login-footer{border-top:1px solid var(--border-color);padding-top:1.5rem;text-align:center}.admin-login-footer p{color:var(--text-secondary);font-size:.875rem;margin:0}@media (max-width:500px){.admin-login-container{padding:2rem 1.5rem}.admin-login-header h1{font-size:1.5rem}.admin-icon{font-size:3rem}}.admin-dashboard{background:#0d0f12;background:var(--bg-primary,#0d0f12);color:#e8eaed;color:var(--text-primary,#e8eaed);min-height:100vh;transition:background-color .3s ease,color .3s ease}.admin-dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:100vh}.book-loader{margin:0 auto 1rem}.admin-header{align-items:center;background:linear-gradient(135deg,#4c5361,#5d6470);background:linear-gradient(135deg,var(--primary-gradient-start,#4c5361) 0,var(--primary-gradient-end,#5d6470) 100%);box-shadow:0 4px 12px #0000004d;color:#fff;color:var(--accent-text,#fff);display:flex;justify-content:space-between;padding:2rem 3rem}.admin-header-left h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.admin-header-left p{font-size:.95rem;margin:0;opacity:.9}.admin-header-right{display:flex;gap:1rem}.theme-toggle-btn{align-items:center;background:#0000;border:2px solid #fff;border:2px solid var(--accent-text,#fff);border-radius:8px;color:#fff;color:var(--accent-text,#fff);cursor:pointer;display:flex;font-weight:600;height:44px;justify-content:center;padding:.75rem;transition:all .3s;width:44px}.theme-toggle-btn:hover{background:#fff;background:var(--accent-text,#fff);color:#4c5361;color:var(--primary-gradient-start,#4c5361);transform:translateY(-2px)}.btn-back-to-app,.btn-logout{background:#0000;border:2px solid #fff;border:2px solid var(--accent-text,#fff);border-radius:8px;color:#fff;color:var(--accent-text,#fff);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-back-to-app:hover,.btn-logout:hover{background:#fff;background:var(--accent-text,#fff);color:#4c5361;color:var(--primary-gradient-start,#4c5361);transform:translateY(-2px)}.admin-tabs{background:#1a1d23;background:var(--bg-secondary,#1a1d23);border-bottom:2px solid #3c4149;border-bottom:2px solid var(--border-color,#3c4149);box-shadow:0 2px 4px #0003;display:flex;gap:.5rem;padding:0 3rem}.admin-tab{background:none;border:none;color:#c8ccd1;color:var(--text-secondary,#c8ccd1);cursor:pointer;font-weight:600;padding:1rem 1.5rem;position:relative;transition:all .2s}.admin-tab.active,.admin-tab:hover{color:#4c5361;color:var(--accent-color,#4c5361)}.admin-tab.active:after{background:linear-gradient(135deg,#4c5361,#5d6470);background:linear-gradient(135deg,var(--primary-gradient-start,#4c5361) 0,var(--primary-gradient-end,#5d6470) 100%);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.admin-content{padding:2rem 3rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#1a1d23;background:var(--card-bg,#1a1d23);border:1px solid #3c4149;border:1px solid var(--border-color,#3c4149);border-radius:12px;box-shadow:#4c536133;box-shadow:var(--card-shadow,#4c536133);display:flex;gap:1rem;padding:1.5rem;transition:all .3s}.stat-card:hover{box-shadow:#4c536166;box-shadow:var(--card-shadow-hover,#4c536166);transform:translateY(-4px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#4c5361,#5d6470);background:linear-gradient(135deg,var(--primary-gradient-start,#4c5361) 0,var(--primary-gradient-end,#5d6470) 100%);border-radius:12px;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.stat-info h3{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.stat-number{color:#e8eaed;color:var(--text-primary,#e8eaed);font-size:2rem;font-weight:700;margin:0}.stat-subtext{color:#0e9f6e;color:var(--success-color,#0e9f6e);display:block;font-size:.875rem;margin-top:.25rem}.charts-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.chart-card{background:#1a1d23;background:var(--card-bg,#1a1d23);border:1px solid #3c4149;border:1px solid var(--border-color,#3c4149);border-radius:12px;box-shadow:#4c536133;box-shadow:var(--card-shadow,#4c536133);padding:1.5rem}.chart-card h3{color:#e8eaed;color:var(--text-primary,#e8eaed);font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.users-tab{background:#1a1d23;background:var(--card-bg,#1a1d23);border:1px solid #3c4149;border:1px solid var(--border-color,#3c4149);border-radius:12px;box-shadow:#4c536133;box-shadow:var(--card-shadow,#4c536133);padding:2rem}.users-header{margin-bottom:1.5rem}.users-header h2{color:#e8eaed;color:var(--text-primary,#e8eaed);margin:0 0 .5rem}.users-header p{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);margin:0}.users-table{overflow-x:auto}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #3c4149;border-bottom:1px solid var(--border-color,#3c4149);color:#e8eaed;color:var(--text-primary,#e8eaed);padding:1rem}.users-table tbody tr:hover{background:#2b2f36;background:var(--bg-tertiary,#2b2f36)}.activities-tab{background:#1a1d23;background:var(--card-bg,#1a1d23);border:1px solid #3c4149;border:1px solid var(--border-color,#3c4149);border-radius:12px;box-shadow:#4c536133;box-shadow:var(--card-shadow,#4c536133);padding:2rem}.activities-header{margin-bottom:1.5rem}.activities-header h2{color:#e8eaed;color:var(--text-primary,#e8eaed);margin:0 0 .5rem}.activities-header p{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);margin:0}.activities-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);border-left:4px solid #4c5361;border-left:4px solid var(--accent-color,#4c5361);gap:1rem;padding:1rem}.activity-icon,.activity-item{align-items:center;border-radius:8px;display:flex}.activity-icon{background:#1a1d23;background:var(--bg-secondary,#1a1d23);font-size:1.5rem;height:40px;justify-content:center;width:40px}.activity-details{flex:1 1}.activity-user{color:#e8eaed;color:var(--text-primary,#e8eaed);font-weight:600;margin-bottom:.25rem}.activity-action{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem;margin-bottom:.25rem;text-transform:capitalize}.activity-time{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:.75rem}.activity-ip{background:#1a1d23;background:var(--bg-secondary,#1a1d23);border-radius:6px;color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-family:monospace;font-size:.75rem;padding:.5rem 1rem}.ip-stats-table{overflow-x:auto}.ip-stats-table table{border-collapse:collapse;width:100%}.ip-stats-table th{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:left}.ip-stats-table td{border-bottom:1px solid #3c4149;border-bottom:1px solid var(--border-color,#3c4149);color:#e8eaed;color:var(--text-primary,#e8eaed);padding:1rem}.ip-address{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);border-radius:4px;font-family:monospace;font-size:.875rem;padding:.25rem .5rem}.user-id-cell{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-family:monospace;font-size:.75rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decks-tab{background:#1a1d23;background:var(--card-bg,#1a1d23);border:1px solid #3c4149;border:1px solid var(--border-color,#3c4149);border-radius:12px;box-shadow:#4c536133;box-shadow:var(--card-shadow,#4c536133);padding:2rem}.decks-header{margin-bottom:1.5rem}.decks-header h2{color:#e8eaed;color:var(--text-primary,#e8eaed);margin:0 0 .5rem}.decks-header p{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);margin:0}.decks-table{overflow-x:auto}.decks-table table{border-collapse:collapse;width:100%}.decks-table th{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.decks-table td{border-bottom:1px solid #3c4149;border-bottom:1px solid var(--border-color,#3c4149);color:#e8eaed;color:var(--text-primary,#e8eaed);padding:1rem}.decks-table tbody tr:hover{background:#2b2f36;background:var(--bg-tertiary,#2b2f36)}.deck-user-info{display:flex;flex-direction:column;gap:.25rem}.deck-user-email{color:#e8eaed;color:var(--text-primary,#e8eaed);font-weight:500}.deck-user-name{color:#c8ccd1;color:var(--text-secondary,#c8ccd1);font-size:.875rem}.deck-no-user{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-style:italic}.deck-actions{display:flex;gap:.5rem}.deck-action-btn{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);border:none;border-radius:6px;color:#e8eaed;color:var(--text-primary,#e8eaed);cursor:pointer;font-size:1rem;padding:.5rem .75rem;transition:all .2s}.deck-action-btn:hover{box-shadow:0 2px 8px #0003;transform:translateY(-2px)}.deck-action-btn.edit-btn:hover{background:#4c5361;background:var(--accent-color,#4c5361)}.deck-action-btn.delete-btn:hover{background:#f05252;background:var(--error-color,#f05252);color:#fff}.deck-action-btn.save-btn{background:#0e9f6e;background:var(--success-color,#0e9f6e);color:#fff}.deck-action-btn.save-btn:hover{background:#0d8d5f}.deck-action-btn.cancel-btn{background:#2b2f36;background:var(--bg-tertiary,#2b2f36);color:#c8ccd1;color:var(--text-secondary,#c8ccd1)}.deck-action-btn.cancel-btn:hover{background:#1a1d23;background:var(--bg-secondary,#1a1d23)}.deck-edit-input{background:#2b2f36;background:var(--input-bg,#2b2f36);border:1px solid #4c5361;border:1px solid var(--input-border,#4c5361);border-radius:6px;color:#e8eaed;color:var(--text-primary,#e8eaed);font-family:inherit;font-size:1rem;padding:.5rem;width:100%}.deck-edit-input:focus{border-color:#4c5361;border-color:var(--accent-color,#4c5361);box-shadow:0 0 0 3px #4c536133;outline:none}@media (max-width:1024px){.admin-content,.admin-header,.admin-tabs{padding-left:1.5rem;padding-right:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.charts-row{grid-template-columns:1fr}}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:1rem}.admin-header-right{justify-content:space-between;width:100%}.admin-tabs{overflow-x:auto;white-space:nowrap}.stats-grid{grid-template-columns:1fr}.ip-stats-table,.users-table{font-size:.875rem}}.full-page-loading-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-overlay-content{max-width:500px;padding:2rem;text-align:center}.loader{background:#979794;border-radius:8px;box-sizing:border-box;height:140px;margin:0 auto 2rem;perspective:1000px;position:relative;width:200px}.loader:before{background:#f5f5f5 no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:15px 30px,15px 60px,15px 90px,105px 30px,105px 60px,105px 90px;background-size:60px 10px;box-shadow:0 0 10px #00000040;left:10px}.loader:after,.loader:before{border-radius:8px;bottom:10px;content:"";position:absolute;right:10px;top:10px}.loader:after{animation:paging 1s linear infinite;background:#fff no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:50% 30px,50% 60px,50% 90px;background-size:60px 10px;transform:rotateY(0deg);transform-origin:left center;width:calc(50% - 10px)}.loading-message{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.loading-submessage{color:#fffc;font-size:1rem;line-height:1.6;margin:0}@media (max-width:768px){.loader{transform:scale(.8)}.loading-message{font-size:1.25rem}.loading-submessage{font-size:.875rem}}@media (max-width:480px){.loader{transform:scale(.7)}.loading-message{font-size:1.1rem}.loading-submessage{font-size:.8rem}}.review-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.review-modal{animation:slideUp .3s ease-out;background:linear-gradient(135deg,var(--primary-gradient-start) 0,var(--primary-gradient-end) 100%);border:none;border-radius:24px;box-shadow:0 20px 60px #0006;color:var(--accent-text);max-width:500px;padding:40px;position:relative;width:90%}.review-modal-close{align-items:center;background:#eee3;border:2px solid #eeeeee4d;border-radius:50%;color:var(--accent-text);cursor:pointer;display:flex;font-size:24px;font-weight:400;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .3s ease;width:40px}.review-modal-close:hover{background:#eeeeee4d;transform:rotate(90deg)}.review-modal-content{text-align:center}.review-modal-icon{animation:bounce .6s ease-out;font-size:64px;margin-bottom:16px}.review-modal-content h2{color:var(--accent-text);font-size:28px;font-weight:700;margin:0 0 24px;text-shadow:0 2px 4px #0003}.review-loading{padding:40px 0}.review-loading .book-loader{background:#979794;border-radius:8px;box-sizing:border-box;height:140px;margin:0 auto 24px;perspective:1000px;position:relative;width:200px}.review-loading .book-loader:before{background:#f5f5f5 no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:15px 30px,15px 60px,15px 90px,105px 30px,105px 60px,105px 90px;background-size:60px 10px;box-shadow:0 0 10px #00000040;left:10px}.review-loading .book-loader:after,.review-loading .book-loader:before{border-radius:8px;bottom:10px;content:"";position:absolute;right:10px;top:10px}.review-loading .book-loader:after{animation:paging 1s linear infinite;background:#fff no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:50% 30px,50% 60px,50% 90px;background-size:60px 10px;transform:rotateY(0deg);transform-origin:left center;width:calc(50% - 10px)}.review-loading p{color:#ffffffe6;margin:0}.review-error{padding:20px 0}.error-message{background:#fff3;border-radius:12px;color:#fff;margin-bottom:16px;padding:12px 20px}.retry-button{background:#ffffff4d;border:2px solid #fff;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.retry-button:hover{background:#fff;box-shadow:0 4px 12px #0003;color:#667eea;transform:translateY(-2px)}.review-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eeeeee26;border:2px solid #eee3;border-radius:16px;gap:24px;justify-content:center;margin:32px 0;padding:24px}.review-stat,.review-stats{align-items:center;display:flex}.review-stat{flex-direction:column;gap:8px}.stat-value{font-size:48px;font-weight:700;text-shadow:0 2px 8px #0000004d}.stat-label,.stat-value{color:var(--accent-text)}.stat-label{font-size:14px;font-weight:600;letter-spacing:1px;opacity:.9;text-transform:uppercase}.review-stat-divider{background:#eeeeee4d;height:50px;width:2px}.no-cards-due{padding:32px 0}.celebration-icon{animation:celebrate .6s ease-out;font-size:72px;margin-bottom:16px}@keyframes celebrate{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-10deg)}75%{transform:scale(1.1) rotate(10deg)}}.no-cards-message{color:var(--accent-text);font-size:20px;font-weight:600;margin-bottom:8px}.next-review-hint{color:var(--accent-text);font-size:16px;margin:0;opacity:.8}.review-info{margin:24px 0}.review-info>p{color:#ffffffe6;font-size:16px;margin-bottom:20px}.review-mode-selection{margin:20px 0}.review-mode-label{color:var(--accent-text);display:block;font-size:14px;font-weight:600;margin-bottom:12px;opacity:.9}.review-mode-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.review-mode-btn{align-items:center;background:#ffffff26;border:2px solid #ffffff4d;border-radius:12px;color:var(--accent-text);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:12px;transition:all .3s ease}.review-mode-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.review-mode-btn.active{background:#ffffff4d;border-color:#fffc;box-shadow:0 4px 12px #0003}.mode-icon{align-items:center;display:inline-flex;font-size:24px;justify-content:center}.mode-name{font-size:15px;font-weight:600}.mode-desc{font-size:12px;opacity:.8}.review-intervals{background:#ffffff1a;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.interval-item{color:#fffffff2;font-size:15px;gap:12px}.interval-icon,.interval-item{align-items:center;display:flex}.interval-icon{background:#fff3;border-radius:50%;font-size:24px;height:32px;justify-content:center;width:32px}.interval-icon.easy{background:#4caf504d}.interval-icon.medium{background:#ffc1074d}.interval-icon.hard{background:#f443364d}.interval-text{font-weight:500}.start-review-button{align-items:center;background:#eeeeeef2;border:none;border-radius:12px;box-shadow:0 4px 12px #0003;color:#222831;cursor:pointer;display:inline-flex;font-size:18px;font-weight:700;gap:12px;margin-top:24px;padding:16px 48px;transition:all .3s ease}.start-review-button:hover{background:#eee;box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.start-review-button:active{transform:translateY(0)}.button-icon{align-items:center;display:inline-flex;font-size:20px;justify-content:center}@media (max-width:600px){.review-modal{padding:32px 24px;width:95%}.review-modal-content h2{font-size:24px}.review-modal-icon{font-size:48px}.stat-value{font-size:36px}.celebration-icon{font-size:56px}.start-review-button{font-size:16px;padding:14px 36px}}.review-session-fullscreen{animation:fadeIn .3s ease-out;background:linear-gradient(135deg,#222831,#393e46 50%,#222831);bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:20000}.review-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-bottom:2px solid #00adb54d;display:flex;justify-content:space-between;padding:20px 32px}.review-header-left{display:flex;flex-direction:column;gap:4px}.review-deck-title{color:var(--accent-text);font-size:24px;font-weight:700;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 4px #0000004d;white-space:nowrap}.review-progress-text{color:var(--accent-text);font-size:14px;font-weight:500;opacity:.8}.review-close-btn{align-items:center;background:#eeeeee26;border:2px solid #eeeeee4d;border-radius:50%;color:#eee;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:50px;justify-content:center;transition:all .3s ease;width:50px}.review-close-btn:hover{background:#eeeeee40;transform:rotate(90deg) scale(1.05)}.review-progress-bar{background:#eee3;height:4px;position:relative;width:100%}.review-progress-fill{background:linear-gradient(90deg,#00adb5,#00c9d1);box-shadow:0 0 10px #00adb580;height:100%;transition:width .4s ease}.review-card-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px;perspective:1000px}.review-card{cursor:pointer;height:500px;max-width:800px;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}@media (min-width:1024px){.review-card{height:600px;max-width:1000px}}.review-card.flipped{cursor:default;transform:rotateY(180deg)}.review-card-inner{height:100%;position:relative;transform-style:preserve-3d;width:100%}.review-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;border:3px solid #00adb5;border-radius:24px;box-shadow:0 20px 60px #0006;height:100%;padding:40px;position:absolute;width:100%}.review-card-back,.review-card-face,.review-card-front{display:flex;flex-direction:column}.review-card-back{transform:rotateY(180deg)}.review-card-back,.review-card.flipped .review-card-front{pointer-events:none}.review-card.flipped .review-card-back{pointer-events:auto}.review-card-back .audio-play-btn{opacity:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden}.review-card.flipped .review-card-front .audio-play-btn{opacity:0;visibility:hidden}.review-card.flipped .review-card-back .audio-play-btn{opacity:1;visibility:visible}.review-card-label{color:#00adb5;font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:20px;text-transform:uppercase}.review-card-content{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow-x:auto;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.review-card-content::-webkit-scrollbar{width:8px}.review-card-content::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.review-card-content::-webkit-scrollbar-thumb{background:#00adb566;border-radius:4px}.review-card-content::-webkit-scrollbar-thumb:hover{background:#00adb599}.review-card-image{border:2px solid #00adb5;border-radius:12px;box-shadow:0 4px 12px #0003;margin-bottom:20px;max-height:200px;max-width:100%;object-fit:contain}.audio-play-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,gold,orange);border:none;border-radius:50%;box-shadow:0 4px 16px #ffd70080;box-sizing:border-box;color:#222831;cursor:pointer;display:flex;flex-grow:0;flex-shrink:0;font-size:20px;height:48px;justify-content:center;margin-top:1.5rem;max-height:48px;max-width:48px;min-height:48px;min-width:48px;outline:none;padding:0;pointer-events:auto;position:relative;touch-action:manipulation;transition:all .3s ease;width:48px;z-index:100}.audio-play-btn:hover{background:linear-gradient(135deg,#ffe55c,#ffb732);box-shadow:0 6px 20px #ffd700b3;transform:scale(1.15)}.audio-play-btn:active{transform:scale(1)}.review-card-text{box-sizing:border-box;color:#222831;font-size:20px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.6;padding:0 1rem;text-align:center}.review-card-text,.review-card-text .latex-content{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;width:100%;word-break:break-word}.review-card-text .latex-content{color:#222831!important;white-space:pre-wrap}.review-card-text .latex-content *{word-wrap:break-word;color:#222831!important;overflow-wrap:break-word;word-break:break-word}.review-flip-hint{color:#393e46;font-size:14px;font-style:italic;margin-top:20px;opacity:.8;text-align:center}.review-difficulty-buttons{align-items:center;animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-top:2px solid #00adb54d;display:flex;gap:24px;justify-content:center;padding:32px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.difficulty-btn{align-items:center;background:#eeeeeef2;border:none;border-radius:16px;box-shadow:0 4px 12px #0003;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:180px;overflow:hidden;padding:24px 32px;position:relative;transition:all .3s ease}.difficulty-btn:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-4px)}.difficulty-btn:active{transform:translateY(-2px)}.difficulty-btn:disabled{cursor:not-allowed;opacity:.6}.difficulty-btn.hard{border:3px solid #ef4444}.difficulty-btn.hard:hover{background:#fef2f2;border-color:#dc2626}.difficulty-btn.medium{border:3px solid #f59e0b}.difficulty-btn.medium:hover{background:#fffbeb;border-color:#d97706}.difficulty-btn.easy{border:3px solid #10b981}.difficulty-btn.easy:hover{background:#f0fdf4;border-color:#059669}.difficulty-icon{font-size:48px}.difficulty-label{color:#222831;font-size:20px;font-weight:700}.difficulty-interval{color:#393e46;font-size:14px;font-weight:500}.keyboard-hint{background:#0000;border:1px solid #d9d9d9;border-radius:6px;color:#393e46;font-size:11px;font-weight:500;margin-top:4px;padding:4px 8px}.review-shortcuts{background:#0003;color:#eeeeeeb3;display:flex;font-size:13px;gap:24px;justify-content:center;padding:16px;text-align:center}.review-error-state,.review-loading-state{align-items:center;color:var(--accent-text);display:flex;flex:1 1;flex-direction:column;justify-content:center}.book-loader{background:#979794;border-radius:8px;box-sizing:border-box;height:140px;margin:0 auto 24px;perspective:1000px;position:relative;width:200px}.book-loader:before{background:#f5f5f5 no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:15px 30px,15px 60px,15px 90px,105px 30px,105px 60px,105px 90px;background-size:60px 10px;box-shadow:0 0 10px #00000040;left:10px}.book-loader:after,.book-loader:before{border-radius:8px;bottom:10px;content:"";position:absolute;right:10px;top:10px}.book-loader:after{animation:paging 1s linear infinite;background:#fff no-repeat;background-image:linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0),linear-gradient(#ddd 100px,#0000 0);background-position:50% 30px,50% 60px,50% 90px;background-size:60px 10px;transform:rotateY(0deg);transform-origin:left center;width:calc(50% - 10px)}@keyframes paging{to{transform:rotateY(-180deg)}}.review-error-state p,.review-loading-state p{color:#eee;font-size:18px}.error-icon{font-size:80px;margin-bottom:20px}.review-error-state h2{color:#eee;font-size:32px;margin:0 0 16px}.retry-btn{background:#00adb5;border:none;border-radius:12px;color:#eee;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:14px 32px;transition:all .3s ease}.retry-btn:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}@media (max-width:768px){.review-header{padding:16px 20px}.review-deck-title{font-size:18px;max-width:calc(100vw - 120px)}.review-progress-text{font-size:12px}.review-close-btn{font-size:24px;height:42px;width:42px}.review-card-container{padding:20px}.review-card{height:400px}.review-card-face{background:#fff;padding:24px 12px}.review-card-text{color:#222831;font-size:16px;padding:0 .75rem}.review-card-text .latex-content,.review-card-text .latex-content *{word-wrap:break-word;color:#222831!important;overflow-wrap:break-word;word-break:break-word}.review-difficulty-buttons{flex-direction:row;gap:12px;justify-content:center;padding:16px}.difficulty-btn{background:#fff;flex:1 1;max-width:120px;min-width:0;padding:16px 12px}.difficulty-icon{font-size:32px}.difficulty-label{color:#222831;font-size:14px}.difficulty-interval{color:#393e46;font-size:11px}.keyboard-hint{color:#393e46;font-size:9px;padding:2px 6px}.review-shortcuts{flex-direction:column;font-size:11px;gap:8px;padding:12px}.audio-play-btn{-webkit-tap-highlight-color:transparent;flex-grow:0;flex-shrink:0;font-size:14px;height:36px;max-height:36px;max-width:36px;min-height:36px;min-width:36px;pointer-events:auto;touch-action:manipulation;width:36px;z-index:100}}.review-completion-state{align-items:center;animation:fadeIn .3s ease;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.completion-icon{animation:bounce .6s ease;font-size:80px;margin-bottom:20px}.review-completion-state h2{color:var(--accent-text);font-size:32px;font-weight:700;margin:0 0 12px;text-shadow:0 2px 8px #0000004d}.review-completion-state p{color:#eeeeeee6;font-size:18px;margin:0 0 30px}.review-completion-state .book-loader{height:84px;margin:0 auto;width:120px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width:480px){.review-header{padding:12px 16px}.review-deck-title{font-size:16px;max-width:calc(100vw - 100px)}.review-card{height:320px}.review-card-face{padding:20px 8px}.review-card-text{color:#222831;font-size:14px;padding:0 .5rem}.audio-play-btn{-webkit-tap-highlight-color:transparent;flex-grow:0;flex-shrink:0;font-size:14px;height:36px;margin-top:.5rem;max-height:36px;max-width:36px;min-height:36px;min-width:36px;pointer-events:auto;touch-action:manipulation;width:36px;z-index:100}.review-card-text .latex-content,.review-card-text .latex-content *{word-wrap:break-word;color:#222831!important;overflow-wrap:break-word;word-break:break-word}.review-card-label{color:#00adb5}.review-flip-hint{color:#393e46}.review-difficulty-buttons{gap:8px;padding:12px}.difficulty-btn{background:#fff;max-width:110px;padding:12px 8px}.difficulty-icon{font-size:28px}.difficulty-label{color:#222831;font-size:13px}.difficulty-interval{color:#393e46;font-size:10px}.keyboard-hint{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
/*# sourceMappingURL=main.118caa2c.css.map*/