:root{--sketchmath-font:"Instrument Sans",system-ui,sans-serif;--sketchmath-serif:Georgia,serif;--sketchmath-bg:var(--chat-bg-normal);--sketchmath-accent:#edeae7;--chat-font-normal:var(--sketchmath-serif);--chat-font-teacher:var(--sketchmath-serif);--chat-font-student:var(--sketchmath-serif);--chat-bg-normal:#fbfaf9;--chat-bg-teacher:#fbfaf9;--chat-bg-student:#fbfaf9}.chat-layout,.chat-layout.chat-mode-normal{--chat-interface-font:var(--chat-font-normal);--chat-interface-bg:var(--chat-bg-normal)}.chat-layout.chat-mode-teacher{--chat-interface-font:var(--chat-font-teacher);--chat-interface-bg:var(--chat-bg-teacher)}.chat-layout.chat-mode-student{--chat-interface-font:var(--chat-font-student);--chat-interface-bg:var(--chat-bg-student)}body,html{background-color:#fbfaf9;background-color:var(--sketchmath-bg);font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);margin:0;overflow:hidden;padding:0}#root,body,html{height:100%;width:100%}#root{min-height:100vh;min-height:100dvh}App{position:absolute}.App,App{height:100%;overflow:hidden;width:100%}.App{display:flex;flex-direction:column}.abs-0000{bottom:0;left:0;position:absolute;right:0;top:0}.pyggb-IDE{display:grid;grid-template-rows:min-content 1fr;height:100vh;height:100dvh;min-height:0;overflow-x:hidden;position:relative}.pyggb-IDE .navbar{padding:0}.pyggb-IDE .container-fluid.MenuBar .navbar-brand:last-child{margin-right:0}.pyggb-IDE .container-fluid.MenuBar{background-color:#303030;color:#fff;justify-content:flex-start;margin:0}.pyggb-IDE .container-fluid.MenuBar .ControlButton button{display:block;padding:2px 4px}.pyggb-IDE .container-fluid.MenuBar .loading-text{color:#fff;font-style:italic;margin-left:3rem}.pyggb-IDE .container-fluid.MenuBar .backing-state{color:#fff;display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;font-style:italic;margin-left:3rem;width:1rem}.pyggb-IDE .container-fluid.MenuBar .backing-state .spinner-container{align-items:center;display:flex;flex-direction:row;height:2rem;justify-content:center;width:2rem}.pyggb-IDE .container-fluid.MenuBar .backing-state .spinner-border{visibility:hidden}.pyggb-IDE .container-fluid.MenuBar .backing-state .spinner-border.visible{visibility:visible}.pyggb-IDE .container-fluid.MenuBar .backing-state .spinner-border{margin-right:1rem}.pyggb-IDE .container-fluid.MenuBar .backing-state .FilenameDisplayOrEdit{overflow:hidden;padding-right:1rem;text-overflow:ellipsis;white-space:nowrap}.pyggb-IDE .main-content{grid-gap:0;background-color:#f5f5f5;display:grid;gap:0;grid-template-areas:"editor results" "editor output";grid-template-columns:1fr 1.2fr;grid-template-rows:1fr auto;height:100%;min-height:0}.pyggb-IDE .main-content .editor-maybe-errors-outer{background-color:#fff;border-right:1px solid #e0e0e0;grid-area:editor;position:relative}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner{display:grid}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.no-errors.content-user-program{grid-template-rows:1fr 0}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.no-errors.content-example{grid-template-rows:min-content 1fr 0}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.has-errors.content-user-program{grid-template-rows:2fr 1fr}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.has-errors.content-example{grid-template-rows:min-content 2fr 1fr}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.content-nothing-yet-loaded .copy-invitation-container,.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.content-user-program .copy-invitation-container,.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner.no-errors .errors-container{display:none}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .copy-invitation-container{background-color:#ddd}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .copy-invitation-container .copy-example{align-items:center;display:flex;flex-direction:column}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .copy-invitation-container .copy-example p{margin:.5rem 0 0}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .copy-invitation-container .copy-example button{margin:1rem}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .editor{position:relative}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .editor .busy-overlay{display:none}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .editor .busy-overlay.booting,.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .editor .busy-overlay.loading{align-items:center;background-color:#000;display:flex;flex-direction:row;justify-content:center;opacity:30%}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container{position:relative}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList{background-color:#fef2f2;border:1px solid #ef4444;border-left-width:4px;border-radius:.375rem;overflow:auto}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner h1{color:#dc2626;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner{margin:1rem}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner>ul{padding-left:0}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner>ul>li{list-style:none}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner>ul ul>li{list-style:disc}.pyggb-IDE .main-content .editor-maybe-errors-outer .editor-maybe-errors-inner .errors-container .ErrorList .error-list-inner>ul ul>li p{margin:.25rem 0}.pyggb-IDE .main-content .results{background-color:#fff;display:flex;flex-direction:column;grid-area:results;min-height:0;overflow:hidden}.pyggb-IDE .main-content .results .ggb{border-bottom:1px solid #e0e0e0;display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;position:relative}.pyggb-IDE .main-content .results .stdout-outer{display:none}.pyggb-IDE .main-content .stdout-pane-bottom{background-color:#1e1e1e;border-top:1px solid #3e3e3e;color:#d4d4d4;display:flex;flex-direction:column;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.875rem;grid-area:output;height:200px;position:relative}.pyggb-IDE .main-content .stdout-pane-bottom .stdout-outer{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.pyggb-IDE .main-content .stdout-pane-bottom .stdout-header{background-color:#252525;border-bottom:1px solid #3e3e3e;color:#8a8a8a;flex-shrink:0;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.pyggb-IDE .main-content .stdout-pane-bottom .stdout-inner{flex:1 1;line-height:1.5;overflow-x:auto;overflow-y:auto;padding:1rem}.pyggb-IDE .main-content .stdout-pane-bottom .stdout-inner pre{color:inherit;font-family:inherit;font-size:inherit;margin:0;white-space:pre}.FileChoice-list{padding:0}.FileChoice-list li{background-color:#eee;border-radius:6px;cursor:pointer;list-style:none;margin:.5rem 0;padding:.5rem;-webkit-user-select:none;user-select:none}.FileChoice-list li:hover{background-color:#ddd}.FileChoice-list li{display:grid;grid-template-columns:1fr auto}.FileChoice-list li span.file-name{align-items:center;display:flex;justify-content:left}.FileChoice-list li button{padding:2px 6px;visibility:hidden}.FileChoice-list li:hover button:not([disabled]){visibility:visible}ul.ExampleList{padding:0}ul.ExampleList li{background-color:#eee;border-radius:6px;cursor:pointer;list-style:none;margin:.5rem 0;padding:.5rem;-webkit-user-select:none;user-select:none}ul.ExampleList li:hover{background-color:#ddd}ul.ExampleList li h1{font-size:1.333rem}.FilenameDisplayOrEdit{padding:.25rem;-webkit-user-select:none;user-select:none}.FilenameDisplayOrEdit:hover{background-color:#606060}.DeleteChatModal .modal-dialog{margin:auto;max-width:360px}@media(max-width:768px){.DeleteChatModal .modal-dialog{margin:auto;max-width:88vw}}.DeleteChatModal .modal-content{background-color:#fff;border:none;border-radius:20px;box-shadow:0 8px 32px #0000002e;padding:4px}.DeleteChatModal .modal-body{padding:28px 24px 22px;text-align:center}@media(max-width:768px){.DeleteChatModal .modal-body{padding:22px 18px 18px}}.DeleteChatModal .delete-chat-title{color:#111;font-size:1.1rem;font-weight:700;margin-bottom:10px}@media(max-width:768px){.DeleteChatModal .delete-chat-title{font-size:1rem}}.DeleteChatModal .delete-chat-body{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:24px}@media(max-width:768px){.DeleteChatModal .delete-chat-body{font-size:.85rem;margin-bottom:20px}}.DeleteChatModal .delete-chat-actions{display:flex;gap:10px}@media(max-width:768px){.DeleteChatModal .delete-chat-actions{gap:8px}}.DeleteChatModal .delete-chat-actions .delete-chat-btn{border-radius:999px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:11px 0;transition:opacity .15s}@media(max-width:768px){.DeleteChatModal .delete-chat-actions .delete-chat-btn{font-size:.9rem;padding:10px 0}}.DeleteChatModal .delete-chat-actions .delete-chat-btn:hover{opacity:.82}.DeleteChatModal .delete-chat-actions .delete-chat-btn.cancel{background-color:#fff;border:1.5px solid #ccc;color:#111}.DeleteChatModal .delete-chat-actions .delete-chat-btn.confirm{background-color:#f0404a;border:none;color:#fff}.SessionErrorModal .modal-dialog{margin:auto;max-width:360px}@media(max-width:768px){.SessionErrorModal .modal-dialog{margin:auto;max-width:88vw}}.SessionErrorModal .modal-content{background-color:#fff;border:none;border-radius:20px;box-shadow:0 8px 32px #0000002e;padding:4px}.SessionErrorModal .modal-body{padding:28px 24px 22px;text-align:center}@media(max-width:768px){.SessionErrorModal .modal-body{padding:22px 18px 18px}}.SessionErrorModal .session-error-icon{font-size:2rem;line-height:1;margin-bottom:10px}.SessionErrorModal .session-error-title{color:#111;font-size:1.1rem;font-weight:700;margin-bottom:10px}@media(max-width:768px){.SessionErrorModal .session-error-title{font-size:1rem}}.SessionErrorModal .session-error-body{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:24px}@media(max-width:768px){.SessionErrorModal .session-error-body{font-size:.85rem;margin-bottom:20px}}.SessionErrorModal .session-error-actions{display:flex;justify-content:center}.SessionErrorModal .session-error-actions .session-error-btn{background-color:#667eea;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;min-width:120px;padding:11px 0;transition:opacity .15s}.SessionErrorModal .session-error-actions .session-error-btn:hover{opacity:.82}@media(max-width:768px){.SessionErrorModal .session-error-actions .session-error-btn{font-size:.9rem;padding:10px 0}}.ActionDialogModal .modal-dialog,.TextPromptModal .modal-dialog{margin:auto;max-width:420px}@media(max-width:768px){.ActionDialogModal .modal-dialog,.TextPromptModal .modal-dialog{margin:auto;max-width:90vw}}.ActionDialogModal .modal-content,.TextPromptModal .modal-content{border:none;border-radius:18px;box-shadow:0 14px 40px #0f172a2e;overflow:hidden}.ActionDialogModal .modal-body,.TextPromptModal .modal-body{padding:22px 20px 18px}.ActionDialogModal .action-dialog-title{color:#0f172a;font-size:1.08rem;font-weight:700;margin:0 0 8px}.ActionDialogModal .action-dialog-body{color:#475467;font-size:.94rem;line-height:1.45;margin:0}.ActionDialogModal .action-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.ActionDialogModal .action-dialog-btn{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 15px;transition:transform .12s ease,opacity .12s ease}.ActionDialogModal .action-dialog-btn:active{transform:translateY(1px)}.ActionDialogModal .action-dialog-btn.cancel{background:#fff;border:1px solid #d0d5dd;color:#344054}.ActionDialogModal .action-dialog-btn.confirm{background:#1d4ed8;color:#fff}.ActionDialogModal .action-dialog-btn.confirm.danger{background:#b42318}.ActionDialogModal .action-dialog-btn.confirm.success{background:#027a48}.TextPromptModal .text-prompt-title{color:#0f172a;font-size:1.08rem;font-weight:700;margin:0 0 10px}.TextPromptModal .text-prompt-label{color:#344054;display:block;font-size:.87rem;font-weight:600;margin-bottom:8px}.TextPromptModal .text-prompt-input{border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:.95rem;padding:9px 11px;width:100%}.TextPromptModal .text-prompt-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33;outline:none}.TextPromptModal .text-prompt-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.TextPromptModal .text-prompt-btn{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 15px}.TextPromptModal .text-prompt-btn.cancel{background:#fff;border:1px solid #d0d5dd;color:#344054}.TextPromptModal .text-prompt-btn.confirm{background:#1d4ed8;color:#fff}.TextPromptModal .text-prompt-btn:disabled{cursor:not-allowed;opacity:.45}.assignment-sidebar-question p,.role-math-markdown p,.teacher-math-inline p{margin:0}.assignment-sidebar-question .math-markdown-container .math-display,.assignment-sidebar-question .math-markdown-container mjx-container[display=true],.role-math-markdown .math-markdown-container .math-display,.role-math-markdown .math-markdown-container mjx-container[display=true],.teacher-math-inline .math-markdown-container .math-display,.teacher-math-inline .math-markdown-container mjx-container[display=true]{margin:.35rem 0;overflow-x:auto;overflow-y:hidden}.math-markdown-container .math-block{display:block;margin:1.2em 0;overflow-x:auto;overflow-y:hidden;text-align:center}.math-markdown-container mjx-container[display=true]{display:block}.AboutPyGgbModal .modal-body{padding-bottom:0}.AboutPyGgbModal section.logo-and-text{display:grid;grid-template-columns:auto 1fr}.AboutPyGgbModal section.logo-and-text p{margin-bottom:0}.AboutPyGgbModal section.logo-and-text p:first-child{margin-right:1rem;margin-top:.5rem}.AboutPyGgbModal section.logo-and-text img{width:60px}.AboutPyGgbModal section.logo-and-text{margin-bottom:1rem}.ShareAsUrlModalBody{align-items:center;display:flex;flex-direction:row;height:5rem}.ShareAsUrlModalBody,.ShareAsUrlModalBody.computing{justify-content:center}.ShareAsUrlModalBody.ready .content{width:100%}.ShareAsUrlModalBody.ready .content .text-and-button{display:flex;flex-direction:row;justify-content:space-between;margin-top:1rem}.ShareAsUrlModalBody.ready .content .text-and-button input{font-size:16px}.ShareAsUrlModalBody.ready .content .text-and-button button{font-size:.9rem;padding:.25rem;width:3rem}.chat-layout{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed}@media(min-width:769px){.chat-layout .chat-main-content.desktop-starting-ui{background:var(--chat-interface-bg);grid-template-columns:auto 1fr 0 0!important}.chat-layout .chat-main-content.desktop-starting-ui .chat-graph-divider,.chat-layout .chat-main-content.desktop-starting-ui .chat-graph-panel{display:none!important}.chat-layout .chat-main-content.desktop-starting-ui .chat-sessions-panel{background:#f7f4ea;box-shadow:inset -1px 0 0 #a69b7e54,2px 0 8px rgba(0,0,0,.035);position:relative;width:280px;z-index:220}.chat-layout .chat-main-content.desktop-starting-ui .chat-sessions-panel:after{background:#a69b7e6b;content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:1px}.chat-layout .chat-main-content.desktop-starting-ui .chat-sessions-panel.collapsed{width:60px}.chat-layout .chat-main-content.desktop-starting-ui .chat-center-panel.desktop-starting-ui{background:var(--chat-interface-bg);box-shadow:none;margin-left:0;margin-right:0;max-width:none;position:relative;width:100%;z-index:5}}.chat-layout .chat-main-content{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:auto 1fr 10px 1fr;grid-template-rows:1fr;height:100%;min-height:0;overflow:hidden;position:relative;transition:grid-template-columns .28s ease}.chat-layout .chat-main-content.is-resizing,.chat-layout .chat-main-content.is-resizing *{cursor:col-resize!important}.chat-layout .chat-main-content.graph-collapsed{grid-template-columns:auto 1fr 0 0}.chat-layout .chat-main-content.graph-collapsed .chat-graph-divider{border:none;opacity:0;pointer-events:none;width:0}.chat-layout .chat-main-content.graph-collapsed .chat-graph-panel{min-width:0;overflow:hidden;pointer-events:none}.chat-layout .chat-graph-divider{align-items:center;background:#d1cdc4;border:none;cursor:col-resize;display:flex;justify-content:center;min-width:2px;overflow:visible;position:relative;touch-action:none;transition:background .15s ease,opacity .22s ease;-webkit-user-select:none;user-select:none;width:2px;z-index:60}.chat-layout .chat-graph-divider:before{content:"";cursor:col-resize;inset:0 -6px;position:absolute}.chat-layout .chat-graph-divider:focus-visible,.chat-layout .chat-graph-divider:hover{background:#9e9991}.chat-layout .chat-graph-divider:focus-visible{outline:none}.chat-layout .chat-graph-divider.hidden{background:#0000;min-width:0;opacity:0;pointer-events:none;width:0}.chat-layout .chat-graph-divider .chat-graph-divider-grip{background:#111;border-radius:999px;box-shadow:0 -11px 0 #111,0 11px 0 #111;height:28px;opacity:.35;position:absolute;transition:opacity .15s;width:5px;z-index:1}.chat-layout .chat-graph-divider:focus-visible .chat-graph-divider-grip,.chat-layout .chat-graph-divider:hover .chat-graph-divider-grip{opacity:.75}.chat-layout .chat-main-content.is-resizing .chat-graph-divider{background:#9e9991}.chat-layout .chat-main-content.is-resizing .chat-graph-divider .chat-graph-divider-grip{opacity:1}.chat-layout .chat-sessions-panel{background:#f8f8f8;box-shadow:2px 0 4px #0000000d;display:flex;flex-direction:column;min-height:0;overflow:visible;position:relative;transition:all .3s ease;width:280px;z-index:200}@media(min-width:769px){.chat-layout .chat-sessions-panel{background:#f7f4ec;box-shadow:inset -1px 0 0 #a69b7e54,2px 0 8px rgba(0,0,0,.035);position:relative;z-index:220}.chat-layout .chat-sessions-panel:after{background:#a69b7e6b;content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:1px}}.chat-layout .chat-sessions-panel.collapsed{background:#f8f8f8!important;width:60px}@media(min-width:769px){.chat-layout .chat-sessions-panel.collapsed{background:#f7f4ec!important}}.chat-layout .chat-sessions-panel.collapsed .session-list{background:#f8f8f8!important}@media(min-width:769px){.chat-layout .chat-sessions-panel.collapsed .session-list{background:#f7f4ec!important}}.chat-layout .chat-sessions-panel.collapsed .session-list-header{justify-content:center;padding:15px 5px}.chat-layout .chat-sessions-panel.collapsed .session-list-header .sidebar-logo{display:none}.chat-layout .chat-center-panel{background:#fff;border-radius:0;box-shadow:0 0 20px #00000026;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;position:relative}@media(min-width:769px){.chat-layout .chat-center-panel{z-index:5}}.chat-layout .chat-main-content.graph-collapsed .chat-center-panel{box-shadow:0 0 30px #00000014;margin-left:auto;margin-right:auto;max-width:1550px;width:100%}.chat-layout .chat-main-content.graph-collapsed .chat-input-area,.chat-layout .chat-main-content.graph-collapsed .chat-messages{margin-left:auto;margin-right:auto;max-width:1550px;width:100%}.chat-layout .chat-main-content.graph-collapsed{background-color:#fbfaf9;background-color:var(--chat-interface-bg,#fbfaf9)}.chat-layout .chat-dashboard-panel{background:var(--chat-interface-bg);font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);height:100%;overflow-y:auto}.chat-layout .graph-reveal-tab{align-items:center;-webkit-appearance:none;appearance:none;background:#667eea;border:none;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px #0000002e;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:5px;padding:10px 8px 10px 10px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:background .15s,padding .15s;writing-mode:horizontal-tb;z-index:50}.chat-layout .graph-reveal-tab:hover{background:#5567d5;padding-right:12px}.chat-layout .chat-graph-panel{background:#fff;border-radius:0;box-shadow:0 0 20px #00000026;display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;min-width:0;overflow:hidden;position:relative}.chat-layout .chat-graph-panel .graph-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0!important;justify-content:space-between;padding:10px 15px}.chat-layout .chat-graph-panel .graph-header h5{font-size:1.05rem;font-weight:600;margin:0}.chat-layout .chat-graph-panel .graph-header .graph-header-buttons{align-items:center;display:flex;gap:6px}.chat-layout .chat-graph-panel .graph-header .export-dropdown{position:relative}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:600;gap:4px;padding:5px 13px;transition:background .18s;white-space:nowrap}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn.open,.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn:hover{background:#5567d5}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn:active{background:#45b}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu{background:#fff;border:1px solid #d0d4e8;border-radius:8px;box-shadow:0 4px 16px #00000021;min-width:170px;overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);z-index:200}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button{background:#0000;border:none;color:#333;cursor:pointer;display:block;font-size:.86rem;font-weight:500;padding:9px 16px;text-align:left;transition:background .15s;white-space:nowrap;width:100%}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button:hover{background:#f0f2ff;color:#667eea}.chat-layout .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button:not(:last-child){border-bottom:1px solid #f0f0f5}.chat-layout .chat-graph-panel .graph-header .graph-toggle-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #d0d4e8;border-radius:6px;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;padding:0;transition:background .15s,border-color .15s;width:26px}.chat-layout .chat-graph-panel .graph-header .graph-toggle-btn:hover{background:#eef0ff;border-color:#667eea}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:20px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;gap:6px;height:28px;justify-content:center;padding:0 4px;transition:color .18s,background .18s}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn:hover{background:#f3f4f6;color:#6b7280}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn .grid-icon{align-items:center;display:flex;font-size:1.5rem;line-height:1;margin-top:-2px}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn .grid-switch-track{align-items:center;background:#e5e7eb;border-radius:18px;box-shadow:inset 0 1px 2px #0000000d;display:flex;height:18px;position:relative;transition:background .3s ease;width:32px}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn .grid-switch-thumb{align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;display:flex;height:14px;justify-content:center;left:2px;position:absolute;transition:transform .3s cubic-bezier(.4,0,.2,1);width:14px}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn.on{color:#2563eb}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn.on:hover{background:#eff6ff;color:#1d4ed8}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn.on .grid-switch-track{background:#22c55e}.chat-layout .chat-graph-panel .graph-header .grid-icon-btn.on .grid-switch-thumb{transform:translateX(14px)}.chat-layout .chat-graph-panel .graph-content{display:flex!important;flex:1 1!important;flex-direction:column!important;height:auto!important;min-height:0!important;overflow:hidden!important;position:relative!important}.chat-layout .chat-graph-panel .graph-content .graph-home-btn{align-items:center;background:#fff;border:none;border-radius:50%;bottom:12px;box-shadow:0 2px 6px #0000002e;color:#555;cursor:pointer;display:flex;height:36px;justify-content:center;opacity:.85;position:absolute;right:12px;transition:transform .15s,box-shadow .15s,opacity .2s;width:36px;z-index:5}.chat-layout .chat-graph-panel .graph-content .graph-home-btn:hover{opacity:1}.chat-layout .chat-graph-panel .graph-content .graph-home-btn:active{box-shadow:0 1px 4px #0000001f;transform:scale(.9)}.chat-layout .chat-graph-panel .code-panel-overlay{background:#fff;border-top:2px solid #667eea;bottom:0;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:50px;z-index:5}.chat-layout .chat-graph-panel .code-panel-overlay .code-panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 12px}.chat-layout .chat-graph-panel .code-panel-overlay .code-panel-header h6{font-size:.9rem;margin:0}.chat-layout .chat-graph-panel .code-panel-overlay .code-panel-content{flex:2 1;overflow:auto}.chat-layout .chat-graph-panel .code-panel-overlay .stdout-panel-content{background:#fafafa;border-top:1px solid #e0e0e0;flex:1 1;overflow:auto;padding:10px}.chat-layout .chat-graph-panel .code-panel-overlay .stdout-panel-content h6{font-size:.85rem;margin-bottom:8px}.session-list{background:#f8f8f8;display:flex;flex-direction:column;height:100%;min-height:0;overflow:visible}.session-list .session-list-header{align-items:center;background:#f8f8f8;border-bottom:1px solid #e8e8e8;color:#333;display:flex;flex-shrink:0;justify-content:space-between;min-height:60px;padding:15px}.session-list .session-list-header .sidebar-logo{align-items:center;display:flex;gap:10px}.session-list .session-list-header .sidebar-logo .logo-icon{height:32px;width:32px}.session-list .session-list-header .sidebar-logo .logo-icon-small{height:40px;width:40px}.session-list .session-list-header .sidebar-logo .logo-text{color:#333;font-size:1.2rem;font-weight:700}.session-list .session-list-header .collapse-toggle-btn{background:#0000!important;border:none!important;box-shadow:none!important;color:#555!important;padding:8px!important;text-decoration:none!important;transition:all .2s}.session-list .session-list-header .collapse-toggle-btn:hover{background:#0000000d!important;color:#333!important}.session-list .session-list-header .collapse-toggle-btn:focus{box-shadow:none!important;outline:none!important}.session-list .session-list-header .collapse-toggle-btn svg{display:block}.session-list .sidebar-navigation{display:flex;flex-direction:column;gap:4px;padding:15px 0}.session-list .sidebar-navigation .nav-btn{align-items:center;background:#0000!important;border:none!important;border-radius:8px;color:#333!important;display:flex;font-size:.95rem;gap:12px;padding:10px 16px;text-align:left!important;text-decoration:none!important;transition:all .2s;width:100%}.session-list .sidebar-navigation .nav-btn:hover{background:#0000000d!important;border-color:#0000;color:#333!important;text-decoration:none!important}.session-list .sidebar-navigation .nav-btn.new-chat-btn{font-weight:500}.session-list .sidebar-navigation .nav-btn .nav-icon{font-size:1.1rem;text-align:center;width:20px}.session-list .sidebar-navigation .nav-btn .nav-text{flex:1 1}.session-list .sidebar-navigation .assignment-builder-back-btn{color:#4f5ec7!important;font-size:.9rem;font-weight:600}.session-list .sidebar-navigation .assignment-builder-back-btn .nav-icon{color:#4f5ec7}.session-list .sidebar-navigation .assignment-builder-back-btn:hover{color:#3a4aaa!important}.session-list .sidebar-navigation .assignment-builder-new-wrapper .new-chat-btn{font-size:.9rem;padding-left:35px!important}.session-list .sidebar-navigation .session-count-badge{color:#999;font-size:.85rem;padding:8px 16px}.session-list .sidebar-navigation .sessions-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;user-select:none}.session-list .sidebar-navigation .sessions-section-header .sessions-section-label{color:#999;font-size:.85rem}.session-list .sidebar-navigation .sessions-section-header .sessions-section-toggle{color:#bbb;font-size:.78rem;opacity:0;transition:opacity .15s ease}.session-list .sidebar-navigation .sessions-section-header:hover .sessions-section-toggle{opacity:1}.session-list .sidebar-navigation .sidebar-role-switcher{display:flex;flex-direction:column;gap:4px}.session-list .sidebar-navigation .sidebar-role-switcher .role-mode-btn{cursor:pointer}.session-list .sidebar-navigation .sidebar-role-switcher .role-mode-btn.active{background:#6474d21f!important;color:#4f5ec7!important;font-weight:600}.session-list .sidebar-navigation .sidebar-role-switcher .assignment-builder-sub-btn{color:#4f5ec7!important;font-size:.85rem;padding-left:35px!important}.session-list .sidebar-navigation .sidebar-role-switcher .assignment-builder-sub-btn .nav-text{font-weight:500}.session-list .sidebar-navigation .teacher-dashboard-earn-card{grid-gap:8px;background:#f6f0e5;border:1px solid #e7dfcf;border-radius:16px;display:grid;gap:8px;margin-top:10px;padding:12px;text-align:center}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-illustration{margin:0 auto;max-width:160px;width:100%}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-illustration svg{display:block;height:auto;width:100%}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-title{color:#1f3554;font-size:1.2rem;font-weight:800;letter-spacing:-.01em}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-copy{color:#55637a;font-size:.84rem;line-height:1.35;margin:0 auto}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-cta{background:#e59a17;border:none;border-radius:12px;color:#fff;cursor:default;font-size:.95rem;font-weight:700;padding:9px 12px}.session-list .session-list-sentinel{height:1px;margin-bottom:4px}.session-list .session-list-loading{color:#bbb;font-size:.78rem;padding:8px 16px;text-align:center}.session-list .session-list-scroll-container{background:#f8f8f8;flex:1 1;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.session-list .session-list-scroll-container::-webkit-scrollbar{display:none}.session-list .session-list-scroll-container .mobile-new-chat-container{display:none}.session-list .session-list-items{background:#0000;border-radius:0}.session-list .session-list-items .session-group-title{align-items:center;color:#6b7280;display:flex;font-size:.72rem;font-weight:500;justify-content:space-between;letter-spacing:.05em;padding:12px 8px 4px;text-transform:uppercase}.session-list .session-list-items .session-group-title .group-title-label{flex:1 1}.session-list .session-list-items .session-group-title .group-delete-btn{align-items:center;background:none;border:none;border-radius:4px;color:#7b7b7b;cursor:pointer;display:flex;justify-content:center;line-height:1;opacity:.75;padding:2px 4px;transition:opacity .15s ease,color .15s ease,background .15s ease}.session-list .session-list-items .session-group-title .group-delete-btn:hover{background:#e53e3e1a;color:#e53e3e;opacity:1}.session-list .session-list-items .session-list-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;border-radius:6px;color:#333;cursor:pointer;display:flex;justify-content:space-between;margin:2px 8px;padding:6px 10px!important;position:relative;transition:all .2s ease}.session-list .session-list-items .session-list-item:hover{background:#0000000d;border-left-color:#0000}.session-list .session-list-items .session-list-item.active{font-weight:500}.session-list .session-list-items .session-list-item.active .session-actions .session-menu-trigger,.session-list .session-list-items .session-list-item:hover .session-actions .session-menu-trigger{opacity:1;pointer-events:auto}.session-list .session-list-items .session-list-item .session-info{align-items:center;display:flex;flex:1 1;gap:4px;min-width:0}.session-list .session-list-items .session-list-item .session-info .session-title{color:#333;flex:1 1;font-size:.875rem;margin-bottom:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list .session-list-items .session-list-item .session-info .session-stub-icon{align-items:center;display:flex;flex-shrink:0;line-height:1;opacity:.45}.session-list .session-list-items .session-list-item .session-info .session-meta{align-items:center;display:flex;gap:8px}.session-list .session-list-items .session-list-item .session-info .session-meta small{color:#888!important}.session-list .session-list-items .session-list-item .session-actions{align-items:center;display:flex;justify-content:flex-end;min-width:28px;position:relative}.session-list .session-list-items .session-list-item .session-actions .session-menu-trigger{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:6px;color:#777;cursor:pointer;display:inline-flex;font-size:1rem;height:24px;justify-content:center;line-height:1;opacity:0;padding:0;pointer-events:none;transition:opacity .15s ease;width:24px}.session-list .session-list-items .session-list-item .session-actions .session-menu-trigger:hover{background:#0000000f;color:#444}.session-list .session-list-items .session-list-item .session-actions .session-action-menu{animation:sessionActionMenuIn .12s ease;background:#fff;border:1px solid #e2e2e2;border-radius:10px;box-shadow:0 6px 18px #0000001f;display:flex;flex-direction:column;gap:2px;min-width:168px;padding:4px;z-index:9999}.session-list .session-list-items .session-list-item .session-actions .session-action-menu .session-action-item{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:8px;padding:8px 10px;text-align:left}.session-list .session-list-items .session-list-item .session-actions .session-action-menu .session-action-item:hover{background:#f3f3f3}.session-list .session-list-items .session-list-item .session-actions .session-action-menu .session-action-item.danger{color:#d83a3a}.session-list .session-list-items .session-list-item .session-actions .session-action-menu .session-action-item.danger:hover{background:#fff1f1}@keyframes sessionActionMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.session-list .session-list-empty{color:#999;padding:30px 20px;text-align:center}.session-list .session-list-empty p{margin-bottom:8px}.session-list .sidebar-collapsed-icons{align-items:center;background:#f8f8f8;display:flex;flex-direction:column;gap:15px;height:100%;padding:10px 0}.session-list .sidebar-collapsed-icons .sidebar-icon-btn{align-items:center!important;background:#0000!important;border:none!important;border-radius:8px;box-shadow:none!important;color:#555!important;display:flex!important;font-size:1.5rem;height:45px;justify-content:center!important;padding:8px!important;text-decoration:none!important;transition:all .2s;width:45px}.session-list .sidebar-collapsed-icons .sidebar-icon-btn:hover{background:#0000000d!important;color:#333!important;transform:scale(1.1)}.session-list .sidebar-collapsed-icons .sidebar-icon-btn:focus{box-shadow:none!important;outline:none!important}.session-list .sidebar-collapsed-icons .collapsed-user-section{margin-top:auto;padding-bottom:8px}.session-list .sidebar-collapsed-icons .collapsed-user-section .collapsed-user-avatar{border-radius:50%;cursor:pointer;height:32px;overflow:hidden;transition:transform .2s;width:32px}.session-list .sidebar-collapsed-icons .collapsed-user-section .collapsed-user-avatar img{height:100%;object-fit:cover;width:100%}.session-list .sidebar-collapsed-icons .collapsed-user-section .collapsed-user-avatar:hover{transform:scale(1.05)}.session-list .user-profile-section{background:#fafafa;border-top:1px solid #e0e0e0;margin-top:auto;padding:6px 12px}.session-list .user-profile-section .user-profile-trigger{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s;width:100%}.session-list .user-profile-section .user-profile-trigger:hover{background:#0000000d}.session-list .user-profile-section .user-profile-trigger .user-avatar{border-radius:50%;flex-shrink:0;height:30px;object-fit:cover;width:30px}.session-list .user-profile-section .user-profile-trigger .user-name{color:#333;flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list .user-profile-section .user-profile-trigger .profile-chevron{color:#aaa;flex-shrink:0}@media(min-width:769px){.session-list{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.session-list,.session-list .session-list-header{background:#f7f4ec}.session-list .session-list-header .collapse-toggle-btn{color:#5c584f!important}.session-list .session-list-header .collapse-toggle-btn:hover{background:#ede8dc!important;color:#2f2d29!important}.session-list .sidebar-navigation{gap:4px;padding:12px 0 10px}.session-list .sidebar-navigation .nav-btn{border-radius:12px;color:#5e5a51!important;font-weight:500;padding-left:16px;padding-right:16px}.session-list .sidebar-navigation .nav-btn:hover{background:#eee8dc!important;color:#2f2d29!important}.session-list .sidebar-navigation .nav-btn .nav-icon{align-items:center;display:flex;justify-content:center;width:22px}.session-list .sidebar-navigation .nav-btn .nav-text{font-size:.94rem;letter-spacing:-.01em}.session-list .sidebar-navigation .nav-btn.new-chat-btn{border-radius:14px;min-height:40px;padding:9px 14px}.session-list .sidebar-navigation .nav-btn.new-chat-btn .new-btn-plus-icon{stroke-width:2.35;height:17px;width:17px}.session-list .sidebar-navigation .session-count-badge{color:#8c877a;padding:7px 14px 2px}.session-list .sidebar-navigation .sidebar-role-switcher .role-mode-btn.active{background:#5a69be24!important;color:#4a5bc0!important}.session-list .sidebar-navigation .sidebar-role-switcher .assignment-builder-sub-btn{color:#4a5bc0!important}.session-list .sidebar-navigation .teacher-dashboard-earn-card{background:#f8f2e8;border-color:#e8dec9}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-title{color:#243650}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-copy{color:#5f6777}.session-list .sidebar-navigation .teacher-dashboard-earn-card .teacher-dashboard-earn-cta{background:#e39a1d;color:#fff}.session-list .session-list-scroll-container{background:#f7f4ec}.session-list .session-list-items .session-group-title,.session-list .session-list-items .session-group-title .group-delete-btn{color:#8f8a7d}.session-list .session-list-items .session-group-title .group-delete-btn:hover{background:#ede8dc;color:#615d54}.session-list .session-list-items .session-list-item{border-radius:10px;color:#3b3832}.session-list .session-list-items .session-list-item:hover{background:#efe9dd}.session-list .session-list-items .session-list-item.active{color:#3a362e;font-weight:500}.session-list .session-list-items .session-list-item .session-info .session-title{color:#3a362e}.session-list .session-list-empty{color:#8c877a}.session-list .sidebar-collapsed-icons{background:#f7f4ec}.session-list .sidebar-collapsed-icons .sidebar-icon-btn{color:#5e5a51!important}.session-list .sidebar-collapsed-icons .sidebar-icon-btn:hover{background:#ede8dc!important;color:#2f2d29!important;transform:none}.session-list .user-profile-section{background:#f7f4ec;border-top:1px solid #e5e0d5}.session-list .user-profile-section .user-profile-trigger:hover{background:#eee8dc}.session-list .user-profile-section .user-profile-trigger .user-name{color:#2f2d29}.session-list .user-profile-section .user-profile-trigger .profile-chevron{color:#8c877a}}.user-dropdown-menu{border:1px solid #e8e8e8!important;border-radius:10px!important;box-shadow:0 4px 20px #00000026!important;margin-bottom:8px!important;min-width:220px!important;padding:4px 6px!important;z-index:9999!important}.user-dropdown-menu .email-icon,.user-dropdown-menu .menu-icon{align-items:center;color:inherit;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.user-dropdown-menu .user-email-item{align-items:center;background:#0000!important;color:#999!important;cursor:default!important;display:flex;font-size:13px;height:32px;padding:0}.user-dropdown-menu .dropdown-menu-item{align-items:center;border-radius:8px;color:#333;display:flex;font-size:14px;font-weight:300;height:32px;padding:0}.user-dropdown-menu .dropdown-menu-item:hover{background:#f5f0e8}.user-dropdown-menu .logout-menu-item{align-items:center;border-radius:8px;color:#dc3545;display:flex;font-size:14px;font-weight:300;height:32px;padding:0}.user-dropdown-menu .logout-menu-item:hover{background:#fff5f5;color:#dc3545}.chat-interface{container-type:inline-size;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative}.chat-interface .assignment-creation-toolbar{align-items:center;background:var(--chat-interface-bg);border-bottom:1px solid #00000012;display:flex;gap:0;height:52px;overflow-x:auto;padding:0 20px;position:sticky;scrollbar-width:none;top:0;z-index:25}.chat-interface .assignment-creation-toolbar::-webkit-scrollbar{display:none}.chat-interface .assignment-creation-toolbar .act-context{align-items:center;display:flex;flex-shrink:0;gap:7px}.chat-interface .assignment-creation-toolbar .act-context .act-context-icon{color:#2563eb;flex-shrink:0;opacity:.8}.chat-interface .assignment-creation-toolbar .act-context .act-context-label{color:#64748b;font-size:12.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}@container (max-width: 560px){.chat-interface .assignment-creation-toolbar .act-context{display:none}}.chat-interface .assignment-creation-toolbar .act-divider{background:#e2e8f0;flex-shrink:0;height:18px;margin:0 16px;width:1px}@container (max-width: 560px){.chat-interface .assignment-creation-toolbar .act-divider{display:none}}.chat-interface .assignment-creation-toolbar .act-selector-wrap{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-select-wrap{flex:1 1;max-width:340px;min-width:140px;position:relative}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-select-wrap .act-select{appearance:none;-webkit-appearance:none;background:#fffc;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:500;overflow:hidden;padding:7px 32px 7px 11px;text-overflow:ellipsis;transition:border-color .12s,box-shadow .12s;white-space:nowrap;width:100%}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-select-wrap .act-select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd2e;outline:none}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-select-wrap .act-select:disabled{cursor:not-allowed;opacity:.6}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-select-wrap .act-select-chevron{color:#94a3b8;pointer-events:none;position:absolute;right:9px;top:50%;transform:translateY(-50%)}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-status{align-items:center;display:inline-flex;flex-shrink:0;font-size:11.5px;font-weight:600;gap:5px;white-space:nowrap}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-status.act-loading{color:#64748b}.chat-interface .assignment-creation-toolbar .act-selector-wrap .act-status.act-error{color:#b42318}.chat-interface .assignment-creation-toolbar .act-actions{align-items:center;display:flex;flex-shrink:0;gap:7px;margin-left:12px}.chat-interface .assignment-creation-toolbar .act-actions .act-btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;gap:6px;padding:7px 13px;transition:all .12s;white-space:nowrap}.chat-interface .assignment-creation-toolbar .act-actions .act-btn.btn-new{background:#2563eb;border:1px solid #2563eb;color:#fff}.chat-interface .assignment-creation-toolbar .act-actions .act-btn.btn-new:hover{background:#1d4ed8;border-color:#1d4ed8}.chat-interface .assignment-creation-toolbar .act-actions .act-btn.btn-upload{background:#ffffffd9;border:1px solid #e2e8f0;color:#334155}.chat-interface .assignment-creation-toolbar .act-actions .act-btn.btn-upload:hover:not(:disabled){background:#fff;border-color:#cbd5e1}.chat-interface .assignment-creation-toolbar .act-actions .act-btn.btn-upload:disabled{cursor:not-allowed;opacity:.45}@keyframes act-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@container (max-width: 500px){.chat-interface .assignment-creation-toolbar{height:48px;padding:0 12px}.chat-interface .assignment-creation-toolbar .act-actions .act-btn{font-size:12px;padding:6px 10px}}.chat-interface.desktop-starting-ui{background:var(--chat-interface-bg);color:#000;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);justify-content:center;justify-content:safe center;overflow-y:auto;padding:64px 0 60px}.chat-interface.desktop-starting-ui .chat-messages.desktop-starting-ui{background:#0000;flex:0 0 auto;overflow:visible;padding:0 22px 10px}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome{margin:0 auto;max-width:760px;padding:0;text-align:left}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-logo{display:block;margin-bottom:28px}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-heading{color:#111827;font-family:Georgia,serif;font-family:var(--sketchmath-serif);font-size:clamp(2rem,4vw,2.9rem);font-weight:300;letter-spacing:0;line-height:1.2;margin:0 0 22px}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-heading em{color:#111827;font-style:italic}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-heading .desktop-start-cursor{animation:sm-blink 1s step-end infinite;background:currentColor;display:inline-block;height:.85em;margin-left:1px;vertical-align:text-bottom;width:1.5px}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-subtitle{color:#374151;display:flex;flex-direction:column;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:1.05rem;font-weight:400;gap:4px;line-height:1.55;margin:0}.chat-interface.desktop-starting-ui .chat-welcome.desktop-start-welcome .desktop-start-subtitle p{margin:0}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui{background:#0000;border-top:none;margin:48px auto 0;padding:0;position:relative;width:min(760px,100% - 44px);z-index:1}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .chat-input-group{background:#fff;border:.5px solid #0000002e;border-radius:24px;box-shadow:0 14px 32px #0000001c;padding:11px 12px}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .add-attachment-btn{background:none!important;box-shadow:none!important;color:#555;padding:0 6px}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .add-attachment-btn:hover{color:#111}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .chat-input{color:#000;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:1.06rem}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .chat-input::placeholder{color:#3a3a3a;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);opacity:.72}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .compact-tools-toggle,.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-action-btn,.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-icon-btn,.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn,.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .mode-dropdown-toggle,.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .practice-text{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn{background:#1f1e19!important;border:none!important;border-radius:50%!important;box-shadow:inset 0 0 0 1px #ffffff14,0 2px 8px #0000002e;color:#fff!important;font-size:1.28rem;height:52px;line-height:1;min-height:52px;min-width:52px;touch-action:manipulation;width:52px}@media(hover:hover)and (pointer:fine){.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn:hover:not(:disabled){background:#000!important;color:#fff!important;transform:scale(1.04)}}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn:active:not(:disabled){background:#0a0a0a!important;transform:scale(.98)}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn:disabled{background:#8f8f8f!important;color:#ececec!important}.chat-interface.desktop-starting-ui .chat-input-area.desktop-starting-ui .input-send-btn:focus{box-shadow:0 0 0 3px #0000001f!important}.chat-interface.desktop-starting-ui .desktop-start-discovery-region,.chat-interface.desktop-starting-ui .desktop-start-suggestions-toggle-wrap{margin:22px auto 0;width:min(760px,100% - 44px)}.chat-interface.desktop-starting-ui .desktop-start-action-bar{align-items:center;background:var(--chat-interface-bg);border:.5px solid #0000002e;border-radius:0 0 24px 24px;border-top:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-24px auto 0;padding:36px 20px 14px;width:min(760px,100% - 44px)}.chat-interface.desktop-starting-ui .dsab-btn-wrap{position:relative}.chat-interface.desktop-starting-ui .dsab-btn{align-items:center;background:var(--chat-interface-bg);border:1px solid #dfd7c1;border-radius:14px;box-shadow:0 1px 3px #0000000f;color:#2b2b2b;cursor:pointer;display:inline-flex;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.88rem;font-weight:600;gap:6px;height:42px;padding:0 14px;touch-action:manipulation;transition:background .12s,border-color .12s;white-space:nowrap}@media(hover:hover)and (pointer:fine){.chat-interface.desktop-starting-ui .dsab-btn:hover{background:#ece6d6;border-color:#d4ccc0}}.chat-interface.desktop-starting-ui .dsab-btn.active{background:#e8e0ce;border-color:#c9c0b0}.chat-interface.desktop-starting-ui .dsab-btn .dsab-btn-icon{align-items:center;display:flex;font-size:1rem;line-height:1}.chat-interface.desktop-starting-ui .dsab-btn .dsab-btn-caret{font-size:.72rem;margin-left:2px;opacity:.55}.chat-interface.desktop-starting-ui .dsab-btn .dsab-btn-img{display:block;height:20px;object-fit:contain;transform:translateY(1px);width:20px}.chat-interface.desktop-starting-ui .dsab-btn .dsab-btn-label{line-height:1}.chat-interface.desktop-starting-ui .dsab-sheet-backdrop{inset:0;position:fixed;z-index:1000}.chat-interface.desktop-starting-ui .dsab-sheet{animation:modeSheetIn .14s ease;background:#fff;border:1px solid #0000001f;border-radius:16px;box-shadow:0 8px 24px #00000026;left:0;min-width:160px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:1001}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-title{color:#888;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:6px 12px 4px;text-transform:uppercase}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#1a1a1a;cursor:pointer;display:flex;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.92rem;font-weight:500;gap:8px;padding:9px 12px;text-align:left;transition:background .1s;width:100%}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item:hover{background:#f3f0eb}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item.active{background:#ece7dc}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item .dsab-sheet-badge{flex-shrink:0;font-size:1rem}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item .dsab-sheet-item-label{flex:1 1}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item .dsab-sheet-desc{color:#888;font-size:.78rem;font-weight:400;white-space:nowrap}.chat-interface.desktop-starting-ui .dsab-sheet .dsab-sheet-item .dsab-sheet-check{color:#1a1a1a;font-size:.85rem;margin-left:auto}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list{list-style:none;margin:0;padding:0}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list li{align-items:center;border-radius:0;border-top:1px solid #00000014;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin:0;padding:18px 4px 18px 14px;touch-action:manipulation;transition:color .14s ease}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list li:first-child{border-top:none}@media(hover:hover)and (pointer:fine){.chat-interface.desktop-starting-ui .desktop-start-suggestions-list li:hover .desktop-start-suggestion-text{color:#111827}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list li:hover .desktop-start-suggestion-arrow{opacity:1}}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list .desktop-start-suggestion-text{color:#374151;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:1rem;font-weight:500;line-height:1.42}.chat-interface.desktop-starting-ui .desktop-start-suggestions-list .desktop-start-suggestion-arrow{color:#6b7280;flex-shrink:0;font-size:1rem;line-height:1;opacity:.45;transition:opacity .16s ease}.chat-interface.desktop-starting-ui .desktop-start-suggestions-toggle{-webkit-appearance:none;appearance:none;background:#edeae7;border:1px solid #ddd8d3;border-radius:999px;color:#2b2b2b;cursor:pointer;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.9rem;font-weight:600;padding:9px 16px;transition:background .15s ease,border-color .15s ease}.chat-interface.desktop-starting-ui .desktop-start-suggestions-toggle:hover{background:#e5e1de;border-color:#d4cfc9}@media(min-width:769px){.chat-interface.desktop-starting-ui{padding:96px 0 60px}}.chat-interface.desktop-starting-ui.assignment-builder-pinned{justify-content:flex-start;padding-top:0}.chat-interface.desktop-starting-ui.assignment-builder-pinned .chat-messages.desktop-starting-ui{padding-top:48px}.chat-interface.desktop-starting-ui.assignment-builder-pinned .compact-upgrade-pill{display:none}.chat-interface.is-dragging .drag-overlay{display:flex}.chat-interface .drag-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffffe6;display:none;flex-direction:column;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:9999}.chat-interface .drag-overlay .drag-content{align-items:center;border:3px dashed #667eea;border-radius:12px;color:#333;display:flex;flex-direction:column;padding:2rem;text-align:center}.chat-interface .drag-overlay .drag-content .drag-icon{animation:float 2s ease-in-out infinite;font-size:4rem;margin-bottom:1rem}.chat-interface .drag-overlay .drag-content .drag-text{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.chat-interface .drag-overlay .drag-content .drag-subtext{color:#666;font-size:1rem}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.chat-interface .chat-messages{background:#fff;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px}.chat-interface .chat-messages .chat-welcome{padding:40px 20px;text-align:center}.chat-interface .chat-messages .chat-welcome h3{color:#667eea;font-weight:700;margin-bottom:15px}.chat-interface .chat-messages .chat-welcome .chat-examples{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-top:30px;padding:20px;text-align:left}.chat-interface .chat-messages .chat-welcome .chat-examples h5{color:#667eea;font-size:1rem;margin-bottom:12px}.chat-interface .chat-messages .chat-welcome .chat-examples ul{list-style:none;padding:0}.chat-interface .chat-messages .chat-welcome .chat-examples ul li{background:#f8f9fa;border-left:3px solid #667eea;border-radius:6px;cursor:pointer;margin:6px 0;padding:8px 12px;transition:all .2s}.chat-interface .chat-messages .chat-welcome .chat-examples ul li:hover{background:#e8eaff;transform:translateX(5px)}.chat-interface .chat-messages .chat-welcome .chat-welcome-hint{align-items:center;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #ddd6fe;border-radius:10px;color:#667eea;display:flex;font-size:1rem;gap:10px;justify-content:flex-start;line-height:1.5;margin-top:16px;padding:14px 20px;text-align:left}.chat-interface .chat-messages .chat-welcome .chat-welcome-hint .chat-welcome-hint-icon{flex-shrink:0;height:26px;object-fit:contain;width:26px}.chat-interface .chat-messages .chat-welcome .chat-welcome-hint strong{color:#667eea}.chat-interface .chat-message{display:flex;flex-direction:column;margin-bottom:20px}.chat-interface .chat-message.chat-message-user{align-items:flex-end}.chat-interface .chat-message.chat-message-user .chat-message-content-text{background:#efefef;border-radius:18px 18px 4px 18px;box-shadow:0 1px 2px #00000014;color:#1a1a1a;max-width:70%;overflow-wrap:break-word;padding:10px 14px;white-space:pre-wrap}.chat-interface .chat-message.chat-message-user .chat-message-content-image{align-self:flex-end;background:#0000;box-shadow:none;display:inline-flex;max-width:70%;padding:0}.chat-interface .chat-message.chat-message-user .chat-message-content-image img{border-radius:12px;box-shadow:0 2px 6px #00000026;display:block;max-height:200px;max-width:200px}.chat-interface .chat-message.chat-message-assistant{align-items:flex-start}.chat-interface .chat-message.chat-message-assistant .chat-message-content{background:#0000;color:#333;max-width:80%;padding:12px 16px}.chat-interface .chat-message .chat-message-text{line-height:1.5}.chat-interface .chat-message .streaming-cursor{animation:streaming-blink .8s step-end infinite;background:currentColor;display:inline-block;height:1em;margin-left:2px;opacity:.7;vertical-align:text-bottom;width:2px}@keyframes streaming-blink{0%,to{opacity:.7}50%{opacity:0}}@keyframes spin{to{transform:rotate(1turn)}}.chat-interface .chat-message .answer-box{background:#0000;line-height:1.7;margin-bottom:12px;padding:16px}.chat-interface .chat-message .answer-box p{margin:.75em 0}.chat-interface .chat-message .answer-box p:first-child{margin-top:0}.chat-interface .chat-message .answer-box p:last-child{margin-bottom:0}.chat-interface .chat-message .answer-box h2,.chat-interface .chat-message .answer-box h3,.chat-interface .chat-message .answer-box h4{font-weight:600;line-height:1.3;margin:1.2em 0 .5em}.chat-interface .chat-message .answer-box h2:first-child,.chat-interface .chat-message .answer-box h3:first-child,.chat-interface .chat-message .answer-box h4:first-child{margin-top:0}.chat-interface .chat-message .answer-box ol,.chat-interface .chat-message .answer-box ul{margin:.5em 0;padding-left:1.5em}.chat-interface .chat-message .answer-box li{margin-bottom:.25em}.chat-interface .chat-message .answer-box code{background:#00000014;border-radius:3px;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.9em;padding:2px 6px}.chat-interface .chat-message .answer-box strong{font-weight:600}.chat-interface .chat-message .additional-content{color:#555;line-height:1.5;margin-top:8px}.chat-interface .chat-message .additional-content p{margin:.75em 0}.chat-interface .chat-message .additional-content h2,.chat-interface .chat-message .additional-content h3,.chat-interface .chat-message .additional-content h4{font-weight:600;line-height:1.3;margin:1.2em 0 .5em}.chat-interface .chat-message .additional-content ol,.chat-interface .chat-message .additional-content ul{margin:.5em 0;padding-left:1.5em}.chat-interface .chat-message .additional-content li{margin-bottom:.25em}.chat-interface .chat-message .additional-content code{background:#00000014;border-radius:3px;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.9em;padding:2px 6px}.chat-interface .chat-message .chat-message-text .math-markdown-container>div{margin:.6em 0}.chat-interface .chat-message .chat-message-text .math-markdown-container>div:first-child{margin-top:0}.chat-interface .chat-message .chat-message-text .math-markdown-container>div:last-child{margin-bottom:0}.chat-interface .chat-message .chat-message-text p{margin:.75em 0}.chat-interface .chat-message .chat-message-text p:first-child{margin-top:0}.chat-interface .chat-message .chat-message-text p:last-child{margin-bottom:0}.chat-interface .chat-message .chat-message-text h2,.chat-interface .chat-message .chat-message-text h3,.chat-interface .chat-message .chat-message-text h4{font-weight:600;line-height:1.3;margin:1.2em 0 .5em}.chat-interface .chat-message .chat-message-text h2:first-child,.chat-interface .chat-message .chat-message-text h3:first-child,.chat-interface .chat-message .chat-message-text h4:first-child{margin-top:0}.chat-interface .chat-message .chat-message-text ol,.chat-interface .chat-message .chat-message-text ul{margin:.5em 0;padding-left:1.5em}.chat-interface .chat-message .chat-message-text li{margin-bottom:.25em}.chat-interface .chat-message .chat-message-text code{background:#00000014;border-radius:3px;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.9em;padding:2px 6px}.chat-interface .chat-message .chat-message-text pre{background:#2d2d2d;border-radius:8px;color:#f8f8f2;margin:.5em 0;overflow-x:auto;padding:12px}.chat-interface .chat-message .chat-message-text pre code{background:#0000;color:inherit;padding:0}.chat-interface .chat-message .chat-message-text strong{font-weight:600}.chat-interface .chat-message .chat-message-text em{font-style:italic}.chat-interface .chat-message .chat-message-text blockquote{border-left:3px solid #ddd;color:#666;margin:.5em 0;padding-left:1em}.chat-interface .chat-message .chat-message-image{margin-bottom:10px}.chat-interface .chat-message .chat-message-image img{border-radius:8px;box-shadow:0 2px 6px #0003;max-height:200px;max-width:100%}.chat-interface .chat-message .chat-message-images-grid{grid-gap:4px;display:grid;gap:4px;margin-bottom:10px;max-width:320px}.chat-interface .chat-message .chat-message-images-grid[data-count="2"]{grid-template-columns:1fr 1fr}.chat-interface .chat-message .chat-message-images-grid[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.chat-interface .chat-message .chat-message-images-grid[data-count="4"]{grid-template-columns:1fr 1fr}.chat-interface .chat-message .chat-message-images-grid img{aspect-ratio:1/1;border-radius:8px;box-shadow:0 2px 6px #0003;display:block;object-fit:cover;width:100%}.chat-interface .chat-message .chat-message-code{background:#0000000d;border-radius:8px;margin-top:10px;overflow:hidden}.chat-interface .chat-message .chat-message-code .code-header{background:#0000000d;border-bottom:1px solid #0000001a;padding:6px 10px}.chat-interface .chat-message .chat-message-code .code-header small{font-weight:600;opacity:.7}.chat-interface .chat-message .chat-message-code pre{background:#2d2d2d;color:#f8f8f2;font-size:.85rem;margin:0;max-height:300px;overflow:auto;padding:12px}.chat-interface .chat-message .chat-message-code pre code{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-interface .chat-message .chat-message-timestamp{color:#999;font-size:.75rem;margin-top:4px;padding:0 8px}.msg-actions{align-items:center;display:flex;flex-direction:row;gap:18px;margin-top:6px;padding:0 2px}.msg-actions .msg-action-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#0000!important;background:#0000!important;border:0 solid #0000!important;border-radius:0;box-shadow:none!important;color:#888;cursor:pointer;display:flex;font-size:.72rem;gap:4px;justify-content:center;line-height:1;outline:none!important;padding:6px 2px;touch-action:manipulation;transition:color .15s}@media(hover:hover)and (pointer:fine){.msg-actions .msg-action-btn:hover{background:#0000!important;color:#555}}.msg-actions .msg-action-btn.active{color:#667eea}.msg-actions .msg-action-btn.disabled{color:#bcbcbc;cursor:not-allowed;opacity:.85}.msg-actions .msg-action-btn.disabled:hover{color:#bcbcbc}.msg-actions .msg-action-btn .msg-action-label{font-size:.68rem;font-weight:500;letter-spacing:.01em}.msg-actions .msg-action-btn.add-to-assignment-btn{background:#4f5ec7!important;background-color:#4f5ec7!important;border:none!important;border-radius:20px!important;box-shadow:0 1px 4px #4f5ec759!important;color:#fff!important;font-weight:600;padding:5px 12px!important}.msg-actions .msg-action-btn.add-to-assignment-btn .msg-action-label{color:#fff;font-size:.8rem;font-weight:600}@media(hover:hover)and (pointer:fine){.msg-actions .msg-action-btn.add-to-assignment-btn:hover{background:#3a4aaa!important;background-color:#3a4aaa!important;color:#fff!important}}.msg-actions .msg-action-btn.add-to-assignment-btn:disabled{cursor:not-allowed;opacity:.6}.feedback-nudge{color:#aaa;font-size:.71rem;font-style:italic;margin-top:4px;padding:0 2px;-webkit-user-select:none;user-select:none}.chat-pinned-question{align-items:center;background:linear-gradient(180deg,#f9faff,#f3f4ff);border:1px solid #d7d9ff;border-radius:12px;box-shadow:0 1px 4px #4f46e514;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin:-4px 0 12px;padding:10px 12px;position:sticky;top:0;z-index:8}.chat-pinned-question .chat-pinned-question-main{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-pinned-question .chat-pinned-question-icon{display:none}.chat-pinned-question .chat-pinned-question-label{color:#6366f1;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.chat-pinned-question .chat-pinned-question-preview{color:#1f2937;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pinned-question .chat-pinned-question-close{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:999px;color:#6b7280;cursor:pointer;font-size:.95rem;line-height:1;padding:4px 6px;touch-action:manipulation}@media(hover:hover)and (pointer:fine){.chat-pinned-question .chat-pinned-question-close:hover{background:#e5e7ff;color:#4f46e5}}.chat-pinned-question.mobile{border-radius:10px;margin:0 0 8px;padding:6px 10px;top:-8px}.chat-pinned-question.mobile .chat-pinned-question-main{align-items:center;flex:1 1;flex-direction:row;gap:6px;min-width:0}.chat-pinned-question.mobile .chat-pinned-question-label{display:none}.chat-pinned-question.mobile .chat-pinned-question-icon{display:inline-flex;flex-shrink:0;font-size:.9rem;line-height:1}.chat-pinned-question.mobile .chat-pinned-question-preview{font-size:.82rem;line-height:1.1}.chat-pinned-question.mobile .chat-pinned-question-close{font-size:.86rem;padding:2px 4px}.practice-toolbar-btn.pinned{background:#f0fdf4;border-color:#86efac;color:#166534}.practice-follow-up-container{margin-top:28px}.practice-follow-up-container .practice-follow-up-divider{margin-bottom:12px;position:relative}.practice-follow-up-container .practice-follow-up-divider:before{background:repeating-linear-gradient(-45deg,#0000,#0000 7px,#00000012 0,#00000012 7.5px);content:"";height:12px;left:0;-webkit-mask-image:linear-gradient(180deg,#000,#0000);mask-image:linear-gradient(180deg,#000,#0000);pointer-events:none;position:absolute;right:0;top:0;z-index:0}.practice-follow-up-container .practice-follow-up-divider:after{border-top:1px solid #0000001a;content:"";left:0;position:absolute;right:0;top:12px;z-index:0}.practice-follow-up-container .practice-follow-up-divider .practice-follow-up-label{align-items:center;background:#fbfaf9;background:var(--chat-bg-normal,#fbfaf9);border:1px solid #0000001f;border-radius:6px;color:#888;display:inline-flex;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.65rem;font-weight:300;height:24px;letter-spacing:.07em;line-height:1;padding:0 10px;position:relative;text-transform:uppercase;z-index:1}.practice-follow-up-container .practice-follow-up-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:999px;box-shadow:0 1px 4px #00000012;cursor:pointer;display:inline-flex;gap:8px;height:42px;padding:0 18px;text-align:left;touch-action:manipulation;transition:background .13s,border-color .13s,box-shadow .13s}@media(hover:hover)and (pointer:fine){.practice-follow-up-container .practice-follow-up-btn:hover{background:#f5f5f5;border-color:#d0d0d0;box-shadow:0 2px 8px #0000001a}.practice-follow-up-container .practice-follow-up-btn:hover .practice-follow-up-arrow{transform:translateX(3px)}}.practice-follow-up-container .practice-follow-up-btn .practice-follow-up-text{color:#2b2b2b;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.92rem;font-weight:600}.practice-follow-up-container .practice-follow-up-btn .practice-follow-up-arrow{color:#6b7280;flex-shrink:0;font-size:.9rem;transition:transform .15s}.chat-practice-section-divider{align-items:center;display:flex;gap:8px;margin:8px 20px;padding:0}.chat-practice-section-divider .chat-practice-section-line{flex:1 1;height:24px;position:relative}.chat-practice-section-divider .chat-practice-section-line:before{background:repeating-linear-gradient(-45deg,#0000,#0000 7px,#00000012 0,#00000012 7.5px);content:"";height:12px;left:0;-webkit-mask-image:linear-gradient(180deg,#000,#0000);mask-image:linear-gradient(180deg,#000,#0000);pointer-events:none;position:absolute;right:0;top:0}.chat-practice-section-divider .chat-practice-section-line:after{border-top:1px solid #0000001a;content:"";left:0;position:absolute;right:0;top:12px}.chat-practice-section-divider .chat-practice-section-line .chat-practice-section-label{align-items:center;background:#fbfaf9;background:var(--chat-interface-bg,#fbfaf9);border:1px solid #0000001f;border-radius:6px;color:#888;display:inline-flex;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.65rem;font-weight:300;height:24px;letter-spacing:.07em;line-height:1;padding:0 10px;position:relative;text-transform:uppercase;z-index:1}.chat-practice-section-divider .chat-practice-regen-btn{-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #0000001f;border-radius:20px;color:#888;cursor:pointer;font-size:.78rem;padding:2px 8px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.chat-practice-section-divider .chat-practice-regen-btn:hover{background:#f0f0f0;border-color:#aaa;color:#444}.chat-practice-label-bubble{align-self:flex-start;color:#888;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.82rem;padding:4px 0}.chat-practice-question-text{background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;flex-direction:column;font-size:.92rem;gap:8px;line-height:1.55;margin-bottom:12px;padding:10px 14px}.chat-practice-question-text p:last-child{margin-bottom:0}.active-learning-prompt{background:#fdfcff;border:1px solid #e1e4fb;border-radius:8px;margin-top:10px;padding:12px 14px}.active-learning-prompt p{color:#444;font-size:.9rem;margin-bottom:10px}.active-learning-prompt p strong{color:#667eea}.active-learning-form-container{margin-bottom:12px}.active-learning-image-preview{display:inline-block;margin-bottom:8px;position:relative}.active-learning-image-preview img{border:1px solid #d2d6f0;border-radius:6px;height:60px;object-fit:cover}.active-learning-image-preview .active-learning-image-remove{align-items:center;background:#444;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;position:absolute;right:-6px;top:-6px;width:20px}.active-learning-image-preview .active-learning-image-remove:hover{background:#dc3545}.active-learning-form{align-items:center;display:flex;gap:8px}.active-learning-form .active-learning-upload-btn{align-items:center;border-radius:8px;color:#667eea;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background-color .2s}.active-learning-form .active-learning-upload-btn:hover{background-color:#eef0ff}.active-learning-form .active-learning-input{border:1px solid #d2d6f0;border-radius:20px;flex:1 1;font-size:.9rem;outline:none;padding:8px 12px;transition:border-color .2s}.active-learning-form .active-learning-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.active-learning-form .active-learning-submit{background:#667eea;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;height:38px;padding:0 16px;transition:background .2s,opacity .2s}.active-learning-form .active-learning-submit:hover:not(:disabled){background:#5a6fe0}.active-learning-form .active-learning-submit:disabled{background:#a9b9ff;cursor:default}.active-learning-divider{align-items:center;color:#999;display:flex;font-size:.8rem;margin-bottom:12px;text-align:center}.active-learning-divider:after,.active-learning-divider:before{border-bottom:1px solid #eaeaea;content:"";flex:1 1}.active-learning-divider:not(:empty):before{margin-right:.5em}.active-learning-divider:not(:empty):after{margin-left:.5em}.solution-toggle-btn.show-anyway{background:#0000;border:1px solid #ddd;color:#666;width:100%}.solution-toggle-btn.show-anyway:hover{background:#f5f5f5;color:#333}.practice-card-toolbar{display:flex;flex-shrink:0;gap:6px;justify-content:flex-end}.practice-card-toolbar .practice-toolbar-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:20px;color:#374151;cursor:pointer;display:inline-flex;font-family:system-ui,-apple-system,sans-serif;font-size:.7rem;font-weight:600;gap:5px;height:26px;justify-content:center;line-height:1;min-width:64px;padding:3px 10px;transition:background .15s,border-color .15s;white-space:nowrap}.practice-card-toolbar .practice-toolbar-btn:hover{background:#f3f4f6;border-color:#9ca3af}.practice-card-toolbar .practice-toolbar-btn.copied,.practice-card-toolbar .practice-toolbar-btn.pinned{background:#f0fdf4;border-color:#86efac;color:#166534}.practice-card-toolbar .toolbar-btn-icon{flex-shrink:0;height:14px;object-fit:contain;width:14px}.practice-card-toolbar .toolbar-btn-icon--lg{height:20px;width:44px}.solution-reveal-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:20px;color:#374151;cursor:pointer;display:inline-flex;font-family:system-ui,-apple-system,sans-serif;font-size:.8rem;font-weight:500;gap:7px;margin-bottom:8px;padding:5px 14px;touch-action:manipulation;transition:background .15s,border-color .15s}@media(hover:hover)and (pointer:fine){.solution-reveal-btn:hover{background:#f3f4f6;border-color:#9ca3af}}.solution-reveal-btn__icon{flex-shrink:0;height:18px;object-fit:contain;width:18px}.solution-toggle-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#f0f2ff;border:1.5px solid #c7cef5;border-radius:20px;color:#667eea;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:500;gap:6px;margin-bottom:12px;padding:5px 14px;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s}@media(hover:hover)and (pointer:fine){.solution-toggle-btn:hover{background:#e4e8ff;border-color:#667eea}.solution-toggle-btn.visible:hover{background:#5567d5}}.solution-toggle-btn.visible{background:#667eea;border-color:#667eea;color:#fff}.chat-message.chat-message-user .chat-message-content-text{background:#e8e8e8!important;border-radius:18px 18px 4px 18px!important;box-shadow:0 1px 2px #00000014!important;color:#1a1a1a!important;display:inline-block;max-width:70%;padding:10px 14px!important}.chat-message.chat-message-user .chat-message-content-text.active-learning-bubble{background:#fffbeb!important;border:2px solid #fbbf24!important;box-shadow:0 0 15px #fbbf244d!important;color:#78350f!important}.chat-message.chat-message-user .chat-message-content-image{align-self:flex-end;background:#0000!important;box-shadow:none!important;display:inline-flex;max-width:70%;padding:0!important}.chat-message.chat-message-user .chat-message-content-image img{border-radius:12px;box-shadow:0 2px 6px #00000026;display:block;max-height:200px;max-width:200px}@media(min-width:769px){.chat-message.chat-message-user .chat-message-content-image img{max-height:340px!important;max-width:380px!important}}.chat-input-area{background:#fff;border-top:none;flex-shrink:1;min-width:0;padding:20px}.chat-input-area .chat-input-wrapper{min-width:0}.chat-input-area .chat-image-previews{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:0 4px}.chat-input-area .chat-image-preview{display:inline-block;position:relative}.chat-input-area .chat-image-preview img{border-radius:8px;box-shadow:0 2px 6px #0003;max-height:150px;max-width:150px}.chat-input-area .chat-image-preview.chat-image-compressing{align-items:center;background:#f0f0f0;border-radius:8px;display:flex;height:64px;justify-content:center;width:64px}.chat-input-area .chat-image-preview.chat-image-compressing .compressing-spinner{animation:spin .7s linear infinite;border:3px solid #ccc;border-radius:50%;border-top-color:#888;height:20px;width:20px}.chat-input-area .chat-image-preview .remove-image-btn{align-items:center;border-radius:50%;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:-8px;top:-8px;width:24px}.chat-input-area .chat-input-group{align-items:center;background:#fff!important;border:1px solid #e0e0e0;border-radius:24px;box-shadow:none;display:flex;gap:10px;min-width:0;padding:10px 16px;transition:border-color .2s}.chat-input-area .chat-input-group.is-compact{gap:6px;padding:8px 10px}.chat-input-area .chat-input-group:focus-within{border-color:#d0d0d0;box-shadow:none}.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn){align-items:center!important;align-self:center!important;background:#fff!important;border:none!important;border-radius:50%!important;color:#1a1a1a!important;display:flex!important;flex-shrink:0;font-size:1.45rem;height:42px;justify-content:center!important;line-height:1!important;margin:0!important;min-height:42px;min-width:42px;padding:0 0 1px!important;touch-action:manipulation;transition:background-color .2s,transform .1s;width:42px}.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):after,.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):before{display:none!important}@media(hover:hover)and (pointer:fine){.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):hover:not(:disabled):not(.generate-question-btn){background:#f0f0f0!important;transform:scale(1.05)}}.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):active:not(:disabled):not(.generate-question-btn){background:#e8e8e8!important;transform:scale(.98)}.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):disabled{background:#fff!important;color:#1a1a1a!important}.chat-input-area .chat-input-group .input-icon-btn:not(.generate-question-btn):focus{box-shadow:0 0 0 2px #0000001a!important}.chat-input-area .chat-input{background:#0000!important;border:none!important;box-shadow:none!important;color:#333;flex:1 1;height:auto;line-height:1.5;max-height:120px;min-height:38px;min-width:0;overflow-y:hidden;padding:8px 4px;resize:none;transition:height .1s ease}.chat-input-area .chat-input::placeholder{color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area .chat-input:disabled{background:#0000!important;color:#333;opacity:1}.chat-input-area .chat-input:focus{border:none;box-shadow:none}.chat-input-area .compact-tools-wrap{align-self:center;flex-shrink:0;position:relative}.chat-input-area .compact-tools-wrap .compact-tools-toggle{align-items:center;background:#ebebeb;border:1px solid #d8d8d8;border-radius:50%;color:#333;cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:600;height:38px;justify-content:center;min-height:38px;min-width:38px;transition:background .15s,transform .1s;width:38px}.chat-input-area .compact-tools-wrap .compact-tools-toggle:hover:not(:disabled){background:#dedede;transform:scale(1.04)}.chat-input-area .compact-tools-wrap .compact-tools-toggle:active:not(:disabled){transform:scale(.98)}.chat-input-area .compact-tools-wrap .compact-tools-toggle:disabled{cursor:default;opacity:.55}.chat-input-area .compact-tools-wrap .compact-tools-backdrop{background:#0000;inset:0;position:fixed;z-index:999}.chat-input-area .compact-tools-wrap .compact-tools-sheet{animation:modeSheetIn .15s ease;background:#fff;border:1px solid #e0e0e0;border-radius:14px;bottom:calc(100% + 8px);box-shadow:0 6px 24px #00000021;min-width:170px;padding:6px;position:absolute;right:0;z-index:1000}.chat-input-area .compact-tools-wrap .compact-tools-sheet .compact-tools-title{color:#aaa;font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:4px 10px 6px;text-transform:uppercase}.chat-input-area .compact-tools-wrap .compact-tools-sheet .compact-tools-item{align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:9px 10px;text-align:left;transition:background .12s;width:100%}.chat-input-area .compact-tools-wrap .compact-tools-sheet .compact-tools-item:hover{background:#f5f5f5}.chat-input-area .compact-tools-wrap .compact-tools-sheet .compact-tools-item .compact-tools-icon{flex-shrink:0;font-size:1rem;text-align:center;width:18px}.chat-input-area .compact-tools-wrap .compact-tools-sheet .compact-tools-item .compact-tools-label{color:#222;font-size:.88rem;font-weight:500;line-height:1.2}.chat-input-area .mode-picker-wrap{align-self:center;flex-shrink:0;position:relative}.chat-input-area .mode-picker-wrap .mode-dropdown-toggle{align-items:center;background:#ebebeb;border:1px solid #d8d8d8;border-radius:999px;color:#333;cursor:pointer;display:inline-flex;font-size:.83rem;font-weight:500;gap:4px;height:42px;justify-content:center;padding:0 14px;transition:background .15s;white-space:nowrap}.chat-input-area .mode-picker-wrap .mode-dropdown-toggle:hover:not(:disabled){background:#dedede}.chat-input-area .mode-picker-wrap .mode-dropdown-toggle:disabled{cursor:default;opacity:.5}.chat-input-area .mode-picker-wrap .mode-dropdown-toggle .mode-caret{font-size:.55rem;opacity:.6;transform:rotate(0deg)}.chat-input-area .mode-picker-wrap .mode-hint-popover{animation:hintPopIn .3s cubic-bezier(.34,1.56,.64,1);background:#3b82f6;border-radius:12px;bottom:calc(100% + 14px);box-shadow:0 8px 24px #3b82f659;color:#fff;font-size:.88rem;font-weight:500;line-height:1.4;max-width:250px;padding:10px 16px;position:absolute;right:-8px;text-align:center;width:max-content;z-index:1000}.chat-input-area .mode-picker-wrap .mode-hint-popover:after{background:#3b82f6;border-bottom-right-radius:2px;bottom:-5px;content:"";height:12px;position:absolute;right:30px;transform:rotate(45deg);width:12px}.chat-input-area .mode-picker-wrap .mode-sheet-backdrop{background:#0000;inset:0;position:fixed;z-index:999}.chat-input-area .mode-picker-wrap .mode-sheet{animation:modeSheetIn .15s ease;background:#fff;border:1px solid #e0e0e0;border-radius:14px;bottom:calc(100% + 8px);box-shadow:0 6px 24px #00000021;min-width:190px;padding:6px;position:absolute;right:0;z-index:1000}.chat-input-area .mode-picker-wrap .mode-sheet .mode-sheet-item{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:9px 10px;text-align:left;touch-action:manipulation;transition:background .12s;width:100%}@media(hover:hover)and (pointer:fine){.chat-input-area .mode-picker-wrap .mode-sheet .mode-sheet-item:hover{background:#f5f5f5}}.chat-input-area .mode-picker-wrap .mode-sheet .mode-sheet-item.active{background:#f0f0f0;font-weight:600}.chat-input-area .input-action-btn{align-items:center;align-self:center;background:#fff;border:1px solid #e0e0e0;border-radius:999px!important;color:#2b2b2b;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:.85rem;font-weight:600;gap:6px;height:38px;padding:0 12px;transition:background .12s,border-color .12s;white-space:nowrap}.chat-input-area .input-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#d0d0d0}.chat-input-area .input-action-btn:disabled{cursor:default;opacity:.5}.chat-input-area .input-action-btn .input-action-img{display:block;height:18px;object-fit:contain;width:18px}.chat-input-area .input-action-btn .mode-caret{font-size:.55rem;opacity:.6}.chat-input-area .input-action-btn.icon-only{gap:0;padding:0 10px}.chat-input-area .input-action-btn.icon-only .input-action-label,.chat-input-area .input-action-btn.icon-only .mode-caret{display:none}@keyframes modeSheetIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes hintPopIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-input-area .image-picker-wrap{align-self:center;flex-shrink:0;position:relative}.chat-input-area .image-picker-wrap .image-sheet-backdrop{background:#0000;inset:0;position:fixed;z-index:999}.chat-input-area .image-picker-wrap .image-action-sheet{animation:modeSheetIn .15s ease;background:#fff;border:1px solid #e0e0e0;border-radius:14px;bottom:calc(100% + 8px);box-shadow:0 6px 24px #00000021;left:0;min-width:180px;padding:6px;position:absolute;z-index:1000}.chat-input-area .image-picker-wrap .image-action-sheet .image-action-sheet-title{color:#aaa;font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:4px 10px 6px;text-transform:uppercase}.chat-input-area .image-picker-wrap .image-action-sheet .image-action-item{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:9px 12px;text-align:left;touch-action:manipulation;transition:background .12s;width:100%}@media(hover:hover)and (pointer:fine){.chat-input-area .image-picker-wrap .image-action-sheet .image-action-item:hover{background:#f5f5f5}}.chat-input-area .image-picker-wrap .image-action-sheet .image-action-item .image-action-icon{flex-shrink:0;font-size:1.15rem}.chat-input-area .image-picker-wrap .image-action-sheet .image-action-item .image-action-label{color:#222;font-size:.88rem;font-weight:500}.chat-input-area .input-send-btn{align-items:center!important;align-self:center!important;background:#f0f0f0!important;border:none!important;border-radius:50%!important;color:#666;display:flex!important;flex-shrink:0;font-size:1.3rem;height:38px;justify-content:center!important;line-height:1!important;margin:0!important;min-height:38px;min-width:38px;padding:0!important;text-align:center!important;text-decoration:none!important;touch-action:manipulation;transition:background-color .2s,transform .1s;vertical-align:middle!important;width:38px}@media(hover:hover)and (pointer:fine){.chat-input-area .input-send-btn:hover:not(:disabled){background:#667eea!important;color:#fff!important;text-decoration:none!important;transform:scale(1.08)}}.chat-input-area .input-send-btn:active:not(:disabled){background:#5568d3!important;transform:scale(.98)}.chat-input-area .input-send-btn:disabled{background:#e8e8e8!important;color:#bbb!important}.chat-input-area .input-send-btn:focus{box-shadow:0 0 0 2px #667eea40!important}.chat-input-area .input-send-btn .form-check{margin-bottom:6px}@media(min-width:769px){.chat-layout .chat-main-content:not(.desktop-starting-ui){background:var(--chat-interface-bg)}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-center-panel{background:var(--chat-interface-bg);box-shadow:none}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-divider{background:#d1cdc4;border:none}.chat-layout .chat-main-content:not(.desktop-starting-ui).is-resizing .chat-graph-divider{background:#9e9991}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel{background:var(--chat-interface-bg);box-shadow:none;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header{background:#f7f4ec;border-bottom:1px solid #e4dbc3;color:#302e2a;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header h5{color:#2f2d29;font-weight:600;letter-spacing:-.01em}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .graph-toggle-btn{border-color:#cfc4a8;color:#5c5648}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .graph-toggle-btn:hover{background:#eee6d4;border-color:#b5a885}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .grid-icon-btn{color:#7d7462}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .grid-icon-btn:hover{background:#eee6d4;color:#5f584b}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .grid-icon-btn.on{color:#285fce}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .grid-icon-btn.on:hover{background:#e5ecff;color:#204fae}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn{background:#26231d;color:#fff}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn.open,.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn:hover{background:#171511}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-btn:active{background:#0e0d0a}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu{border:1px solid #ddd2b7}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button{color:#2d2b26}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button:hover{background:#f3ecdd;color:#1f1d19}.chat-layout .chat-main-content:not(.desktop-starting-ui) .chat-graph-panel .graph-header .export-dropdown .export-dropdown-menu button:not(:last-child){border-bottom:1px solid #efe5ce}.chat-layout .chat-interface:not(.desktop-starting-ui){background:var(--chat-interface-bg);color:#1f1e1b;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages{background:var(--chat-interface-bg);font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);padding:20px 20px 8px}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages::-webkit-scrollbar{width:14px}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages::-webkit-scrollbar-track{background:#0000;background-clip:padding-box;border-right:8px solid #0000}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#c8bfae;border-radius:3px;border-right:8px solid #0000}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages::-webkit-scrollbar-thumb:hover{background-color:#b5ab98}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages::-webkit-scrollbar-thumb:active{background-color:#9d927f}@supports(-moz-appearance:none){.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-messages{scrollbar-color:#c8bfae var(--chat-interface-bg);scrollbar-width:thin}}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-message.chat-message-user .chat-message-content-text{background:#ece7da!important;color:#1f1e1b!important}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-message.chat-message-assistant .chat-message-content{background:#0000;box-sizing:border-box;color:#26241f;font-family:var(--chat-interface-font);max-width:100%;width:100%}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-message .chat-message-timestamp{color:#988f7f}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-message .answer-box{background:#0000}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area{background:#0000;border-top:none;padding:0 20px 8px}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .chat-input-group{background:#fff;border:1px solid #d8cfb9}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .chat-input{color:#1f1d18;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .chat-input::placeholder{color:#8c8372;opacity:.9}.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .compact-tools-toggle,.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .input-action-btn,.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .input-icon-btn,.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .input-send-btn,.chat-layout .chat-interface:not(.desktop-starting-ui) .chat-input-area .mode-dropdown-toggle{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}}.in-app-survey-card{background:linear-gradient(180deg,#f8fbff,#eef5ff);border:1px solid #dbeafe;border-radius:16px;box-shadow:0 10px 28px #1e40af14;margin:0 20px 12px;overflow:hidden}.in-app-survey-card .in-app-survey-header{align-items:flex-start;border-bottom:1px solid #bfdbfea6;display:flex;gap:12px;justify-content:space-between;padding:14px 16px 10px}.in-app-survey-card .in-app-survey-title{color:#1e3a8a;font-size:1rem;font-weight:700;margin:0}.in-app-survey-card .in-app-survey-subtitle{color:#334155;font-size:.88rem;line-height:1.45;margin:4px 0 0}.in-app-survey-card .in-app-survey-close{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex-shrink:0;font-size:1rem;height:30px;line-height:1;width:30px}.in-app-survey-card .in-app-survey-close:hover{background:#64748b24;color:#334155}.in-app-survey-card .in-app-survey-success{background:#ecfdf5;color:#065f46;padding:14px 16px 18px}.in-app-survey-card .in-app-survey-success strong{display:block;margin-bottom:4px}.in-app-survey-card .in-app-survey-success p{font-size:.9rem;line-height:1.45;margin:0}.in-app-survey-card .in-app-survey-form{grid-gap:10px;display:grid;gap:10px;max-height:min(48vh,510px);overflow-y:auto;padding:12px 16px 16px}.in-app-survey-card .in-app-survey-reward{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;font-size:.86rem;font-weight:600;line-height:1.4;padding:9px 10px}.in-app-survey-card .in-app-survey-field{display:block}.in-app-survey-card .in-app-survey-label{color:#1e293b;display:block;font-size:.83rem;font-weight:700;margin-bottom:5px}.in-app-survey-card .in-app-survey-input,.in-app-survey-card .in-app-survey-select,.in-app-survey-card .in-app-survey-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;color:#0f172a;font-size:.9rem;line-height:1.35;padding:9px 10px;width:100%}.in-app-survey-card .in-app-survey-input:focus,.in-app-survey-card .in-app-survey-select:focus,.in-app-survey-card .in-app-survey-textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd40;outline:none}.in-app-survey-card .in-app-survey-textarea{min-height:84px;resize:vertical}.in-app-survey-card .in-app-survey-help{color:#64748b;display:block;font-size:.78rem;line-height:1.35;margin-top:4px}.in-app-survey-card .in-app-survey-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:.84rem;line-height:1.4;padding:8px 10px}.in-app-survey-card .in-app-survey-actions{display:flex;justify-content:flex-end;margin-top:2px}.in-app-survey-card .in-app-survey-submit{background:#2563eb;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.86rem;font-weight:700;padding:9px 16px;transition:transform .08s ease,background .16s ease}.in-app-survey-card .in-app-survey-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.in-app-survey-card .in-app-survey-submit:disabled{cursor:default;opacity:.7}@media(max-width:768px){.in-app-survey-card{margin:0 12px 10px}.in-app-survey-card .in-app-survey-header{padding:12px 12px 8px}.in-app-survey-card .in-app-survey-form{gap:9px;max-height:min(55vh,520px);padding:10px 12px 14px}.in-app-survey-card .in-app-survey-title{font-size:.95rem}.in-app-survey-card .in-app-survey-subtitle{font-size:.82rem}}.hero-topic-btn:hover{background:linear-gradient(180deg,#fff,#eef4ff)!important;box-shadow:0 8px 16px #0f172a1a!important;transform:translateY(-1px)}.hero-topic-btn:active{box-shadow:0 4px 10px #0f172a14!important;transform:translateY(0)}.hero-topic-btn:focus-visible{box-shadow:0 0 0 3px #0a84ff38,0 8px 16px #0f172a1a!important;outline:none}.hero-send-btn{align-items:center;background:linear-gradient(180deg,#fff,#f2f7ff);border:1px solid #d4dbe7;border-radius:50%;box-shadow:0 6px 14px #0f172a1f,inset 0 1px 0 #fffffff2;color:#3f4b5f;cursor:pointer;display:inline-flex;height:44px;justify-content:center;line-height:1;margin:0;min-height:44px;min-width:44px;padding:0;transition:transform .1s ease,box-shadow .14s ease,background .14s ease,color .14s ease;width:44px}.hero-send-btn:hover:not(:disabled){background:linear-gradient(180deg,#f7fbff,#e5f1ff);box-shadow:0 10px 18px #0a84ff2e,inset 0 1px 0 #fffffffa;color:#005fc4;transform:translateY(-1px)}.hero-send-btn:active:not(:disabled){background:linear-gradient(180deg,#edf5ff,#dcecff);box-shadow:0 4px 10px #0a84ff29,inset 0 1px 0 #fffffff0;transform:translateY(0)}.hero-send-btn:disabled{background:linear-gradient(180deg,#f8fafe,#edf2f7);border-color:#e5e9f1;box-shadow:0 4px 8px #0f172a12,inset 0 1px 0 #ffffffeb;color:#9aa6b8;cursor:not-allowed}.hero-send-btn:focus-visible{box-shadow:0 0 0 3px #0a84ff3d,0 10px 18px #0a84ff2e,inset 0 1px 0 #fffffffa;outline:none}.GeoGebraPane{display:block!important;height:auto!important;inset:0!important;overflow:hidden!important;position:absolute!important;width:auto!important}.GeoGebraPane>div{height:100%!important;overflow:hidden!important;width:100%!important}.GeoGebraPane .ggb-error-overlay{align-items:center;background-color:#fef2f2eb;display:flex;inset:0;justify-content:center;padding:1rem;position:absolute;z-index:10}.GeoGebraPane .ggb-error-overlay .ggb-error-card{background-color:#fff;border:1px solid #ef4444;border-left-width:4px;border-radius:.375rem;max-width:24rem;padding:1.25rem 1.5rem;text-align:center}.GeoGebraPane .ggb-error-overlay .ggb-error-title{color:#dc2626;font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.GeoGebraPane .ggb-error-overlay .ggb-error-message{color:#7f1d1d;font-size:.875rem;margin-bottom:1rem;word-break:break-word}.GeoGebraPane .ggb-error-overlay .ggb-error-dismiss{background-color:#dc2626;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.4rem 1rem}.GeoGebraPane .ggb-error-overlay .ggb-error-dismiss:hover{background-color:#b91c1c}.GeoGebraPane .applet_scaler{height:100%!important;transform:none!important;transform-origin:initial!important;width:100%!important}.GeoGebraPane .applet_scaler>div{border:none!important;height:100%!important;width:100%!important}.GeoGebraPane .zoomPanelBtn{transition:opacity .2s,background-color .2s,transform .2s!important}.GeoGebraPane .zoomPanelBtn:not(.zoomPanelHomeIn):not(.zoomPanelHomeOut){display:none!important}.GeoGebraPane .zoomPanel,.GeoGebraPane .zoomPanelMobile,.GeoGebraPane [class*=zoomPanel]{display:block!important;opacity:1!important;visibility:visible!important}.GeoGebraPane .zoomPanelBtn.zoomPanelHomeIn,.GeoGebraPane .zoomPanelBtn.zoomPanelHomeOut{display:inline-flex!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.GeoGebraPane .zoomPanel .zoomPanelBtn.zoomPanelHomeOut,.GeoGebraPane .zoomPanel .zoomPanelBtn.zoomPanelHomeOut img,.GeoGebraPane .zoomPanel .zoomPanelBtn.zoomPanelHomeOut:focus img,.GeoGebraPane .zoomPanel .zoomPanelBtn.zoomPanelHomeOut:hover img{opacity:1!important;visibility:visible!important}.GeoGebraFrame,.GeoGebraFrame *{font-family:Instrument Sans,system-ui,sans-serif!important;font-family:var(--sketchmath-font)!important}.GeoGebraFrame .zoomPanelBtn:not(.zoomPanelHomeIn):not(.zoomPanelHomeOut){display:none!important}.GeoGebraFrame .zoomPanel,.GeoGebraFrame .zoomPanelMobile,.GeoGebraFrame [class*=zoomPanel]{display:block!important;opacity:1!important;visibility:visible!important}.GeoGebraFrame .zoomPanel .zoomPanelBtn.zoomPanelHomeIn,.GeoGebraFrame .zoomPanel .zoomPanelBtn.zoomPanelHomeOut,.GeoGebraFrame .zoomPanel .zoomPanelBtn.zoomPanelHomeOut img,.GeoGebraFrame .zoomPanel .zoomPanelBtn.zoomPanelHomeOut:focus img,.GeoGebraFrame .zoomPanel .zoomPanelBtn.zoomPanelHomeOut:hover img{opacity:1!important;visibility:visible!important}@media(max-width:768px){.mobile-layout{background:var(--chat-interface-bg);display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed}.mobile-layout .compact-upgrade-pill{display:none}.mobile-overlay-top{align-items:flex-start;display:flex;justify-content:space-between;left:0;padding:8px;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.mobile-overlay-top .mobile-overlay-left,.mobile-overlay-top .mobile-overlay-right{display:flex;gap:6px;pointer-events:all}.mobile-overlay-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:#ffffffe0;border:none;border-radius:8px;box-shadow:0 1px 4px #0000002e;color:#444;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s,transform .1s;width:32px}.mobile-overlay-btn svg{height:16px;width:16px}.mobile-overlay-btn:active{background:#fff;transform:scale(.93)}.mobile-overlay-btn.active{background:#667eeaeb;color:#fff}.history-hint-popover{animation:hintPopIn .3s cubic-bezier(.34,1.56,.64,1);background:#3b82f6;border-radius:12px;box-shadow:0 8px 24px #3b82f659;color:#fff;font-size:.88rem;font-weight:500;left:0;line-height:1.4;max-width:250px;padding:10px 16px;pointer-events:auto;position:absolute;text-align:left;top:calc(100% + 14px);width:max-content;z-index:1000}.history-hint-popover:before{background:#3b82f6;border-top-left-radius:2px;content:"";height:12px;left:10px;position:absolute;top:-5px;transform:rotate(45deg);width:12px}.mobile-content{flex:1 1;min-height:0;overflow:hidden;position:relative}.mobile-graph-area{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:bottom .25s cubic-bezier(.4,0,.2,1)}.mobile-graph-area.dragging{transition:none}.mobile-graph-area .GeoGebraPane{height:auto!important;inset:0!important;margin:0!important;padding:0!important;position:absolute!important;width:auto!important;z-index:0}.mobile-graph-area .ggbtoolbarpanel,.mobile-graph-area .headerRight,.mobile-graph-area .settingsButton,.mobile-graph-area .toolbar,.mobile-graph-area .toolbarPanel,.mobile-graph-area .undoRedoPanel,.mobile-graph-area .zoomPanel,.mobile-graph-area .zoomPanelMobile,.mobile-graph-area [class*=headerBar],.mobile-graph-area [class*=settingsButton],.mobile-graph-area [class*=toolbar],.mobile-graph-area [class*=undoRedo],.mobile-graph-area [class*=zoomPanel]{display:none!important}.mobile-home-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:#fff;border:none;border-radius:50%;bottom:12px;box-shadow:0 2px 6px #0000002e;color:#555;cursor:pointer;display:flex;height:36px;justify-content:center;opacity:.85;position:absolute;right:12px;transition:transform .15s,box-shadow .15s,opacity .2s;width:36px;z-index:5}.mobile-home-btn:active{box-shadow:0 1px 4px #0000001f;transform:scale(.9)}.mobile-fullscreen-overlay{display:flex;inset:0;position:absolute;z-index:40}.mobile-fullscreen-overlay .mobile-history-backdrop{background:#0006;inset:0;position:absolute;z-index:1}.mobile-fullscreen-overlay .mobile-history-sidebar{background:#fff;box-shadow:2px 0 12px #0003;display:flex;flex-direction:column;height:100%;max-width:360px;overflow:hidden;position:relative;width:80%;z-index:2}.mobile-fullscreen-overlay .session-list{display:flex;flex-direction:column;height:100%;width:100%}.mobile-fullscreen-overlay .session-list .session-list-header,.mobile-fullscreen-overlay .session-list .sidebar-navigation{display:none}.mobile-fullscreen-overlay .session-list .session-list-scroll-container{padding-top:10px;position:relative}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;display:block;padding:0 10px 8px}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container:focus-visible{outline:2px solid #667eea;outline-offset:2px}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container .mobile-new-chat-btn{align-items:center;background:#0000!important;border:none!important;border-radius:8px;color:#333!important;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:10px 15px;text-align:left;text-decoration:none!important;transition:background .2s;width:100%}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container .mobile-new-chat-btn .nav-icon{font-size:1.1rem;text-align:center;width:20px}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container .mobile-new-chat-btn .nav-text{flex:1 1}.mobile-fullscreen-overlay .session-list .session-list-scroll-container .mobile-new-chat-container:active .mobile-new-chat-btn{background:#0000000d!important}.mobile-fullscreen-overlay .session-list .user-profile-section{border-bottom:none;border-top:1px solid #e0e0e0;margin-top:auto;padding:6px 12px}.mobile-bottom-sheet{background:#fbfaf9;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -6px 24px #0000002e,0 -1px 4px #00000014;display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;right:0;transition:height .25s cubic-bezier(.4,0,.2,1);z-index:10}.mobile-bottom-sheet.dragging{transition:none}.sheet-drag-handle{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:#fbfaf9;border-top:none;cursor:grab;display:flex;flex-shrink:0;height:30px;justify-content:center;touch-action:none}.sheet-drag-handle .drag-pill{background:silver;border-radius:999px;height:5px;width:36px}.sheet-drag-handle:active{cursor:grabbing}.sheet-drag-handle:active .drag-pill{background:#999}.sheet-chips-wrap{display:flex;flex-direction:column;flex-shrink:0}.sheet-chips{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:8px;overflow-x:auto;overflow-y:hidden;padding:6px 14px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}.sheet-chips::-webkit-scrollbar{display:none}.sheet-chip{-webkit-tap-highlight-color:rgba(0,0,0,0);background:#fff;border:1.5px solid #d0d0d0;border-radius:999px;color:#333;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:5px 13px;scroll-snap-align:start;transition:background .15s,border-color .15s;white-space:nowrap}.sheet-chip:active{background:#eef1ff;border-color:#667eea;color:#667eea}.sheet-generate-hint{align-items:center;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #ddd6fe;border-radius:10px;color:#667eea;display:flex;font-size:.82rem;gap:8px;line-height:1.4;margin:2px 14px 6px;padding:10px 14px}.sheet-generate-hint .sheet-generate-hint-icon{flex-shrink:0;height:22px;object-fit:contain;width:22px}.sheet-generate-hint .sheet-generate-hint-inline-icon{height:16px;object-fit:contain;position:relative;top:-1px;vertical-align:middle;width:16px}.sheet-generate-hint strong{color:#667eea}.sheet-messages{-webkit-overflow-scrolling:touch;background:#fbfaf9;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px}.sheet-messages::-webkit-scrollbar{width:4px}.sheet-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.sheet-messages .chat-messages{padding:0!important}.sheet-messages .chat-welcome{display:none!important}.sheet-messages .chat-message{display:flex;flex-direction:column;font-size:.9rem;margin-bottom:8px!important}.sheet-messages .chat-message .chat-message-content{max-width:90%!important}.sheet-messages .chat-message .chat-message-image img{max-height:120px;max-width:100%;object-fit:contain}.sheet-messages .chat-message .chat-message-images-grid{gap:3px;max-width:240px}.sheet-messages .chat-message.chat-message-user{align-items:flex-end}.sheet-messages .chat-message.chat-message-user .chat-message-content-text{font-size:.88rem;padding:6px 10px!important}.sheet-messages .chat-message.chat-message-assistant{align-items:flex-start}.sheet-messages .chat-message .answer-box h2,.sheet-messages .chat-message .answer-box h3,.sheet-messages .chat-message .answer-box h4,.sheet-messages .chat-message .chat-message-text h2,.sheet-messages .chat-message .chat-message-text h3,.sheet-messages .chat-message .chat-message-text h4{font-weight:600;line-height:1.3;margin:1.2rem 0 .5rem}.sheet-messages .chat-message .answer-box h2:first-child,.sheet-messages .chat-message .answer-box h3:first-child,.sheet-messages .chat-message .answer-box h4:first-child,.sheet-messages .chat-message .chat-message-text h2:first-child,.sheet-messages .chat-message .chat-message-text h3:first-child,.sheet-messages .chat-message .chat-message-text h4:first-child{margin-top:0}.sheet-messages .chat-message .answer-box p,.sheet-messages .chat-message .chat-message-text p{margin:.85em 0}.sheet-messages .chat-message .answer-box p:first-child,.sheet-messages .chat-message .chat-message-text p:first-child{margin-top:0}.sheet-messages .chat-message .answer-box p:last-child,.sheet-messages .chat-message .chat-message-text p:last-child{margin-bottom:0}.sheet-messages .chat-message .answer-box .math-block,.sheet-messages .chat-message .chat-message-text .math-block{margin:1.2rem 0}.chat-message-timestamp{display:none!important}.sheet-input{background:#0000;flex-grow:0;flex-shrink:0;margin-top:auto;padding:0 8px 10px}.sheet-input .chat-input-area{background:#0000!important;margin:0;padding:0}.sheet-input .chat-input-group{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:24px;gap:6px!important;padding:1px 8px!important}.sheet-input .chat-input-group .chat-input{background:#0000!important;border:none!important;box-shadow:none!important;font-size:16px;max-height:96px;min-height:20px;overflow-y:hidden;padding:2px 4px!important}.sheet-input .chat-input-group .input-icon-btn{font-size:.9rem;height:24px!important;min-height:24px!important;min-width:24px!important;width:24px!important}.sheet-input .chat-input-group .input-action-btn{gap:0!important;height:32px!important;justify-content:center!important;min-height:32px!important;min-width:32px!important;padding:0!important;width:32px!important}.sheet-input .chat-input-group .input-action-btn .input-action-label,.sheet-input .chat-input-group .input-action-btn .mode-caret{display:none!important}.sheet-input .chat-input-group .input-send-btn{font-size:.9rem;height:32px!important;min-height:32px!important;min-width:32px!important;width:32px!important}.sheet-input .chat-input-group .mode-dropdown-toggle{font-size:.72rem!important;height:26px!important;padding:0 8px!important}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet-backdrop{background:#00000059!important}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet{animation:modeSheetUpIn .22s cubic-bezier(.4,0,.2,1)!important;border-radius:20px 20px 0 0!important;bottom:0!important;box-shadow:0 -4px 32px #0000002e!important;left:0!important;min-width:0!important;min-width:auto!important;padding:12px 12px 28px!important;position:fixed!important;right:0!important;width:100%!important}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet .mode-sheet-title{font-size:.75rem;padding:4px 10px 12px;text-align:center}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet .mode-sheet-item{border-radius:12px;padding:14px 16px}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet .mode-sheet-item .mode-sheet-badge{font-size:1.3rem}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet .mode-sheet-item .mode-sheet-label{font-size:1rem}.sheet-input .chat-input-group .mode-picker-wrap .mode-sheet .mode-sheet-item .mode-sheet-desc{font-size:.8rem}.sheet-input .chat-input-group .image-picker-wrap .image-sheet-backdrop{background:#00000059!important}.sheet-input .chat-input-group .image-picker-wrap .image-action-sheet{animation:modeSheetUpIn .22s cubic-bezier(.4,0,.2,1)!important;border-radius:20px 20px 0 0!important;bottom:0!important;box-shadow:0 -4px 32px #0000002e!important;left:0!important;min-width:0!important;min-width:auto!important;padding:12px 12px 36px!important;position:fixed!important;right:0!important;width:100%!important}.sheet-input .chat-input-group .image-picker-wrap .image-action-sheet .image-action-sheet-title{font-size:.75rem;padding:4px 10px 12px;text-align:center}.sheet-input .chat-input-group .image-picker-wrap .image-action-sheet .image-action-item{border-radius:14px;gap:14px;padding:16px 20px}.sheet-input .chat-input-group .image-picker-wrap .image-action-sheet .image-action-item .image-action-icon{font-size:1.4rem}.sheet-input .chat-input-group .image-picker-wrap .image-action-sheet .image-action-item .image-action-label{font-size:1.05rem}.sheet-input .chat-image-previews{gap:6px}.sheet-input .chat-image-preview{max-height:50px}.sheet-input .chat-image-preview img{max-height:36px;object-fit:cover}.sheet-input .chat-image-preview.chat-image-compressing{height:42px;width:42px}.mobile-bottom-sheet,.sheet-input{touch-action:pan-y}@keyframes modeSheetUpIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.auth-container{box-sizing:border-box;min-height:100vh;min-height:100dvh;overflow:hidden;padding:1rem;position:relative}.auth-container .auth-soft-bg{background:#f6f7fb;display:grid;filter:saturate(1);grid-template-columns:240px 1fr minmax(320px,40%);inset:0;opacity:.62;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;z-index:0}.auth-container .auth-soft-mobile-logo{display:none}.auth-container .auth-soft-sidebar{background:#fff;border-right:1px solid #e6e8f0;display:flex;flex-direction:column;gap:10px;padding:18px 12px}.auth-container .auth-soft-logo-row{align-items:center;display:flex;gap:8px;height:42px;margin-bottom:12px}.auth-container .auth-soft-logo{height:28px;object-fit:contain;width:28px}.auth-container .auth-soft-brand{color:#111827;font-size:14px;font-weight:700}.auth-container .auth-soft-nav-item{background:#eef2ff;border:1px solid #e1e7ff;border-radius:10px;height:38px}.auth-container .auth-soft-nav-item.short{width:72%}.auth-container .auth-soft-center{background:#f9fbff;border-right:1px solid #eceef5;display:flex;flex-direction:column;gap:14px;padding:18px}.auth-container .auth-soft-header{background:#fff;border:1px solid #eceef5;border-radius:10px;height:42px}.auth-container .auth-soft-chat-card{background:#fff;border:1px solid #e9ecf5;border-radius:14px;height:96px}.auth-container .auth-soft-chat-card.large{height:140px}.auth-container .auth-soft-input{background:#fff;border:1px solid #e9ecf5;border-radius:14px;height:56px;margin-top:auto}.auth-container .auth-soft-graph{background:#fff;display:flex;flex-direction:column;gap:14px;padding:18px}.auth-container .auth-soft-graph-head{background:#f9fbff;border:1px solid #eceef5;border-radius:10px;height:42px}.auth-container .auth-soft-graph-canvas{background:linear-gradient(90deg,#edf1fb 1px,#0000 0) 0 0/24px 24px,linear-gradient(180deg,#edf1fb 1px,#0000 0) 0 0/24px 24px,#fff;border:1px solid #e8ebf5;border-radius:14px;flex:1 1;min-height:320px}.auth-soft-panel-wrap{bottom:18px;max-height:calc(100dvh - 36px);overflow-y:auto;pointer-events:auto;position:fixed;right:18px;top:auto;z-index:1400}@media(max-height:500px){.auth-soft-panel-wrap{bottom:auto;max-height:calc(100dvh - 20px);top:10px}}.auth-embedded-wrap{width:min(390px,100vw - 26px)}.guest-limit-overlay{align-items:center;animation:guest-limit-fade-in .18s ease;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);background:#faf8f2c7;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1700}@keyframes guest-limit-fade-in{0%{opacity:0}to{opacity:1}}.guest-limit-card{animation:guest-limit-slide-up .2s cubic-bezier(.16,1,.3,1);background:#fff;border:.5px solid #0000001f;border-radius:24px;box-shadow:0 4px 6px #0000000a,0 12px 32px #0000001a,0 32px 64px #0000000f;max-width:460px;padding:56px 40px 44px;position:relative;text-align:center;width:100%}@media(max-width:480px){.guest-limit-card{border-radius:20px;padding:48px 28px 36px}}@keyframes guest-limit-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.guest-limit-close{align-items:center;background:#0000;border:1px solid #0000002e;border-radius:50%;color:#00000073;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;left:16px;line-height:1;padding:0;position:absolute;top:16px;transition:background .12s;width:30px}.guest-limit-close:hover{background:#0000000f;color:#000000b3}.guest-limit-title{color:#111;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;letter-spacing:-.01em;line-height:1.2;margin:0 0 12px}@media(max-width:480px){.guest-limit-title{font-size:1.65rem}}.guest-limit-subtitle{color:#00000080;font-size:.95rem;font-weight:400;line-height:1.5;margin:0 0 36px}.guest-limit-login-btn{background:#fff;border:1px solid #0000002e;border-radius:14px;color:#111;cursor:pointer;display:block;font-size:1rem;font-weight:400;letter-spacing:.01em;padding:17px 24px;transition:background .12s,border-color .12s;width:100%}.guest-limit-login-btn:hover{background:#00000008;border-color:#00000047}.guest-limit-login-btn:active{background:#0000000f}.free-limit-overlay{align-items:flex-end;background:#0000;display:flex;inset:0;position:fixed;z-index:1750}.free-limit-sheet{animation:free-limit-slide-up .28s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px 20px 0 0;border-top:1.5px solid #0000001f;box-shadow:0 -4px 32px #00000024;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);overflow-y:auto;padding:24px 20px 40px;width:100%}@media(min-width:600px){.free-limit-sheet{padding:28px 32px 48px}}@keyframes free-limit-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.free-limit-back{align-items:center;background:#fff;border:1px solid #0000002e;border-radius:20px;color:#333;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:400;gap:6px;margin-bottom:20px;padding:6px 14px;transition:background .12s}.free-limit-back:hover{background:#0000000a}.free-limit-header{padding:0 12px 48px;text-align:center}.free-limit-header__main{color:#1a1a2e;font-size:1.6rem;font-weight:500;line-height:1.3;margin:0 0 16px}@media(min-width:600px){.free-limit-header__main{font-size:1.75rem}}.free-limit-header__sub{color:#1a1a2e;font-size:1.1rem;font-weight:500;line-height:1.4;margin:0}.auth-fullscreen-modal-wrap{background:linear-gradient(180deg,#fffcf0,#f7f4ea);inset:0;padding:0;position:fixed;z-index:1650}.auth-fullscreen-modal-wrap,.auth-fullscreen-wrap{align-items:center;display:flex;justify-content:center}.auth-fullscreen-wrap{min-height:100vh;min-height:100dvh;overflow-y:auto;padding:24px 16px;width:100vw}.auth-card{border:1px solid #e7e7e7;box-shadow:0 8px 28px #131b3214;max-width:400px;padding:2rem;position:relative;width:100%;z-index:2}.auth-card .auth-logo{height:auto;margin-bottom:1.5rem;width:80px}.auth-card .auth-title{font-size:1.75rem;margin-bottom:.5rem}.auth-card .auth-subtitle{color:#666;font-size:1.08rem;margin-bottom:2rem}.auth-card .auth-subtitle-link{color:inherit;text-decoration:underline}.auth-card .auth-divider{align-items:center;display:flex;gap:8px;margin:16px 0}.auth-card .auth-divider-line{border:none;border-top:1px solid #e3e3e3;flex:1 1;margin:0}.auth-card .auth-divider-text{color:#aaa;font-size:.85rem}.auth-card .auth-tos{color:#999;font-size:.85rem;margin-top:1.5rem}.auth-card .auth-magic-form{display:flex;flex-direction:column;gap:8px;text-align:left}.auth-card .auth-invite-field{margin:12px 0 20px;text-align:left}.auth-card .auth-invite-error{color:#b42318;font-size:.84rem;margin:6px 0 0}.auth-card .auth-invite-label{color:#616983;display:block;font-size:.82rem;font-weight:600;letter-spacing:.01em;margin:0 0 6px}.auth-card .auth-invite-input{background:#fff;border:1px solid #d7dbe8;border-radius:10px;color:#1f2941;font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.auth-card .auth-invite-input::placeholder{color:#8a91a8}.auth-card .auth-invite-input:focus{border-color:#7587d8;box-shadow:0 0 0 3px #7587d833}.auth-card .auth-invite-input:disabled{background:#f8f9fc;opacity:.95}.auth-card .auth-magic-input{border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;padding:11px 14px;transition:border-color .15s;width:100%}.auth-card .auth-magic-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.auth-card .auth-magic-input:disabled{background:#f8f8f8}.auth-card .auth-magic-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:11px;transition:opacity .15s;width:100%}.auth-card .auth-magic-btn:disabled{cursor:not-allowed;opacity:.55}.auth-card .auth-magic-btn:not(:disabled):hover{opacity:.9}.auth-card .auth-magic-hint{color:#aaa;font-size:.78rem;margin:0;text-align:center}.auth-card .auth-magic-error{color:#dc3545;font-size:.82rem;margin:0}.auth-card .auth-magic-sent{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:20px 16px;text-align:center}.auth-card .auth-magic-sent .auth-magic-sent-icon{font-size:2rem;margin-bottom:8px}.auth-card .auth-magic-sent .auth-magic-sent-title{color:#166534;font-size:1.05rem;font-weight:700;margin-bottom:6px}.auth-card .auth-magic-sent .auth-magic-sent-body{color:#374151;font-size:.88rem;margin-bottom:12px}.auth-card .auth-magic-resend{background:none;border:none;color:#667eea;cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.auth-card .auth-role-section{margin:0 0 14px;text-align:left}.auth-card .auth-role-label{color:#5f6780;font-size:.9rem;font-weight:600;margin:0 0 8px}.auth-card .auth-role-row{display:flex;gap:8px}.auth-card .auth-role-btn{background:#fff;border:1px solid #d2d7e6;border-radius:10px;color:#2a3249;cursor:pointer;flex:1 1;font-size:.93rem;font-weight:600;padding:9px 10px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.auth-card .auth-role-btn:hover{border-color:#9aa8d8}.auth-card .auth-role-btn.active{background:#eef2ff;border-color:#7587d8;box-shadow:0 0 0 2px #7587d829}.auth-card.auth-card-fullscreen{background:#0000;border:none;border-radius:0;box-shadow:none;color:#2a3041;max-width:100%;padding:0;width:100%}.auth-card.auth-card-fullscreen .card-body{margin:0 auto;padding:0;width:min(700px,100%)}.auth-card.auth-card-fullscreen .auth-title{color:#252b3b;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:clamp(1.9rem,2.9vw,2.45rem);font-weight:500;letter-spacing:.01em;line-height:1.18;margin:0 auto 28px;max-width:700px}.auth-card.auth-card-fullscreen .auth-role-section{margin:0 auto 14px;text-align:left;width:min(500px,70%)}.auth-card.auth-card-fullscreen .auth-role-label{color:#5f6780;font-size:.95rem;font-weight:600;margin:0 0 8px}.auth-card.auth-card-fullscreen .auth-role-row{display:flex;gap:10px}.auth-card.auth-card-fullscreen .auth-role-btn{background:#fff;border:1px solid #d2d7e6;border-radius:12px;color:#2a3249;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:10px 12px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.auth-card.auth-card-fullscreen .auth-role-btn:hover{border-color:#9aa8d8}.auth-card.auth-card-fullscreen .auth-role-btn.active{background:#eef2ff;border-color:#7587d8;box-shadow:0 0 0 2px #7587d829}.auth-card.auth-card-fullscreen .auth-subtitle{color:#57607a;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1.45;margin:0 auto 20px;max-width:600px}.auth-card.auth-card-fullscreen .auth-subtitle-link{color:#3b4f93;text-underline-offset:2px}.auth-card.auth-card-fullscreen .auth-google-btn{background:#fff!important;border:1px solid #d6dbe8!important;border-radius:12px;color:#18233b!important;font-size:1.06rem!important;font-weight:600;margin:0 auto!important;padding:12px 14px!important;width:min(500px,70%)!important}.auth-card.auth-card-fullscreen .auth-divider-line{border-top-color:#dbdeea}.auth-card.auth-card-fullscreen .auth-divider{margin:16px auto;width:min(500px,70%)}.auth-card.auth-card-fullscreen .auth-divider-text{color:#8188a0}.auth-card.auth-card-fullscreen .auth-magic-input{background:#fffffff0;border:1px solid #d2d6e4;border-radius:11px;color:#1f2941;font-size:1.02rem;padding:12px 14px}.auth-card.auth-card-fullscreen .auth-magic-input::placeholder{color:#8890a8}.auth-card.auth-card-fullscreen .auth-magic-input:focus{border-color:#7587d8;box-shadow:0 0 0 3px #7587d83d}.auth-card.auth-card-fullscreen .auth-magic-input:disabled{background:#f9f9fcf2}.auth-card.auth-card-fullscreen .auth-magic-form{margin:0 auto;width:min(500px,70%)}.auth-card.auth-card-fullscreen .auth-invite-field{margin:0 auto 20px;width:min(500px,70%)}.auth-card.auth-card-fullscreen .auth-magic-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:11px;color:#fff;font-size:1.04rem;padding:12px 14px}.auth-card.auth-card-fullscreen .auth-magic-btn:not(:disabled):hover{opacity:.94}.auth-card.auth-card-fullscreen .auth-magic-btn:disabled{opacity:.55}.auth-card.auth-card-fullscreen .auth-magic-error{color:#b42318;font-size:.94rem;text-align:left}.auth-card.auth-card-fullscreen .auth-fullscreen-text-close{background:#0000;border:none;color:#616a84;cursor:pointer;font-size:1.08rem;font-weight:500;margin-top:18px;padding:0}.auth-card.auth-card-fullscreen .auth-fullscreen-text-close:hover{color:#2f3751;text-decoration:underline}.auth-card.auth-card-embedded{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffcf0fa;border:1px solid #d8cfb9;border-radius:22px;box-shadow:none;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);margin:0;max-width:390px;padding:1.25rem 1rem}.auth-card.auth-card-embedded .auth-logo{margin-bottom:1rem;width:72px}.auth-card.auth-card-embedded .auth-title{font-size:1.52rem;font-weight:600;line-height:1.22;margin-bottom:.35rem}.auth-card.auth-card-embedded .auth-magic-error,.auth-card.auth-card-embedded .auth-magic-hint,.auth-card.auth-card-embedded .auth-magic-sent-body,.auth-card.auth-card-embedded .auth-subtitle,.auth-card.auth-card-embedded .auth-title,.auth-card.auth-card-embedded .auth-tos{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.auth-card.auth-card-embedded .auth-google-btn,.auth-card.auth-card-embedded .auth-magic-btn,.auth-card.auth-card-embedded .auth-magic-input{border-radius:10px}.auth-embedded-close{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:1.05rem;height:30px;line-height:1;position:absolute;right:8px;top:8px;transition:background .15s ease,color .15s ease;width:30px}.auth-embedded-close:hover{background:#6b728026;color:#374151}.auth-fullscreen-close{background:#2435701f;border-radius:999px;color:#59607a;height:34px;position:fixed;right:10px;top:10px;width:34px;z-index:1665}.auth-fullscreen-close:hover{background:#24357038;color:#2f3751}.auth-otp-overlay{align-items:center;background:radial-gradient(circle at 14% 18%,#667eea1a,#0000 34%),radial-gradient(circle at 86% 22%,#764ba214,#0000 32%),linear-gradient(180deg,#fffcf0,#f7f4ea);display:flex;inset:0;justify-content:center;padding:24px 16px;position:fixed;z-index:1800}.auth-otp-panel{background:#0000;border:none;box-shadow:none;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);padding:24px 18px 18px;position:relative;text-align:center;width:min(640px,100%)}.auth-otp-close{background:#2435701f;border:none;border-radius:999px;color:#5f6784;cursor:pointer;font-size:1.3rem;height:40px;line-height:1;position:absolute;right:-8px;top:-8px;transition:background .15s ease,color .15s ease;width:40px}.auth-otp-close:hover{background:#2435703d;color:#283048}.auth-otp-icon-wrap{align-items:center;border:1px solid #567ed861;border-radius:999px;box-shadow:inset 0 0 0 8px #667eea14,0 0 24px #667eea29;display:flex;height:86px;justify-content:center;margin:0 auto 16px;width:86px}.auth-otp-icon-img{filter:saturate(.95) brightness(1.02);height:52px;object-fit:contain;width:52px}.auth-otp-title{color:#252b3b;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:clamp(2.1rem,3.6vw,3.1rem);letter-spacing:.01em;margin:0}.auth-otp-subtitle{color:#59627c;font-size:1.08rem;line-height:1.6;margin:14px auto 24px;max-width:560px}.auth-otp-subtitle strong{color:#2e3852;display:block;font-weight:700;margin-top:2px}.auth-otp-input-row{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;margin-bottom:20px;max-width:100%;overflow-x:auto;padding-bottom:2px}.auth-otp-input{background:#fff;border:1px solid #c7cede;border-radius:12px;box-sizing:border-box;color:#1f2b45;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font);font-size:1.9rem;font-weight:600;height:72px;outline:none;text-align:center;width:54px}.auth-otp-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea3d}.auth-otp-error{color:#b42318;font-size:1rem;margin:0 0 14px}.auth-otp-confirm-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.38rem;font-weight:700;padding:14px 16px;transition:transform .16s ease,opacity .16s ease;width:min(560px,100%)}.auth-otp-confirm-btn:hover:not(:disabled){opacity:.96;transform:translateY(-1px)}.auth-otp-confirm-btn:disabled{cursor:not-allowed;opacity:.5}.auth-otp-resend-btn{background:#0000;border:none;color:#3b4f93;cursor:pointer;font-size:1.02rem;font-weight:600;margin-top:14px;text-decoration:underline}.auth-otp-resend-btn:disabled{cursor:not-allowed;opacity:.5}@media(max-width:480px){.auth-container{align-items:flex-start!important;padding:max(2rem,env(safe-area-inset-top,2rem)) .75rem .75rem}.auth-container .auth-soft-bg{filter:saturate(1);grid-template-areas:"graph" "chat";grid-template-columns:1fr;grid-template-rows:60% 40%;opacity:.7}.auth-container .auth-soft-sidebar{display:none}.auth-container .auth-soft-mobile-logo{align-items:center;background:#ffffffeb;border:1px solid #e8ebf5;border-radius:10px;display:flex;height:36px;justify-content:center;left:14px;position:absolute;top:14px;width:36px;z-index:2}.auth-container .auth-soft-mobile-logo .auth-soft-mobile-logo-img{height:24px;object-fit:contain;width:24px}.auth-container .auth-soft-graph{display:flex;gap:8px;grid-area:graph;padding:12px}.auth-container .auth-soft-graph .auth-soft-graph-head{border-radius:8px;height:32px}.auth-container .auth-soft-graph .auth-soft-graph-canvas{min-height:0}.auth-container .auth-soft-center{background:#f7f9ff;border-right:none;gap:8px;grid-area:chat;overflow:hidden;padding:10px 12px 0;position:relative}.auth-container .auth-soft-center .auth-soft-header{display:none}.auth-container .auth-soft-center .auth-soft-chat-card{border-radius:10px;height:56px}.auth-container .auth-soft-center .auth-soft-chat-card.large{height:64px}.auth-container .auth-soft-center .auth-soft-input{border-radius:999px;height:52px;margin-top:6px;transform:translateY(52%)}.auth-card{padding:1.25rem 1rem}.auth-card .auth-logo{margin-bottom:1rem;width:56px}.auth-card .auth-title{font-size:1.35rem;margin-bottom:.35rem}.auth-card .auth-subtitle{font-size:.9rem;margin-bottom:1.25rem}.auth-card .auth-google-btn,.auth-card .auth-guest-btn{font-size:15px!important;padding:10px!important}.auth-card .auth-magic-btn{font-size:14px!important;padding:10px!important}.auth-card .auth-magic-input{font-size:14px!important;padding:9px 12px!important}.auth-card .auth-tos{font-size:.78rem;margin-top:1rem}.auth-card.auth-card-fullscreen .auth-title{font-size:1.16rem;margin-bottom:18px}.auth-card.auth-card-fullscreen .auth-subtitle{font-size:.9rem;margin-bottom:16px}.auth-card.auth-card-fullscreen .auth-google-btn,.auth-card.auth-card-fullscreen .auth-magic-btn{font-size:1rem!important}.auth-card.auth-card-fullscreen .auth-divider,.auth-card.auth-card-fullscreen .auth-google-btn,.auth-card.auth-card-fullscreen .auth-invite-field,.auth-card.auth-card-fullscreen .auth-magic-form,.auth-card.auth-card-fullscreen .auth-role-section{width:min(460px,88%)!important}.auth-card.auth-card-fullscreen .auth-role-btn{font-size:.94rem;padding:9px 8px}.auth-card.auth-card-fullscreen .auth-magic-input{font-size:.96rem}.auth-card.auth-card-fullscreen .auth-role-btn{font-size:.9rem}.auth-card.auth-card-fullscreen .auth-fullscreen-text-close{font-size:1rem;margin-top:14px}.auth-otp-panel{padding:26px 8px 8px;width:100%}.auth-otp-title{font-size:2rem}.auth-otp-subtitle{font-size:1rem;margin-bottom:18px}.auth-otp-input-row{gap:6px;margin-bottom:14px}.auth-otp-input{border-radius:10px;font-size:1.4rem;height:50px;width:38px}.auth-otp-confirm-btn{font-size:1.35rem;padding:12px}.auth-otp-resend-btn{font-size:1rem}.auth-otp-close{font-size:1.05rem;height:34px;right:0;top:-2px;width:34px}}@media(max-width:768px){.auth-soft-panel-wrap{display:none}}.generate-practice-offcanvas{--bs-offcanvas-width:440px}@media(max-width:576px){.generate-practice-offcanvas{--bs-offcanvas-width:60vw;max-width:60vw!important;width:60vw!important}}.generate-practice-offcanvas,.generate-practice-offcanvas .offcanvas-body,.generate-practice-offcanvas .offcanvas-title,.generate-practice-offcanvas button,.generate-practice-offcanvas input,.generate-practice-offcanvas select,.generate-practice-offcanvas textarea{font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font)}.generate-practice-offcanvas .offcanvas-header{border-bottom:1px solid #f3f4f6;padding:20px 24px 16px}@media(max-width:576px){.generate-practice-offcanvas .offcanvas-header{padding:14px 12px 12px}}.generate-practice-offcanvas .offcanvas-body{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px 24px}@media(max-width:576px){.generate-practice-offcanvas .offcanvas-body{padding:12px}}.generate-practice-offcanvas .offcanvas-title{align-items:center;color:#111827;display:flex;font-size:1.1rem;font-weight:700;gap:8px}.generate-practice-offcanvas .generate-offcanvas-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}@media(max-width:576px){.generate-practice-offcanvas .generate-offcanvas-footer{align-items:stretch;flex-direction:column-reverse;gap:6px;padding:12px}.generate-practice-offcanvas .generate-offcanvas-footer .btn{font-size:.85rem;justify-content:center;width:100%}}.generate-practice-offcanvas .generate-offcanvas-footer .btn-primary{align-items:center;background-color:#4f46e5;border-color:#4f46e5;display:inline-flex;gap:6px}.generate-practice-offcanvas .generate-offcanvas-footer .btn-primary:hover:not(:disabled){background-color:#4338ca;border-color:#4338ca}.generate-practice-offcanvas .generate-offcanvas-footer .btn-primary:active{background-color:#3730a3;border-color:#3730a3}.generate-practice-offcanvas .generate-offcanvas-footer .btn-primary:focus-visible{box-shadow:0 0 0 3px #4f46e540}.generate-practice-offcanvas .generate-offcanvas-footer .btn-primary:disabled{background-color:#a5b4fc;border-color:#a5b4fc}.generate-practice-offcanvas .generate-offcanvas-footer .btn-secondary{background-color:#0000;border-color:#0000;color:#4b5563}.generate-practice-offcanvas .generate-offcanvas-footer .btn-secondary:hover:not(:disabled){background-color:#f3f4f6;border-color:#0000;color:#111827}.generate-practice-offcanvas .generate-offcanvas-footer .btn-secondary:active{background-color:#e5e7eb;border-color:#0000}.generate-practice-offcanvas .generate-offcanvas-footer .btn-secondary:focus-visible{box-shadow:0 0 0 3px #4b556326}.generate-practice-offcanvas .generate-title-icon{height:22px;object-fit:contain;width:22px}.generate-practice-offcanvas .generate-btn-icon{height:16px;margin-right:6px;object-fit:contain;vertical-align:middle;width:16px}.generate-practice-offcanvas .generate-tab-icon{flex-shrink:0;height:17px;object-fit:contain;width:17px}@media(max-width:576px){.generate-practice-offcanvas .generate-tab-icon{height:13px;width:13px}}.generate-practice-offcanvas .generate-adv-icon{flex-shrink:0;height:16px;object-fit:contain;width:16px}.generate-practice-offcanvas .generate-caret-icon{flex-shrink:0;height:12px;object-fit:contain;opacity:.5;width:12px}.generate-practice-offcanvas .generate-xs-icon{flex-shrink:0;height:14px;object-fit:contain;width:14px}.generate-practice-offcanvas .generate-upload-area-icon{height:36px;object-fit:contain;opacity:.55;width:36px}.generate-practice-offcanvas .generate-upload-btn-icon{flex-shrink:0;height:22px;object-fit:contain;width:22px}.generate-practice-offcanvas .generate-advanced-label{align-items:center;display:flex;gap:6px}.generate-practice-offcanvas .form-label.fw-semibold{color:#374151;font-size:.875rem;margin-bottom:8px}.generate-practice-offcanvas .generate-source-tabs{background-color:#f3f4f6;border-radius:10px;display:flex;gap:2px;padding:4px}.generate-practice-offcanvas .generate-source-tab{align-items:center;background:#0000;border:none;border-radius:7px;color:#6b7280;cursor:pointer;display:inline-flex;flex:1 1;font-size:.87rem;font-weight:500;gap:5px;justify-content:center;padding:8px 10px;transition:background .18s,color .18s,box-shadow .18s;white-space:nowrap}@media(max-width:576px){.generate-practice-offcanvas .generate-source-tab{font-size:.75rem;gap:3px;padding:6px 4px}}.generate-practice-offcanvas .generate-source-tab:hover:not(:disabled){background:#ffffffa6;color:#374151}.generate-practice-offcanvas .generate-source-tab.active{background:#fff;box-shadow:0 1px 4px #0000001a,0 1px 2px #0000000f;color:#111827;font-weight:600}.generate-practice-offcanvas .generate-source-tab:disabled{cursor:not-allowed;opacity:.45}.generate-practice-offcanvas .generate-chip-group{display:flex;flex-wrap:wrap;gap:8px}.generate-practice-offcanvas .generate-chip{border:1.5px solid #e5e7eb;border-radius:20px;cursor:pointer;font-size:.86rem;font-weight:500;padding:6px 14px;transition:border-color .15s,background .15s}.generate-practice-offcanvas .generate-chip:hover{background:#f7f8ff;border-color:#667eea}.generate-practice-offcanvas .generate-chip.active{background:#eef0ff;border-color:#667eea;color:#3d4fcc}.generate-practice-offcanvas .generate-optional{color:#9ca3af;font-size:.8em;font-weight:400}.generate-practice-offcanvas .generate-custom-instructions{field-sizing:content;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#111827;font-family:inherit;font-size:.88rem;line-height:1.5;min-height:60px;padding:10px 14px;resize:none;transition:border-color .18s,box-shadow .18s;width:100%}@media(max-width:576px){.generate-practice-offcanvas .generate-custom-instructions{font-size:.78rem;min-height:50px;padding:8px 10px}}.generate-practice-offcanvas .generate-custom-instructions:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.generate-practice-offcanvas .generate-custom-instructions::placeholder{color:#d1d5db}.generate-practice-offcanvas .generate-advanced-toggle{align-items:center;background:none;border:none;border-top:1px solid #f3f4f6;color:#9ca3af;cursor:pointer;display:flex;font-size:.82rem;font-weight:500;justify-content:space-between;margin-top:4px;padding:10px 0 4px;transition:color .15s;width:100%}.generate-practice-offcanvas .generate-advanced-toggle:hover{color:#667eea}.generate-practice-offcanvas .generate-advanced-toggle .generate-advanced-caret{font-size:.65em;margin-left:6px}.generate-practice-offcanvas .generate-advanced-section{display:flex;flex-direction:column;gap:12px;padding:12px 0 0}.generate-practice-offcanvas .topic-dropdown{position:relative}.generate-practice-offcanvas .topic-dropdown-trigger{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#111827;cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:9px 14px;text-align:left;transition:border-color .18s,box-shadow .18s;width:100%}@media(max-width:576px){.generate-practice-offcanvas .topic-dropdown-trigger{font-size:.78rem;padding:7px 10px}}.generate-practice-offcanvas .topic-dropdown-trigger:hover{border-color:#667eea}.generate-practice-offcanvas .topic-dropdown-trigger.open{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#667eea #667eea #0000;box-shadow:0 0 0 3px #667eea26}.generate-practice-offcanvas .topic-dropdown-trigger .topic-dropdown-value{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-practice-offcanvas .topic-dropdown-trigger .topic-dropdown-caret{color:#9ca3af;flex-shrink:0;font-size:.7em;margin-left:8px}.generate-practice-offcanvas .topic-dropdown-panel{background:#fff;border:1.5px solid #667eea;border-bottom-left-radius:10px;border-bottom-right-radius:10px;border-top:none;box-shadow:0 4px 12px #00000014;margin-bottom:4px;position:static}.generate-practice-offcanvas .topic-search-wrap{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:6px;padding:8px 12px}.generate-practice-offcanvas .topic-search-wrap .topic-search-icon{flex-shrink:0}.generate-practice-offcanvas .topic-search-wrap .topic-search-input{background:#0000;border:none;color:#111827;flex:1 1;font-size:.88rem;outline:none}.generate-practice-offcanvas .topic-search-wrap .topic-search-input::placeholder{color:#d1d5db}.generate-practice-offcanvas .topic-search-wrap .topic-search-clear{align-items:center;background:none;border:none;cursor:pointer;display:flex;opacity:.5;padding:0 2px}.generate-practice-offcanvas .topic-search-wrap .topic-search-clear:hover{opacity:1}.generate-practice-offcanvas .topic-dropdown-list{max-height:220px;overflow-y:auto;padding:4px 0}.generate-practice-offcanvas .topic-dropdown-group{padding-bottom:4px}.generate-practice-offcanvas .topic-dropdown-group-label{color:#9ca3af;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:6px 12px 3px;pointer-events:none;text-transform:uppercase}.generate-practice-offcanvas .topic-dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:7px 14px;text-align:left;transition:background .1s;width:100%}.generate-practice-offcanvas .topic-dropdown-item:hover{background:#f5f3ff}.generate-practice-offcanvas .topic-dropdown-item.selected{background:#eef0ff;color:#4f46e5;font-weight:600}.generate-practice-offcanvas .topic-item-icon{align-items:center;color:#9ca3af;display:flex;flex-shrink:0}.selected .generate-practice-offcanvas .topic-item-icon{color:#4f46e5}.generate-practice-offcanvas .topic-item-spacer{display:inline-block;flex-shrink:0;height:14px;width:14px}.generate-practice-offcanvas .topic-dropdown-empty{color:#9ca3af;font-size:.85rem;padding:14px;text-align:center}.generate-practice-offcanvas .generate-upload-area{align-items:center;background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;color:#9ca3af;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:28px 24px;text-align:center;transition:border-color .18s,background .18s,color .18s}.generate-practice-offcanvas .generate-upload-area:hover{background:#f5f3ff;border-color:#667eea;color:#667eea}.generate-practice-offcanvas .generate-upload-area.drag-active{background:#f0f2ff;border-color:#667eea;color:#667eea}@media(max-width:768px){.generate-practice-offcanvas .generate-upload-desktop{display:none}}.generate-practice-offcanvas .generate-upload-mobile{display:none;flex-direction:column;gap:12px}@media(max-width:768px){.generate-practice-offcanvas .generate-upload-mobile{display:flex}}.generate-practice-offcanvas .generate-upload-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:opacity .15s,transform .1s;width:100%}.generate-practice-offcanvas .generate-upload-btn:active{opacity:.85;transform:scale(.97)}.generate-practice-offcanvas .generate-upload-btn.primary{background:#667eea;color:#fff}.generate-practice-offcanvas .generate-upload-btn.secondary{background:#f0f2ff;border:1.5px solid #c7cef5;color:#667eea}.generate-practice-offcanvas .generate-upload-preview-wrap{align-items:center;display:flex;flex-direction:column;gap:8px}.generate-practice-offcanvas .generate-upload-clear{-webkit-appearance:none;appearance:none;background:none;border:none;color:#ef4444;cursor:pointer;font-size:.82rem;padding:2px 4px}.generate-practice-offcanvas .generate-upload-clear:hover{text-decoration:underline}.generate-practice-offcanvas .generate-upload-preview{border-radius:10px;max-height:180px;max-width:100%;object-fit:contain}button.input-icon-btn.generate-question-btn{align-items:center!important;align-self:center!important;background-color:#f0f4ff!important;border:1px solid #ddd6fe!important;border-radius:20px!important;box-shadow:0 1px 2px #0000000d!important;color:#667eea!important;display:flex!important;flex-shrink:0;font-size:.95rem;font-weight:600;gap:6px;height:38px;justify-content:center!important;line-height:1!important;min-height:0;min-height:auto;min-width:0;min-width:auto;opacity:.9;padding:0 12px!important;transition:background-color .15s,opacity .15s;width:auto}button.input-icon-btn.generate-question-btn .practice-icon{align-items:center;display:flex;font-size:1.2rem}@media(max-width:768px){button.input-icon-btn.generate-question-btn{border-radius:50%!important;font-size:1.45rem;gap:0;height:42px;min-height:42px;min-width:42px;padding:0 0 1px!important;width:42px}button.input-icon-btn.generate-question-btn .practice-text{display:none}}.desktop-history-hint-popover{animation:hintPopIn .3s cubic-bezier(.34,1.56,.64,1);background:#3b82f6;border-radius:12px;box-shadow:0 8px 24px #3b82f659;color:#fff;font-size:.88rem;font-weight:500;left:15px;line-height:1.4;max-width:250px;padding:10px 16px;pointer-events:auto;position:absolute;text-align:left;top:calc(100% + 10px);width:max-content;z-index:1000}.desktop-history-hint-popover:before{background:#3b82f6;border-top-left-radius:2px;content:"";height:12px;left:20px;position:absolute;top:-5px;transform:rotate(45deg);width:12px}.desktop-history-hint-popover.collapsed-hint{left:35px;top:50%;transform:translateY(-50%)}.desktop-history-hint-popover.collapsed-hint:before{left:-5px;margin-top:-6px;top:50%;transform:rotate(45deg)}@keyframes sm-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.profile-required-asterisk{color:#dc2626;font-weight:700;margin-right:4px}.chat-error-toast{align-items:flex-start;animation:chat-toast-in .22s ease-out both;background:#2b2b2b;border-radius:10px;bottom:90px;box-shadow:0 4px 18px #0000002e;color:#f0f0f0;display:flex;font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sketchmath-font,system-ui,sans-serif);font-size:13.5px;gap:10px;left:50%;max-height:min(240px,100dvh - 120px);max-width:min(480px,100vw - 48px);overflow-y:auto;padding:10px 14px 10px 12px;position:fixed;transform:translateX(-50%);width:max-content;z-index:1200}.chat-error-toast svg{flex-shrink:0;margin-top:2px;opacity:.85}.chat-error-toast span{min-width:0;overflow-wrap:break-word;word-break:break-word}.chat-error-toast__close{background:none;border:none;color:#888;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:0;transition:color .15s}.chat-error-toast__close:hover{color:#f0f0f0}@keyframes chat-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.compact-upgrade-pill{align-items:center;background-color:#fff;border:1px solid #00000026;border-radius:9999px;box-shadow:0 1px 3px #0000000f;display:inline-flex;font-size:.82rem;font-weight:500;margin:0;padding:5px 14px;position:absolute;right:12px;top:12px;width:max-content;z-index:10}.compact-upgrade-pill .plan-text{color:#6b7280}.compact-upgrade-pill .separator{color:#d1d5db}.compact-upgrade-pill .upgrade-link{color:#111827;font-weight:600;text-decoration:none;transition:opacity .2s}.compact-upgrade-pill .upgrade-link:hover{opacity:.7}.subscription-top-bar{display:none}.sidebar-pricing-link{align-items:center;background:#f6fef9;border-top:1px solid #e8f5ee;color:#1a7a4a;display:flex;font-size:13px;font-weight:500;gap:8px;padding:7px 16px;text-decoration:none;transition:background .15s}.sidebar-pricing-link:hover{background:#ecfdf5;color:#155e3a}.sidebar-pricing-link__icon{flex-shrink:0;font-size:15px}