@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500&display=swap";.theme-toggle{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{background-color:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-glow)}.theme-toggle svg{transition:transform var(--transition-normal)}.theme-toggle:hover svg{transform:rotate(20deg)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:90%;max-width:700px;max-height:80vh;box-shadow:var(--shadow-lg);animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--color-text-primary);margin:0;font-size:1.5rem}.modal-close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-normal);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.shortcuts-modal{max-width:800px}.shortcuts-grid{padding:var(--spacing-lg);gap:var(--spacing-xl);display:grid}.shortcuts-category h3{color:var(--color-accent);margin-bottom:var(--spacing-md);font-size:1rem;font-weight:600}.shortcuts-list{gap:var(--spacing-sm);display:grid}.shortcut-item{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition-normal);justify-content:space-between;align-items:center;display:flex}.shortcut-item:hover{border-color:var(--color-accent);background-color:var(--color-bg-hover)}.key{min-width:32px;height:28px;padding:0 var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-text-primary);box-shadow:0 2px 0 var(--color-border);border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.key-separator{color:var(--color-text-muted);margin:0 2px;font-size:.875rem}@media (width<=768px){.modal-content{width:95%;max-height:90vh}.shortcuts-grid{padding:var(--spacing-md)}.shortcut-item{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}}.profile-dropdown{position:relative}.profile-trigger{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.profile-trigger:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.profile-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:600;display:flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.profile-chevron{transition:transform .2s}.profile-chevron.open{transform:rotate(180deg)}.profile-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);min-width:280px;box-shadow:var(--shadow-lg);z-index:1000;animation:.2s slideDown;position:absolute;top:calc(100% + 8px);right:0}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.profile-menu-header{align-items:center;gap:12px;padding:16px;display:flex}.profile-avatar-large{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:600;display:flex}.profile-info{flex:1;min-width:0}.profile-info-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.profile-info-email{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8125rem;overflow:hidden}.profile-info-badge{background:var(--color-warning-bg);color:var(--color-warning);border-radius:12px;margin-top:4px;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.profile-menu-divider{background:var(--color-border);height:1px;margin:8px 0}.profile-menu-section{padding:8px}.profile-menu-item{border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.profile-menu-item:hover{background:var(--color-bg-hover)}.profile-menu-item svg{opacity:.7;flex-shrink:0}.profile-menu-item:hover svg{opacity:1}.profile-menu-item-danger{color:var(--color-danger)}.profile-menu-item-danger:hover{background:var(--color-danger-bg)}@media (width<=768px){.profile-name{display:none}.profile-menu{min-width:260px;right:-8px}}.pomo-fab{background:var(--color-bg-tertiary);border:1.5px solid var(--color-border);height:34px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:.35rem;padding:0 .625rem;font-family:inherit;transition:border-color .15s,color .15s,background .15s;display:flex;position:relative}.pomo-fab:hover{border-color:var(--color-accent);color:var(--color-text-primary);background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.pomo-fab.running{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}.pomo-fab-emoji{font-size:.9rem;line-height:1}.pomo-fab-idle{color:var(--color-text-muted);letter-spacing:.02em;font-size:.75rem;font-weight:600}.pomo-fab-countdown{letter-spacing:.04em;color:var(--color-accent);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700}.pomo-fab-dot{background:var(--color-accent);border:1px solid var(--color-bg-secondary);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite pomo-blink;position:absolute;top:3px;right:3px}@keyframes pomo-blink{0%,to{opacity:1}50%{opacity:.2}}.pomo-wrapper{position:relative}.pomo-panel{z-index:9999;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:.875rem;width:260px;padding:1rem;animation:.18s pomo-drop;display:flex;position:fixed;box-shadow:0 8px 32px #00000040}@keyframes pomo-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pomo-header{align-items:center;gap:.5rem;display:flex}.pomo-title{color:var(--color-text-primary);flex:1;font-size:.875rem;font-weight:700}.pomo-sessions{gap:4px;display:flex}.pomo-dot{background:var(--color-border);border-radius:50%;width:7px;height:7px;transition:background .2s}.pomo-dot.filled{background:var(--color-accent)}.pomo-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-family:inherit;font-size:.875rem;line-height:1;transition:color .15s}.pomo-close:hover{color:var(--color-text-primary)}.pomo-tabs{background:var(--color-bg-tertiary);border-radius:8px;gap:3px;padding:3px;display:flex}.pomo-tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:6px;flex:1;padding:.3rem .2rem;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .15s}.pomo-tab:hover{color:var(--color-text-primary)}.pomo-tab.active{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.pomo-circle-wrap{justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}.pomo-time{flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute}.pomo-digits{color:var(--color-text-primary);letter-spacing:.02em;font-size:1.375rem;font-weight:700;line-height:1}.pomo-mode-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem}.pomo-controls{justify-content:center;align-items:center;gap:.75rem;display:flex}.pomo-btn-primary{color:#fff;cursor:pointer;width:46px;height:46px;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,transform .1s;display:flex}.pomo-btn-primary:hover{opacity:.9;transform:scale(1.05)}.pomo-btn-secondary{border:1.5px solid var(--color-border);background:var(--color-bg-tertiary);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.pomo-btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.pomo-session-count{text-align:center;color:var(--color-text-muted);margin:0;font-size:.72rem}.pomo-guard-notice{text-align:center;color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, transparent);border-radius:6px;margin:0;padding:.4rem .5rem;font-size:.75rem;font-weight:600}.pomo-break-notice{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 8%, transparent)}@media (width<=480px){.pomo-panel{width:240px;right:-60px}}.storage-indicator{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;transition:all .2s;display:flex}.storage-indicator.loading{opacity:.7}.storage-indicator.warning{background:var(--warning-bg,#fff3cd);border-color:var(--warning-border,#ffeaa7);color:var(--warning-text,#856404)}.storage-indicator.danger{background:var(--danger-bg,#f8d7da);border-color:var(--danger-border,#f5c6cb);color:var(--danger-text,#721c24)}.storage-info{flex:1;min-width:0}.storage-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.storage-text{font-weight:500}.storage-bar{background:var(--bg-tertiary);border-radius:2px;width:100%;height:4px;margin-bottom:4px;overflow:hidden}.storage-fill{background:var(--primary-color);border-radius:2px;height:100%;transition:width .3s}.storage-indicator.warning .storage-fill{background:var(--warning-color,#f39c12)}.storage-indicator.danger .storage-fill{background:var(--danger-color,#e74c3c)}.storage-details{opacity:.8;font-size:.75rem}.storage-indicator.compact{padding:4px 8px;font-size:.75rem}.storage-indicator.compact .storage-bar{width:60px;margin-bottom:2px}.storage-indicator.compact .storage-details{display:none}.navbar{background-color:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border);padding:var(--spacing-md) 0;z-index:200;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;gap:16px;display:flex}.navbar-left{flex-shrink:0;align-items:center;gap:24px;min-width:0;display:flex}.navbar-brand{cursor:pointer;flex-shrink:0;align-items:center;transition:opacity .2s;display:flex}.navbar-brand:hover{opacity:.8}.navbar-logo{height:48px;display:block}.navbar-session-info{border-left:1px solid var(--color-border);align-items:center;gap:10px;min-width:0;padding-left:20px;display:flex}.navbar-session-mode{color:var(--color-text-primary);white-space:nowrap;font-size:.9375rem;font-weight:600}.navbar-session-subject{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.75rem;overflow:hidden}.navbar-actions{align-items:center;gap:12px;display:flex}.navbar-desktop-actions{display:flex}.btn-icon{justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.mode-switcher{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;padding:6px 12px;font-size:.875rem}.navbar-mobile-wrapper{display:none}.navbar-hamburger{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;transition:background .15s;display:flex}.navbar-hamburger:active{background:var(--color-bg-tertiary)}.hamburger-bar{background:var(--color-text-primary);transform-origin:50%;border-radius:2px;width:20px;height:2px;transition:transform .25s,opacity .25s;display:block}.navbar-hamburger.open .hamburger-bar:first-child{transform:translateY(7px)rotate(45deg)}.navbar-hamburger.open .hamburger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-hamburger.open .hamburger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nm-backdrop{z-index:9998;background:#0000008c;animation:.2s ease-out nmFadeIn;position:fixed;inset:0}.nm-drawer{background:var(--color-bg-secondary);border-left:1px solid var(--color-border);z-index:9999;flex-direction:column;width:min(320px,85vw);animation:.22s cubic-bezier(.25,.46,.45,.94) nmSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-8px 0 32px #0000004d}@keyframes nmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes nmSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.nm-drawer__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.nm-drawer__title{color:var(--color-text-primary);font-size:1rem;font-weight:600}.nm-drawer__close{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.nm-drawer__close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.nm-drawer__body{-webkit-overflow-scrolling:touch;flex:1;padding:8px 0 24px;overflow-y:auto}.nm-section{padding:12px 0 4px}.nm-section+.nm-section{border-top:1px solid var(--color-border);margin-top:4px}.nm-section--last{margin-top:4px}.nm-section__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;padding:0 20px 6px;font-size:.6875rem;font-weight:700}.nm-item{width:100%;height:48px;color:var(--color-text-secondary);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;padding:0 20px;font-size:.9375rem;font-weight:500;transition:background .12s,color .12s;display:flex}.nm-item:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.nm-item:active{background:var(--color-bg-hover)}.nm-item--active{color:var(--color-accent)!important;background:var(--color-accent-bg,#a855f71a)!important}.nm-item__icon{color:var(--color-text-muted);flex-shrink:0;align-items:center;display:flex}.nm-item--active .nm-item__icon{color:var(--color-accent)}.nm-item__label{text-overflow:ellipsis;flex:1;overflow:hidden}.nm-item__badge{color:var(--color-text-muted);background:var(--color-bg-tertiary);border:1px solid var(--color-border);font-size:.6875rem;font-family:var(--font-body,monospace);border-radius:4px;flex-shrink:0;padding:2px 6px}.nm-row{justify-content:space-between;align-items:center;gap:12px;height:48px;padding:0 20px;display:flex}.nm-row__left{align-items:center;gap:12px;min-width:0;display:flex}.nm-row__icon{color:var(--color-text-muted);flex-shrink:0;align-items:center;display:flex}.nm-row__label{color:var(--color-text-secondary);white-space:nowrap;font-size:.9375rem;font-weight:500}.nm-row__right{flex-shrink:0;align-items:center;display:flex}.nm-select{background:var(--color-bg-tertiary);border:1px solid var(--color-border);width:calc(100% - 40px);color:var(--color-text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a855f7' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border-radius:8px;min-height:44px;margin:0 20px;padding:10px 36px 10px 14px;font-size:.9375rem}.nm-select:focus{border-color:var(--color-accent);outline:none}.nm-profile-wrapper{padding:0 12px}.nm-profile-wrapper .profile-trigger{border-radius:8px;justify-content:flex-start;width:100%;min-height:48px;padding:10px 8px}.nm-profile-wrapper .profile-dropdown{position:static}.nm-profile-wrapper .profile-menu{box-shadow:none!important;border:1px solid var(--color-border)!important;border-radius:8px!important;margin-top:4px!important;animation:none!important;position:static!important}@media (width<=767px){.navbar-desktop-actions{display:none!important}.navbar-mobile-wrapper{display:block}.navbar-logo{height:36px}.navbar-session-info{display:none}.navbar-left{gap:12px}}@media (width>=768px) and (width<=1125px){.navbar-actions{gap:8px}.navbar-logo{height:40px}.navbar-session-info{padding-left:16px}.navbar-desktop-actions .btn{padding:6px 10px;font-size:.8125rem}}.migration-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.migration-panel{background:var(--color-bg-primary);width:90%;max-width:500px;box-shadow:var(--shadow-xl);border-radius:16px;animation:.3s ease-out migration-slide-in;overflow:hidden}@keyframes migration-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.migration-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.migration-header h3{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.migration-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .5rem;font-size:1.2rem;transition:all .15s}.migration-close:hover:not(:disabled){background:var(--color-bg-tertiary);color:#ef4444}.migration-close:disabled{opacity:.5;cursor:not-allowed}.migration-content{text-align:center;padding:2rem 1.5rem}.migration-description{color:var(--color-text-primary);margin:0 0 1rem;font-size:.95rem;line-height:1.6}.migration-info{color:var(--color-text-secondary);background:var(--color-bg-secondary);border-left:3px solid var(--color-accent);border-radius:8px;margin:0 0 1.5rem;padding:1rem;font-size:.85rem;line-height:1.5}.migration-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .15s}.migration-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.migration-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.migration-running{flex-direction:column;align-items:center;gap:1rem;display:flex}.migration-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite migration-spin}@keyframes migration-spin{to{transform:rotate(360deg)}}.migration-running p{color:var(--color-text-primary);margin:0;font-size:.95rem;font-weight:500}.migration-subtext{font-size:.8rem;color:var(--color-text-secondary)!important}.migration-complete{flex-direction:column;align-items:center;gap:1rem;display:flex}.migration-icon{margin-bottom:.5rem;font-size:3rem}.migration-complete p{color:var(--color-text-primary);margin:0;font-size:.95rem;font-weight:500}.migration-results{background:var(--color-bg-secondary);text-align:left;border-radius:8px;width:100%;margin:1rem 0;padding:1rem}.migration-results p{color:var(--color-text-secondary);margin:.5rem 0;font-size:.85rem}.migration-results strong{color:var(--color-accent);font-weight:600}.migration-error{flex-direction:column;align-items:center;gap:1rem;display:flex}.migration-error p{color:#991b1b;margin:0;font-size:.95rem}@media (width<=480px){.migration-panel{width:95%;max-width:100%}.migration-content{padding:1.5rem 1rem}.migration-btn{width:100%}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-dark);color:var(--text-white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);background:#0a0a0af2;padding:1rem 0;position:sticky;top:0}.navbar-logo{color:var(--text-white);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:all .3s;display:flex}.navbar-brand-text{display:none}@media (width>=768px){.navbar-brand-text{display:inline}}.navbar-links-desktop{align-items:center;gap:2rem;display:none}@media (width>=768px){.navbar-links-desktop{display:flex}}.navbar-link{color:var(--text-muted);font-weight:500;text-decoration:none;transition:color .3s}.navbar-link:hover{color:var(--purple-bright)}.navbar-cta{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .3s;display:none}@media (width>=768px){.navbar-cta{display:flex}}.navbar-cta:hover{box-shadow:0 10px 30px var(--glow-color);transform:translateY(-2px)}.navbar-mobile-toggle{color:var(--text-white);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .3s;display:flex}@media (width>=768px){.navbar-mobile-toggle{display:none}}.navbar-mobile-toggle:hover{color:var(--purple-bright)}.navbar-mobile-menu{border-bottom:1px solid var(--border-color);background:#121212f2;flex-direction:column;gap:1rem;padding:1.5rem 2rem;animation:.3s ease-out slideDown;display:flex}@media (width>=768px){.navbar-mobile-menu{display:none}}.navbar-mobile-link{color:var(--text-muted);font-weight:500;text-decoration:none;transition:color .3s}.navbar-mobile-link:hover{color:var(--purple-bright)}.navbar-mobile-divider{background:var(--border-color);height:1px;margin:.5rem 0}.navbar-mobile-cta{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;text-align:center;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .3s}.navbar-mobile-cta:hover{box-shadow:0 10px 30px var(--glow-color);transform:translateY(-2px)}.hero{justify-content:center;align-items:center;min-height:100vh;padding:4rem 2rem;display:flex;position:relative;overflow:hidden}.hero-background{z-index:0;position:absolute;inset:0}.gradient-orb{filter:blur(80px);opacity:.3;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle, var(--purple-primary), transparent);width:400px;height:400px;animation:8s ease-in-out infinite float;top:-100px;right:-100px}.orb-2{background:radial-gradient(circle, var(--purple-bright), transparent);width:300px;height:300px;animation:10s ease-in-out infinite reverse float;bottom:-50px;left:-50px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(30px)}}.hero-content{z-index:1;text-align:center;max-width:800px;animation:.8s ease-out fadeInUp;position:relative}.hero-logo-container{justify-content:center;margin-bottom:2rem;display:flex}.hero-logo-container img{max-width:200px;height:auto}.hero-title{margin-bottom:1.5rem;font-size:3.5rem;font-weight:800;line-height:1.2}.text-gradient{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-muted);max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.25rem}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff}.btn-primary:hover{box-shadow:0 15px 40px var(--glow-color);transform:translateY(-3px)}.btn-secondary:hover{border-color:var(--purple-bright);background:#a855f71a;transform:translateY(-3px)}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-top:3rem;display:grid}.stat-item{text-align:center}.stat-number{color:var(--purple-bright);margin-bottom:.5rem;font-size:2rem;font-weight:700}.features{background:linear-gradient(#8b5cf60d 0%,#0000 100%);padding:6rem 0}.how-it-works{padding:6rem 0}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid;position:relative}.step-card{border:1px solid var(--border-color);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;padding:2rem;transition:all .3s;position:relative}.step-card:hover{border-color:var(--purple-bright);box-shadow:0 20px 40px var(--glow-color);transform:translateY(-5px)}.step-number{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.step-icon{width:60px;height:60px;color:var(--purple-bright);background:#8b5cf61a;border-radius:12px;justify-content:center;align-items:center;margin:1rem auto;display:flex}.step-card h3{margin-bottom:.75rem;font-size:1.2rem}.step-card p{color:var(--text-muted);font-size:.95rem}.step-connector{display:none}@media (width>=1024px){.steps-grid{grid-template-columns:repeat(4,1fr)}.step-connector{background:linear-gradient(90deg, var(--purple-primary), transparent);width:100%;height:2px;display:block;position:absolute;top:40px;left:100%}.step-card:last-child .step-connector{display:none}}.section-title{text-align:center;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.section-subtitle{color:var(--text-muted);text-align:center;margin-bottom:3rem;font-size:1.1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature-card{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;padding:2rem;transition:all .3s}.feature-card:hover{border-color:var(--purple-bright);box-shadow:0 20px 40px var(--glow-color);transform:translateY(-5px)}.feature-icon{width:60px;height:60px;color:var(--purple-bright);background:#8b5cf61a;border-radius:12px;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.feature-card h3{margin-bottom:.75rem;font-size:1.3rem}.feature-card p{color:var(--text-muted);font-size:.95rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column}.btn{justify-content:center;width:100%}.section-title{font-size:2rem}.hero-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.8rem}}@media (width<=480px){.container,.navbar-container{padding:0 1rem}.hero{min-height:auto;padding:2rem 1rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.9rem}.section-title{font-size:1.5rem}.section-subtitle{font-size:.95rem}.features-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(2,1fr);gap:1rem}}.testimonials{background:linear-gradient(#0000 0%,#8b5cf60d 100%);padding:6rem 0}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.testimonial-card{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;flex-direction:column;padding:2rem;transition:all .3s;display:flex}.testimonial-card:hover{border-color:var(--purple-bright);box-shadow:0 20px 40px var(--glow-color);transform:translateY(-5px)}.testimonial-rating{gap:.5rem;margin-bottom:1rem;display:flex}.testimonial-text{color:var(--text-muted);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem;font-style:italic;line-height:1.6}.testimonial-author{border-top:1px solid var(--border-color);align-items:center;gap:1rem;padding-top:1rem;display:flex}.author-avatar{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:flex}.author-info{flex:1}.author-name{margin-bottom:.25rem;font-weight:600}.author-role{color:var(--text-muted);font-size:.85rem}.pricing{padding:6rem 0}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.pricing-card{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;flex-direction:column;padding:2.5rem;transition:all .3s;display:flex;position:relative}.pricing-card:hover{border-color:var(--purple-bright);box-shadow:0 20px 40px var(--glow-color);transform:translateY(-5px)}.pricing-card.highlighted{border-color:var(--purple-bright);background:#8b5cf61a;transform:scale(1.05)}.pricing-badge{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-name{margin-bottom:1rem;font-size:1.5rem;font-weight:700}.pricing-amount{align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.price{color:var(--purple-bright);font-size:2.5rem;font-weight:800}.period{color:var(--text-muted);font-size:.95rem}.pricing-description{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem}.pricing-card .btn{justify-content:center;width:100%;margin-bottom:2rem}.pricing-features{flex-direction:column;gap:1rem;display:flex}.pricing-feature{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.95rem;display:flex}.pricing-feature svg{color:#10b981;flex-shrink:0}.pricing-note{text-align:center;color:var(--text-muted);font-size:.9rem}.faq{background:linear-gradient(#8b5cf60d 0%,#0000 100%);padding:6rem 0}.faq-container{max-width:800px;margin:0 auto}.faq-item{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12121280;border-radius:12px;margin-bottom:1rem;transition:all .3s;overflow:hidden}.faq-item:hover{border-color:var(--purple-bright);background:#121212cc}.faq-question{width:100%;color:var(--text-white);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.faq-question:hover{color:var(--purple-bright)}.faq-icon{color:var(--purple-bright);flex-shrink:0;transition:transform .3s}.faq-icon.rotated{transform:rotate(180deg)}.faq-answer{color:var(--text-muted);padding:0 1.5rem 1.5rem;line-height:1.6;animation:.3s ease-out slideDown}.final-cta{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#8b5cf626 0%,#a855f71a 100%);padding:6rem 2rem}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-content h2{margin-bottom:1rem;font-size:2.5rem;font-weight:800}.cta-content p{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.cta-features{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:center;gap:2rem;padding-top:2rem;display:flex}.cta-feature{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.95rem;display:flex}.cta-feature svg{color:#10b981;flex-shrink:0}.footer{border-top:1px solid var(--border-color);background:#0a0a0af2;margin-top:4rem;padding:4rem 0 2rem}.footer-content{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem;display:grid}.footer-section{flex-direction:column;display:flex}.footer-brand{grid-column:1}.footer-logo{color:var(--text-white);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:color .3s;display:flex}.footer-logo:hover{color:var(--purple-bright)}.footer-tagline{color:var(--text-muted);font-size:.9rem;line-height:1.6}.footer-section-title{color:var(--text-white);margin-bottom:1rem;font-weight:700}.footer-links{flex-direction:column;gap:.75rem;list-style:none;display:flex}.footer-link{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.9rem;text-decoration:none;transition:color .3s;display:flex}.footer-link:hover{color:var(--purple-bright)}.footer-bottom{border-top:1px solid var(--border-color);text-align:center;padding-top:2rem}.footer-copyright{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.footer-note{color:var(--text-muted);font-size:.8rem}@media (width<=768px){.footer-content{grid-template-columns:1fr;gap:2rem}.footer-brand{grid-column:auto}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}.cta-features{flex-direction:column;gap:1rem}.pricing-card.highlighted{transform:scale(1)}.pricing-grid{grid-template-columns:1fr}}@media (width<=480px){.final-cta{padding:3rem 1rem}.cta-content h2{font-size:1.8rem}.cta-content p{font-size:.95rem}.testimonials-grid,.pricing-grid{grid-template-columns:1fr}.faq-container{padding:0 1rem}.faq-question{padding:1rem}.faq-answer{padding:0 1rem 1rem}}.docs-link,.feature-docs-link,.step-docs-link,.pricing-docs-link,.hero-docs-link .docs-link{color:var(--purple-bright);border-radius:4px;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.docs-link:hover,.feature-docs-link:hover,.step-docs-link:hover,.pricing-docs-link:hover,.hero-docs-link .docs-link:hover{color:var(--purple-primary);background:#8b5cf61a;transform:translate(2px)}.feature-docs-link,.step-docs-link{margin-top:1rem;display:flex}.hero-docs-link{text-align:center;margin-top:1.5rem}.pricing-docs-link{margin-left:.5rem}.faq-docs-link{text-align:center;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.faq-docs-link .docs-link{display:inline-flex}@media (width<=768px){.feature-docs-link,.step-docs-link{font-size:.8rem}.pricing-docs-link{margin-top:.5rem;margin-left:0;display:block}}:root{--bg-dark:#0a0a0a;--bg-secondary:#121212;--purple-primary:#8b5cf6;--purple-bright:#a855f7;--text-white:#fff;--text-muted:#a1a1aa;--border-color:#8b5cf633}.page-container{background:var(--bg-dark);color:var(--text-white);flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.page-navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100;background:#0a0a0acc;padding:1rem 0;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.navbar-logo{cursor:pointer;font-size:1.5rem;font-weight:700;transition:color .3s}.navbar-logo:hover{color:var(--purple-bright)}.navbar-links{align-items:center;gap:2rem;display:flex}.navbar-links a{color:var(--text-muted);font-weight:500;text-decoration:none;transition:color .3s}.navbar-links a:hover{color:var(--purple-bright)}.page-content{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:4rem 2rem}.page-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:4rem;padding-bottom:2rem}.page-header h1{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3rem;font-weight:800}.page-header p{color:var(--text-muted);font-size:1.125rem}.page-section{border-bottom:1px solid var(--border-color);margin-bottom:3rem;padding-bottom:2rem}.page-section:last-of-type{border-bottom:none}.page-section h2{color:var(--text-white);margin-bottom:1.5rem;font-size:2rem;font-weight:700}.page-section h3{color:var(--purple-bright);margin-top:1.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.page-section p{color:var(--text-muted);text-align:justify;margin-bottom:1rem;font-size:1rem;line-height:1.8}.page-section ul{margin:1rem 0;padding:0;list-style:none}.page-section li{color:var(--text-muted);padding:.75rem 0 .75rem 2rem;line-height:1.8;position:relative}.page-section li:before{content:"▸";color:var(--purple-bright);font-weight:700;position:absolute;left:0}.values-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem;display:grid}.value-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2rem;transition:all .3s}.value-card:hover{border-color:var(--purple-bright);transform:translateY(-8px);box-shadow:0 0 40px #8b5cf633}.value-card h3{color:var(--purple-bright);margin-top:0}.value-card p{margin-bottom:0}.contact-container{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.contact-info{flex-direction:column;gap:2rem;display:flex}.info-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.info-section h3{color:var(--purple-bright);margin-top:0}.info-section p{margin-bottom:.5rem}.info-section a{color:var(--purple-bright);text-decoration:none;transition:color .3s}.info-section a:hover{color:var(--purple-bright);text-decoration:underline}.contact-form-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--text-white);margin-bottom:.5rem;font-weight:600}.form-group input,.form-group textarea{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-white);border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--purple-bright);outline:none;box-shadow:0 0 0 3px #8b5cf61a}.form-group textarea{resize:vertical;min-height:150px}.btn-primary{background:linear-gradient(135deg, var(--purple-primary), var(--purple-bright));color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #8b5cf659}.success-message{text-align:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;padding:2rem}.success-message h3{color:#10b981;margin-top:0}.success-message p{color:var(--text-muted)}.faq-list{gap:1.5rem;display:grid}.faq-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s}.faq-item:hover{border-color:var(--purple-bright)}.faq-item h3{color:var(--purple-bright);margin-top:0}.faq-item p{margin-bottom:0}.contact-cta{text-align:center;border:1px solid var(--border-color);background:linear-gradient(135deg,#8b5cf61a,#a855f71a);border-radius:16px;padding:2rem}.contact-cta h2{margin-top:0}.contact-cta .btn-primary{margin-top:1rem}.page-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);margin-top:auto;padding:2rem}@media (width<=768px){.page-content{padding:2rem 1rem}.page-header h1{font-size:2rem}.page-section h2{font-size:1.5rem}.contact-container{grid-template-columns:1fr}.navbar-links{display:none}.values-grid{grid-template-columns:1fr}}@media (width<=480px){.page-content{padding:1.5rem 1rem}.page-header h1{font-size:1.5rem}.page-section h2{font-size:1.25rem}.page-section h3{font-size:1rem}.page-section p{font-size:.95rem}}.auth{min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:relative}.home-button{background:var(--color-accent);color:#fff;border-radius:var(--border-radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s;position:absolute;top:2rem;left:2rem;box-shadow:0 2px 8px #0000001a}.home-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.home-button:active{transform:translateY(0)}@media (width<=768px){.home-button{padding:.6rem 1.2rem;font-size:.9rem;top:1rem;left:1rem}}.auth-container{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);width:100%;max-width:400px;padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-logo{font-family:var(--font-heading);color:var(--color-accent);margin-bottom:var(--spacing-lg);cursor:pointer;font-size:2rem;font-weight:700;transition:color .2s}.auth-logo:hover{color:var(--color-accent-hover)}.auth-title{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:600}.auth-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem}.auth-form{margin-bottom:var(--spacing-lg)}.error-message{border:var(--border-width) solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center;background-color:#ef44441a;font-size:.875rem}.auth-submit{width:100%;margin-bottom:var(--spacing-lg)}.auth-divider{text-align:center;margin:var(--spacing-lg) 0;position:relative}.auth-divider:before{content:"";background-color:var(--color-border);height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background-color:var(--color-bg-secondary);color:var(--color-text-muted);padding:0 var(--spacing-md);font-size:.875rem}.auth-guest{width:100%;margin-bottom:var(--spacing-lg)}.auth-footer{text-align:center}.auth-footer p{color:var(--color-text-secondary);margin:0;font-size:.875rem}.auth-toggle{color:var(--color-accent);cursor:pointer;background:0 0;border:none;font-size:.875rem;font-weight:500;text-decoration:underline;transition:color .2s}.auth-toggle:hover{color:var(--color-accent-hover)}@media (width<=480px){.auth{padding:var(--spacing-md)}.auth-container{padding:var(--spacing-lg)}}.session-search{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none;flex-shrink:0;position:absolute}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-body);transition:border-color var(--transition-normal), box-shadow var(--transition-normal);box-sizing:border-box;font-size:.875rem}.search-input:hover{border-color:var(--color-border-light)}.search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg,#a855f726);outline:none}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{right:var(--spacing-md);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.search-clear:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.search-filters{gap:var(--spacing-md);align-items:center;display:flex}.filter-select{appearance:none;background-color:var(--color-bg-secondary);padding:var(--spacing-sm) 36px var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light,#404040);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a855f7' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;flex:1;min-height:40px;font-size:.875rem;font-weight:500}.filter-select:first-of-type{color:var(--color-text-primary)}.filter-select:last-of-type{color:var(--color-text-secondary)}.filter-select:hover{border-color:var(--color-accent);background-color:var(--color-bg-tertiary)}.filter-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg,#a855f726);outline:none}.filter-select.is-filtered{border-color:var(--color-accent);color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a855f7' d='M6 8L0 0h12z'/%3E%3C/svg%3E")}@media (width<=767px){.search-filters{gap:var(--spacing-sm);flex-direction:column}.filter-select{width:100%;min-height:44px;padding:10px 36px 10px 14px;font-size:.9375rem}.search-input{min-height:44px;font-size:16px}}@media (width<=479px){.filter-select{font-size:.875rem}}.bulk-actions{z-index:100;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-accent);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-glow);justify-content:space-between;align-items:center;animation:.3s slideDown;display:flex;position:sticky;top:80px}.bulk-actions-info{align-items:center;gap:var(--spacing-md);display:flex}.selected-count{color:var(--color-accent);font-size:.875rem;font-weight:500}.bulk-actions-buttons{gap:var(--spacing-sm);display:flex}.btn-danger{color:var(--color-error);border-color:var(--color-error)}.btn-danger:hover{background-color:var(--color-error);color:#fff}@media (width<=768px){.bulk-actions{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.bulk-actions-info{justify-content:space-between}.bulk-actions-buttons{width:100%}.bulk-actions-buttons button{flex:1}}.study-statistics{margin-bottom:var(--spacing-xl)}.stats-title{margin-bottom:var(--spacing-lg);color:var(--color-text-primary);font-size:1.25rem}.stats-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition-normal);display:flex}.stat-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.stat-icon{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:48px;height:48px;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-value{font-size:1.75rem;font-weight:700;font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--spacing-md)}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.5rem}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}.dashboard{min-height:100vh;padding:var(--spacing-2xl) 0}.dashboard-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.header-actions{align-items:center;gap:var(--spacing-md);flex-shrink:0;display:flex}.dashboard-header h1{margin-bottom:var(--spacing-sm);font-size:2rem}.dashboard-subtitle{color:var(--color-text-secondary);margin:0;font-size:1rem}.dashboard-section{margin-bottom:var(--spacing-2xl)}.dashboard-section h2{margin-bottom:var(--spacing-lg);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);font-size:1.5rem;display:flex}.section-icon,.mode-icon-small{color:var(--color-accent)}.loading-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.error-message{border:var(--border-width) solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center;background-color:#ef44441a}.flashcard-alerts{margin-bottom:var(--spacing-lg)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius);align-items:center;gap:var(--spacing-sm);display:flex}.alert-info{border:var(--border-width) solid var(--color-accent);color:var(--color-accent);background-color:#6366f11a}.empty-state{text-align:center;padding:var(--spacing-2xl);background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius)}.empty-icon{margin-bottom:var(--spacing-lg);font-size:4rem}.empty-state h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:400px;margin-left:auto;margin-right:auto}.sessions-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.session-card{cursor:pointer;transition:all .2s}.session-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.session-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.session-meta{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.session-mode{align-items:center;gap:var(--spacing-sm);display:flex}.mode-icon{font-size:1.25rem}.mode-name{color:var(--color-accent);font-size:.875rem;font-weight:500}.session-date{color:var(--color-text-muted);font-size:.75rem}.session-title{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.125rem;font-weight:600}.session-subject{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:.875rem}.session-footer{border-top:var(--border-width) solid var(--color-border);padding-top:var(--spacing-sm);margin-top:var(--spacing-md)}.quick-actions{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.action-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);cursor:pointer;border:var(--border-width) solid var(--color-border);text-align:left;background:0 0;transition:all .2s;display:flex}.action-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.action-icon{flex-shrink:0;font-size:2rem}.action-content h4{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:1rem;font-weight:600}.action-content p{color:var(--color-text-secondary);margin:0;font-size:.875rem}@media (width<=768px){.dashboard-header{gap:var(--spacing-lg);flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between}.sessions-grid,.quick-actions{grid-template-columns:1fr}.alert{text-align:center;flex-direction:column;align-items:stretch}}.dashboard-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:flex-start;display:flex}.header-actions{gap:var(--spacing-md);align-items:center;display:flex}.session-card{gap:var(--spacing-md);transition:all var(--transition-normal);display:flex;position:relative}.session-card.selected{border-color:var(--color-accent);background-color:var(--color-bg-hover);box-shadow:var(--shadow-glow)}.session-checkbox{padding-top:var(--spacing-md);align-items:flex-start;display:flex}.session-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-accent)}.session-content{cursor:pointer;flex:1}.alert{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);border:1px solid;display:flex}.alert-info{background-color:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-text-primary)}.ml-sm{margin-left:var(--spacing-sm)}@media (width<=768px){.dashboard-header{gap:var(--spacing-md);flex-direction:column}.header-actions{flex-wrap:wrap;width:100%}.session-card{flex-direction:column}.session-checkbox{padding-top:0}}.session-summary{background:var(--color-bg-tertiary);border-left:3px solid var(--color-accent);border-radius:0 6px 6px 0;flex-direction:column;gap:.2rem;margin:.5rem 0;padding:.6rem .75rem;display:flex}.session-summary-line{color:var(--color-text-secondary);margin:0;font-size:.75rem;line-height:1.4}.session-actions{z-index:10;position:relative}.action-trigger{opacity:0;transition:opacity .2s}.session-card:hover .action-trigger{opacity:1}.action-overlay{z-index:100;position:fixed;inset:0}.action-menu{background:var(--bg-primary);border:1px solid var(--border-color);z-index:101;border-radius:8px;min-width:160px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.action-item{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.875rem;transition:background-color .2s;display:flex}.action-item:hover{background:var(--bg-secondary)}.action-item.delete-action{color:var(--danger-color,#e74c3c)}.action-item.delete-action:hover{background:var(--danger-bg,#f8d7da)}.modal-backdrop{z-index:1000;background:#0009;width:100vw;height:100vh;position:fixed;top:0;left:0}.delete-confirm-modal{z-index:1001;width:400px;max-width:90vw;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 10px 25px #00000040}.modal-header{color:var(--danger-color,#e74c3c);align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.modal-body{margin-bottom:24px}.modal-body p{color:var(--color-text-primary);margin:0 0 12px;line-height:1.5}.modal-body p:last-child{margin-bottom:0}.modal-body .text-muted{color:var(--color-text-secondary)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.btn-danger{background:var(--danger-color,#e74c3c);color:#fff;border:1px solid var(--danger-color,#e74c3c);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:.875rem}.btn-danger:hover:not(:disabled){background:var(--danger-hover,#c0392b);border-color:var(--danger-hover,#c0392b)}.btn-ghost{color:var(--color-text-primary);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:.875rem}.btn-ghost:hover:not(:disabled){background:var(--color-bg-secondary)}body.modal-open .session-card{pointer-events:none!important}body.modal-open .session-card:hover{border-color:var(--border-color)!important;transform:none!important}body.modal-open .action-trigger{opacity:0!important}body.modal-open *{transition:none!important}body.modal-open .modal-backdrop,body.modal-open .delete-confirm-modal,body.modal-open .modal-content,body.modal-open .modal-content *{pointer-events:auto!important;transition:all .2s!important}@media (width<=768px){.delete-confirm-modal{width:95vw}.modal-content{padding:20px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-danger,.modal-actions .btn-ghost{justify-content:center;width:100%}}.loading-spinner{justify-content:center;align-items:center;display:inline-flex}.spinner-icon{color:var(--color-accent,#6366f1);animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner.small .spinner-icon{width:16px;height:16px}.loading-spinner.large .spinner-icon{width:32px;height:32px}.loading-spinner.center{justify-content:center;align-items:center;padding:2rem;display:flex}.mode-selector{min-height:100vh;padding:var(--spacing-2xl) 0}.mode-selector-header{margin-bottom:var(--spacing-xl)}.back-btn{margin-bottom:var(--spacing-md)}.header-content{text-align:center}.header-content h1{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.header-content p{color:var(--color-text-secondary);font-size:.9375rem}.modes-selection{max-width:720px;margin:0 auto}.modes-grid{margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.mode-card{border:2px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;text-align:left;border-radius:12px;outline:none;align-items:center;gap:.75rem;padding:.875rem 1rem;font-family:inherit;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;display:flex;position:relative}.mode-card:hover{border-color:var(--mode-color,var(--color-accent));background:var(--mode-bg,var(--color-bg-tertiary));transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.mode-card:focus-visible{outline:2px solid var(--mode-color,var(--color-accent));outline-offset:2px}.mode-card.selected{border-color:var(--mode-color,var(--color-accent));background:var(--mode-bg,var(--color-bg-tertiary));box-shadow:0 0 0 3px color-mix(in srgb, var(--mode-color,var(--color-accent)) 25%, transparent)}.mode-card-icon{background:var(--mode-bg,var(--color-bg-tertiary));border:1.5px solid color-mix(in srgb, var(--mode-color,var(--color-accent)) 30%, transparent);width:40px;height:40px;color:var(--mode-color,var(--color-accent));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.mode-card.selected .mode-card-icon{background:var(--mode-color,var(--color-accent));color:#fff;border-color:#0000}.mode-card-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.mode-card-name{color:var(--color-text-primary);font-size:.875rem;font-weight:700;line-height:1.2}.mode-card-tagline{color:var(--color-text-muted);font-size:.75rem;line-height:1.3}.mode-card-check{background:var(--mode-color,var(--color-accent));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex}.subject-input-section{max-width:520px;margin:0 auto}.subject-card{padding:var(--spacing-xl);border-radius:16px}.subject-card-mode{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.subject-card-desc{color:var(--color-text-muted);margin-left:.25rem;font-size:.75rem}.subject-card h3{margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:1.125rem;font-weight:700}.subject-input{padding:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:1rem}.start-session-btn{width:100%;padding:.75rem var(--spacing-xl);border-radius:10px;font-size:.9375rem;font-weight:600;transition:opacity .15s,transform .1s}.start-session-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}@media (width<=600px){.header-content h1{font-size:1.5rem}.modes-grid{grid-template-columns:1fr 1fr;gap:.5rem}.mode-card{gap:.5rem;padding:.75rem}.mode-card-icon{border-radius:8px;width:34px;height:34px}.mode-card-name{font-size:.8125rem}.mode-card-tagline{display:none}}@media (width<=380px){.modes-grid{grid-template-columns:1fr}}.settings-page{background:var(--color-bg-primary);min-height:calc(100vh - 64px);padding:32px 0}.settings-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.settings-header h1{color:var(--color-text-primary);align-items:center;gap:12px;margin:0;font-size:2rem;font-weight:700;display:flex}.settings-message{border-radius:var(--border-radius);margin-bottom:24px;padding:12px 16px;font-size:.875rem;animation:.3s slideDown}.settings-message.success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.settings-message.error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.settings-layout{grid-template-columns:240px 1fr;align-items:start;gap:32px;display:grid}.settings-sidebar{flex-direction:column;gap:4px;display:flex;position:sticky;top:80px}.settings-tab{border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.settings-tab:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.settings-tab.active{background:var(--color-primary);color:#fff}.settings-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);min-height:400px;padding:32px}.settings-section h2{color:var(--color-text-primary);margin:0 0 8px;font-size:1.5rem;font-weight:700}.settings-section h3{color:var(--color-text-primary);margin:0 0 16px;font-size:1.125rem;font-weight:600}.settings-description{color:var(--color-text-secondary);margin:0 0 24px;font-size:.875rem}.settings-form{max-width:500px}.form-group label{color:var(--color-text-primary);margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.form-group input{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);padding:10px 14px;font-size:.875rem;transition:all .2s}.form-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-help{color:var(--color-text-muted);margin-top:4px;font-size:.75rem;display:block}.settings-divider{border:none;border-top:1px solid var(--color-border);margin:32px 0}.alert{border-radius:var(--border-radius);margin-bottom:20px;padding:12px 16px;font-size:.875rem}.alert-warning{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d}.alert-info{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f64d}.shortcuts-list{flex-direction:column;gap:12px;display:flex}.shortcut-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);justify-content:space-between;align-items:center;padding:16px;display:flex}.shortcut-keys{align-items:center;gap:4px;display:flex}.shortcut-key{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);box-shadow:0 2px 0 var(--color-border);border-radius:4px;padding:4px 8px;font-family:Courier New,monospace;font-size:.75rem;font-weight:600;display:inline-block}.shortcut-plus{color:var(--color-text-muted);margin:0 2px;font-size:.75rem}.shortcut-description{color:var(--color-text-secondary);font-size:.875rem}.danger-zone{border-radius:var(--border-radius);background:#ef44440d;border:2px solid #ef44444d;padding:24px}.danger-item{justify-content:space-between;align-items:center;gap:24px;display:flex}.danger-item h3{color:#ef4444;margin:0 0 8px}.danger-item p{color:var(--color-text-secondary);margin:0;font-size:.875rem}.btn-danger{color:#fff;border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;background:#ef4444;border:none;padding:10px 20px;font-size:.875rem;font-weight:600;transition:all .2s}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-danger:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.settings-layout{grid-template-columns:1fr;gap:24px}.settings-sidebar{flex-direction:row;padding-bottom:8px;position:static;overflow-x:auto}.settings-tab{white-space:nowrap}.settings-content{padding:24px}.danger-item{flex-direction:column;align-items:flex-start}.btn-danger{width:100%}}:root{--bg-dark:#0a0a0a;--bg-secondary:#121212;--purple-primary:#8b5cf6;--purple-bright:#a855f7;--text-white:#fff;--text-muted:#a1a1aa;--border-color:#8b5cf633;--glow-color:#8b5cf659}.docs-page{width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff!important;background:#000!important}[data-theme=light] .docs-page,[data-theme=dark] .docs-page{color:#fff!important;background:#000!important}.docs-page *{color:inherit}.docs-page p,.docs-page li,.docs-page span,.docs-page div{color:#fff!important}.docs-container{grid-template-columns:280px 1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem;display:grid}.docs-sidebar{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;height:fit-content;padding:1.5rem;position:sticky;top:2rem}.docs-sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.docs-sidebar-title{font-size:1.1rem;font-weight:700}.docs-search{border:1px solid var(--border-color);width:100%;color:var(--text-white);background:#8b5cf61a;border-radius:8px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.docs-search::placeholder{color:var(--text-muted)}.docs-nav-section{margin-bottom:1.5rem}.docs-nav-category{color:var(--purple-bright);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.docs-nav-item{border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:flex;color:#aaa!important}.docs-nav-item:hover{color:var(--purple-bright);background:#8b5cf61a}.docs-nav-item.active{color:var(--purple-bright);border-left:3px solid var(--purple-bright);background:#8b5cf633;padding-left:calc(.75rem - 3px)}.docs-content{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212cc;border-radius:16px;padding:2rem}.docs-breadcrumb{gap:.5rem;margin-bottom:2rem;font-size:.9rem;display:flex;color:#aaa!important}.docs-breadcrumb-item{align-items:center;gap:.5rem;display:flex}.docs-breadcrumb-separator{color:var(--text-muted)}.docs-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:2rem}.docs-title{margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.docs-description{font-size:1.1rem;color:#aaa!important}.docs-meta{gap:2rem;margin-top:1rem;font-size:.9rem;display:flex;color:#aaa!important}.docs-meta-item{align-items:center;gap:.5rem;display:flex}.docs-section{margin-bottom:3rem}.docs-section-title{color:var(--purple-bright);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.docs-section-content{font-size:1rem;line-height:1.8;color:#ccc!important}.docs-section-content p{margin-bottom:1rem}.docs-section-content ul,.docs-section-content ol{margin-bottom:1rem;margin-left:1.5rem}.docs-section-content li{margin-bottom:.5rem}.docs-section-content strong{color:var(--text-white)}.docs-section-content code{color:var(--purple-bright);background:#8b5cf61a;border-radius:4px;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.9rem}.docs-navigation{border-top:1px solid var(--border-color);justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:2rem;display:flex}.docs-nav-button{border:1px solid var(--border-color);color:var(--text-white);background:#8b5cf61a;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.docs-nav-button:hover{border-color:var(--purple-bright);color:var(--purple-bright);background:#8b5cf633}.docs-nav-button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.docs-toc{border-left:3px solid var(--purple-bright);background:#8b5cf60d;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.docs-toc-title{color:var(--purple-bright);margin-bottom:1rem;font-weight:700}.docs-toc-list{padding-left:0;list-style:none}.docs-toc-item{margin-bottom:.5rem}.docs-toc-link{text-decoration:none;transition:color .3s;color:#aaa!important}.docs-toc-link:hover{color:var(--purple-bright)}@media (width<=1024px){.docs-container{grid-template-columns:1fr}.docs-sidebar{position:static}}@media (width<=768px){.docs-container{gap:1rem;padding:1rem}.docs-content{padding:1.5rem}.docs-title{font-size:1.8rem}.docs-sidebar{display:none}}@media (width<=480px){.docs-container{padding:.5rem}.docs-content{border-radius:12px;padding:1rem}.docs-title{font-size:1.5rem}.docs-section-title{font-size:1.2rem}.docs-meta{flex-direction:column;gap:.5rem}}.pdf-manager{max-width:1200px;margin:0 auto;padding:20px}.pdf-manager-header{margin-bottom:30px}.pdf-manager-header h2{color:var(--text-primary);margin-bottom:20px;font-size:1.8rem;font-weight:600}.statistics-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:15px;padding:20px;transition:all .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:24px;height:24px;color:var(--primary-color);flex-shrink:0}.stat-content{flex:1}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.stat-label{color:var(--text-secondary);margin-top:2px;font-size:.875rem}.pdf-manager-tabs{border-bottom:1px solid var(--border-color);gap:8px;margin-bottom:20px;padding-bottom:0;display:flex;overflow-x:auto}.tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:12px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--bg-hover)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--bg-hover)}.category-filter{margin-bottom:20px}.category-select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;min-width:200px;padding:10px 15px;font-size:.9rem}.category-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.loading,.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:.9rem}.pdf-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;transition:all .2s;display:flex}.pdf-name{color:var(--text-primary);word-break:break-word;margin-bottom:8px;font-size:1.1rem;font-weight:600}.pdf-meta{flex-wrap:wrap;gap:15px;margin-bottom:8px;display:flex}.pdf-meta span{color:var(--text-secondary);align-items:center;gap:4px;font-size:.85rem;display:flex}.meta-icon{width:14px;height:14px}.pdf-category{color:var(--primary-color);background:var(--primary-color-light);border-radius:6px;align-items:center;gap:6px;width:fit-content;padding:4px 8px;font-size:.85rem;display:flex}.category-icon{width:14px;height:14px}.pdf-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.favorite-btn{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.favorite-btn:hover{background:#ef44441a;border-color:#ef4444}.favorite-btn.favorited{background:#ef4444;border-color:#ef4444}.heart-icon{color:#ef4444;width:16px;height:16px}.favorite-btn.favorited .heart-icon{color:#fff}.edit-category-btn{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.edit-category-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.tag-icon{width:16px;height:16px;color:var(--text-secondary)}.edit-category-btn:hover .tag-icon{color:var(--primary-color)}.category-editor{align-items:center;gap:8px;display:flex}.category-input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;width:120px;padding:6px 10px;font-size:.85rem}.category-input:focus{border-color:var(--primary-color);outline:none}.save-category-btn,.cancel-category-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:all .2s}.save-category-btn{background:var(--primary-color);color:#fff}.save-category-btn:hover{background:var(--primary-color-dark)}.cancel-category-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.cancel-category-btn:hover{background:var(--border-color)}.study-time-tracker{gap:4px;display:flex}.track-time-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:.8rem;transition:all .2s}.track-time-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media (width<=768px){.pdf-manager{padding:15px}.statistics-overview{grid-template-columns:repeat(2,1fr);gap:15px}.stat-card{padding:15px}.stat-value{font-size:1.3rem}.pdf-item{flex-direction:column;align-items:stretch;gap:15px}.pdf-actions{justify-content:flex-end}.pdf-meta{gap:10px}.category-editor{flex-wrap:wrap}.category-input{width:100px}}@media (width<=480px){.statistics-overview{grid-template-columns:1fr}.pdf-manager-tabs{gap:4px}.tab{padding:10px 15px;font-size:.85rem}.pdf-actions{flex-wrap:wrap;gap:8px}.study-time-tracker{justify-content:flex-end;width:100%}}.chat-interface-improved{background-color:var(--color-bg-primary);-webkit-overflow-scrolling:touch;box-sizing:border-box;border:none;flex-direction:column;width:100%;max-width:100%;height:100%;margin:0;padding:0;display:flex;position:relative;overflow-y:auto}.quick-actions-bar{background-color:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);box-sizing:border-box;width:100%;max-width:100%;position:relative}.close-quick-actions{top:var(--spacing-sm);right:var(--spacing-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);background:0 0;border:none;font-size:.875rem;position:absolute}.close-quick-actions:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.quick-actions{max-width:100%}.quick-actions-header{margin-bottom:var(--spacing-sm)}.quick-actions-title{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.quick-actions-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.quick-action-btn{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;transition:all .2s;overflow:hidden}.quick-action-btn:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-1px)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-messages-improved{padding:var(--spacing-lg) var(--spacing-md);gap:var(--spacing-lg);box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;margin:0;padding-bottom:200px;display:flex;overflow:hidden auto}.welcome-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.welcome-icon{margin-bottom:var(--spacing-md);font-size:3rem}.welcome-message h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.chat-message-improved{max-width:100%;margin-bottom:var(--spacing-sm);box-sizing:border-box;width:100%;display:flex}.chat-message-improved.user{flex-direction:row-reverse;justify-content:flex-end;align-self:flex-end;max-width:85%}.chat-message-improved.assistant{align-self:flex-start;max-width:100%}.message-content-improved{align-items:flex-start;gap:var(--spacing-md);box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:flex}.chat-message-improved.user .message-content-improved{flex-direction:row-reverse}.message-avatar{background-color:var(--color-bg-tertiary);width:52px;height:52px;box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;font-size:1.5rem;display:flex}.message-bubble{background-color:var(--color-bg-secondary);padding:var(--spacing-lg) var(--spacing-xl);box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-sm);overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border:none;border-radius:8px;position:relative}.chat-message-improved.user .message-bubble{background-color:var(--color-accent);color:#fff;max-width:700px;box-shadow:var(--shadow-md);border:none}.message-text-improved{white-space:pre-wrap;word-wrap:break-word;margin-bottom:var(--spacing-sm);letter-spacing:.01em;font-size:1rem;line-height:1.7}.chat-message-improved.user .message-text-improved{margin-bottom:0;font-size:.95rem}.message-timestamp{color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:right;opacity:.7;font-size:.7rem}.chat-message-improved.user .message-timestamp{color:#fffc}.message-actions{gap:var(--spacing-xs);opacity:0;transition:opacity .2s;display:flex}.message-bubble:hover .message-actions{opacity:1}.message-action-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);background:0 0;border:none;font-size:.875rem;transition:all .2s}.message-action-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.message-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-area{background-color:var(--color-bg-secondary);border-top:var(--border-width) solid var(--color-border);width:100%;padding:0 var(--spacing-2xl);z-index:50;box-sizing:border-box;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.attachment-section{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.chat-input-form-improved{padding:var(--spacing-md) var(--spacing-lg);box-sizing:border-box;width:100%;max-width:100%}.input-toolbar{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);box-sizing:border-box;flex-wrap:wrap;width:100%;display:flex}.toolbar-btn{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-md);justify-content:center;align-items:center;min-width:44px;height:44px;font-size:1.2rem;transition:all .2s;display:flex}.toolbar-btn:hover:not(:disabled),.toolbar-btn.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-container-improved{gap:var(--spacing-sm);box-sizing:border-box;align-items:flex-end;width:100%;max-width:100%;display:flex}.chat-input-improved{resize:none;height:52px;min-height:52px;max-height:200px;font-family:var(--font-body);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-tertiary);color:var(--color-text-primary);will-change:contents;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-shadow:var(--shadow-sm);border:none;border-radius:26px;flex:1;width:100%;font-size:1rem;line-height:1.5;transition:box-shadow .2s;display:block;overflow-y:auto;transform:translateZ(0)}.chat-input-improved:focus{box-shadow:0 0 0 2px var(--color-accent);outline:none}.chat-input-improved::placeholder{color:var(--color-text-muted)}.chat-send-btn-improved{background-color:var(--color-accent);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow-md);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.chat-send-btn-improved:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:scale(1.1)}.chat-send-btn-improved:disabled{background-color:var(--color-text-muted);cursor:not-allowed;transform:none}.file-attachment{width:100%}.file-drop-zone{border:2px dashed var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);text-align:center;cursor:pointer;background-color:var(--color-bg-tertiary);transition:all .2s}.file-drop-zone.active{border-color:var(--color-accent);background-color:#6366f11a}.file-drop-zone.disabled{opacity:.5;cursor:not-allowed}.file-input-hidden{display:none}.file-input-label{cursor:pointer;width:100%;display:block}.file-drop-zone.disabled .file-input-label{cursor:not-allowed}.upload-content{justify-content:center;align-items:center;gap:var(--spacing-md);display:flex}.upload-icon{font-size:2rem}.upload-text{text-align:left;flex-direction:column;display:flex}.primary-text{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-weight:500}.secondary-text{color:var(--color-text-muted);font-size:.75rem}.processing-state{align-items:center;gap:var(--spacing-sm);color:var(--color-accent);display:flex}.spinner{border:2px solid var(--color-border);border-top:2px solid var(--color-accent);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.supported-formats{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.formats-label{color:var(--color-text-muted);font-size:.75rem}.format-tag{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);color:var(--color-text-secondary);border-radius:12px;padding:2px 6px;font-size:.625rem}.chat-messages-improved::-webkit-scrollbar{width:6px}.chat-messages-improved::-webkit-scrollbar-track{background:var(--color-bg-primary)}.chat-messages-improved::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.chat-messages-improved::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@media (width<=768px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.chat-messages-improved{padding:var(--spacing-lg) var(--spacing-md)}.chat-message-improved{max-width:100%}.chat-message-improved.user{max-width:90%}.upload-content{gap:var(--spacing-sm);flex-direction:column}.upload-text{text-align:center}.supported-formats{justify-content:center}}.chat-interface{flex-direction:column;height:100%;max-height:70vh;display:flex}.chat-messages{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{max-width:80%;display:flex}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-content{align-items:flex-start;gap:var(--spacing-sm);width:100%;display:flex}.chat-message.user .message-content{flex-direction:row-reverse}.message-icon{margin-top:var(--spacing-xs);flex-shrink:0;font-size:1.5rem}.message-text{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md);white-space:pre-wrap;word-wrap:break-word;flex:1}.chat-message.user .message-text{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.copy-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);opacity:0;background:0 0;border:none;transition:opacity .2s}.message-content:hover .copy-btn{opacity:1}.copy-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.chat-input-form{border-top:var(--border-width) solid var(--color-border);padding:var(--spacing-lg);background-color:var(--color-bg-secondary)}.chat-input-container{gap:var(--spacing-sm);align-items:flex-end;display:flex}.chat-input{resize:none;min-height:44px;max-height:120px;font-family:var(--font-body);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);flex:1;font-size:.875rem;line-height:1.4;transition:border-color .2s}.chat-input:focus{border-color:var(--color-accent);outline:none}.chat-input::placeholder{color:var(--color-text-muted)}.chat-send-btn{background-color:var(--color-accent);border-radius:var(--border-radius);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:background-color .2s;display:flex}.chat-send-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.chat-send-btn:disabled{background-color:var(--color-text-muted);cursor:not-allowed}.file-indicator{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:8px;margin-bottom:8px;padding:8px 12px;animation:.3s slideIn}.file-indicator-content{align-items:center;gap:8px;display:flex}.file-indicator .file-icon{font-size:18px}.file-indicator .file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.file-indicator .file-status{color:var(--success-color);font-size:12px;font-weight:600}.remove-file-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px;line-height:1;transition:all .2s}.remove-file-btn:hover{background:var(--background-hover);color:var(--text-primary)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.math-keyboard{background-color:var(--color-bg-secondary);border-top:var(--border-width) solid var(--color-border);-webkit-user-select:none;user-select:none;padding:0}.math-keyboard-tabs{border-bottom:var(--border-width) solid var(--color-border);scrollbar-width:none;align-items:center;gap:2px;padding:6px 10px 0;display:flex;overflow-x:auto}.math-keyboard-tabs::-webkit-scrollbar{display:none}.math-kb-tab{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 10px 6px;font-size:.75rem;font-weight:500;transition:all .15s}.math-kb-tab:hover{color:var(--color-text-primary)}.math-kb-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.math-kb-close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:4px 8px;font-size:.8rem}.math-kb-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.math-keyboard-grid{flex-wrap:wrap;gap:4px;max-height:130px;padding:8px 10px;display:flex;overflow-y:auto}.math-sym-btn{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-width:38px;height:34px;padding:0 6px;font-family:KaTeX_Math,Latin Modern Math,serif;font-size:.95rem;transition:all .12s;display:flex}.math-sym-btn:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #a855f759}.math-sym-btn:active{transform:translateY(0)}.math-keyboard-hint{color:var(--color-text-muted);border-top:var(--border-width) solid var(--color-border);padding:4px 12px 8px;font-size:.7rem}.math-keyboard-hint code{background:var(--color-bg-tertiary);color:var(--color-accent);border-radius:3px;padding:1px 4px;font-size:.7rem}.toolbar-btn.math-active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor{color:var(--color-accent);margin-left:2px;font-weight:700;animation:1s step-start infinite blink;display:inline-block}.scroll-to-bottom-btn{background-color:var(--color-accent);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-lg);z-index:60;opacity:.95;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:transform .2s,background-color .2s,opacity .2s;display:flex;position:fixed;bottom:140px;right:32px}.scroll-to-bottom-btn:hover{background-color:var(--color-accent-hover);opacity:1;box-shadow:var(--shadow-glow);transform:scale(1.1)}.chat-input-area{background-color:var(--color-bg-primary);border-top:var(--border-width) solid var(--color-border);padding:var(--spacing-md);box-sizing:border-box;width:100%}.chat-input-form{gap:var(--spacing-sm);align-items:flex-end;max-width:100%;display:flex}.chat-textarea{min-height:2.5rem;max-height:8rem;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-body);resize:none;flex:1;font-size:.9375rem;line-height:1.4;transition:all .2s;overflow-y:auto}.chat-textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #a855f71a}.chat-textarea::placeholder{color:var(--color-text-muted)}.chat-action-btn{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;transition:all .2s;display:flex}.chat-action-btn:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.chat-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-action-btn.send-btn{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.chat-action-btn.send-btn:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.file-attachment-dropdown{background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:var(--spacing-md);z-index:1000;min-width:200px;margin-bottom:var(--spacing-sm);position:absolute;bottom:100%;left:0}.file-attachment-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);color:var(--color-text-primary);cursor:pointer;text-align:left;border-radius:var(--border-radius);background:0 0;border:none;width:100%;transition:background-color .2s;display:flex}.file-attachment-option:hover{background-color:var(--color-bg-tertiary)}.math-keyboard-overlay{background-color:var(--color-bg-primary);border-top:var(--border-width) solid var(--color-border);padding:var(--spacing-md);z-index:1000;max-height:50vh;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.scroll-to-bottom-btn{background-color:var(--color-accent);color:#fff;cursor:pointer;z-index:100;width:40px;height:40px;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;bottom:5rem;right:1rem}.scroll-to-bottom-btn:hover{background-color:var(--color-accent-hover);transform:scale(1.1)}.message-bubble{max-width:80%;margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius);word-wrap:break-word;overflow-wrap:break-word;position:relative}.message-bubble.user{background-color:var(--color-accent);color:#fff;margin-left:auto;margin-right:var(--spacing-md);border-bottom-right-radius:var(--spacing-xs)}.message-bubble.assistant{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);margin-right:auto;margin-left:var(--spacing-md);border-bottom-left-radius:var(--spacing-xs)}.message-bubble.system{background-color:var(--color-bg-secondary);color:var(--color-text-muted);text-align:center;max-width:90%;margin-left:auto;margin-right:auto;font-style:italic}.message-content{line-height:1.5}.message-content p{margin-bottom:var(--spacing-sm)}.message-content p:last-child{margin-bottom:0}.message-timestamp{color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:right;font-size:.75rem}.message-loading{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:.875rem;display:flex}.message-error{border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--border-radius);margin:var(--spacing-md) auto;text-align:center;background-color:#ef44441a;max-width:80%}.inline-flashcard-wrapper{margin:1rem 0}.inline-flashcard-container{width:100%;max-width:680px}.inline-flashcard-scene{perspective:1200px;cursor:pointer;width:100%}.inline-flashcard-card{width:100%;min-height:160px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.inline-flashcard-card.flipped{transform:rotateY(180deg)}.inline-flashcard-face{backface-visibility:hidden;border-radius:12px;flex-direction:column;gap:.75rem;width:100%;min-height:160px;padding:1.25rem 1.5rem;display:flex;position:absolute}.inline-flashcard-face.front{background:var(--color-bg-secondary);border:2px solid var(--color-accent)}.inline-flashcard-face.back{background:var(--color-bg-tertiary);border:2px solid var(--color-border);transform:rotateY(180deg)}.inline-flashcard-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.25rem;font-size:.7rem;font-weight:700}.inline-flashcard-face.back .inline-flashcard-label{color:var(--color-text-muted)}.inline-flashcard-body{color:var(--color-text-primary);flex:1;max-height:160px;font-size:.9375rem;line-height:1.6;overflow:hidden auto}.inline-flashcard-body::-webkit-scrollbar{width:4px}.inline-flashcard-body::-webkit-scrollbar-track{background:0 0}.inline-flashcard-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.inline-flashcard-body .enhanced-message{margin:0}.inline-flashcard-body p{margin:0 0 .5rem}.inline-flashcard-body p:last-child{margin-bottom:0}.inline-flashcard-hint{color:var(--color-text-muted);text-align:center;margin-top:.5rem;font-size:.75rem;font-style:italic}.inline-flashcard-confidence{flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem;animation:.3s fadeIn;display:flex}.inline-flashcard-confidence p{color:var(--color-text-muted);margin:0;font-size:.875rem}.inline-confidence-buttons{flex-wrap:wrap;justify-content:center;gap:.625rem;display:flex}.inline-confidence-btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .15s,opacity .15s}.inline-confidence-btn:hover{opacity:.9;transform:translateY(-2px)}.inline-confidence-btn.hard{background:var(--color-error,#ef4444);color:#fff}.inline-confidence-btn.okay{background:var(--color-warning,#f59e0b);color:#fff}.inline-confidence-btn.easy{background:var(--color-success,#10b981);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.flashcard-container{max-width:400px;margin:0 auto var(--spacing-lg)}.flashcard{cursor:pointer;perspective:1000px;width:100%;height:200px;position:relative}.flashcard-front,.flashcard-back{backface-visibility:hidden;border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);width:100%;height:100%;padding:var(--spacing-lg);flex-direction:column;justify-content:space-between;transition:transform .6s;display:flex;position:absolute}.flashcard-front{background-color:var(--color-bg-secondary);transform:rotateY(0)}.flashcard-back{background-color:var(--color-bg-tertiary);transform:rotateY(180deg)}.flashcard.flipped .flashcard-front{transform:rotateY(-180deg)}.flashcard.flipped .flashcard-back{transform:rotateY(0)}.flashcard-content h4{color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:600}.flashcard-content p{color:var(--color-text-primary);margin:0;font-size:1rem;line-height:1.5}.flashcard-hint{color:var(--color-text-muted);text-align:center;font-size:.75rem;font-style:italic}.confidence-rater{text-align:center;margin-top:var(--spacing-lg)}.confidence-buttons{gap:var(--spacing-sm);justify-content:center;display:flex}.confidence-btn{min-width:80px;font-size:.875rem}.confidence-btn.hard{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.confidence-btn.okay{background-color:var(--color-warning);border-color:var(--color-warning);color:#fff}.confidence-btn.easy{background-color:var(--color-success);border-color:var(--color-success);color:#fff}@media (width<=768px){.flashcard-container{max-width:100%}.inline-confidence-buttons{flex-direction:column;align-items:stretch}.confidence-buttons{flex-direction:column}.confidence-btn{min-width:auto}}.iq-wrapper{border:2px solid var(--color-border);background:var(--color-bg-secondary);border-radius:12px;margin:.75rem 0;overflow:hidden}.iq-header{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.iq-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--color-accent);color:#fff;border-radius:4px;padding:.2rem .55rem;font-size:.65rem;font-weight:700}.iq-counter{color:var(--color-text-muted);font-size:.8rem}.iq-question{color:var(--color-text-primary);padding:1rem 1.25rem .75rem;font-size:.9375rem;line-height:1.6}.iq-question .enhanced-message p{margin:0}.iq-options{flex-direction:column;gap:.5rem;padding:0 1.25rem 1rem;display:flex}.iq-option{border:2px solid var(--color-border);background:var(--color-bg-primary);cursor:pointer;text-align:left;border-radius:8px;align-items:flex-start;gap:.75rem;width:100%;padding:.65rem .9rem;transition:border-color .15s,background .15s,transform .1s;display:flex}.iq-option:not(:disabled):hover{border-color:var(--color-accent);background:var(--color-bg-tertiary);transform:translate(3px)}.iq-option:disabled{cursor:default}.iq-option.correct{border-color:var(--color-success,#10b981);background:color-mix(in srgb, var(--color-success,#10b981) 12%, transparent)}.iq-option.wrong{border-color:var(--color-error,#ef4444);background:color-mix(in srgb, var(--color-error,#ef4444) 12%, transparent)}.iq-option.dim{opacity:.45}.iq-option-label{background:var(--color-bg-tertiary);border:1.5px solid var(--color-border);width:1.6rem;height:1.6rem;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.75rem;font-weight:700;display:flex}.iq-option.correct .iq-option-label{background:var(--color-success,#10b981);border-color:var(--color-success,#10b981);color:#fff}.iq-option.wrong .iq-option-label{background:var(--color-error,#ef4444);border-color:var(--color-error,#ef4444);color:#fff}.iq-option-text{color:var(--color-text-primary);flex:1;font-size:.9rem;line-height:1.5}.iq-option-text .enhanced-message p{margin:0}.iq-tick{color:var(--color-success,#10b981);margin-left:auto;font-weight:700}.iq-cross{color:var(--color-error,#ef4444);margin-left:auto;font-weight:700}.iq-explanation{background:var(--color-bg-tertiary);border-left:3px solid var(--color-accent);color:var(--color-text-secondary);border-radius:8px;margin:0 1.25rem 1rem;padding:.75rem 1rem;font-size:.875rem;animation:.25s fadeIn}.iq-explanation-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-accent);margin-bottom:.4rem;font-size:.7rem;font-weight:700;display:block}.iq-explanation .enhanced-message p{margin:0}.iq-score{background:var(--color-bg-tertiary);border:2px solid var(--color-accent);border-radius:10px;margin:0 1.25rem 1.25rem;padding:1rem;animation:.3s fadeIn}.iq-score-inner{align-items:center;gap:1rem;display:flex}.iq-score-number{color:var(--color-accent);font-size:2rem;font-weight:800;line-height:1}.iq-score-label{color:var(--color-text-primary);font-size:1rem;font-weight:600}@media (width<=600px){.iq-option-text{font-size:.85rem}.iq-question{font-size:.875rem}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.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 .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.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;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.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:.833333em}.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.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.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.66667em}.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.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.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.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.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:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.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.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.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.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.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:.416667em}.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:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.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:.833333em}.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.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.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:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.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.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.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.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.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.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.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{width:.12em;display:inline-block}.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{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.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{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.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{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.pdf-note-editor{background:var(--color-bg-primary);border-left:1px solid var(--color-border);width:400px;height:100%;box-shadow:var(--shadow-xl);z-index:1100;flex-direction:column;display:flex;position:fixed;top:0;right:0}.note-editor-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.note-editor-title{align-items:center;gap:.75rem;display:flex}.note-icon{font-size:1.5rem}.note-editor-title h3{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.note-editor-content{flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.new-note-form{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:8px;padding:1rem}.note-textarea{background:var(--color-bg-primary);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);resize:vertical;border-radius:6px;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.6;transition:border-color .2s}.note-textarea:focus{border-color:var(--color-accent);outline:none}.note-textarea::placeholder{color:var(--color-text-secondary);opacity:.6}.note-form-actions{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.note-hint{color:var(--color-text-secondary);opacity:.7;font-size:.75rem}.btn-primary{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary.btn-sm{padding:.375rem 1rem;font-size:.8125rem}.btn-secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-text-secondary);color:var(--color-text-primary)}.btn-secondary.btn-sm{padding:.375rem 1rem;font-size:.8125rem}.notes-list{flex-direction:column;gap:1rem;display:flex}.notes-loading,.notes-empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.notes-empty .empty-icon{opacity:.5;margin-bottom:.5rem;font-size:3rem}.notes-empty p{color:var(--color-text-primary);margin:.5rem 0;font-weight:500}.notes-empty .empty-hint{opacity:.7;font-size:.875rem}.note-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem;transition:all .2s}.note-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.note-text{color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;margin-bottom:.75rem;font-size:.875rem;line-height:1.6}.note-meta{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.note-edited{opacity:.7;font-style:italic}.note-actions{align-items:center;gap:.5rem;display:flex}.btn-icon-sm{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .5rem;font-size:.875rem;transition:all .2s}.btn-icon-sm:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent)}.btn-icon-sm.btn-danger:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.note-edit-form{flex-direction:column;gap:.75rem;display:flex}.note-edit-actions{align-items:center;gap:.5rem;display:flex}.note-editor-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);text-align:center;padding:1rem 1.5rem}.note-count{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.note-editor-content::-webkit-scrollbar{width:6px}.note-editor-content::-webkit-scrollbar-track{background:var(--color-bg-primary)}.note-editor-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.note-editor-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (width<=768px){.pdf-note-editor{width:100%;max-width:100%}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--scale-factor));box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.study-interface{background-color:var(--color-bg-primary);z-index:1000;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.study-header{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex}.study-title{align-items:center;gap:var(--spacing-md);display:flex}.study-icon{font-size:1.5rem}.study-title h3{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.study-page-info{color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-tertiary);border-radius:var(--border-radius);font-size:.875rem}.study-actions{gap:var(--spacing-sm);display:flex}.study-content{flex:1;display:flex;position:relative;overflow:hidden}.study-pdf-section{background-color:var(--color-bg-secondary);border-right:var(--border-width) solid var(--color-border);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.pdf-toolbar{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border-bottom:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.toolbar-group{align-items:center;gap:var(--spacing-xs);display:flex;position:relative}.btn-toolbar{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);justify-content:center;align-items:center;min-width:32px;height:32px;font-size:.875rem;transition:all .2s;display:flex}.btn-toolbar:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-toolbar.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-toolbar.btn-color{border-radius:50%;width:32px}.page-input-small{width:50px;padding:var(--spacing-xs);text-align:center;border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem}.page-total-small{color:var(--color-text-muted);font-size:.875rem}.zoom-level-small{color:var(--color-text-primary);text-align:center;min-width:45px;font-size:.875rem}.color-picker-mini{margin-top:var(--spacing-xs);background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-xs);gap:var(--spacing-xs);box-shadow:var(--shadow-md);z-index:10;display:flex;position:absolute;top:100%;right:0}.color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:all .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-secondary)}.pdf-viewer-area{padding:var(--spacing-lg);background-color:var(--color-bg-tertiary);flex-direction:column;flex:1;align-items:flex-start;min-height:0;padding-bottom:80px;display:flex;position:relative;overflow:auto}.pdf-viewer-area.highlight-mode{cursor:text}.pdf-viewer-area .react-pdf__Document{flex-direction:column;align-items:center;min-width:100%;display:flex}.pdf-viewer-area .react-pdf__Page{margin-bottom:var(--spacing-lg);background:#fff;position:relative;overflow:visible;box-shadow:0 4px 16px #0000002e}.pdf-viewer-area .react-pdf__Page__canvas{display:block;max-width:none!important}.pdf-viewer-area .react-pdf__Page__textContent{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:0 0;line-height:1;position:absolute;top:0;left:0;overflow:visible!important}.pdf-viewer-area .react-pdf__Page__textContent span{color:#0000;white-space:pre;cursor:default;transform-origin:0 0;position:absolute}.pdf-viewer-area.highlight-mode{cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.pdf-selection-rect{pointer-events:none;z-index:50;background:#ffeb3b40;border:2px solid #ffc800e6;border-radius:2px;position:absolute}.highlight-overlay{pointer-events:none;mix-blend-mode:multiply;opacity:.4;position:absolute}.highlight-overlay.yellow{background-color:#ffeb3b}.highlight-overlay.green{background-color:#4caf50}.highlight-overlay.blue{background-color:#2196f3}.highlight-overlay.pink{background-color:#e91e63}.highlight-overlay.orange{background-color:#ff9800}.highlight-overlay.purple{background-color:#9c27b0}.pdf-highlight-overlay-layer{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0;display:block!important}.pdf-highlight-mark{mix-blend-mode:multiply;opacity:.55;pointer-events:auto;cursor:pointer;will-change:opacity;-webkit-tap-highlight-color:transparent;border-radius:2px;transition:opacity .15s;position:absolute}.pdf-highlight-mark:hover,.pdf-highlight-mark:active{opacity:.8}.pdf-page-wrapper{isolation:isolate;display:inline-block;position:relative}.pdf-loading-small{padding:var(--spacing-2xl);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.pdf-error-small{padding:var(--spacing-xl);color:var(--color-text-muted);text-align:center}.highlight-hint{top:var(--spacing-md);background-color:var(--color-accent);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);box-shadow:var(--shadow-md);z-index:10;border-radius:20px;font-size:.875rem;animation:.3s slideDown;position:absolute;left:50%;transform:translate(-50%)}.pdf-mini-sidebar{background-color:var(--color-bg-secondary);border-left:var(--border-width) solid var(--color-border);flex-shrink:0;width:180px;min-height:100%;transition:none;overflow-y:auto}.mini-sidebar-section{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.mini-sidebar-section h5{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.mini-bookmark{padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);background-color:var(--color-bg-tertiary);border-radius:var(--border-radius);cursor:pointer;color:var(--color-text-primary);font-size:.875rem;transition:all .2s}.mini-bookmark:hover{background-color:var(--color-accent);color:#fff}.mini-bookmark.active{background-color:var(--color-accent);color:#fff;font-weight:600}.mini-highlight{align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-xs);margin-bottom:var(--spacing-xs);background-color:var(--color-bg-tertiary);border-radius:var(--border-radius);font-size:.75rem;display:flex}.mini-highlight-color{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:2px}.mini-highlight-text{color:var(--color-text-secondary);text-overflow:ellipsis;flex:1;line-height:1.4;overflow:hidden}.mini-remove-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.875rem}.mini-remove-btn:hover{color:var(--color-text-primary)}.resize-handle{background-color:var(--color-bg-tertiary);cursor:col-resize;z-index:10;flex-shrink:0;justify-content:center;align-items:center;width:10px;transition:background-color .2s;display:flex;position:relative}.resize-handle:hover,.resize-handle.is-resizing{background-color:var(--color-accent)}.resize-grip{pointer-events:none;flex-direction:column;gap:4px;display:flex}.resize-grip span{background-color:var(--color-border-light);border-radius:50%;width:4px;height:4px;transition:background-color .2s;display:block}.resize-handle:hover .resize-grip span,.resize-handle.is-resizing .resize-grip span{background-color:#fff}.study-chat-section{background-color:var(--color-bg-primary);flex-direction:column;min-height:0;display:flex;overflow:hidden}.study-chat-section .chat-interface-improved{flex:1;min-height:0;overflow:hidden}.chat-context-banner{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-accent);color:#fff;gap:var(--spacing-xs);flex-direction:column;font-size:.875rem;font-weight:500;display:flex}.context-main{align-items:center;gap:var(--spacing-xs);display:flex}.context-details{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.context-badge{background-color:#fff3;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.context-selection{background-color:#ffeb3b4d;border:1px solid #ffeb3b80;flex-shrink:1;min-width:0;max-width:260px;overflow:hidden}.context-selection .selection-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.clear-selection-btn{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;margin-left:2px;padding:0 2px;font-size:.7rem}.clear-selection-btn:hover{opacity:1}.highlight-btn{background-color:#ffeb3b4d!important;border-color:#ffeb3b99!important}.quick-study-actions{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.quick-study-btn{border-radius:var(--border-radius);color:#fff;cursor:pointer;white-space:nowrap;background-color:#ffffff26;border:1px solid #ffffff4d;padding:4px 12px;font-size:.75rem;transition:all .2s}.quick-study-btn:hover:not(:disabled){background-color:#ffffff40;border-color:#ffffff80}.quick-study-btn:disabled{opacity:.5;cursor:not-allowed}.study-error{height:100%;padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.study-error h3{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.study-error p{margin-bottom:var(--spacing-xl);color:var(--color-text-muted)}@media (width<=768px){.study-interface{height:100dvh}.study-content{flex-direction:column;position:relative}.study-pdf-section,.study-chat-section{flex-direction:column;display:flex;position:absolute;inset:0;width:100%!important;height:auto!important}.study-pdf-section.pane-hidden,.study-chat-section.pane-hidden{display:none!important}.study-pdf-section{border-right:none}.pdf-viewer-area{padding:var(--spacing-md);-webkit-overflow-scrolling:touch;flex:1;padding-bottom:60px;overflow-y:auto}.study-pdf-section .pdf-float-nav{z-index:50;padding:4px 10px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.study-chat-section .pdf-float-nav,.study-pdf-section.pane-hidden .pdf-float-nav{display:none!important}.pdf-float-btn{padding:2px 4px;font-size:1rem}.pdf-float-page{min-width:50px;font-size:.75rem}.study-header .mobile-tabs{background:var(--color-bg-tertiary);border-radius:8px;gap:4px;padding:3px;display:flex}.mobile-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;min-height:36px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.mobile-tab.active{background:var(--color-accent);color:#fff;box-shadow:0 2px 6px #a855f74d}.pdf-toolbar{padding:var(--spacing-xs);flex-wrap:nowrap;gap:4px;overflow-x:auto}.toolbar-group{flex-shrink:0;gap:2px}.btn-toolbar{padding:var(--spacing-xs);flex-shrink:0;min-width:32px;height:32px;font-size:.75rem}.toolbar-group .btn-toolbar.secondary{display:none}.pdf-mini-sidebar{border-left:none;border-top:1px solid var(--color-border);z-index:201;-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;height:60vh;max-height:60vh;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d;width:100%!important}.pdf-mini-sidebar:not(.empty){transform:translateY(0)}.pdf-mini-sidebar:before{content:"";background:var(--color-border);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 12px;display:block}.sidebar-backdrop{z-index:200;background:#00000080;animation:.3s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-close-mobile{background:var(--color-bg-tertiary);border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.sidebar-close-mobile:hover{background:var(--color-bg-hover);transform:scale(1.1)}.study-chat-section{background:var(--color-bg-primary)}.study-chat-section .chat-interface-improved{flex-direction:column;flex:1;height:100%;display:flex}.study-chat-section .chat-messages-improved{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:180px;overflow-y:auto}.study-chat-section .chat-input-area{z-index:90;background:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:0;padding-bottom:max(0, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.study-chat-section .quick-actions-bar{z-index:1;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);order:1;width:100%;position:relative}.study-chat-section .chat-input-form{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);order:2}.study-chat-section .message-bubble,.study-chat-section .formatted-message,.study-chat-section .chat-messages-improved{font-family:var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.study-chat-section .formatted-message code,.study-chat-section .formatted-message pre{font-family:Courier New,Consolas,Monaco,monospace}.study-content .swiper-pagination,.study-content .carousel-indicators{display:none!important}}@media (width<=1024px){.study-content{flex-direction:column}.study-pdf-section,.study-chat-section{height:50%;width:100%!important}.resize-handle{cursor:row-resize;width:100%;height:8px}.pdf-mini-sidebar{width:150px}}@media (width<=768px){.pdf-toolbar{padding:var(--spacing-xs)}.toolbar-group{gap:2px}.btn-toolbar{padding:var(--spacing-xs);min-width:28px;height:28px;font-size:.75rem}.pdf-mini-sidebar{width:120px}.study-title h3{font-size:.95rem}.study-page-info{font-size:.75rem}}.pdf-viewer-area::-webkit-scrollbar{width:6px;height:6px}.pdf-mini-sidebar::-webkit-scrollbar{width:6px;height:6px}.pdf-viewer-area::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.pdf-mini-sidebar::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.pdf-viewer-area::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.pdf-mini-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.pdf-viewer-area::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.pdf-mini-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.ask-ai-tip{z-index:1000;background:var(--color-accent);pointer-events:all;border-radius:20px;align-items:center;gap:4px;padding:4px 6px;animation:.15s tipFadeIn;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #00000040}@keyframes tipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ask-ai-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:16px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background .15s}.ask-ai-btn:hover{background:#ffffff26}.ask-ai-dismiss{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px 6px;font-size:.7rem;line-height:1}.ask-ai-dismiss:hover{color:#fff;background:#ffffff26}.mobile-tabs{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:8px 0;padding-bottom:max(8px, env(safe-area-inset-bottom));z-index:100;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000026}.mobile-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:4px;min-height:56px;padding:8px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.mobile-tab svg{width:24px;height:24px}.mobile-tab.active{color:var(--color-accent);background:0 0}.mobile-tab.active svg{transform:scale(1.1)}.scanned-pdf-warning{border-radius:var(--border-radius);color:var(--color-text-primary);text-align:center;background:#ff980026;border:1px solid #ff980066;margin:8px;padding:8px 12px;font-size:.8rem}.clear-highlights-btn{z-index:10;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;padding:4px 10px;font-size:.75rem;transition:all .2s;position:absolute;top:8px;right:8px}.clear-highlights-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.pane-hidden{visibility:hidden;opacity:0;pointer-events:none;height:100%;position:absolute;top:0;left:0;width:100%!important}.study-pdf-section,.study-chat-section{transition:opacity .2s}.extraction-progress-bar-wrap{background:var(--color-bg-tertiary);flex-shrink:0;width:100%;height:4px;overflow:hidden}.extraction-progress-bar{background:var(--color-accent);border-radius:0 2px 2px 0;height:100%;transition:width .3s}.extraction-caption{color:var(--color-text-muted);padding:2px var(--spacing-md);background:var(--color-bg-secondary);text-align:center;flex-shrink:0;font-size:.7rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.is-extracting .pdf-viewer-area:after{content:"";pointer-events:none;z-index:5;background:linear-gradient(90deg,#0000 0%,#a855f714 50%,#0000 100%) 0 0/200% 100%;animation:1.8s linear infinite shimmer;position:absolute;inset:0}.extraction-error{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-md);color:var(--color-error);background:#ef44441a;border-bottom:1px solid #ef44444d;flex-shrink:0;font-size:.8rem;display:flex}.extraction-error-dismiss{border:1px solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);cursor:pointer;background:0 0;flex-shrink:0;padding:2px 8px;font-size:.75rem;transition:all .15s}.extraction-error-dismiss:hover{background:var(--color-error);color:#fff}.pdf-section-body{flex:1;min-height:0;display:flex;overflow:hidden}.pdf-section-body .pdf-viewer-area{flex:1;min-width:0}.reading-progress-bar-wrap{background:var(--color-bg-tertiary);flex-shrink:0;width:100%;height:3px}.reading-progress-bar{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-light));border-radius:0 2px 2px 0;height:100%;transition:width .4s}.pdf-float-nav{bottom:var(--spacing-md);align-items:center;gap:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;padding:6px 14px;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.pdf-float-btn{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px 6px;font-size:1.25rem;line-height:1;transition:all .15s;display:flex}.pdf-float-btn:hover:not(:disabled){background:var(--color-accent);color:#fff}.pdf-float-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-float-page{color:var(--color-text-muted);text-align:center;font-variant-numeric:tabular-nums;min-width:60px;font-size:.8rem}.pdf-page-wrapper{margin-bottom:var(--spacing-lg)}.pdf-page-wrapper:not(:has(canvas)){min-height:200px}.pdf-page-wrapper:last-child{margin-bottom:0}.pdf-toc-panel{background-color:var(--color-bg-secondary);border-right:var(--border-width) solid var(--color-border);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.pdf-toc-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.pdf-toc-list{padding:var(--spacing-xs) 0;flex:1;overflow-y:auto}.pdf-toc-item{text-align:left;width:calc(100% - 8px);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;margin:1px 4px;padding:5px 8px;font-size:.8rem;transition:all .15s;display:block;overflow:hidden}.pdf-toc-item:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.pdf-toc-item.active{background:var(--color-accent);color:#fff}.pdf-toc-item:disabled{opacity:.5;cursor:default}@media (width<=768px){.pdf-toc-panel{width:160px}.pdf-mini-sidebar{width:140px}.pdf-float-nav{padding:4px 10px}}.orientation-prompt-overlay{z-index:10000;background:#0a0a0afa;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.orientation-prompt-content{text-align:center;background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);border-radius:1rem;width:100%;max-width:400px;padding:2rem}.orientation-icon{margin-bottom:1.5rem}.phone-icon{width:100px;height:100px;animation:2s ease-in-out infinite rotatePhone}@keyframes rotatePhone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.orientation-title{color:var(--color-text-primary,#fff);margin:0 0 1rem;font-size:1.5rem;font-weight:700}.orientation-message{color:var(--color-text-secondary,#d1d5db);margin:0 0 1.5rem;font-size:1rem;line-height:1.5}.orientation-benefits{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.benefit-item{background:var(--color-bg-tertiary,#141414);color:var(--color-text-primary,#fff);border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem;font-size:.9375rem;display:flex}.benefit-icon{font-size:1.25rem}.orientation-dismiss-btn{background:var(--color-accent,#a855f7);color:#fff;cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.orientation-dismiss-btn:hover{background:var(--color-accent-hover,#9333ea);transform:translateY(-2px)}.orientation-note{color:var(--color-text-muted,#9ca3af);margin:1rem 0 0;font-size:.875rem;font-style:italic}@media (width<=480px){.orientation-prompt-content{padding:1.5rem}.orientation-title{font-size:1.25rem}.orientation-message{font-size:.9375rem}.benefit-item{padding:.5rem;font-size:.875rem}.phone-icon{width:80px;height:80px}}.pdf-viewer-container{background:var(--color-bg-primary);z-index:1000;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-viewer-container.fullscreen{z-index:2000}.pdf-viewer-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pdf-viewer-title{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.pdf-viewer-title h3{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.pdf-viewer-actions{align-items:center;gap:.5rem;display:flex}.btn-icon{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:all .2s}.btn-icon:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-text-primary)}.btn-icon.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-close{color:var(--color-danger)}.btn-close:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.pdf-viewer-toolbar{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.toolbar-section{align-items:center;gap:.5rem;display:flex}.btn-toolbar{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-toolbar:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-toolbar:disabled{opacity:.5;cursor:not-allowed}.page-indicator{background:var(--color-bg-tertiary);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.page-input{background:var(--color-bg-primary);border:1px solid var(--color-border);width:60px;color:var(--color-text-primary);text-align:center;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.page-total{color:var(--color-text-secondary);font-size:.875rem}.zoom-level{background:var(--color-bg-tertiary);color:var(--color-text-primary);text-align:center;border-radius:6px;min-width:60px;padding:.5rem .75rem;font-size:.875rem;font-weight:500}.pdf-viewer-content{background:var(--color-bg-tertiary);flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:auto}.pdf-loading,.pdf-error{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.pdf-error{color:var(--color-danger)}.react-pdf__Page{box-shadow:var(--shadow-lg);background:#fff}.react-pdf__Page__canvas{max-width:100%;height:auto!important}.page-notes-indicator{z-index:10;position:absolute;bottom:2rem;right:2rem}.notes-badge{background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);border:none;border-radius:24px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.notes-badge:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.pdf-bookmarks-sidebar{background:var(--color-bg-secondary);border-left:1px solid var(--color-border);width:250px;height:100%;box-shadow:var(--shadow-lg);padding:1rem;position:absolute;top:0;right:0;overflow-y:auto}.pdf-bookmarks-sidebar h4{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem;font-size:.875rem;font-weight:600}.bookmarks-list{flex-direction:column;gap:.5rem;display:flex}.bookmark-item{background:var(--color-bg-tertiary);cursor:pointer;border:2px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;transition:all .2s;display:flex}.bookmark-content{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.bookmark-item:hover{background:var(--color-bg-primary);transform:translate(-2px)}.bookmark-item.active{border-color:var(--color-accent);background:var(--color-bg-primary)}.bookmark-icon{flex-shrink:0;font-size:1rem}.bookmark-title{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.bookmark-page{color:var(--color-text-secondary);flex-shrink:0;font-size:.75rem}.bookmark-remove-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:.25rem .5rem;font-size:.875rem;transition:all .2s}.bookmark-remove-btn:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.pdf-viewer-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:2rem;display:flex}.pdf-viewer-error h3{color:var(--color-text-primary);margin:0}.pdf-viewer-error p{color:var(--color-text-secondary);margin:0}.pdf-viewer-content::-webkit-scrollbar{width:8px;height:8px}.pdf-bookmarks-sidebar::-webkit-scrollbar{width:8px;height:8px}.pdf-viewer-content::-webkit-scrollbar-track{background:var(--color-bg-primary)}.pdf-bookmarks-sidebar::-webkit-scrollbar-track{background:var(--color-bg-primary)}.pdf-viewer-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.pdf-bookmarks-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.pdf-viewer-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.pdf-bookmarks-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.pdf-viewer-content.highlight-mode{cursor:text}.pdf-viewer-content.highlight-mode .react-pdf__Page__textContent{-webkit-user-select:text;user-select:text;cursor:text}.pdf-viewer-content.highlight-mode .react-pdf__Page__textContent span{cursor:text}.react-pdf__Page__textContent span::selection{background:var(--highlight-selection-color,#ffeb3b80)}.react-pdf__Page__textContent span::selection{background:var(--highlight-selection-color,#ffeb3b80)}.highlight-overlay-layer{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.highlight-overlay-layer span{pointer-events:auto;cursor:pointer;mix-blend-mode:multiply;border-radius:2px;transition:opacity .15s;position:absolute}.highlight-overlay-layer span:hover{opacity:.6}.highlight-instructions{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-lg);z-index:100;border-radius:24px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;animation:.3s slideDown;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.btn-icon.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.highlight-controls{align-items:center;gap:.5rem;display:flex;position:relative}.btn-color-picker{border:2px solid #fff;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 4px #0003}.btn-save-highlight{background:var(--color-accent);color:#fff;font-weight:600}.btn-save-highlight:hover{background:var(--color-accent-hover);transform:scale(1.05)}.color-picker-dropdown{background:var(--color-bg-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;gap:.5rem;margin-top:.5rem;padding:.5rem;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.color-option{cursor:pointer;color:#fff;text-shadow:0 1px 2px #0000004d;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;transition:all .2s;display:flex}.color-option:hover{border-color:var(--color-text-primary);transform:scale(1.1)}.color-option.active{border-color:var(--color-text-primary);box-shadow:0 0 0 3px #a855f74d}.pdf-highlight{cursor:pointer;border-radius:2px;padding:2px 0;transition:opacity .2s}.pdf-highlight:hover{opacity:.8}.pdf-highlight-yellow{background-color:#ffeb3b66}.pdf-highlight-green{background-color:#4caf5066}.pdf-highlight-blue{background-color:#2196f366}.pdf-highlight-pink{background-color:#e91e6366}.pdf-highlight-orange{background-color:#ff980066}.pdf-highlight-purple{background-color:#9c27b066}.pdf-highlights-sidebar{background:var(--color-bg-secondary);border-left:1px solid var(--color-border);width:300px;height:100%;box-shadow:var(--shadow-lg);z-index:100;padding:1rem;position:absolute;top:0;right:0;overflow-y:auto}.pdf-highlights-sidebar h4{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem;font-size:.875rem;font-weight:600}.highlights-list{flex-direction:column;gap:.75rem;display:flex}.highlight-item{background:var(--color-bg-tertiary);border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.highlight-item:hover{background:var(--color-bg-primary);box-shadow:var(--shadow-sm)}.highlight-color-indicator{border-radius:2px;flex-shrink:0;width:4px;min-height:100%}.highlight-content{flex:1;min-width:0}.highlight-text{color:var(--color-text-primary);word-wrap:break-word;margin-bottom:.5rem;font-size:.875rem;line-height:1.5}.highlight-meta{color:var(--color-text-secondary);opacity:.7;font-size:.75rem}.highlight-remove-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:.25rem .5rem;font-size:.875rem;transition:all .2s}.highlight-remove-btn:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.no-highlights{text-align:center;color:var(--color-text-secondary);opacity:.7;padding:2rem 1rem;font-size:.875rem}@media (width<=1024px){.pdf-viewer-container{z-index:1000;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-viewer-header{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem}.pdf-viewer-title{justify-content:center;font-size:1rem}.pdf-viewer-title h3{max-width:100%;font-size:1rem}.pdf-viewer-actions{flex-wrap:wrap;justify-content:center;gap:.5rem}.viewer-btn,.btn-icon{min-width:36px;min-height:36px;padding:.5rem;font-size:1rem}.zoom-level{display:none}.pdf-viewer-toolbar{flex-direction:column;gap:.5rem;padding:.5rem}.toolbar-section{justify-content:center;width:100%}.pdf-viewer-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.pdf-viewer-sidebar{background:var(--color-bg-primary);z-index:1100;padding:1rem;transition:transform .3s;position:fixed;inset:0;overflow-y:auto;transform:translate(-100%)}.pdf-viewer-sidebar.open{transform:translate(0)}.pdf-viewer-content{-webkit-overflow-scrolling:touch;flex:1;padding:.5rem;overflow-y:auto}.pdf-page-container{flex-direction:column;align-items:center;min-height:100%;display:flex}.pdf-page-wrapper{margin-bottom:1rem;box-shadow:0 2px 8px #0000004d}.pdf-viewer-footer{padding:.5rem;font-size:.75rem}.footer-info{flex-wrap:wrap;justify-content:center;gap:.25rem}.bookmark-input-panel{flex-direction:column;gap:.5rem;padding:.75rem}.bookmark-input-panel input,.bookmark-input-panel button{width:100%}}@media (width<=1024px) and (orientation:landscape){.pdf-viewer-header{flex-direction:row;padding:.5rem 1rem}.pdf-viewer-title{font-size:.9375rem}.pdf-viewer-actions{flex-wrap:nowrap}.pdf-viewer-toolbar{flex-direction:row;padding:.5rem 1rem}.toolbar-section{width:auto}.pdf-viewer-sidebar{border-right:1px solid var(--color-border);width:200px;position:relative;transform:none}.pdf-viewer-main{flex-direction:row}.pdf-viewer-content{flex:1;padding:.5rem}}@media (width<=1024px) and (orientation:portrait){.pdf-viewer-container:before{content:"For best experience, rotate to landscape";color:#fff;text-align:center;z-index:1001;background:linear-gradient(135deg,#8b5cf6,#a855f7);padding:.5rem;font-size:.875rem;font-weight:600;display:block;position:fixed;top:0;left:0;right:0}.pdf-viewer-container{padding-top:2rem}}@media (width<=480px){.pdf-viewer-header{padding:.5rem}.pdf-viewer-title h3{font-size:.9375rem}.viewer-btn,.btn-icon{min-width:32px;min-height:32px;padding:.375rem;font-size:.875rem}.pdf-viewer-content{padding:.25rem}}@media (width<=1024px){.viewer-btn,.btn-icon,.page-nav-btn,button{touch-action:manipulation;min-width:44px;min-height:44px}.viewer-btn,.btn-icon,button{-webkit-user-select:none;user-select:none}.pdf-viewer-actions{gap:.75rem}.pdf-viewer-content:after{content:"← Swipe to navigate →";color:#fff;opacity:.7;pointer-events:none;background:#000000b3;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;position:fixed;bottom:.5rem;left:50%;transform:translate(-50%)}.pdf-loading,.pdf-viewer-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pdf-viewer-error{text-align:center;padding:1.5rem}.pdf-viewer-error h3{font-size:1.125rem}.pdf-viewer-error p{font-size:.9375rem}.highlight-color-picker{background:var(--color-bg-secondary);z-index:1200;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:44px;height:44px}.color-btn.active{border-color:#fff;transform:scale(1.1)}}.yt-panel{flex-direction:column;gap:1rem;height:100%;padding:1rem;display:flex;overflow-y:auto}.yt-input-section{flex-direction:column;gap:.5rem;display:flex}.yt-input-row{gap:.5rem;display:flex}.yt-input{flex:1;font-size:.875rem}.yt-btn{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.yt-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite yt-spin}@keyframes yt-spin{to{transform:rotate(360deg)}}.yt-loading-text{color:var(--color-text-muted);margin:0;font-size:.75rem}.yt-error{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, transparent);border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.8125rem}.yt-video-preview{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.yt-thumbnail{object-fit:cover;border-radius:6px;flex-shrink:0;width:80px;height:45px}.yt-video-meta{flex-direction:column;gap:.3rem;display:flex}.yt-video-link{color:var(--color-accent);font-size:.8125rem;font-weight:600;text-decoration:none}.yt-video-link:hover{text-decoration:underline}.yt-cached-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent);border-radius:4px;width:fit-content;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.yt-tabs{background:var(--color-bg-tertiary);border-radius:8px;gap:2px;padding:3px;display:flex}.yt-tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:.35rem .25rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:all .15s}.yt-tab:hover{color:var(--color-text-primary)}.yt-tab.active{background:var(--color-bg-secondary);color:var(--color-accent);box-shadow:var(--shadow-sm)}.yt-summary-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.yt-summary-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);color:var(--color-text-primary);border-radius:0 8px 8px 0;align-items:flex-start;gap:.6rem;padding:.75rem;font-size:.875rem;line-height:1.5;display:flex}.yt-summary-num{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:.65rem;font-weight:700;display:flex}.yt-flashcards,.yt-quiz{flex-direction:column;gap:.75rem;display:flex}.yt-topics{flex-wrap:wrap;gap:.5rem;display:flex}.yt-topic-chip{background:color-mix(in srgb, var(--color-accent) 10%, transparent);border:1.5px solid color-mix(in srgb, var(--color-accent) 30%, transparent);color:var(--color-accent);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.yt-topic-chip:hover{background:color-mix(in srgb, var(--color-accent) 18%, transparent);transform:translateY(-1px)}.yt-topic-arrow{opacity:.7;font-size:.7rem}.yt-empty{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.yt-empty-icon{background:color-mix(in srgb, var(--color-error) 12%, transparent);color:red;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.25rem;font-size:1.25rem;display:flex}.yt-empty p{color:var(--color-text-primary);margin:0;font-size:.9375rem;font-weight:600}.yt-empty span{color:var(--color-text-muted);max-width:240px;font-size:.8125rem;line-height:1.5}.yt-view-toggle{border-bottom:1px solid var(--border-color);gap:.5rem;margin-bottom:.5rem;padding-bottom:.75rem;display:flex}.yt-view-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:.5rem;flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.yt-view-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.yt-view-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.yt-library{flex-direction:column;gap:1rem;display:flex}.yt-library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.yt-library-card{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:.75rem;transition:all .2s;overflow:hidden}.yt-library-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.yt-library-thumb{object-fit:cover;background:var(--bg-tertiary);width:100%;height:160px}.yt-library-info{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.yt-library-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9375rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.yt-library-meta{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.yt-library-date{color:var(--text-tertiary);margin:0;font-size:.75rem}.yt-video-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600;line-height:1.4}.yt-notes{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.yt-notes-text{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:.9375rem;line-height:1.7}.audio-processor-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.audio-processor-panel{background:var(--bg-primary);border-radius:1rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.audio-processor-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.audio-processor-header h3{color:var(--text-primary);margin:0;font-size:1.25rem}.audio-processor-content{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.audio-mode-tabs{gap:.5rem;display:flex}.audio-mode-tab{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:.5rem;flex:1;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;transition:all .2s}.audio-mode-tab:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-color)}.audio-mode-tab.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.audio-mode-tab:disabled{opacity:.5;cursor:not-allowed}.audio-upload-section{flex-direction:column;gap:1rem;display:flex}.audio-upload-area{border:2px dashed var(--border-color);border-radius:.75rem;transition:all .2s}.audio-upload-area:hover{border-color:var(--accent-color);background:var(--bg-secondary)}.audio-upload-label{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.audio-upload-icon{font-size:3rem}.audio-upload-label p{color:var(--text-primary);margin:0;font-size:1rem;font-weight:500}.audio-upload-label span{color:var(--text-secondary);font-size:.875rem}.audio-file-icon{font-size:3rem}.audio-file-name{color:var(--text-primary);text-align:center;word-break:break-word;font-size:1rem;font-weight:500}.audio-file-size{color:var(--text-secondary);font-size:.875rem}.audio-record-section{flex-direction:column;gap:1rem;display:flex}.audio-recorder{border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:3rem 2rem;display:flex}.record-btn{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:.75rem;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 2rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.record-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.record-btn:disabled{opacity:.5;cursor:not-allowed}.record-icon{font-size:3rem;animation:2s infinite pulse}@keyframes pulse{0%,80%,to{opacity:.3}40%{opacity:1}}.recording-active{flex-direction:column;align-items:center;gap:1rem;display:flex}.recording-pulse{background:#ef4444;border-radius:50%;width:80px;height:80px;animation:1.5s infinite recording-pulse}@keyframes recording-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.recording-time{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600}.stop-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .2s}.stop-btn:hover{background:#dc2626}.recording-complete{flex-direction:column;align-items:center;gap:.75rem;display:flex}.re-record-btn{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:.5rem;margin-top:.5rem;padding:.625rem 1.5rem;font-size:.875rem;transition:all .2s}.re-record-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color)}.audio-hint{color:var(--text-secondary);text-align:center;margin:0;font-size:.875rem}.audio-error{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef4444;border-radius:.5rem;padding:1rem;font-size:.875rem}.audio-progress{background:var(--bg-secondary);border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.audio-progress-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.audio-progress p{color:var(--text-primary);text-align:center;margin:0;font-size:.9375rem}.audio-process-btn{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.audio-process-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}@media (width<=640px){.audio-processor-panel{width:95%;max-height:95vh}.audio-processor-header,.audio-processor-content{padding:1rem}.audio-upload-label,.audio-recorder{padding:2rem 1rem}}.alv-overlay{z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;display:flex;position:fixed;inset:0}.alv-container{background:var(--color-bg-primary);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.alv-selection-tip{z-index:100;background:var(--color-bg-secondary);border:1px solid var(--color-border);pointer-events:all;border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.alv-tip-btn{cursor:pointer;border:none;border-radius:6px;padding:.3rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .15s}.alv-tip-ask{background:var(--color-accent);color:#fff}.alv-tip-ask:hover{filter:brightness(1.1)}.alv-tip-highlight{color:#713f12;background:#fef08a}.alv-tip-highlight:hover{background:#fde047}.alv-tip-dismiss{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.alv-tip-dismiss:hover{background:var(--color-border)}.alv-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:1rem;min-height:52px;padding:.75rem 1.25rem;display:flex}.alv-header-left{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.alv-header-icon{flex-shrink:0;font-size:1.25rem}.alv-header-title{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.alv-close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.35rem .55rem;font-size:1.2rem;transition:all .15s}.alv-close-btn:hover{background:var(--color-bg-tertiary);color:#ef4444}.alv-mobile-tabs{flex-shrink:0;gap:4px;display:flex}.alv-mobile-tab{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s}.alv-mobile-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.alv-player{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-shrink:0;align-items:center;gap:.625rem;padding:.75rem 1.25rem;display:flex}.alv-play-btn{color:#667eea;cursor:pointer;background:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 3px 10px #00000040}.alv-play-btn:hover{transform:scale(1.07);box-shadow:0 5px 14px #0000004d}.alv-play-btn:active{transform:scale(.95)}.alv-skip-btn,.alv-speed-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:none;border-radius:6px;flex-shrink:0;padding:.28rem .55rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:background .15s}.alv-skip-btn:hover,.alv-speed-btn:hover{background:#ffffff4d}.alv-speed-btn{text-align:center;min-width:36px}.alv-time{color:#fff;text-align:center;flex-shrink:0;min-width:38px;font-size:.78rem;font-weight:600}.alv-progress-bar{cursor:pointer;background:#ffffff4d;border-radius:4px;flex:1;height:7px;transition:height .15s;position:relative}.alv-progress-bar:hover{height:9px}.alv-progress-fill{background:#fff;border-radius:4px;height:100%;transition:width .1s linear;box-shadow:0 0 6px #ffffff80}.alv-progress-handle{pointer-events:none;background:#fff;border-radius:50%;width:13px;height:13px;transition:left .1s linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000004d}.alv-progress-bar:hover .alv-progress-handle{width:15px;height:15px}.alv-body{flex:1;min-height:0;display:flex;overflow:hidden}.alv-left{border-right:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.alv-right{flex-direction:column;min-width:0;display:flex;overflow:hidden}.alv-pane-hidden{display:none!important}.alv-resize-handle{background:var(--color-border);cursor:col-resize;z-index:10;flex-shrink:0;justify-content:center;align-items:center;width:6px;transition:background .15s;display:flex}.alv-resize-handle:hover,.alv-resize-handle.is-resizing{background:var(--color-accent)}.alv-resize-grip{flex-direction:column;gap:3px;display:flex}.alv-resize-grip span{background:var(--color-text-muted,#888);border-radius:50%;width:3px;height:3px}.alv-tabs-row{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:stretch;gap:0;display:flex}.alv-tabs{flex:1;gap:2px;min-width:0;padding:6px 8px 0;display:flex;overflow-x:auto}.alv-tab{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.4rem .875rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:color .15s,border-color .15s}.alv-tab:hover{color:var(--color-text-primary)}.alv-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.alv-toolbar{border-left:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:2px;padding:0 8px;display:flex}.alv-tool-btn{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;padding:.3rem .5rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:all .15s}.alv-tool-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.alv-tool-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.alv-zoom-label{color:var(--color-text-secondary);text-align:center;min-width:34px;font-size:.72rem;font-weight:600}.alv-toolbar-divider{background:var(--color-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.alv-color-wrap{position:relative}.alv-color-swatch{border:2px solid var(--color-border);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block}.alv-color-swatch:hover{transform:scale(1.15)}.alv-color-picker{background:var(--color-bg-secondary);border:1px solid var(--color-border);z-index:50;border-radius:8px;gap:6px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0003}.alv-color-option{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:transform .15s,border-color .15s}.alv-color-option:hover{transform:scale(1.15)}.alv-color-option.active{border-color:var(--color-text-primary);transform:scale(1.1)}.alv-quick-actions{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;gap:.4rem;padding:.5rem .875rem;display:flex}.alv-qa-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.25rem .7rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:all .15s}.alv-qa-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-1px)}.alv-qa-selection{background:rgba(var(--color-accent-rgb,99,102,241), .12);border-color:var(--color-accent);color:var(--color-accent)}.alv-highlight-hint{color:#713f12;background:#fef9c3;border-bottom:1px solid #fde68a;flex-shrink:0;padding:.4rem 1rem;font-size:.75rem;font-weight:600}.alv-content{flex:1;padding:1.5rem;transition:font-size .15s;overflow-y:auto}.alv-notes{max-width:780px;color:var(--color-text-primary);margin:0 auto;line-height:1.8}.alv-transcript{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;max-width:780px;margin:0 auto;padding:1.5rem}.alv-transcript-text{color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:.9375rem;line-height:1.85}.alv-highlights-list{flex-direction:column;gap:.75rem;max-width:780px;margin:0 auto;display:flex}.alv-highlight-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:4px solid;border-radius:8px;flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.alv-highlight-text{color:var(--color-text-primary);margin:0;font-size:.9rem;font-style:italic;line-height:1.6}.alv-highlight-actions{align-items:center;gap:.5rem;display:flex}.alv-highlight-ask{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.25rem .65rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:filter .15s}.alv-highlight-ask:hover{filter:brightness(1.1)}.alv-highlight-remove{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:5px;margin-left:auto;padding:.2rem .45rem;font-family:inherit;font-size:.72rem;transition:all .15s}.alv-highlight-remove:hover{color:#ef4444;background:#fee2e2;border-color:#ef4444}.alv-chat-banner{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.78rem;display:flex}.alv-chat-banner strong{color:var(--color-text-primary)}.alv-chat-badge{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:nowrap;border-radius:12px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.alv-right .chat-interface-improved{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.alv-right .chat-input-area{z-index:10;width:100%;padding:0;position:sticky;bottom:0;left:auto;right:auto}.alv-right .chat-messages-improved{flex:1;min-height:0;padding-bottom:0}.alv-right .scroll-to-bottom-btn{position:absolute;bottom:140px;right:16px}.alv-content::-webkit-scrollbar{width:7px}.alv-content::-webkit-scrollbar-track{background:var(--color-bg-primary)}.alv-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.alv-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (width<=768px){.alv-header-title{font-size:.875rem}.alv-player{flex-wrap:wrap;gap:.4rem;padding:.625rem .75rem}.alv-play-btn{width:36px;height:36px;font-size:.95rem}.alv-time{min-width:32px;font-size:.68rem}.alv-skip-btn,.alv-speed-btn{padding:.22rem .45rem;font-size:.65rem}.alv-left,.alv-right{width:100%!important}.alv-content,.alv-transcript{padding:1rem}.alv-toolbar{gap:1px;padding:0 4px}.alv-tool-btn{padding:.25rem .4rem;font-size:.7rem}}.alv-note-editor{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.75rem 1rem}.alv-note-textarea{background:var(--color-bg-primary);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;min-height:70px;padding:.625rem .75rem;font-family:inherit;font-size:.875rem}.alv-note-textarea:focus{border-color:var(--color-accent);outline:none}.alv-note-editor-actions{gap:.5rem;margin-top:.5rem;display:flex}.alv-note-save-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.3rem .875rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:filter .15s}.alv-note-save-btn:hover:not(:disabled){filter:brightness(1.1)}.alv-note-save-btn:disabled{opacity:.5;cursor:not-allowed}.alv-note-cancel-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:6px;padding:.3rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s}.alv-note-cancel-btn:hover{background:var(--color-border)}.alv-notes-list{flex-direction:column;gap:.75rem;max-width:780px;margin:0 auto;display:flex}.alv-note-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:8px;flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.alv-note-timestamp{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;border-radius:6px;align-self:flex-start;padding:.2rem .5rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .15s}.alv-note-timestamp:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.alv-note-text{color:var(--color-text-primary);white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.6}.alv-note-actions{align-items:center;gap:.5rem;display:flex}.alv-bookmarks-list{flex-direction:column;gap:.625rem;max-width:780px;margin:0 auto;display:flex}.alv-bookmark-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .875rem;display:flex}.alv-bookmark-jump{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.25rem .6rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:all .15s}.alv-bookmark-jump:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.alv-bookmark-label{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.alv-notes-highlighted{color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;font-size:.9375rem;line-height:1.8}.alv-notes-highlighted h1,.alv-notes-highlighted h2,.alv-notes-highlighted h3{color:var(--color-text-primary);margin:1.25rem 0 .5rem;font-weight:600}.alv-notes-highlighted p{margin:.5rem 0}.alv-notes-highlighted ul,.alv-notes-highlighted ol{margin:.5rem 0;padding-left:1.5rem}.alv-notes-highlighted li{margin:.25rem 0}.alv-notes-highlighted strong{color:var(--color-text-primary);font-weight:700}.alv-notes-highlighted em{font-style:italic}.alv-notes-highlighted code{background:var(--color-bg-tertiary);color:var(--color-accent);border-radius:4px;padding:.15rem .35rem;font-size:.875em}.alv-notes-highlighted mark,.alv-transcript mark{color:inherit;border-radius:3px;padding:0 2px}@media (width<=1024px){.alv-overlay{background:var(--color-bg-primary);z-index:1000;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.alv-container{flex-direction:column;width:100%;height:auto;min-height:100vh;display:flex;overflow-y:auto}.alv-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);z-index:100;padding:.75rem;position:sticky;top:0}.alv-header-content{flex-direction:column;gap:.5rem;padding:0}.alv-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1rem;overflow:hidden}.alv-close-btn{min-width:36px;min-height:36px;position:absolute;top:.5rem;right:.5rem}.alv-player{gap:.75rem;padding:1rem}.alv-audio-wrapper{width:100%}.alv-controls{flex-wrap:wrap;justify-content:center;gap:.5rem}.alv-play-btn{width:60px;height:60px;font-size:1.5rem}.alv-speed-btn{min-width:44px;min-height:36px;font-size:.875rem}.alv-time-display{text-align:center;width:100%;font-size:.875rem}.alv-progress-bar{width:100%;height:8px}.alv-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--color-border);gap:0;padding:0;display:flex;overflow-x:auto}.alv-tab{min-width:80px;min-height:44px;padding:.75rem 1rem;font-size:.875rem}.alv-content{flex:1;min-height:300px;padding:1rem;overflow-y:auto}.alv-chat{height:auto;min-height:300px}.alv-chat-messages{padding:.5rem}.alv-chat-input{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:.5rem;position:sticky;bottom:0}.alv-notes-input{flex-direction:column;gap:.5rem;padding:.5rem}.alv-notes-input textarea{width:100%;min-height:80px}.alv-notes-input button{width:100%;min-height:44px}.alv-highlights-list{padding:.5rem}.alv-highlight-item{margin-bottom:.5rem;padding:.75rem}.alv-highlight-color{width:24px;height:24px}.alv-selection-tip{gap:.5rem;padding:.5rem}.alv-tip-btn{min-height:36px;padding:.5rem .75rem;font-size:.875rem}.alv-transcript{padding:.5rem;font-size:.9375rem;line-height:1.6}.alv-transcript-text{padding:.5rem}}@media (width<=1024px) and (orientation:landscape){.alv-container{flex-direction:row}.alv-header{align-items:center;height:50px;display:flex;position:fixed;top:0;left:0;right:0}.alv-header-content{flex-direction:row;justify-content:space-between;padding:0 1rem}.alv-player{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);align-items:center;padding:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.alv-play-btn{width:48px;height:48px}.alv-tabs{border-bottom:none;border-right:1px solid var(--color-border);flex-direction:column;width:100px;position:fixed;top:50px;left:0}.alv-content{padding:.5rem;position:fixed;inset:50px 0 80px 100px}.alv-chat{position:fixed;inset:50px 0 80px 100px}}@media (width<=1024px) and (orientation:portrait){.alv-container:before{content:"For best experience, rotate to landscape";color:#fff;text-align:center;z-index:1001;background:linear-gradient(135deg,#8b5cf6,#a855f7);padding:.5rem;font-size:.875rem;font-weight:600;display:block;position:fixed;top:0;left:0;right:0}.alv-overlay{padding-top:2rem}}@media (width<=480px){.alv-header{padding:.5rem}.alv-title{padding-right:2rem;font-size:.9375rem}.alv-player{padding:.75rem}.alv-play-btn{width:56px;height:56px;font-size:1.25rem}.alv-controls{gap:.375rem}.alv-tab{min-width:70px;padding:.5rem .75rem;font-size:.8125rem}.alv-content{min-height:250px;padding:.75rem}.alv-chat{min-height:250px}}@media (width<=1024px){.alv-play-btn,.alv-speed-btn,.alv-close-btn,.alv-tab,.alv-tip-btn,button{touch-action:manipulation;min-width:44px;min-height:44px}.alv-controls button,.alv-tabs button{-webkit-user-select:none;user-select:none}}.rs-overlay{z-index:1002;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rs-panel{background:var(--color-bg-primary);width:90%;max-width:720px;max-height:85vh;box-shadow:var(--shadow-xl);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.rs-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.rs-header-left{align-items:center;gap:.625rem;display:flex}.rs-header-icon{font-size:1.25rem}.rs-header h3{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.rs-close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .5rem;font-size:1.2rem;transition:all .15s}.rs-close-btn:hover{background:var(--color-bg-tertiary);color:#ef4444}.rs-search-bar{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.rs-input{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:10px;flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.rs-input:focus{border-color:var(--color-accent);outline:none}.rs-input::placeholder{color:var(--color-text-muted)}.rs-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite rs-spin}@keyframes rs-spin{to{transform:rotate(360deg)}}.rs-expanded-terms{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.4rem;padding:.5rem 1.5rem;font-size:.75rem;display:flex}.rs-term-chip{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:12px;padding:.15rem .5rem;font-size:.7rem}.rs-error{color:#991b1b;background:#fee2e2;border-bottom:1px solid #fca5a5;flex-shrink:0;padding:.75rem 1.5rem;font-size:.875rem}.rs-results{flex:1;padding:.75rem;overflow-y:auto}.rs-empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.rs-empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.rs-empty p{color:var(--color-text-primary);margin:.5rem 0;font-weight:500}.rs-empty span{opacity:.7;font-size:.875rem}.rs-result-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;align-items:flex-start;gap:.875rem;margin-bottom:.625rem;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.rs-result-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.rs-result-icon{flex-shrink:0;font-size:1.75rem}.rs-result-info{flex:1;min-width:0}.rs-result-title{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.375rem;font-size:.9375rem;font-weight:600;overflow:hidden}.rs-result-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:.5rem;margin-bottom:.375rem;font-size:.75rem;display:flex}.rs-result-meta span{background:var(--color-bg-tertiary);border-radius:4px;padding:.15rem .5rem}.rs-type-badge{font-weight:600;background:var(--color-accent)!important;color:#fff!important}.rs-result-preview{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.rs-result-action{flex-shrink:0}.rs-import-btn{background:var(--color-accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.4rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:all .15s}.rs-import-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.rs-import-btn:disabled{opacity:.6;cursor:not-allowed}.rs-imported-badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:8px;padding:.4rem .875rem;font-size:.8125rem;font-weight:600}.rs-already-badge{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.rs-add-count{color:var(--color-text-muted);background:var(--color-bg-tertiary);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.rs-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;flex-shrink:0;padding:.75rem 1.5rem;font-size:.75rem}.rs-results::-webkit-scrollbar{width:7px}.rs-results::-webkit-scrollbar-track{background:var(--color-bg-primary)}.rs-results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}@media (width<=768px){.rs-panel{border-radius:0;width:100%;height:100vh;max-height:100vh}.rs-result-item{flex-wrap:wrap}.rs-result-action{width:100%}.rs-import-btn,.rs-imported-badge{text-align:center;width:100%}}.pdf-library-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.pdf-library-panel{background:var(--color-bg-primary);width:90%;max-width:800px;max-height:80vh;box-shadow:var(--shadow-xl);z-index:1000;border-radius:12px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.pdf-library-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.pdf-library-header h3{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:600}.close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;font-size:1.5rem;transition:all .2s}.pdf-library-controls{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:1rem;padding:1rem 1.5rem;display:flex}.pdf-search{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;flex:1;padding:.75rem 1rem;font-size:.875rem}.pdf-search:focus{border-color:var(--color-accent);outline:none}.pdf-sort{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.audio-upload-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.audio-upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.audio-upload-btn:active{transform:translateY(0)}.rs-search-lib-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:8px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #10b9814d}.rs-search-lib-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.pdf-action-btn.share-active{color:#065f46;background:#dcfce7;border-color:#10b981}.pdf-action-btn.share-active:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.pdf-library-content{flex:1;padding:1rem;overflow-y:auto}.pdf-loading,.pdf-empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.pdf-empty p{color:var(--color-text-primary);margin:.5rem 0;font-weight:500}.pdf-empty span{opacity:.7;font-size:.875rem}.pdf-list{flex-direction:column;gap:1rem;display:flex}.pdf-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:1rem;padding:1rem;transition:all .2s;display:flex}.pdf-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.pdf-icon{flex-shrink:0;font-size:2rem}.pdf-info{flex:1;min-width:0}.pdf-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem;font-weight:500;overflow:hidden}.pdf-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.pdf-meta span{background:var(--color-bg-tertiary);border-radius:4px;padding:.25rem .5rem}.pdf-progress{color:var(--color-accent);margin-bottom:.5rem;font-size:.75rem;font-weight:500}.pdf-tags{flex-wrap:wrap;gap:.5rem;display:flex}.pdf-tag{background:var(--color-accent);color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.pdf-actions{flex-shrink:0;gap:.5rem;display:flex}.pdf-action-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.pdf-action-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-text-primary)}.pdf-action-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.pdf-action-btn.primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pdf-library-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);text-align:center;padding:1rem 1.5rem}.pdf-stats{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.pdf-library-content::-webkit-scrollbar{width:8px}.pdf-library-content::-webkit-scrollbar-track{background:var(--color-bg-primary)}.pdf-library-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.pdf-library-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (width<=768px){.pdf-library-panel{width:95%;max-height:90vh}.pdf-library-controls,.pdf-item{flex-direction:column}.pdf-actions{width:100%}.pdf-action-btn{flex:1}}.pdf-lib-tabs{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:3px;padding:6px 12px 0;display:flex}.pdf-lib-tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.45rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s}.pdf-lib-tab:hover{color:var(--color-text-primary)}.pdf-lib-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.imported-badge{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:help;border-radius:6px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.imported-badge:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}.session-assessment{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;padding:var(--spacing-lg);background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.assessment-container{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);width:100%;max-width:700px;max-height:90vh;box-shadow:var(--shadow-2xl);animation:.4s ease-out slideUp;overflow-y:auto}.assessment-header{padding:var(--spacing-2xl);border-bottom:1px solid var(--color-border);text-align:center}.assessment-header h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.75rem;font-weight:700}.assessment-header p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:1rem}.progress-bar{background:var(--color-bg-tertiary);width:100%;height:6px;margin-bottom:var(--spacing-sm);border-radius:3px;overflow:hidden}.progress-text{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.assessment-question{padding:var(--spacing-2xl)}.assessment-question h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.375rem;font-weight:600;line-height:1.4}.question-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:.9375rem}.assessment-options{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.option-btn{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;text-align:left;width:100%;transition:all .2s;display:flex;position:relative}.option-btn:hover{border-color:var(--color-accent);background:var(--color-bg-tertiary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.option-btn.selected{border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:0 0 0 3px var(--color-accent-bg)}.option-icon{background:var(--color-bg-primary);border-radius:var(--border-radius);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;display:flex}.option-content{flex:1}.option-label{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:1rem;font-weight:600}.option-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.4}.check-icon{color:var(--color-accent);flex-shrink:0}.custom-option{margin-top:var(--spacing-sm)}.custom-trigger{border-style:dashed}.custom-input-container{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:var(--border-radius);display:flex}.custom-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);flex:1;font-size:1rem}.custom-input:focus{border-color:var(--color-accent);outline:none}.assessment-actions{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.session-assessment{padding:var(--spacing-md)}.assessment-container{max-height:95vh}.assessment-header,.assessment-question{padding:var(--spacing-lg)}.assessment-header h2{font-size:1.5rem}.assessment-question h3{font-size:1.25rem}.option-btn{padding:var(--spacing-md)}.option-icon{width:40px;height:40px;font-size:1.5rem}.option-label{font-size:.9375rem}.option-description{font-size:.8125rem}}.free-text-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.free-text-label{color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:.8125rem}.free-text-row{gap:var(--spacing-sm);display:flex}.free-text-row .custom-input{flex:1}.free-text-row .btn{padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0;font-size:1rem}.mode-page{flex-direction:column;min-height:100vh;margin:0;padding:0;display:flex}.mode-page .mode-header{display:none!important}.mode-content{min-height:calc(100vh - 60px);min-height:calc((var(--vh,1vh) * 100) - 60px);-webkit-overflow-scrolling:touch;flex:1;gap:0;height:auto;margin:0;padding:0;display:flex;position:relative;overflow-y:auto}.chat-section{background-color:var(--color-bg-primary);-webkit-overflow-scrolling:touch;border:none;border-radius:0;flex-direction:column;flex:1;width:100%;height:auto;min-height:100%;margin:0;padding:0;display:flex;overflow-y:auto}.mode-sidebar{background-color:var(--color-bg-primary);border-left:var(--border-width) solid var(--color-border);z-index:100;width:360px;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:0;padding:0;transition:transform .3s;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.mode-sidebar.open{transform:translate(0)}.sidebar-close{top:var(--spacing-md);right:var(--spacing-md);color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--border-radius);z-index:10;background:0 0;border:none;font-size:1.5rem;line-height:1;transition:all .2s;position:absolute}.sidebar-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-section{background-color:var(--color-bg-secondary);border:none;border-bottom:var(--border-width) solid var(--color-border);padding:var(--spacing-lg);border-radius:0;margin:0}.sidebar-section:first-of-type{margin-top:60px}.sidebar-section:last-of-type{border-bottom:none}.sidebar-section h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:1rem;font-weight:600}.upload-area{text-align:center;padding:var(--spacing-lg);border:2px dashed var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-tertiary)}.file-input{display:none}.upload-label{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-accent);color:#fff;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s;display:inline-block}.upload-label:hover{background-color:var(--color-accent-hover)}.upload-hint{color:var(--color-text-muted);margin-top:var(--spacing-sm);margin-bottom:0;font-size:.75rem}.analogies-list,.tips-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.analogy-item,.tip-item{padding:var(--spacing-sm);background-color:var(--color-bg-tertiary);border-radius:var(--border-radius);color:var(--color-text-secondary);font-size:.875rem;line-height:1.4}.quick-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}.content-input,.notes-input,.essay-input{width:100%;min-height:120px;margin-bottom:var(--spacing-md);font-family:var(--font-body);font-size:.875rem;line-height:1.4}.current-setup{gap:var(--spacing-sm);flex-direction:column;display:flex}.setup-item{color:var(--color-text-secondary);font-size:.875rem}.mode-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.4}.mode-description p{margin:0}.flashcard-section{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.confidence-section{padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border);background-color:var(--color-bg-tertiary)}.mindmap-line{font-family:var(--font-body);color:var(--color-text-primary);padding:2px 0;font-size:.875rem;line-height:1.6}.mindmap-line:before{content:"├─ ";color:var(--color-accent)}@media (width<=1024px){.mode-sidebar{width:280px}}@media (width<=768px){.mode-info{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.mode-actions{flex-wrap:wrap;justify-content:space-between}.btn-icon-header{padding:var(--spacing-xs) var(--spacing-sm);min-width:40px;height:40px;font-size:1rem}.recall-modes,.scholar-controls,.synthesis-modes{flex-direction:column}.scholar-controls{align-items:stretch}.persona-selector{justify-content:space-between}.mode-sidebar{width:100%;height:100vh;top:0}.sidebar-section{padding:var(--spacing-md)}}.resource-tab-container,.split-screen-container{width:100%;height:100%;display:flex;position:relative}.resource-panel,.split-screen-panel{background-color:var(--color-bg-secondary);border-right:var(--border-width) solid var(--color-border);-webkit-overflow-scrolling:touch;width:30%;min-width:300px;max-width:400px;height:100%;overflow-y:auto}.chat-panel,.main-content-panel{-webkit-overflow-scrolling:touch;flex:1;width:70%;height:100%;overflow-y:auto}.resource-tabs-container{flex-direction:column;height:100%;display:flex}.resource-tabs-header{background-color:var(--color-bg-tertiary);border-bottom:var(--border-width) solid var(--color-border);padding:0;display:flex}.resource-tab{padding:var(--spacing-md);color:var(--color-text-muted);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-weight:500;transition:all .2s}.resource-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background-color:var(--color-bg-secondary)}.resource-tab:hover:not(.active){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.resource-tab-content{padding:var(--spacing-md);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.split-screen-toggle{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);cursor:pointer;z-index:10;width:24px;height:24px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;top:50%;right:-12px;transform:translateY(-50%)}.split-screen-toggle:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.split-screen-resize-handle{cursor:col-resize;z-index:5;width:8px;height:100%;position:absolute;top:0;right:-4px}.split-screen-resize-handle:hover,.split-screen-resize-handle.resizing{background-color:var(--color-accent);opacity:.3}.mobile-sidebar-toggle{background-color:var(--color-accent);color:#fff;cursor:pointer;z-index:999;width:56px;height:56px;box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:1rem;right:1rem}.mobile-sidebar-toggle:hover{background-color:var(--color-accent-hover);transform:scale(1.1)}.mobile-sidebar-toggle.hidden{opacity:0;transform:translateY(100px)}.exam-session-container{background-color:var(--color-bg-primary);flex-direction:column;height:100vh;display:flex}.exam-header{background-color:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border);padding:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.exam-title{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:700}.exam-meta{gap:var(--spacing-lg);color:var(--color-text-muted);font-size:.875rem;display:flex}.exam-content{flex:1;height:calc(100vh - 80px);display:flex}.exam-chat-panel{border-right:var(--border-width) solid var(--color-border);flex:1;width:60%;height:100%}.exam-resources-panel{background-color:var(--color-bg-secondary);-webkit-overflow-scrolling:touch;width:40%;height:100%;overflow-y:auto}.ep-page{min-height:100vh;padding:var(--spacing-2xl) 0}.ep-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);flex-wrap:wrap;display:flex}.ep-title{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.ep-subtitle{color:var(--color-text-secondary);font-size:.9375rem}.ep-error{background:color-mix(in srgb, var(--color-error) 12%, transparent);border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);font-size:.875rem}.ep-empty{text-align:center;padding:var(--spacing-2xl);max-width:480px;margin:0 auto}.ep-empty-icon{margin-bottom:var(--spacing-md);font-size:3rem}.ep-empty h3{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.ep-empty p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.ep-form-card{max-width:680px;margin:0 auto var(--spacing-2xl);padding:var(--spacing-xl)}.ep-form-title{margin-bottom:var(--spacing-xl);color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.ep-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.ep-form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.ep-label{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600;display:block}.ep-topic-input-row{gap:var(--spacing-sm);display:flex}.ep-topic-input-row .form-input{flex:1}.ep-topic-list{margin-top:var(--spacing-sm);flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.ep-topic-chip{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.8125rem;display:flex}.ep-chip-remove{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:.75rem;line-height:1;transition:color .15s}.ep-chip-remove:hover{color:var(--color-error)}.ep-hint{color:var(--color-text-muted);margin-top:var(--spacing-sm);font-size:.8125rem}.ep-form-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex}.ep-plans-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.ep-plan-card{padding:var(--spacing-xl);gap:var(--spacing-lg);flex-direction:column;transition:box-shadow .2s;display:flex}.ep-plan-card.ep-urgent{border-color:var(--color-warning)}.ep-plan-card.ep-overdue{border-color:var(--color-error)}.ep-plan-header{flex-direction:column;gap:.4rem;display:flex}.ep-plan-title-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.ep-plan-name{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.ep-delete-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem;transition:color .15s,background .15s}.ep-delete-btn:hover{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, transparent)}.ep-plan-meta{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.ep-days-badge{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8125rem;font-weight:700;display:inline-flex}.ep-days-badge.urgent{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning)}.ep-days-badge.overdue{background:color-mix(in srgb, var(--color-error) 15%, transparent);color:var(--color-error)}.ep-date-text{color:var(--color-text-muted);font-size:.8125rem}.ep-progress-section{flex-direction:column;gap:.4rem;display:flex}.ep-progress-label{color:var(--color-text-secondary);justify-content:space-between;font-size:.8125rem;display:flex}.ep-pct{color:var(--color-text-primary);font-weight:700}.ep-progress-bar{background:var(--color-bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.ep-progress-fill{border-radius:3px;height:100%;transition:width .4s}.ep-today-section{background:color-mix(in srgb, var(--color-accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);border-radius:var(--border-radius);padding:var(--spacing-md)}.ep-today-label{color:var(--color-accent);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:700}.ep-today-topics{flex-direction:column;gap:.4rem;display:flex}.ep-start-btn{text-align:left;justify-content:flex-start;padding:.5rem 1rem;font-size:.875rem}.ep-topics-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.ep-topics-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.ep-topics-checklist{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.ep-topic-item{cursor:pointer;color:var(--color-text-primary);border-radius:6px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.875rem;transition:background .12s;display:flex}.ep-topic-item:hover{background:var(--color-bg-tertiary)}.ep-topic-item.done .ep-topic-name{color:var(--color-text-muted);text-decoration:line-through}.ep-checkbox{border:2px solid var(--color-border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:background .15s,border-color .15s;display:flex}.ep-checkbox.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.ep-topic-name{flex:1}.ep-done-badge{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.ep-past-section{margin-top:var(--spacing-xl);opacity:.7}.ep-section-title{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:700}@media (width<=640px){.ep-form-row,.ep-plans-grid{grid-template-columns:1fr}.ep-header{flex-direction:column}}.ep-resume-badge,.ep-start-badge{cursor:pointer;white-space:nowrap;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;transition:opacity .15s}.ep-resume-badge{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.ep-start-badge{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, transparent)}.ep-resume-badge:hover,.ep-start-badge:hover{opacity:.75}.es-page{height:100vh;height:calc(var(--vh,1vh) * 100);background-color:var(--color-bg-primary);flex-direction:column;display:flex;overflow:hidden}.es-topbar{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.75rem;height:52px;min-height:52px;padding:0 1rem;display:flex;overflow:hidden}.es-back-btn{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.25rem .5rem;font-size:.875rem;transition:color .2s,background .2s}.es-back-btn:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.es-topbar-center{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.es-exam-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.es-separator{color:var(--color-text-muted);flex-shrink:0}.es-topic-name{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.es-topbar-right{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.es-days-chip{background-color:var(--color-bg-tertiary);color:var(--color-text-muted);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.es-days-chip.urgent{color:#ef4444;background-color:#ef44441f;border-color:#ef44444d}.es-progress-mini{align-items:center;gap:.4rem;display:flex}.es-progress-mini-bar{background-color:var(--color-border);border-radius:3px;width:60px;height:5px;overflow:hidden}.es-progress-mini-fill{background-color:#a855f7;border-radius:3px;height:100%;transition:width .4s}.es-progress-mini-text{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.es-done-btn{white-space:nowrap;padding:.3rem .75rem;font-size:.8rem}.es-layout{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.es-sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);-webkit-overflow-scrolling:touch;flex-direction:column;flex-shrink:0;width:220px;min-width:220px;display:flex;overflow-y:auto}.es-sidebar-header{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:1rem 1rem .5rem}.es-sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 .15rem;font-size:.8rem;font-weight:700}.es-sidebar-sub{color:var(--color-text-muted);margin:0;font-size:.75rem}.es-topic-list{flex:1;margin:0;padding:.5rem 0;list-style:none}.es-topic-item{cursor:pointer;color:var(--color-text-secondary);border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.82rem;transition:background .15s,color .15s;display:flex;position:relative}.es-topic-item:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.es-topic-item.active{color:#a855f7;background-color:#a855f71a;border-left-color:#a855f7;font-weight:600}.es-topic-item.done{color:var(--color-text-muted);opacity:.65;text-decoration:line-through}.es-topic-dot{background-color:var(--color-border);border-radius:50%;flex-shrink:0;width:7px;height:7px}.es-topic-dot.active{background-color:#a855f7}.es-topic-dot.done{background-color:#10b981}.es-topic-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.es-check{color:#10b981;flex-shrink:0;font-size:.7rem}.es-today-dot{background-color:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px}.es-today-box{background-color:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;flex-shrink:0;margin:.5rem .75rem .75rem;padding:.6rem .75rem}.es-today-label{color:#f59e0b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .2rem;font-size:.72rem;font-weight:700}.es-today-topics{color:var(--color-text-secondary);margin:0;font-size:.78rem;line-height:1.4}.es-chat{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.es-loading{background-color:var(--color-bg-primary);justify-content:center;align-items:center;height:100vh;display:flex}.es-loading-inner{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:1rem;display:flex}.es-spinner{border:3px solid var(--color-border);border-top-color:#a855f7;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite es-spin}@keyframes es-spin{to{transform:rotate(360deg)}}@media (width<=1024px){.es-sidebar{width:180px;min-width:180px}.es-progress-mini-bar{width:44px}}@media (width<=767px){.es-topbar{gap:.4rem;padding:0 .6rem}.es-topic-name,.es-progress-mini{display:none}.es-sidebar{z-index:200;width:240px;min-width:240px;height:calc(100vh - 52px);transition:left .25s;position:fixed;top:52px;left:-240px;box-shadow:4px 0 24px #0006}.es-sidebar.open{left:0}.es-chat{width:100%}}.language-learning-container{background:var(--color-bg-primary,#0a0a0a);min-height:100vh;color:var(--color-text-primary,#fff);padding:2rem}.language-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.onboarding-container{flex-direction:column;align-items:center;max-width:800px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.onboarding-progress{justify-content:center;align-items:center;margin-bottom:3rem;display:flex}.progress-dot{background:var(--color-bg-tertiary,#141414);border:2px solid var(--color-border,#262626);width:40px;height:40px;color:var(--color-text-muted,#9ca3af);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.progress-dot.active{background:var(--color-accent,#a855f7);border-color:var(--color-accent,#a855f7);color:#fff}.progress-line{background:var(--color-border,#262626);width:60px;height:2px}.onboarding-step{text-align:center;width:100%}.onboarding-step h2{margin-bottom:.5rem;font-size:2rem}.step-subtitle{color:var(--color-text-muted,#9ca3af);margin-bottom:2rem}.language-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.language-card{background:var(--color-bg-secondary,#121212);border:2px solid var(--color-border,#262626);cursor:pointer;color:var(--color-text-primary,#f1f5f9);border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;transition:all .2s;display:flex}.language-card:hover{border-color:var(--color-accent,#a855f7);background:var(--color-bg-tertiary,#141414)}.language-card.selected{border-color:var(--color-accent,#a855f7);background:#a855f71a}.language-flag{font-size:2.5rem}.language-name{color:var(--color-text-primary,#fff);font-weight:500}.target-grid .language-card{padding:2rem 1.5rem}.ratio-slider-container{background:var(--color-bg-secondary,#121212);border-radius:1rem;margin-bottom:2rem;padding:2rem}.ratio-labels{color:var(--color-text-muted,#9ca3af);justify-content:space-between;margin-bottom:1rem;display:flex}.ratio-slider{-webkit-appearance:none;background:linear-gradient(90deg,#a855f7 0% 70%,#10b981 70% 100%);border-radius:4px;outline:none;width:100%;height:8px}.ratio-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #0000004d}.ratio-display{justify-content:center;align-items:center;gap:2rem;margin-top:2rem;display:flex}.ratio-value{flex-direction:column;align-items:center;display:flex}.ratio-number{color:var(--color-accent,#a855f7);font-size:2.5rem;font-weight:700}.ratio-type{color:var(--color-text-muted,#9ca3af);font-size:.875rem}.ratio-divider{color:var(--color-text-muted,#9ca3af);font-size:2rem}.ratio-tooltip{color:var(--color-accent,#a855f7);background:#a855f71a;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;font-size:.875rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border-radius:.75rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-primary{background:var(--color-accent,#a855f7);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover,#9333ea)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--color-text-primary,#fff);border:1px solid var(--color-border,#262626);background:0 0}.btn-secondary:hover{background:var(--color-bg-tertiary,#141414)}.step-buttons{justify-content:center;gap:1rem;display:flex}.error-message{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef4444;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.language-dashboard{max-width:800px;margin:0 auto}.dashboard-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.language-pair{align-items:center;gap:.5rem;font-size:1.5rem;display:flex}.language-pair .arrow{color:var(--color-text-muted,#9ca3af)}.dashboard-header h1{font-size:1.5rem}.stat-card{background:var(--color-bg-secondary,#121212);text-align:center;border-radius:1rem;padding:1.5rem}.stat-icon{margin-bottom:.5rem;font-size:2rem}.stat-value{color:var(--color-accent,#a855f7);font-size:1.75rem;font-weight:700}.stat-label{color:var(--color-text-muted,#9ca3af);font-size:.875rem}.progress-section{background:var(--color-bg-secondary,#121212);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.progress-section h3{margin-bottom:1rem}.progress-bar-container{background:var(--color-bg-tertiary,#141414);border-radius:4px;height:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#a855f7,#c084fc);border-radius:4px;height:100%;transition:width .3s}.progress-label{text-align:center;color:var(--color-text-muted,#9ca3af);margin-top:.5rem;font-size:.875rem}.action-buttons{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.btn-learn,.btn-practice,.btn-continue{background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);cursor:pointer;text-align:left;color:var(--color-text-primary,#f1f5f9);border-radius:1rem;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.btn-learn:hover,.btn-practice:hover,.btn-continue:hover{border-color:var(--color-accent,#a855f7);background:var(--color-bg-tertiary,#141414)}.btn-learn .btn-icon,.btn-practice .btn-icon,.btn-continue .btn-icon{font-size:2rem}.btn-text{flex-direction:column;display:flex}.btn-title{color:var(--color-text-primary,#fff);font-size:1.125rem;font-weight:600}.btn-subtitle{color:var(--color-text-muted,#9ca3af);font-size:.875rem}.daily-tip{background:#a855f71a;border:1px solid #a855f733;border-radius:.75rem;align-items:center;gap:.75rem;padding:1rem;display:flex}.daily-tip .tip-icon{font-size:1.25rem}.daily-tip p{color:var(--color-text-secondary,#d1d5db);margin:0;font-size:.9375rem}@media (width<=768px){.dashboard-stats{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,1fr)}.ratio-display{flex-direction:column;gap:.5rem}.ratio-divider{transform:rotate(90deg)}}.history-section{background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);border-radius:1rem;margin-top:1.5rem;padding:1.25rem}.history-section h3{color:var(--color-text-primary,#fff);margin:0 0 1rem;font-size:1rem;font-weight:600}.lesson-history-list{flex-direction:column;gap:.5rem;display:flex}.lesson-history-item{background:var(--color-bg-tertiary,#1a1a1a);border-left:3px solid #0000;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.lesson-history-item.completed{border-left-color:#10b981}.lesson-history-item.in-progress{border-left-color:#f59e0b}.lesson-history-info{flex-direction:column;gap:.2rem;display:flex}.lesson-history-name{text-transform:capitalize;font-size:.95rem;font-weight:500}.lesson-history-stage{color:var(--color-text-muted,#9ca3af);text-transform:capitalize;font-size:.8rem}.lesson-history-meta{align-items:center;gap:.75rem;display:flex}.lesson-history-score{font-size:.9rem;font-weight:600}.lesson-history-section{color:var(--color-text-muted,#9ca3af);text-transform:capitalize;font-size:.8rem}.completed-badge{color:#10b981;background:#10b98120;border-radius:1rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.in-progress-badge{color:#f59e0b;background:#f59e0b20;border-radius:1rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.xp-history-list{flex-direction:column;gap:.4rem;display:flex}.xp-history-item{background:var(--color-bg-tertiary,#1a1a1a);border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.xp-amount{color:#f59e0b;min-width:60px;font-weight:700}.xp-reason{color:var(--color-text-muted,#9ca3af);flex:1;font-size:.8rem}.xp-date{color:var(--color-text-muted,#9ca3af);font-size:.75rem}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=600px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}.lesson-container{background:var(--color-bg-primary,#0a0a0a);min-height:100vh;color:var(--color-text-primary,#fff)}.lesson-loading,.lesson-error{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.lesson-header{background:var(--color-bg-secondary,#121212);border-bottom:1px solid var(--color-border,#262626);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.lesson-header h2{text-transform:capitalize;font-size:1.25rem}.progress-steps{gap:.5rem;display:flex}.progress-step{background:var(--color-bg-tertiary,#1a1a1a);border:2px solid var(--color-border,#333);width:32px;height:32px;color:var(--color-text-muted,#9ca3af);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.progress-step:hover:not(:disabled){border-color:var(--color-accent,#a855f7);transform:scale(1.1)}.progress-step:disabled{cursor:not-allowed;opacity:.5}.progress-step.completed{background:var(--color-accent,#a855f7);border-color:var(--color-accent,#a855f7);color:#fff;cursor:pointer}.progress-step.current{background:var(--color-accent-light,#c084fc);border-color:var(--color-accent-light,#c084fc);color:#fff;box-shadow:0 0 12px #a855f766}.lesson-content{max-width:800px;margin:0 auto;padding:2rem}.lesson-section{animation:.3s fadeIn}.lesson-section h3{align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.lesson-section p{color:var(--color-text-secondary,#d1d5db);margin-bottom:1rem;line-height:1.7}.content-text{background:var(--color-bg-secondary,#121212);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.content-text p{margin:0;font-size:1.0625rem}.examples-section{margin:1.5rem 0}.examples-section h4{color:var(--color-text-muted,#9ca3af);margin-bottom:1rem}.example-card{background:var(--color-bg-secondary,#121212);border-left:3px solid var(--color-accent,#a855f7);border-radius:.5rem;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex}.example-number{background:var(--color-accent,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.example-card p{flex:1;margin:0}.btn-next,.btn-submit,.btn-continue,.btn-retry{cursor:pointer;border-radius:.75rem;width:100%;margin-top:1.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-next,.btn-submit{background:var(--color-accent,#a855f7);color:#fff;border:none}.btn-next:hover,.btn-submit:hover{background:var(--color-accent-hover,#9333ea)}.btn-continue{color:#fff;background:#10b981;border:none}.btn-continue:hover{background:#059669}.btn-retry{color:var(--color-text-primary,#fff);border:1px solid var(--color-border,#262626);background:0 0}.btn-retry:hover{background:var(--color-bg-tertiary,#141414)}.mastery-section{background:var(--color-bg-secondary,#121212);border-radius:1rem;padding:2rem}.mastery-instructions{color:var(--color-text-muted,#9ca3af);margin-bottom:1.5rem}.mastery-question{border-bottom:1px solid var(--color-border,#262626);margin-bottom:1.5rem;padding-bottom:1.5rem}.mastery-question:last-of-type{border-bottom:none}.question-text{color:var(--color-text-primary,#fff);margin-bottom:1rem;font-weight:500}.options{flex-direction:column;gap:.5rem;display:flex}.option-btn{background:var(--color-bg-tertiary,#141414);border:1px solid var(--color-border,#262626);color:var(--color-text-primary,#fff);cursor:pointer;text-align:left;border-radius:.5rem;padding:.75rem 1rem;transition:all .2s}.option-btn:hover:not(:disabled){border-color:var(--color-accent,#a855f7)}.option-btn.selected{border-color:var(--color-accent,#a855f7);background:#a855f71a}.option-btn.correct{background:#10b9811a;border-color:#10b981}.option-btn.incorrect{background:#ef44441a;border-color:#ef4444}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.results-section{text-align:center;margin-top:2rem}.score-display{background:var(--color-bg-tertiary,#141414);border-radius:1rem;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:1.5rem 3rem;display:inline-flex}.score-display.passed .score-value{color:#10b981}.score-display.failed .score-value{color:#ef4444}.score-label{color:var(--color-text-muted,#9ca3af);font-size:.875rem}.score-value{font-size:3rem;font-weight:700}.pass-message,.fail-message{flex-direction:column;align-items:center;gap:.5rem;display:flex}.pass-icon,.fail-icon{font-size:3rem}.pass-message p,.fail-message p{margin:.5rem 0 1.5rem}.mini-practice{flex-direction:column;gap:1rem;display:flex}.practice-item{background:var(--color-bg-tertiary,#141414);border-radius:.5rem;padding:1rem}@media (width<=768px){.lesson-header{flex-direction:column;gap:1rem;padding:1rem}.lesson-content,.mastery-section{padding:1rem}.example-card{flex-direction:column;gap:.5rem}}.practice-container{background:var(--color-bg-primary,#0a0a0a);min-height:100vh;color:var(--color-text-primary,#fff)}.practice-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--color-border,#262626);border-top-color:var(--color-accent,#a855f7);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.practice-selection{max-width:900px;margin:0 auto;padding:2rem}.practice-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.practice-header h2{font-size:1.5rem}.btn-back{border:1px solid var(--color-border,#262626);color:var(--color-text-primary,#fff);cursor:pointer;background:0 0;border-radius:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-back:hover{background:var(--color-bg-tertiary,#141414)}.practice-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.practice-card{background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);cursor:pointer;color:var(--color-text-primary,#f1f5f9);border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;transition:all .2s;display:flex;position:relative}.practice-card:hover{border-color:var(--color-accent,#a855f7);background:var(--color-bg-tertiary,#141414)}.practice-icon{font-size:2.5rem}.practice-name{color:var(--color-text-primary,#f1f5f9);font-size:1.125rem;font-weight:600}.practice-desc{color:var(--color-text-muted,#9ca3af);font-size:.875rem}.due-badge{color:#fff;background:#ef4444;border-radius:1rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.practice-content{max-width:700px;margin:0 auto;padding:2rem}.practice-progress{margin-bottom:2rem}.practice-progress span{color:var(--color-text-muted,#9ca3af);margin-bottom:.5rem;font-size:.875rem;display:block}.progress-bar{background:var(--color-bg-tertiary,#141414);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--color-accent,#a855f7);height:100%;transition:width .3s}.question-section h3{margin-bottom:1.5rem;font-size:1.25rem}.options-grid{flex-direction:column;gap:.75rem;display:flex}.option-button{background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);cursor:pointer;text-align:left;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.option-button:hover:not(:disabled){border-color:var(--color-accent,#a855f7)}.option-button.selected{border-color:var(--color-accent,#a855f7);background:#a855f71a}.option-button.correct{background:#10b9811a;border-color:#10b981}.option-button.incorrect{background:#ef44441a;border-color:#ef4444}.option-letter{background:var(--color-bg-tertiary,#141414);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:600;display:flex}.option-button.selected .option-letter{background:var(--color-accent,#a855f7);color:#fff}.option-button.correct .option-letter{color:#fff;background:#10b981}.option-button.incorrect .option-letter{color:#fff;background:#ef4444}.option-text{color:var(--color-text-primary,#fff);flex:1}.explanation{background:var(--color-bg-secondary,#121212);border-radius:.5rem;margin-top:1.5rem;padding:1rem;font-size:.9375rem;line-height:1.5}.explanation strong{color:var(--color-accent,#a855f7)}.practice-actions{margin-top:2rem}.btn-next,.btn-finish,.btn-show-answer{cursor:pointer;border-radius:.75rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-next,.btn-finish{background:var(--color-accent,#a855f7);color:#fff;border:none}.btn-next:hover,.btn-finish:hover{background:var(--color-accent-hover,#9333ea)}.btn-next:disabled{opacity:.5;cursor:not-allowed}.btn-show-answer{color:#fff;background:#10b981;border:none}.btn-show-answer:hover{background:#059669}.flashcard-content{text-align:center}.flashcard{background:var(--color-bg-secondary,#121212);border-radius:1rem;flex-direction:column;justify-content:center;min-height:300px;margin:1.5rem 0;padding:2rem;display:flex}.flashcard-label{color:var(--color-text-muted,#9ca3af);margin-bottom:.5rem;font-size:.875rem;display:block}.flashcard-front h3,.flashcard-back h3{margin-bottom:.5rem;font-size:2rem}.flashcard-back{border-top:1px solid var(--color-border,#262626);margin-top:1.5rem;padding-top:1.5rem;animation:.3s fadeIn}.pronunciation{color:var(--color-text-muted,#9ca3af);margin:.5rem 0;font-size:1.125rem}.example-sentence{background:var(--color-bg-tertiary,#141414);border-radius:.5rem;margin-top:1rem;padding:1rem}.example-sentence em{color:var(--color-accent,#a855f7)}.example-sentence .translation{color:var(--color-text-muted,#9ca3af);margin-top:.5rem;font-size:.875rem}.flashcard-actions{margin-top:1.5rem}.rating-buttons p{color:var(--color-text-muted,#9ca3af);margin-bottom:1rem}.rating-options{justify-content:center;gap:1rem;display:flex}.rating-btn{cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.rating-btn.forgot{color:#fff;background:#ef4444}.rating-btn.hard{color:#fff;background:#f59e0b}.rating-btn.easy{color:#fff;background:#10b981}.rating-btn:hover{transform:scale(1.05)}.reading-passage{background:var(--color-bg-secondary,#121212);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.reading-passage h3{margin-bottom:1rem}.passage-text{font-size:1.0625rem;line-height:1.8}.reading-questions h4{margin-bottom:1rem}.reading-question{margin-bottom:1.5rem}.reading-question p{margin-bottom:.5rem}.reading-question input{background:var(--color-bg-tertiary,#141414);border:1px solid var(--color-border,#262626);width:100%;color:var(--color-text-primary,#fff);border-radius:.5rem;padding:.75rem;font-size:1rem}.reading-question input:focus{border-color:var(--color-accent,#a855f7);outline:none}.correct-answer{color:#10b981;margin-top:.5rem;font-size:.875rem;display:block}.conversation-content{flex-direction:column;height:calc(100vh - 4rem);display:flex}.conversation-header{margin-bottom:1rem}.conversation-header h3{margin:.5rem 0}.conversation-header p{color:var(--color-text-muted,#9ca3af);margin:0}.conversation-messages{background:var(--color-bg-secondary,#121212);border-radius:1rem;flex:1;margin-bottom:1rem;padding:1rem;overflow-y:auto}.conversation-tip{text-align:center;color:var(--color-text-muted,#9ca3af);font-size:.875rem}.conversation-input{gap:.5rem;display:flex}.conversation-input input{background:var(--color-bg-secondary,#121212);border:1px solid var(--color-border,#262626);color:var(--color-text-primary,#fff);border-radius:.5rem;flex:1;padding:.75rem 1rem;font-size:1rem}.conversation-input button{background:var(--color-accent,#a855f7);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}@media (width<=768px){.practice-grid{grid-template-columns:repeat(2,1fr)}.practice-content{padding:1rem}.rating-options{flex-direction:column}}:root{--font-heading:"Syne", sans-serif;--font-body:"IBM Plex Mono", monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius:.5rem;--border-width:1px;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease}[data-theme=dark]{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#141414;--color-bg-hover:#1a1a1a;--color-accent:#a855f7;--color-accent-hover:#9333ea;--color-accent-light:#c084fc;--color-accent-dark:#7e22ce;--color-text-primary:#fff;--color-text-secondary:#d1d5db;--color-text-muted:#9ca3af;--color-border:#262626;--color-border-light:#404040;--color-border-accent:#581c87;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--shadow-sm:0 1px 2px 0 #a855f70d;--shadow-md:0 4px 6px -1px #a855f71a;--shadow-lg:0 10px 15px -3px #a855f726;--shadow-glow:0 0 20px #a855f74d}[data-theme=light]{--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-bg-hover:#e5e7eb;--color-accent:#9333ea;--color-accent-hover:#7e22ce;--color-accent-light:#a855f7;--color-accent-dark:#6b21a8;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-border-light:#d1d5db;--color-border-accent:#c084fc;--color-success:#059669;--color-warning:#d97706;--color-error:#dc2626;--color-info:#2563eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-glow:0 0 20px #9333ea33}html,body{max-width:100vw;height:100%;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:var(--spacing-md);font-weight:600;line-height:1.2}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.container{max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.grid{gap:var(--spacing-lg);display:grid}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.card{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.card-hover{cursor:pointer;transition:all .2s}.card-hover:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:var(--border-width) solid transparent;border-radius:var(--border-radius);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-secondary{color:var(--color-text-primary);border-color:var(--color-border);background-color:#0000}.btn-secondary:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-light)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:500;display:block}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-body);font-size:.875rem;transition:border-color .2s}.form-input:focus{border-color:var(--color-accent);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:100px}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.fade-in{animation:.3s ease-out fadeIn}.slide-in{animation:.3s ease-out slideIn}.loading-dots{gap:2px;display:inline-flex}.loading-dots span{background-color:var(--color-accent);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite pulse}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@media (width<=768px){.container{padding:0 var(--spacing-md)}h1{font-size:2rem}h2{font-size:1.5rem}.card{padding:var(--spacing-md)}}.katex{color:var(--color-text-primary);font-size:1.05em}.katex-display{text-align:center;margin:1rem 0;padding:.75rem 0;overflow:auto hidden}.katex-display>.katex{font-size:1.15em}.katex-display::-webkit-scrollbar{height:4px}.katex-display::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.katex-display::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:2px}[data-theme=dark] .katex{color:#e8e8f0}[data-theme=dark] .katex-display{border-left:3px solid var(--color-accent);background:#a855f70a;border-radius:0 6px 6px 0;padding-left:1rem}[data-theme=light] .katex{color:#1a1a2e}[data-theme=light] .katex-display{border-left:3px solid var(--color-accent);background:#6366f10d;border-radius:0 6px 6px 0;padding-left:1rem}:root{--vh:1vh}@media (width<=768px){.app{height:100vh;height:calc(var(--vh,1vh) * 100);-webkit-overflow-scrolling:touch;overflow-y:auto}.mode-page,.exam-session-container,.split-screen{min-height:100vh;min-height:calc(var(--vh,1vh) * 100);-webkit-overflow-scrolling:touch;height:auto;overflow-y:auto}.mode-content,.exam-content{min-height:calc(100vh - 60px);min-height:calc((var(--vh,1vh) * 100) - 60px);-webkit-overflow-scrolling:touch;height:auto;overflow-y:auto}body{-webkit-overflow-scrolling:touch;width:100%;position:relative;overflow:hidden auto}.chat-messages-improved,.mode-sidebar,.resource-tab-content,.exam-resources-panel,.chat-interface-improved,.chat-section,.resource-panel,.chat-panel,.exam-chat-panel{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}button,.btn,input[type=button],input[type=submit]{min-width:44px;min-height:44px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}}@supports (-webkit-touch-callout:none){.chat-messages-improved{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.chat-input-area{padding-bottom:calc(.75rem + constant(safe-area-inset-bottom));padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}body{overscroll-behavior-y:none}.chat-messages-improved{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}@supports not (-webkit-touch-callout:none){.chat-textarea:focus,input:focus,textarea:focus,select:focus{font-size:16px!important}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){.message-bubble,.chat-action-btn,.quick-action-btn{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-input-area,.mode-sidebar,.resource-panel{border-width:.5px}}.error-boundary{min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.error-content{text-align:center;background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-error);border-radius:var(--border-radius);max-width:600px;padding:var(--spacing-2xl)}.error-content h2{color:var(--color-error);margin-bottom:var(--spacing-lg)}.error-content p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.error-content ul{text-align:left;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.error-content li{margin-bottom:var(--spacing-sm)}.error-actions{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);justify-content:center;display:flex}.error-details{text-align:left;margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border-radius:var(--border-radius)}.error-details summary{cursor:pointer;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.error-details pre{color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;font-size:.75rem}.formatted-message{color:var(--color-text-primary);line-height:1.6}.formatted-message h1,.formatted-message h2,.formatted-message h3{color:var(--color-text-primary);margin:var(--spacing-md) 0 var(--spacing-sm) 0;font-weight:600;font-family:var(--font-heading)}.formatted-message h1{border-bottom:2px solid var(--color-accent);padding-bottom:var(--spacing-xs);font-size:1.25rem}.formatted-message h2{color:var(--color-accent);font-size:1.125rem}.formatted-message h3{color:var(--color-text-primary);font-size:1rem}.formatted-message strong{color:var(--color-text-primary);font-weight:600}.formatted-message em{color:var(--color-accent);font-style:normal;font-weight:500}.message-text-section{margin-bottom:var(--spacing-md)}.message-text-section:last-child{margin-bottom:0}.message-list{background-color:var(--color-bg-tertiary);border-left:3px solid var(--color-accent);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0}.list-item{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);align-items:flex-start;display:flex}.list-item:last-child{margin-bottom:0}.list-item:before{content:"";background-color:var(--color-accent);width:6px;height:6px;margin-right:var(--spacing-sm);border-radius:50%;flex-shrink:0;margin-top:.5em}.message-summary{border:var(--border-width) solid var(--color-accent);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0;align-items:flex-start;gap:var(--spacing-sm);background-color:#6366f11a;display:flex}.summary-icon{color:var(--color-accent);flex-shrink:0;margin-top:2px}.summary-content{color:var(--color-text-primary);flex:1}.message-example{border:var(--border-width) solid var(--color-success);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0;align-items:flex-start;gap:var(--spacing-sm);background-color:#10b9811a;display:flex}.example-icon{color:var(--color-success);flex-shrink:0;margin-top:2px}.example-content{color:var(--color-text-primary);flex:1}.mode-icon-svg{color:var(--color-accent);justify-content:center;align-items:center;display:inline-flex}.formatted-message p{margin-bottom:var(--spacing-sm)}.formatted-message p:last-child{margin-bottom:0}.formatted-message code{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);font-family:var(--font-body);color:var(--color-accent);border-radius:4px;padding:2px 6px;font-size:.875em}.formatted-message blockquote{border-left:3px solid var(--color-border);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--color-text-secondary);font-style:italic}.formatted-message>:first-child{margin-top:0}.formatted-message>:last-child{margin-bottom:0}.rich-text-viewer{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;transition:all .2s;overflow:hidden;box-shadow:0 2px 8px #0000001a}.rich-text-viewer:hover{box-shadow:0 4px 16px #00000026}.rich-text-header{background:var(--background-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.mode-indicator .mode-badge{background:var(--primary-color);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.text-actions{gap:8px;display:flex}.text-action-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.text-action-btn:hover{background:var(--background-hover);color:var(--text-primary);border-color:var(--primary-color)}.text-action-btn:active{transform:translateY(1px)}.rich-text-content{min-height:120px;max-height:600px;overflow-y:auto}.rich-text-editor{background:var(--surface-color);width:100%;min-height:120px;color:var(--text-primary);resize:none;border:none;outline:none;padding:16px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;line-height:1.6;overflow-y:auto}.rich-text-editor::placeholder{color:var(--text-muted);font-style:italic}.rich-text-display{color:var(--text-primary);padding:16px;line-height:1.7}.text-heading-1{color:var(--text-primary);margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.3}.text-heading-2{color:var(--text-primary);margin:20px 0 12px;font-size:20px;font-weight:600;line-height:1.4}.text-heading-3{color:var(--text-primary);margin:16px 0 8px;font-size:16px;font-weight:600;line-height:1.4}.text-paragraph{color:var(--text-primary);margin:0 0 12px;line-height:1.7}.text-list,.text-list-ordered{margin:12px 0;padding-left:20px}.text-list-item{color:var(--text-primary);margin:4px 0;line-height:1.6}.text-quote{border-left:4px solid var(--primary-color);background:var(--background-secondary);color:var(--text-secondary);border-radius:0 8px 8px 0;margin:16px 0;padding:12px 16px;font-style:italic}.text-code-inline{background:var(--background-secondary);color:var(--primary-color);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px}.text-code-block{background:var(--background-secondary);color:var(--text-primary);border-radius:8px;margin:12px 0;padding:12px 16px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px;line-height:1.5;display:block;overflow-x:auto}.text-pre{white-space:pre-wrap;margin:0}.text-bold{color:var(--text-primary);font-weight:600}.text-italic{color:var(--text-secondary);font-style:italic}.text-link{color:var(--primary-color);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.text-link:hover{border-bottom-color:var(--primary-color)}.text-table{border-collapse:collapse;border:1px solid var(--border-color);border-radius:8px;width:100%;margin:16px 0;overflow:hidden}.text-table-header{background:var(--background-secondary);text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:12px;font-weight:600}.text-table-cell{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px}.text-table-cell:last-child,.text-table-header:last-child{border-right:none}.rich-text-footer{background:var(--background-secondary);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.text-stats{color:var(--text-muted);gap:16px;display:flex}.char-count,.word-count{font-weight:500}.editor-hints{color:var(--text-muted);font-style:italic}.hint{font-size:11px}.rich-text-content::-webkit-scrollbar{width:6px}.rich-text-content::-webkit-scrollbar-track{background:var(--background-secondary)}.rich-text-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.rich-text-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=768px){.rich-text-header{padding:8px 12px}.rich-text-display,.rich-text-editor{padding:12px}.text-actions{gap:4px}.text-action-btn{padding:4px 6px}.text-stats{gap:8px}}@media (prefers-color-scheme:dark){.rich-text-viewer{box-shadow:0 2px 8px #0000004d}.rich-text-viewer:hover{box-shadow:0 4px 16px #0006}}.file-prompt-input{background:var(--surface-color);border:2px solid var(--primary-color);border-radius:12px;margin-bottom:16px;padding:16px;animation:.3s slideIn;box-shadow:0 4px 12px #0000001a}.file-prompt-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.file-info{align-items:center;gap:12px;display:flex}.file-icon{font-size:24px}.file-details{flex-direction:column;gap:4px;display:flex}.file-name{color:var(--text-primary);font-size:14px;font-weight:600}.file-status{color:var(--success-color);font-size:12px;font-weight:500}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.close-btn:hover{background:var(--background-hover);color:var(--text-primary)}.prompt-form{flex-direction:column;gap:12px;display:flex}.prompt-input-container{position:relative}.prompt-textarea{border:1px solid var(--border-color);background:var(--background-color);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;min-height:80px;padding:12px;font-family:inherit;font-size:14px;line-height:1.5;transition:all .2s}.prompt-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #6366f11a}.prompt-textarea::placeholder{color:var(--text-muted)}.prompt-actions{justify-content:space-between;align-items:center;display:flex}.prompt-hints{color:var(--text-muted);font-size:12px}.hint-text{font-style:italic}.send-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.send-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #6366f14d}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.file-prompt-input{padding:12px}.file-icon{font-size:20px}.file-name{font-size:13px}.file-status{font-size:11px}.prompt-textarea{min-height:60px;font-size:13px}.prompt-actions{flex-direction:column;align-items:stretch;gap:8px}.send-btn{justify-content:center;width:100%}.prompt-hints{text-align:center}}@media (width<=1125px){:root{letter-spacing:.14px;font-size:16px}#root{border-inline:none;width:100%}h1{letter-spacing:-1px;margin:20px 0;font-size:36px}h2{font-size:20px}}@media (width<=767px){:root{letter-spacing:.1px;font-size:15px}h1{letter-spacing:-.5px;margin:16px 0;font-size:28px}h2{margin:0 0 6px;font-size:18px}code{padding:3px 6px;font-size:13px}}@media (width<=479px){:root{font-size:14px}h1{font-size:24px}h2{font-size:16px}}html{height:100%;overflow-x:hidden}body{min-height:100vh;-webkit-overflow-scrolling:touch;min-height:-webkit-fill-available;position:relative;overflow-x:hidden}*{max-width:100%}@media (width<=1125px){.inline-flashcard-container{max-width:100%}}@media (width<=767px){.inline-flashcard-wrapper{margin:.5rem 0}.inline-flashcard-container{max-width:100%}.inline-flashcard-face{min-height:140px;padding:1rem 1.125rem}.inline-flashcard-card{min-height:140px}.inline-flashcard-label{font-size:.65rem}.inline-flashcard-body{font-size:.875rem}.inline-flashcard-hint{font-size:.7rem}.inline-confidence-buttons{flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important}.inline-confidence-btn{text-align:center!important;justify-content:center!important;min-height:44px!important;padding:.625rem 1rem!important}.flashcard-container{max-width:100%}.flashcard{height:180px}.confidence-buttons{flex-direction:column;gap:8px}.confidence-btn{min-width:unset;width:100%;min-height:44px}}@media (width<=479px){.inline-flashcard-face{min-height:120px;padding:.875rem 1rem}.inline-flashcard-card{min-height:120px}.inline-flashcard-body{font-size:.8125rem}}@media (width<=767px){.iq-wrapper{border-radius:10px;margin:.5rem 0}.iq-header{padding:.5rem .875rem}.iq-badge{padding:.175rem .5rem;font-size:.6rem}.iq-counter{font-size:.75rem}.iq-question{padding:.875rem 1rem .625rem;font-size:.875rem}.iq-options{gap:6px;padding:0 1rem .875rem}.iq-option{border-radius:6px;padding:.75rem .875rem!important}.iq-option:not(:disabled):hover{transform:none!important}.iq-option:not(:disabled):active{transform:translate(3px)!important}.iq-option-label{width:1.5rem;height:1.5rem;font-size:.7rem}.iq-option-text{font-size:.8375rem}.iq-explanation{margin:0 1rem .875rem;padding:.625rem .875rem;font-size:.8125rem}.iq-score{margin:0 1rem 1rem;padding:.875rem}.iq-score-number{font-size:1.75rem}.iq-score-label{font-size:.875rem}}@media (width<=479px){.iq-question{padding:.75rem .875rem .5rem;font-size:.8125rem}.iq-option{padding:.625rem .75rem!important}.iq-options{padding:0 .875rem .75rem}}@media (width<=767px){.formatted-message{font-size:.9375rem;line-height:1.65}.formatted-message h1{font-size:1.125rem}.formatted-message h2{font-size:1rem}.formatted-message h3{font-size:.9375rem}.message-list{margin:10px 0;padding:10px 12px}.message-summary,.message-example{gap:6px;margin:10px 0;padding:10px 12px}.formatted-message code{padding:1px 5px;font-size:.8rem}.formatted-message pre{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.formatted-message blockquote{margin:10px 0;padding-left:10px}}@media (width<=479px){.formatted-message{font-size:.875rem}.message-list,.message-summary,.message-example{padding:8px 10px}}@media (width<=767px){.file-prompt-input{border-radius:10px;margin-bottom:12px;padding:12px}.file-prompt-header{margin-bottom:10px;padding-bottom:10px}.file-icon{font-size:20px}.file-name{font-size:13px}.file-status{font-size:11px}.prompt-textarea{min-height:64px;padding:10px;font-size:14px}.prompt-actions{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.prompt-hints{text-align:center;font-size:11px;order:2!important}.send-btn{order:1!important;justify-content:center!important;width:100%!important;min-height:44px!important;padding:12px 20px!important}}@media (width<=479px){.file-prompt-input{padding:10px}.prompt-textarea{min-height:56px;font-size:13px}.file-icon{font-size:18px}.file-name{font-size:12px}}@media (width<=1125px){.language-learning-container{padding:20px 24px}.modules-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.learning-stages{gap:10px}.stage-card{min-width:160px;padding:14px}}@media (width<=767px){.language-learning-container{padding:16px 12px}.language-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:16px}.language-header h1{font-size:24px}.language-selector{width:100%;min-width:unset}.learning-stages{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:8px;margin-bottom:20px;padding-bottom:4px;overflow-x:auto}.stage-card{scroll-snap-align:start;flex:none;min-width:140px;padding:12px}.stage-title{font-size:.95rem}.stage-description{font-size:.8rem}.modules-grid{grid-template-columns:1fr;gap:12px}.module-card{flex-direction:row;align-items:flex-start;gap:12px;padding:16px}.module-icon{flex-shrink:0;width:44px;height:44px;margin-bottom:0;font-size:1.4rem}.module-title{font-size:1rem}.module-description{margin-bottom:8px;font-size:.8rem}.stats-bar{grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.stat-item{text-align:center}.stat-value{font-size:1.4rem}.stat-label{font-size:.75rem}}@media (width<=479px){.language-learning-container{padding:12px 8px}.stats-bar{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.stat-value{font-size:1.25rem}.module-card{padding:12px}}@media (width<=1125px){.lesson-content{max-width:100%;padding:1.5rem}}@media (width<=767px){.lesson-header{flex-wrap:wrap;gap:10px;padding:12px 16px}.lesson-header h2{text-align:center;flex:1;font-size:1rem}.btn-back{padding:6px 12px;font-size:.85rem}.progress-steps{order:3;justify-content:center;gap:4px;width:100%}.progress-step{width:28px;height:28px;font-size:.7rem}.lesson-content{max-width:100%;padding:1rem}.lesson-section h3{margin-bottom:1rem;font-size:1.2rem}.lesson-section p{font-size:.9rem}.content-text{padding:1rem;font-size:.9375rem}.example-card{flex-direction:row;gap:8px;padding:.75rem}.example-number{flex-shrink:0;width:20px;height:20px;font-size:.65rem}.mastery-section{border-radius:.75rem;padding:1rem}.option-btn{padding:.85rem 1rem;font-size:.875rem}.btn-submit{padding:.875rem;font-size:.9375rem}.score-display{padding:1rem 2rem}.score-value,.pass-icon,.fail-icon{font-size:2.5rem}}@media (width<=479px){.lesson-content{padding:.75rem}.progress-step{width:24px;height:24px;font-size:.65rem}.mastery-section{padding:.75rem}.score-value{font-size:2rem}}@media (width<=767px){.practice-container{padding:1rem}.practice-header{flex-direction:column;gap:10px;padding:12px 16px}.practice-modes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.practice-mode-card{padding:12px}.practice-mode-icon{font-size:1.5rem}.practice-mode-title{font-size:.875rem}.exercise-container{border-radius:.75rem;padding:1rem}.exercise-prompt{font-size:1rem;line-height:1.6}.audio-controls{flex-direction:column;gap:8px}.audio-btn{justify-content:center;width:100%;min-height:44px;padding:.75rem}}@media (width<=479px){.practice-modes{grid-template-columns:1fr}.practice-mode-card{flex-direction:row;align-items:center;gap:12px;padding:12px 14px}}@media (width<=1125px){.alv-left,.alv-right{min-width:280px}.alv-resize-handle{display:flex}}@media (width<=767px){.alv-container{flex-direction:column;display:flex}.alv-mobile-tabs{background:var(--color-bg-secondary,#1f2028);border-bottom:1px solid var(--border,#2e303a);flex-shrink:0;display:flex!important}.alv-mobile-tab{text-align:center;color:var(--text,#9ca3af);cursor:pointer;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;min-height:44px;padding:10px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.alv-mobile-tab.active{color:var(--accent,#c084fc);border-bottom-color:var(--accent,#c084fc)}.alv-body{flex-direction:column;flex:1;overflow:hidden}.alv-resize-handle{display:none!important}.alv-left,.alv-right{border-right:none;border-bottom:1px solid var(--border,#2e303a);display:none;width:100%!important;min-width:0!important}.alv-left.mobile-active,.alv-right.mobile-active{flex:1;display:flex}.alv-header{padding:10px 14px}.alv-title{font-size:.9rem}.alv-actions{gap:6px}.alv-btn{min-height:36px;padding:6px 10px;font-size:.8rem}.alv-player{padding:12px 14px}.alv-player-controls{gap:8px}.alv-play-btn{width:44px;height:44px}.alv-speed-btn{padding:4px 8px;font-size:.75rem}.alv-notes{padding:12px}.alv-note-item{padding:8px 10px}.alv-timestamp{font-size:.7rem}.alv-transcript{padding:12px;font-size:.875rem}.alv-transcript-segment{margin-bottom:4px;padding:6px 8px}}@media (width<=479px){.alv-header{padding:8px 12px}.alv-title{font-size:.8rem}.alv-btn{padding:5px 8px;font-size:.75rem}.alv-player{padding:10px 12px}}@media (width<=1125px){.pdf-viewer-header{padding:.75rem 1.25rem}.pdf-highlights-sidebar{width:260px}.pdf-bookmarks-sidebar{width:220px}.pdf-viewer-content{padding:1.5rem}}@media (width<=767px){.study-interface,.pdf-viewer-container{height:100dvh!important}.study-content{flex:1;position:relative}.study-pdf-section,.study-chat-section{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.study-pdf-section.pane-hidden,.study-chat-section.pane-hidden{display:none!important}.pdf-viewer-header{gap:8px;padding:.625rem 1rem}.pdf-viewer-title h3{max-width:140px;font-size:.875rem}.pdf-viewer-actions{gap:4px}.btn-icon{padding:.375rem .5rem;font-size:.8rem}.pdf-viewer-toolbar{border-bottom:none;border-top:1px solid var(--border,#2e303a);order:10;gap:6px;padding:.5rem .875rem}.pdf-viewer-container{flex-direction:column}.pdf-viewer-header{order:1}.pdf-viewer-content{flex:1;order:2}.pdf-viewer-toolbar{order:3}.toolbar-section{gap:4px}.toolbar-section .btn-toolbar.secondary{display:none}.toolbar-overflow-btn{display:flex!important}.btn-toolbar{min-height:36px;padding:.375rem .625rem;font-size:.8rem}.page-indicator{gap:4px;padding:.375rem .5rem}.page-input{width:44px;font-size:.8rem}.zoom-level{min-width:48px;padding:.375rem .5rem;font-size:.8rem}.pdf-viewer-content{-webkit-overflow-scrolling:touch;flex:1;align-items:flex-start;padding:.75rem .75rem 60px;overflow-y:auto}.react-pdf__Page__canvas{max-width:100%}.pdf-float-nav{z-index:100!important;position:fixed!important;bottom:16px!important;left:50%!important;transform:translate(-50%)!important}.pdf-bookmarks-sidebar,.pdf-highlights-sidebar{border-left:none;border-top:1px solid var(--border,#2e303a);z-index:200;border-radius:16px 16px 0 0;width:100%;height:60vh;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0000004d}.pdf-bookmarks-sidebar:before,.pdf-highlights-sidebar:before{content:"";background:var(--border,#2e303a);border-radius:2px;width:36px;height:4px;margin:8px auto 12px;display:block}.highlight-instructions{white-space:nowrap;padding:.625rem 1.25rem;font-size:.8rem}.color-option{width:36px;height:36px}.color-picker-dropdown{gap:6px;padding:.625rem}.study-chat-section .message-bubble,.study-chat-section .formatted-message,.chat-messages-improved{font-family:var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif!important}.formatted-message code,.formatted-message pre,.formatted-message pre code{font-family:Courier New,Consolas,Monaco,Andale Mono,monospace!important}.study-header .mobile-tabs{gap:4px;display:flex}.mobile-tab{min-height:36px;padding:6px 12px;font-size:.75rem}}@media (width<=479px){.pdf-viewer-title h3{max-width:110px;font-size:.8rem}.btn-icon{padding:.3rem .4rem;font-size:.75rem}.pdf-viewer-content{padding:.5rem .5rem 90px}.pdf-bookmarks-sidebar,.pdf-highlights-sidebar{height:65vh}.pdf-float-nav{padding:4px 8px;bottom:70px!important}}@media (width<=768px){.app{-webkit-overflow-scrolling:touch;height:100vh;height:calc(var(--vh,1vh) * 100);position:relative;inset:0;overflow-y:auto}.mode-content,.chat-section,.chat-messages-improved{-webkit-overflow-scrolling:touch!important;height:auto!important;min-height:100%!important;overflow-y:auto!important}.chat-input-area{z-index:1000!important;background-color:var(--color-bg-primary)!important;border-top:var(--border-width) solid var(--color-border)!important;position:relative!important;bottom:0!important;left:0!important;right:0!important}.mode-page{height:100vh;min-height:100vh;height:calc(var(--vh,1vh) * 100);-webkit-overflow-scrolling:touch;padding-top:0;overflow-y:auto}.mode-content{-webkit-overflow-scrolling:touch;overflow-y:auto;min-height:calc(100vh - 60px)!important;min-height:calc((var(--vh,1vh) * 100) - 60px)!important;flex-direction:column!important;gap:0!important;height:auto!important}.chat-section{-webkit-overflow-scrolling:touch;overflow-y:auto;border:none!important;border-radius:0!important;width:100%!important;height:auto!important;min-height:100%!important;margin:0!important;padding:0!important}.mode-sidebar{z-index:1000!important;background-color:var(--color-bg-primary)!important;border-left:none!important;width:100%!important;height:100vh!important;position:fixed!important;inset:0!important;transform:translate(100%)!important}.mode-sidebar.open{transform:translate(0)!important}.sidebar-close{background-color:var(--color-bg-tertiary)!important;padding:.75rem!important;top:1rem!important;right:1rem!important}.sidebar-section:first-of-type{margin-top:4rem!important;padding-top:1.5rem!important}.resource-tab-container,.split-screen-container{-webkit-overflow-scrolling:touch;overflow-y:auto;flex-direction:column!important;height:auto!important;min-height:100%!important}.resource-panel,.split-screen-panel{-webkit-overflow-scrolling:touch;overflow-y:auto;border-right:none!important;border-bottom:var(--border-width) solid var(--color-border)!important;width:100%!important;height:auto!important;min-height:50vh!important;max-height:none!important}.chat-panel,.main-content-panel{-webkit-overflow-scrolling:touch;overflow-y:auto;width:100%!important;height:auto!important;min-height:50vh!important;max-height:none!important}}@media (width<=1125px){.chat-input-area{padding:0 24px}.chat-messages-improved{padding:16px 20px 200px}.chat-message-improved.user,.chat-message-improved.assistant{max-width:92%}}@media (width<=767px){.chat-interface-improved{-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow-y:auto;height:auto!important;min-height:100%!important;max-height:none!important;margin:0!important;padding:0!important}.chat-messages-improved{-webkit-overflow-scrolling:touch!important;height:auto!important;min-height:calc(100vh - 120px)!important;min-height:calc((var(--vh,1vh) * 100) - 120px)!important;flex:1!important;gap:12px!important;padding:12px 12px 180px!important;overflow-y:auto!important}.chat-message-improved.user,.chat-message-improved.assistant{max-width:100%}.chat-message-improved.user .message-bubble{max-width:88%}.message-bubble{max-width:90%!important;margin-bottom:.75rem!important}.message-bubble.user{margin-left:auto!important;margin-right:.5rem!important}.message-bubble.assistant{margin-left:.5rem!important;margin-right:auto!important}.message-avatar{flex-shrink:0;width:36px;height:36px}.chat-input-area{background-color:var(--color-bg-primary)!important;border-top:var(--border-width) solid var(--color-border)!important;z-index:1000!important;padding:.75rem 12px!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.chat-input-form{align-items:flex-end!important;gap:.5rem!important;display:flex!important}.chat-input-improved{min-height:44px!important;padding:10px 14px!important;font-size:15px!important}.chat-textarea{resize:none!important;flex:1!important;min-height:2.5rem!important;max-height:5rem!important;padding:.75rem!important;font-size:1rem!important;line-height:1.4!important}.chat-send-btn-improved{width:44px!important;height:44px!important}.toolbar-btn{min-width:44px;height:44px}.chat-action-btn{justify-content:center!important;align-items:center!important;width:2.5rem!important;min-width:2.5rem!important;height:2.5rem!important;min-height:2.5rem!important;padding:0!important;display:flex!important}.quick-actions-bar{z-index:10!important;padding:.5rem!important;position:relative!important}.quick-actions-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.quick-action-btn{white-space:normal!important;word-break:break-word!important;padding:.5rem!important;font-size:.7rem!important}.scroll-to-bottom-btn{width:40px;height:40px;bottom:120px;right:16px}.math-keyboard{max-height:110px;padding:8px}.math-sym-btn{min-width:34px;height:30px;font-size:13px}.file-attachment-dropdown{max-width:calc(100% - 1rem)!important;max-height:50vh!important;position:fixed!important;bottom:4rem!important;left:.5rem!important;right:.5rem!important;overflow-y:auto!important}.math-keyboard-overlay{z-index:2000!important;height:60vh!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}}@media (width<=479px){.chat-messages-improved{gap:10px!important;padding:8px 8px 170px!important}.chat-input-area{padding:.5rem 8px!important}.chat-message-improved.user .message-bubble{max-width:95%}.message-bubble{max-width:95%!important;padding:.75rem!important}.chat-textarea{padding:.5rem!important;font-size:.9375rem!important}.chat-action-btn{width:2.25rem!important;min-width:2.25rem!important;height:2.25rem!important;min-height:2.25rem!important}.quick-actions-grid{grid-template-columns:1fr 1fr!important;gap:4px!important}}@media (width<=768px){.exam-session-container{-webkit-overflow-scrolling:touch;overflow-y:auto;min-height:100vh!important;min-height:calc(var(--vh,1vh) * 100)!important;flex-direction:column!important;height:auto!important;margin:0!important;padding:0!important}.exam-header{flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important;padding:1rem!important}.exam-title{font-size:1.25rem!important;line-height:1.3!important}.exam-meta{flex-direction:column!important;gap:.25rem!important;font-size:.875rem!important}.exam-content{-webkit-overflow-scrolling:touch;overflow-y:auto;min-height:calc(100vh - 120px)!important;min-height:calc((var(--vh,1vh) * 100) - 120px)!important;flex-direction:column!important;height:auto!important}.exam-chat-panel{-webkit-overflow-scrolling:touch;overflow-y:auto;border-right:none!important;border-bottom:var(--border-width) solid var(--color-border)!important;width:100%!important;height:auto!important;min-height:60vh!important}.exam-resources-panel{-webkit-overflow-scrolling:touch;overflow-y:auto;width:100%!important;height:auto!important;min-height:40vh!important}.pomodoro-timer-mobile{z-index:1001!important;width:auto!important;padding:.5rem!important;font-size:.875rem!important;position:fixed!important;bottom:4.5rem!important;right:.75rem!important}.pomodoro-timer-mobile .timer-display{font-size:1rem!important}.split-screen{flex-direction:column!important;height:100vh!important}.split-screen-left,.split-screen-right{width:100%!important;height:50%!important;min-height:50%!important;max-height:50%!important}.split-screen-left{border-right:none!important;border-bottom:var(--border-width) solid var(--color-border)!important}.split-screen-toggle{z-index:10!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)rotate(90deg)!important}.split-screen-resize-handle{display:none!important}.resource-tabs-container{flex-direction:column!important;height:100%!important}.resource-tabs-header{white-space:nowrap!important;flex-direction:row!important;padding:.5rem!important;overflow:auto hidden!important}.resource-tab{white-space:nowrap!important;padding:.5rem 1rem!important;font-size:.875rem!important}.resource-tab-content{height:calc(100% - 3rem)!important;overflow-y:auto!important}}@media (width<=480px){.chat-messages-improved{padding:.75rem .75rem 4.5rem!important}.message-bubble{max-width:95%!important;padding:.75rem!important}.chat-input-area{padding:.5rem!important}.chat-textarea{padding:.5rem!important;font-size:.9375rem!important}.chat-action-btn{width:2.25rem!important;min-width:2.25rem!important;height:2.25rem!important;min-height:2.25rem!important}.quick-actions-grid{grid-template-columns:1fr!important}.exam-header{padding:.75rem!important}.exam-title{font-size:1.125rem!important}.pomodoro-timer-mobile{padding:.375rem!important;font-size:.75rem!important;bottom:4rem!important;right:.5rem!important}}@media (width>=769px) and (width<=1024px){.mode-sidebar{width:300px!important}.chat-section{width:calc(100% - 300px)!important}.split-screen-left,.split-screen-right{width:50%!important}.resource-panel{width:40%!important}.chat-panel{width:60%!important}}@media (width<=768px){button,.btn,.chat-action-btn,.quick-action-btn,.sidebar-close,.resource-tab{min-width:44px!important;min-height:44px!important}input,textarea,select{font-size:16px!important}.chat-action-btn,.quick-action-btn,.sidebar-close{-webkit-user-select:none!important;user-select:none!important}}@supports (padding:max(0px)){@media (width<=768px){.chat-input-area{padding-bottom:max(.75rem, env(safe-area-inset-bottom))!important}.mode-sidebar{padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.navbar{padding-top:env(safe-area-inset-top)!important}}}@media print{.chat-input-area,.quick-actions-bar,.sidebar-close,.chat-action-btn,.pomodoro-timer-mobile{display:none!important}.chat-messages-improved{height:auto!important;padding:0!important;overflow:visible!important}.message-bubble{break-inside:avoid!important;page-break-inside:avoid!important}}@media (width<=1125px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border,#2e303a);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text,#9ca3af)}}@media (hover:none){.module-card:hover,.stage-card:hover,.bookmark-item:hover{box-shadow:none;transform:none}.module-card:hover{border-color:var(--border,#2e303a)}.chat-send-btn-improved:hover,.send-btn:hover{box-shadow:none;transform:none}.inline-confidence-btn:hover{opacity:1;transform:none}.module-card:active{transform:scale(.98)}.inline-confidence-btn:active{opacity:.85;transform:translateY(1px)}.send-btn:not(:disabled):active{transform:translateY(1px)}}@media (width<=767px){*{-webkit-tap-highlight-color:transparent}html,body{max-width:100vw;overflow-x:hidden}img,video,iframe{max-width:100%;height:auto}.message-bubble,.formatted-message{word-break:break-word;overflow-wrap:break-word}button,[role=button],input[type=button],input[type=submit],a{min-width:44px;min-height:44px}.iq-badge,.inline-flashcard-label,.alv-timestamp{min-height:unset;min-width:unset}}@media (width<=767px) and (orientation:landscape){.chat-messages-improved{padding-bottom:140px!important}.pdf-viewer-toolbar{padding:.375rem 1rem}.alv-body{flex-direction:row!important}.alv-left,.alv-right{width:50%!important;display:flex!important}.alv-resize-handle{display:flex!important}.alv-mobile-tabs{display:none!important}.progress-steps{flex-direction:row;order:0}.stats-bar{flex-direction:row;gap:16px;display:flex}}@media (width<=767px){.navbar-links-desktop,.navbar-cta{display:none!important}.navbar-mobile-toggle{border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex!important}.navbar-mobile-menu{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);z-index:1000;flex-direction:column;gap:4px;padding:12px;animation:.18s ease-out navDropdownIn;display:flex;position:fixed;top:60px;left:0;right:0;box-shadow:0 4px 16px #00000026}.navbar-mobile-link{color:var(--color-text-primary);border-radius:8px;align-items:center;min-height:44px;padding:12px 14px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.navbar-mobile-link:active{background:var(--color-bg-secondary)}.navbar-mobile-divider{background:var(--color-border);height:1px;margin:6px 0}.navbar-mobile-cta{background:var(--color-accent);color:#fff;text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:44px;margin-top:6px;padding:12px 16px;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.navbar-mobile-cta:active{opacity:.85}.doc-navbar .nav-container{flex-direction:column;align-items:stretch;gap:10px}.doc-navbar .nav-logo{justify-content:center}.doc-navbar .nav-menu{flex-direction:column;gap:4px;width:100%;display:flex}.doc-navbar .nav-item.dropdown{width:100%}.doc-navbar .nav-item.dropdown .nav-link{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;width:100%;min-height:44px;padding:12px 14px;display:flex}.doc-navbar .nav-item.dropdown .dropdown-menu{width:100%;box-shadow:none;border:1px solid var(--color-border);border-radius:8px;margin-top:4px;position:static}.doc-navbar .nav-item.dropdown .dropdown-menu a{align-items:center;min-height:44px;padding:12px 14px;display:flex}.doc-navbar .nav-menu>.nav-link{background:var(--color-bg-secondary);border:1px solid var(--color-border);text-align:left;border-radius:8px;width:100%;min-height:44px;padding:12px 14px}.navbar-desktop-actions .profile-dropdown-menu,.navbar-desktop-actions .profile-menu,.profile-dropdown-menu:not(.nm-profile-wrapper .profile-menu),.profile-menu:not(.nm-profile-wrapper .profile-menu){padding-bottom:max(16px, env(safe-area-inset-bottom));overflow-y:auto;border:none!important;border-top:1px solid var(--color-border)!important;border-radius:16px 16px 0 0!important;width:100%!important;max-height:70vh!important;animation:.25s ease-out slideUp!important;position:fixed!important;inset:auto 0 0!important;box-shadow:0 -4px 24px #00000040!important}.navbar-desktop-actions .profile-dropdown-menu:before,.navbar-desktop-actions .profile-menu:before,.profile-dropdown-menu:not(.nm-profile-wrapper .profile-menu):before,.profile-menu:not(.nm-profile-wrapper .profile-menu):before{content:"";background:var(--color-border);border-radius:2px;width:36px;height:4px;margin:10px auto 8px;display:block}.navbar-desktop-actions .profile-dropdown-menu .dropdown-item,.navbar-desktop-actions .profile-menu .menu-item,.profile-dropdown-menu:not(.nm-profile-wrapper .profile-menu) .dropdown-item,.profile-menu:not(.nm-profile-wrapper .profile-menu) .menu-item{min-height:48px;padding:14px 20px;font-size:.9375rem}.nm-profile-wrapper .profile-menu{box-shadow:none!important;border:1px solid var(--color-border)!important;border-radius:8px!important;width:100%!important;max-height:none!important;margin-top:4px!important;padding-bottom:0!important;animation:none!important;position:static!important}.nm-profile-wrapper .profile-menu:before{display:none!important}.mode-switcher{width:100%!important;min-height:44px!important;padding:12px 36px 12px 14px!important;font-size:.9375rem!important}.dropdown-toggle{background:var(--color-bg-secondary);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;min-height:44px;padding:12px 14px;font-size:.9375rem;font-weight:500;display:flex}.dropdown-toggle:after{content:"▾";color:var(--color-text-muted);font-size:1rem;transition:transform .2s}.dropdown-toggle.open:after{transform:rotate(180deg)}.dropdown-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:2px;width:100%;margin-top:4px;padding:6px;animation:.18s ease-out navDropdownIn;display:none;box-shadow:0 4px 12px #0000001a}.dropdown-menu.open{display:flex}.dropdown-menu .dropdown-item{width:100%;min-height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:11px 14px;font-size:.9375rem;text-decoration:none;transition:background .15s;display:flex}.dropdown-menu .dropdown-item:active{background:var(--color-bg-tertiary)}.dropdown-menu .dropdown-item.active{background:var(--color-accent-bg,#c084fc1a);color:var(--color-accent)}}@keyframes navDropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=479px){.navbar-mobile-dropdown{width:calc(100vw - 16px);right:-4px}.mobile-menu-item,.navbar-mobile-link,.dropdown-menu .dropdown-item{padding:10px 12px;font-size:.875rem}}@media (width>=768px) and (width<=1125px){.navbar-desktop-actions .btn{padding:6px 10px;font-size:.8125rem}}
