:focus-visible{transition:outline var(--transition-fast),box-shadow var(--transition-fast);outline:3px solid var(--color-primary)!important;outline-offset:2px!important;box-shadow:0 0 0 3px var(--focus-ring-glow)!important}:focus:not(:focus-visible){outline:none}.keyboard-user :focus-visible{outline-width:4px!important}.skip-links{z-index:var(--z-tooltip);position:absolute;top:0;left:0}.skip-link{top:-100px;left:var(--space-4);z-index:var(--z-tooltip);padding:var(--space-3)var(--space-4);background:var(--color-primary);color:var(--color-surface-default);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:top var(--transition-base);text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-4)}body.reduce-motion *,body.reduce-motion :before,body.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){body:not(.motion-preference-set) *,body:not(.motion-preference-set) :before,body:not(.motion-preference-set) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.q-btn,.q-card,.q-dialog,input,textarea,select{border-width:2px!important}:focus-visible{outline-offset:3px!important;outline-width:4px!important}.q-card{background:var(--bg-elevated)!important}}.sr-only-focusable:focus,.sr-only-focusable:active{clip:auto;white-space:normal;width:auto;height:auto;position:static;overflow:visible}[aria-live]{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.q-btn,button,a,input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}.q-btn.q-btn--dense,.btn-group-professional .q-btn{min-width:40px;min-height:40px}.q-btn:disabled,button:disabled,input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;border:1px solid var(--color-gray-400)!important}.q-btn.q-btn--unelevated:disabled,.q-btn.q-btn--outline:disabled{color:var(--text-disabled)!important;background:var(--bg-hover)!important}::placeholder{color:var(--text-muted);opacity:1}[aria-required=true]:after,.required:after{content:" *";color:var(--color-negative);font-weight:var(--font-weight-bold)}[aria-invalid=true],.invalid,.error{border-color:var(--color-negative)!important;background-color:color-mix(in srgb,var(--color-negative)5%,transparent)!important}[role=alert],.error-message{color:var(--color-negative);font-size:var(--font-size-sm);margin-top:var(--space-1);align-items:center;gap:var(--space-1);display:flex}[aria-invalid=false],.valid,.success{border-color:var(--color-positive)!important}.shortcut-hint{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);margin-left:var(--space-2);display:inline-flex}.shortcut-key{min-width:20px;padding:2px var(--space-1);background:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:inline-flex}[aria-busy=true]{cursor:progress}[role=progressbar]{background:var(--border-subtle);border-radius:var(--radius-full);height:4px;overflow:hidden}[role=tooltip]{z-index:var(--z-tooltip);pointer-events:none}[role=tooltip][aria-hidden=false]{pointer-events:auto}.ML__keyboard{width:100vw!important;transition:left .3s,width .3s!important;left:0!important}@media (min-width:1024px){body.drawer-open .ML__keyboard{width:calc(100vw - 300px)!important;left:300px!important}}body[theme=light] math-field{--primary:var(--mathfield-primary-light);--caret-color:var(--mathfield-caret-light);--selection-background-color:var(--mathfield-selection-bg-light);--selection-color:var(--mathfield-selection-color-light);--contains-highlight-background-color:var(--mathfield-highlight-bg-light);--placeholder-color:var(--mathfield-placeholder-light);--smart-fence-color:var(--mathfield-smart-fence-light);--highlight-text:var(--mathfield-highlight-text-light);background-color:var(--mathfield-bg-light);color:var(--mathfield-text-light);border-color:var(--mathfield-border-light)}body[theme=dark] math-field{--primary:var(--mathfield-primary-dark);--caret-color:var(--mathfield-caret-dark);--selection-background-color:var(--mathfield-selection-bg-dark);--selection-color:var(--mathfield-selection-color-dark);--contains-highlight-background-color:var(--mathfield-highlight-bg-dark);--placeholder-color:var(--mathfield-placeholder-dark);--smart-fence-color:var(--mathfield-smart-fence-dark);--highlight-text:var(--mathfield-highlight-text-dark);background-color:var(--mathfield-bg-dark);color:var(--mathfield-text-dark);border-color:var(--mathfield-border-dark)}:root,.body--light{--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-700);--text-tertiary:var(--color-gray-600);--text-muted:var(--color-gray-500);--text-disabled:var(--color-gray-400);--text-on-primary:var(--color-gray-50);--text-on-secondary:var(--color-gray-50);--text-on-accent:var(--color-gray-50);--text-on-success:var(--color-gray-50);--text-on-warning:var(--color-gray-900);--text-on-error:var(--color-gray-50);--text-on-info:var(--color-gray-50);--text-on-dark:var(--color-gray-50)}.body--dark{--text-primary:var(--color-gray-100);--text-secondary:var(--color-gray-300);--text-tertiary:var(--color-gray-400);--text-muted:var(--color-gray-500);--text-disabled:var(--color-gray-600);--text-on-primary:var(--color-gray-50);--text-on-secondary:var(--color-gray-50);--text-on-accent:var(--color-gray-50);--text-on-success:var(--color-gray-50);--text-on-warning:var(--color-gray-900);--text-on-error:var(--color-gray-50);--text-on-info:var(--color-gray-50);--text-on-dark:var(--color-gray-50);--color-surface:var(--color-dark-surface);--color-surface-variant:var(--color-dark-surface-variant);--color-surface-elevated:var(--color-dark-elevated);--color-surface-container:var(--color-dark-container)}:root,.body--light{--bg-base:var(--color-gray-50);--bg-subtle:var(--color-gray-50);--bg-hover:var(--color-gray-100);--bg-active:var(--color-primary-50);--bg-elevated:var(--color-surface-elevated);--surface-hover:var(--color-gray-100);--surface-variant:var(--color-surface-variant);--ai-tutor-student-bg:var(--ai-tutor-student-bubble-light,var(--color-primary-50));--ai-tutor-tutor-bg:var(--ai-tutor-tutor-bubble-light,var(--color-secondary-50))}.body--dark{--bg-base:var(--color-dark-surface);--bg-subtle:var(--color-dark-surface-variant);--bg-hover:var(--color-dark-surface-variant);--bg-active:var(--sidebar-active-bg-dark);--bg-elevated:var(--color-surface-elevated);--surface-hover:var(--color-dark-surface-variant);--surface-variant:var(--color-surface-variant);--ai-tutor-student-bg:var(--ai-tutor-student-bubble-dark);--ai-tutor-tutor-bg:var(--ai-tutor-tutor-bubble-dark)}:root,.body--light{--border-subtle:var(--color-gray-200);--border-default:var(--color-gray-300);--border-emphasis:var(--color-gray-400)}.body--dark{--border-subtle:var(--color-gray-800);--border-default:var(--color-gray-700);--border-emphasis:var(--color-gray-600)}.btn-group-professional{align-items:center;gap:var(--space-3);row-gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}.btn-group-professional.compact{gap:var(--space-2);row-gap:var(--space-2)}.ellipsis-2-lines{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.q-separator--vertical.spaced{flex-shrink:0;margin:0 8px!important}.q-splitter__separator{position:relative}.q-splitter--vertical .q-splitter__separator:after{content:"";opacity:.25;background:currentColor;border-radius:2px;width:4px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--horizontal .q-splitter__separator:after{content:"";opacity:.25;background:currentColor;border-radius:2px;width:24px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.html-content{padding:var(--space-sm);background:var(--bg-hover);border-radius:var(--radius-sm);overflow-x:auto}.selected-menu-item{background:var(--bg-active)!important;border-left:4px solid var(--color-primary)!important}.q-item .q-icon{opacity:1!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.q-btn.speaking{animation:1.5s infinite pulse;box-shadow:0 0 8px var(--shadow-md)!important;border:2px solid!important}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.q-btn:focus-visible{outline:3px solid var(--color-primary)!important;outline-offset:2px!important;box-shadow:0 0 0 3px var(--color-primary-50)!important}.q-btn.q-btn--outline:disabled,.q-btn.q-btn--flat:disabled{opacity:.5!important}.q-btn.q-btn--unelevated:disabled{opacity:.6!important;filter:brightness(.8)!important}.q-btn--loading{position:relative}.q-btn--loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-scale-enter-active,.fade-scale-leave-active{transition:all var(--transition-base)}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(.95)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all var(--transition-base)}.slide-fade-enter-from{opacity:0;transform:translateY(10px)}.slide-fade-leave-to{opacity:0;transform:translateY(-10px)}.list-fade-enter-active,.list-fade-leave-active{transition:all .3s}.list-fade-enter-from,.list-fade-leave-to{opacity:0;transform:translate(-10px)}.list-fade-move{transition:transform .3s}.ai-response-content h1,.ai-response-content h2,.ai-response-content h3{color:var(--color-primary);margin:12px 0 8px;font-size:1.1rem;font-weight:600;line-height:1.35}.ai-response-content p{margin-bottom:.8em;line-height:1.5}.ai-response-content ul,.ai-response-content ol{margin-bottom:.8em;padding-left:1.5em}.ai-response-content li{margin-bottom:.3em}.ai-response-content pre{background-color:var(--bg-hover);border-radius:4px;margin:8px 0;padding:8px 12px;font-family:Courier New,monospace;overflow-x:auto}.ai-response-content code{background-color:var(--bg-hover);border-radius:3px;padding:2px 4px;font-family:Courier New,monospace;font-size:.9em}.ai-response-content blockquote{border-left:3px solid var(--color-primary);color:var(--text-tertiary);margin:8px 0;padding-left:12px;font-style:italic}.ai-response-content .katex{font-size:1.1em}.ai-response-content .katex-display{margin:1em 0}.ai-response-content strong{font-weight:600}.ai-response-content em{font-style:italic}html{font-size:14px}@media (min-width:600px){html{font-size:15px}}@media (min-width:1024px){html{font-size:16px}}h1,.h1{font-size:clamp(1.75rem,4vw,3rem)}h2,.h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3,.h3{font-size:clamp(1.25rem,2.5vw,1.875rem)}.success-animation[data-v-998a8039]{text-align:center;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.success-animation--toast[data-v-998a8039]{top:var(--space-8);right:var(--space-8);z-index:var(--z-popover);min-width:300px;max-width:400px;position:fixed}.success-animation--inline[data-v-998a8039]{box-shadow:none;padding:var(--space-4);background:0 0}.success-animation__icon[data-v-998a8039]{animation:.5s cubic-bezier(.175,.885,.32,1.275) success-scale-998a8039}.success-animation__message[data-v-998a8039]{margin-top:var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.success-animation__progress[data-v-998a8039]{background:var(--bg-hover);height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.success-animation__progress-bar[data-v-998a8039]{background:var(--color-positive);height:100%;animation:linear forwards progress-bar-998a8039}@keyframes success-scale-998a8039{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes progress-bar-998a8039{0%{width:100%}to{width:0%}}.success-fade-enter-active[data-v-998a8039],.success-fade-leave-active[data-v-998a8039]{transition:all var(--transition-base)}.success-fade-enter-from[data-v-998a8039]{opacity:0;transform:translateY(-20px)scale(.9)}.success-fade-leave-to[data-v-998a8039]{opacity:0;transform:translateY(20px)scale(.9)}
