@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root,[data-theme=dark]{--bg:#0e0f12;--bg-elev:#15171c;--bg-elev-2:#1c1f25;--panel:#1a1c21;--panel-strong:#20232a;--ink:#f4f4f5;--ink-muted:#b4b8c1;--muted:#8b909c;--line:#ffffff14;--line-strong:#ffffff26;--accent:#f97316;--accent-soft:#f973162e;--accent-strong:#ea580c;--success:#22c55e;--danger:#ef4444;--user-bubble:#f973161f;--user-bubble-border:#f9731652;--code-bg:#ffffff0d;--shadow-soft:0 1px 2px #0000002e, 0 12px 32px #0000002e;--shadow-popover:0 12px 32px #00000059}[data-theme=light]{--bg:#fbfaf6;--bg-elev:#fff;--bg-elev-2:#f5f3ee;--panel:#fff;--panel-strong:#fffdf8;--ink:#1a1a1a;--ink-muted:#4a4a4a;--muted:#6f6c66;--line:#00000014;--line-strong:#00000026;--accent:#ea580c;--accent-soft:#ea580c1f;--accent-strong:#c2410c;--user-bubble:#fff0e6;--user-bubble-border:#ea580c47;--code-bg:#0000000a;--shadow-soft:0 1px 2px #0000000a, 0 12px 32px #0000000f;--shadow-popover:0 12px 32px #0000001f}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-geist-sans), Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11"}button,textarea,input,select{font:inherit;color:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[role=tablist] [role=tab]{cursor:pointer}.handwriting-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.handwriting-dialog{background:var(--bg-elev);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:600px;padding:16px;display:flex}.handwriting-header{justify-content:space-between;align-items:center;display:flex}.handwriting-title{font-size:15px;font-weight:600}.handwriting-actions{gap:6px;display:flex}.handwriting-canvas{border:1px solid var(--line);cursor:crosshair;touch-action:none;border-radius:8px;width:100%;height:300px}.handwriting-hint{color:var(--ink-muted);text-align:center;font-size:12px}.skip-link{z-index:9999;background:var(--accent);color:#fff;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;position:absolute;top:4px;left:-9999px}.skip-link:focus{left:8px}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}.app-shell{background:var(--bg);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.app-shell .sidebar.is-collapsed+.workspace{grid-template-columns:64px minmax(0,1fr)}.app-shell:has(.sidebar.is-collapsed){grid-template-columns:64px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;gap:14px;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0}.sidebar.is-collapsed{align-items:center;padding:14px 8px}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 6px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-weight:700;display:inline-flex}.brand-mark{justify-content:center;align-items:center;display:inline-flex}.brand-name{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:17px;font-style:italic}.sidebar.is-collapsed .brand-name{display:none}.sidebar-toggle{color:var(--muted)}.icon-button{width:30px;height:30px;color:var(--ink-muted);border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--bg-elev);color:var(--ink)}.icon-button:disabled{opacity:.45;cursor:not-allowed}.new-task-btn{color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;transition:background .12s;display:inline-flex}.new-task-btn:hover{background:var(--bg-elev);color:var(--ink)}.sidebar.is-collapsed .new-task-btn{justify-content:center;padding:8px}.recent-section{flex:auto;min-height:0;padding:4px 2px;overflow-y:auto}.sidebar-modes{display:none}.sidebar-mode-row{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;display:flex}.sidebar-mode-row:hover{background:var(--bg-elev)}.sidebar-mode-row.is-active{background:var(--bg-elev-2);color:var(--ink);font-weight:500}.recent-header{color:var(--muted);justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;font-weight:500;display:flex}.link-button{color:var(--muted);align-items:center;gap:2px;font-size:12px;display:inline-flex}.link-button:hover{color:var(--ink)}.recent-empty{color:var(--muted);text-align:center;padding:12px 10px;font-size:12px}.recent-list{flex-direction:column;gap:1px;list-style:none;display:flex}.recent-row{align-items:center;gap:4px;display:flex;position:relative}.recent-row .recent-rename,.recent-row .recent-delete{opacity:0;width:22px;height:22px;color:var(--muted);flex-shrink:0;transition:opacity .12s,background .12s}.recent-row:hover .recent-rename,.recent-row:focus-within .recent-rename,.recent-row:hover .recent-delete,.recent-row:focus-within .recent-delete{opacity:1}.recent-row .recent-rename:hover,.recent-row .recent-delete:hover{background:var(--bg-elev);color:var(--ink)}.recent-item.is-editing{cursor:text}.recent-title-input{border:1px solid var(--accent);min-width:0;color:var(--ink);font:inherit;background:0 0;border-radius:6px;outline:none;flex:1;margin:-3px -7px;padding:2px 6px}.recent-title-input:focus{background:var(--bg-elev)}.recent-item{text-align:left;color:var(--ink-muted);border-radius:8px;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 10px;font-size:13px;transition:background .18s,color .18s,transform .12s;display:flex}.recent-item:hover,.recent-item.is-active{background:var(--bg-elev);color:var(--ink)}.recent-item:active{transform:scale(.98)}.recent-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.recent-mode{letter-spacing:.03em;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9.5px;font-weight:700;display:inline-flex}.recent-mode.mode-solver{color:#f97316;background:#f9731621}.recent-mode.mode-chat{color:#38bdf8;background:#38bdf821}.recent-mode.mode-cheatsheet{color:#facc15;background:#facc1521}.recent-mode.mode-visualizer{color:#a78bfa;background:#a78bfa21}.recent-mode.mode-report{color:#34d399;background:#34d39921}.recent-mode.mode-pdf-notes{color:#f472b6;background:#f472b621}.recent-mode.mode-notebook{color:#60a5fa;background:#60a5fa21}.sidebar-bottom{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:8px;display:flex}.credits-card{flex-direction:column;gap:8px;padding:10px 8px;display:flex}.credits-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.credits-label{color:var(--ink-muted)}.credits-value{color:var(--muted)}.credits-bar{background:var(--bg-elev-2);border-radius:4px;height:4px;overflow:hidden}.credits-bar>span{background:var(--accent);height:100%;display:block}.upgrade-btn{background:var(--bg-elev);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:500;transition:background .12s}.upgrade-btn:hover{background:var(--bg-elev-2)}.profile-row{color:var(--ink-muted);align-items:center;gap:8px;padding:6px 4px;font-size:13px;display:flex}.profile-avatar{background:var(--bg-elev);width:24px;height:24px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.workspace{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.workspace-topbar{justify-content:space-between;align-items:center;gap:12px;padding:18px 28px 6px;display:flex}.workspace-topbar-right{gap:8px;display:flex}.theme-toggle{background:var(--bg-elev);width:34px;height:34px;color:var(--ink);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--bg-elev-2)}.sign-in-btn{background:var(--accent,#f97316);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.sign-in-btn:hover{opacity:.85}.user-menu{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:4px 10px;font-size:13px;display:inline-flex}.user-avatar{background:var(--accent,#f97316);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.auth-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.auth-card{background:var(--bg-elev,#1e1e2e);border:1px solid var(--line,#333);border-radius:16px;width:90vw;max-width:380px;padding:32px;animation:.25s scaleIn;position:relative;box-shadow:0 20px 60px #0006}.auth-close{color:var(--ink-muted,#888);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:12px;right:12px}.auth-header{text-align:center;margin-bottom:24px}.auth-icon{color:var(--accent,#f97316);margin-bottom:12px}.auth-header h2{color:var(--ink,#eee);margin:0 0 6px;font-size:20px;font-weight:700}.auth-header p{color:var(--ink-muted,#888);margin:0;font-size:13px}.auth-error{color:#ef4444;text-align:center;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:13px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-input{border:1px solid var(--line,#333);background:var(--bg,#0e0e1a);width:100%;color:var(--ink,#eee);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent,#f97316)}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:40px}.auth-password-toggle{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-otp{text-align:center;letter-spacing:8px;font-size:24px;font-weight:700}.auth-submit{background:var(--accent,#f97316);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:opacity .15s;display:flex}.auth-submit:hover{opacity:.9}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-back{color:var(--ink-muted,#888);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px;font-size:13px}.auth-back:hover{color:var(--ink,#eee)}.migration-card{max-width:420px}.migration-actions{flex-direction:column;gap:10px;display:flex}.sync-status{z-index:9999;box-shadow:var(--shadow-popover,0 8px 24px #00000040);pointer-events:none;border-radius:10px;max-width:calc(100vw - 32px);padding:10px 14px;font-size:13px;position:fixed;bottom:16px;right:16px}.sync-status-error{color:#ef4444;background:#ef444426;border:1px solid #ef444466}@media (max-width:720px){.sync-status{text-align:center;bottom:8px;left:8px;right:8px}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.workspace-body{flex-direction:column;flex:1;min-height:0;padding:0 28px 32px;display:flex}.mode-tabs{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;align-items:center;gap:2px;padding:4px;display:inline-flex;position:relative}.mode-tab{color:var(--ink-muted);white-space:nowrap;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:background .18s,color .18s,box-shadow .18s,transform .12s;display:inline-flex}.mode-tab:hover{color:var(--ink)}.mode-tab:active{transform:scale(.96)}.mode-tab.is-active{background:var(--bg-elev-2);color:var(--ink);box-shadow:var(--shadow-soft)}.mode-tab-more-wrap{position:relative}.mode-more-menu{z-index:30;background:var(--panel-strong);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-popover);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.mode-more-item{color:var(--ink);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:inline-flex}.mode-more-item:hover,.mode-more-item.is-active{background:var(--bg-elev)}.solver-view,.chat-view,.visualizer-view,.cheatsheet-view,.document-view{flex-direction:column;flex:1;min-height:0;display:flex}.solver-view{align-items:center;gap:22px;padding-top:8px}.solver-hero{text-align:center;margin-top:22px;animation:.6s ease-out both hero-fade-in}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-title{letter-spacing:-.012em;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:48px;font-weight:400;line-height:1.05}.hero-title em.hero-rotating{color:var(--accent);font-style:italic;transition:opacity .3s;display:block}.hero-subtitle{color:var(--ink-muted);margin-top:12px;font-size:14px}.composer{background:var(--panel);border:1px solid var(--line);width:min(720px,100%);box-shadow:var(--shadow-soft);border-radius:18px;padding:14px 16px 10px;transition:border-color .18s,box-shadow .18s;animation:.4s ease-out .2s both composer-pop}@keyframes composer-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-soft)}.composer.is-drag-over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer.is-compact{border-radius:14px;padding:10px 14px 8px}.attachment-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.attachment-chip{border:1px solid var(--line);background:var(--bg-elev);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:12px;display:inline-flex}.attachment-thumb{object-fit:cover;border-radius:4px;width:24px;height:24px}.attachment-icon{font-size:14px}.yt-icon{color:red;flex-shrink:0}.attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.attachment-remove{width:18px;height:18px}.attachment-chip.is-parsing{color:var(--ink-muted);background:var(--bg-elev);padding:4px 10px}.composer-pick-error{color:#d63b3b;background:#dc3c3c14;border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:12px;line-height:1.4}.composer-textarea{resize:none;width:100%;min-height:60px;color:var(--ink);background:0 0;border:0;outline:0;font-size:15px;line-height:1.5}.composer-textarea::placeholder{color:var(--muted)}.composer-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.composer-actions{align-items:center;gap:6px;display:inline-flex}.pill-button{background:var(--bg-elev);height:30px;color:var(--ink-muted);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:12px;transition:background .12s,color .12s;display:inline-flex}.pill-button:hover{color:var(--ink)}.pill-button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.deep-toggle{font-weight:500}.cross-check{color:var(--ink-muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.cross-check input{accent-color:var(--accent)}.model-select-wrap{position:relative}.model-select-btn{background:var(--accent);color:#fff;border-radius:999px;height:30px;padding:0 12px;font-size:12px;font-weight:500}.model-select-btn:hover{background:var(--accent-strong)}.model-select-menu{z-index:25;background:var(--panel-strong);border:1px solid var(--line);min-width:280px;max-width:340px;box-shadow:var(--shadow-popover);border-radius:12px;padding:6px;position:absolute;bottom:calc(100% + 6px);right:0}.model-option-group+.model-option-group.has-divider{border-top:1px solid var(--line);margin-top:4px;padding-top:6px}.model-option-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px 2px;font-size:10px;font-weight:600}.model-option{text-align:left;width:100%;color:var(--ink);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.model-option:hover,.model-option.is-active{background:var(--bg-elev)}.model-option-row{align-items:center;gap:6px;font-weight:500;display:flex}.model-option-label{font-size:13px;line-height:1.2}.model-option-description{color:var(--muted);font-size:11px;line-height:1.35}.model-option-crosscheck{color:var(--accent);align-items:center;gap:6px;margin-top:2px;font-size:10px;font-weight:500;display:inline-flex}.model-crosscheck-indicator{height:26px;color:var(--accent);white-space:nowrap;cursor:help;background:#e56e271a;border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 10px;font-size:11px;font-weight:500;display:inline-flex}.model-crosscheck-indicator-label{align-items:center;display:inline-flex}@media (max-width:760px){.model-crosscheck-indicator{display:none}}.send-button{background:var(--bg-elev);width:32px;height:32px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:background .18s,color .18s,transform .12s,box-shadow .18s;display:inline-flex}.send-button:not(:disabled):hover{background:var(--accent);color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #f973164d}.send-button:not(:disabled):active{transform:scale(.92)}.send-button:disabled{opacity:.45;cursor:not-allowed}.send-button.is-stop{background:var(--ink);color:var(--bg)}.composer-hint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.select-control{background:var(--bg-elev);height:30px;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:12px}.visualizer-controls{gap:6px;display:inline-flex}.quick-section{flex-direction:column;gap:14px;width:min(960px,100%);margin-top:8px;display:flex}.quick-title{color:var(--ink);margin-top:16px;font-size:15px;font-weight:600}.demo-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.demo-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;min-height:130px;padding:14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.demo-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.demo-label{color:var(--ink);font-size:14px;font-weight:600}.demo-detail{color:var(--ink-muted);flex:1;font-size:12.5px}.demo-cta{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:5px 10px;font-size:11.5px;font-weight:500}.chip-grid{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;padding:7px 12px;font-size:12.5px;transition:background .18s,border-color .18s,transform .12s;display:inline-flex}.chip:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--line-strong);transform:translateY(-1px)}.chip:active:not(:disabled){transform:translateY(0)scale(.97)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000;gap:4px}.chip-accent:hover:not(:disabled){background:var(--accent);color:#fff}.solver-layout{flex:1;grid-template-columns:minmax(0,1fr) 320px;align-items:flex-start;gap:24px;width:100%;min-height:0;display:grid}.solver-main{flex-direction:column;gap:20px;padding-bottom:32px;display:flex}.solver-rail{background:var(--bg);flex-direction:column;align-self:flex-start;gap:10px;padding:8px 0;display:flex;position:sticky;top:16px}.rail-tabs{align-items:center;gap:6px;display:inline-flex}.rail-tab{color:var(--ink-muted);border-radius:999px;padding:6px 14px;font-size:12px}.rail-tab.is-active{background:var(--ink);color:var(--bg);font-weight:500}.rail-body{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.ask-empty{color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:20px 0;font-size:13px;display:flex}.rail-helper{color:var(--ink-muted);text-align:center;margin:0;font-size:12px;line-height:1.4}.followup-thread{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.followup-turn{border:1px solid var(--line);background:var(--bg-elev,var(--panel));border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.followup-q{color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.followup-q-icon{color:var(--ink-muted);flex:none}.followup-a{color:var(--ink);font-size:13px;line-height:1.5}.followup-a>*{font-size:inherit}.followup-pending{color:var(--ink-muted);font-style:italic}.rail-field{flex-direction:column;gap:4px;width:100%;display:flex}.rail-field-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.rail-input-wrap{border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:4px 6px 4px 12px;display:flex}.rail-input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:6px 0;font-size:13px}.rail-input::placeholder{color:var(--muted)}.primary-button{background:var(--accent);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.secondary-button:hover{background:var(--bg-elev-2)}.result-header{flex-direction:column;gap:6px;padding-bottom:4px;display:flex}.badge-pro{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:600}.result-title{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400}.result-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.result-actions{gap:4px;margin-left:auto;display:flex}.result-section{flex-direction:column;gap:8px;animation:.4s ease-out both section-fade-in;display:flex}.result-section:nth-child(2){animation-delay:80ms}.result-section:nth-child(3){animation-delay:.16s}.result-section:nth-child(4){animation-delay:.24s}.result-section:nth-child(5){animation-delay:.32s}@keyframes section-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.section-row{justify-content:space-between;align-items:center;display:flex}.section-heading{color:var(--ink);font-size:17px;font-weight:600}.problem-card,.answer-card,.solution-card{border:1px solid var(--line);background:var(--panel);overflow-wrap:break-word;word-break:break-word;border-radius:14px;padding:16px 18px;font-size:14.5px;line-height:1.65;transition:border-color .2s,box-shadow .2s}.step-reveal-item{animation:.3s both step-fade-in}.step-reveal-item+.step-reveal-item{border-top:1px dashed var(--line,#333);margin-top:8px;padding-top:8px}@keyframes step-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step-reveal-btn{background:var(--accent,#f97316);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.step-reveal-btn:hover{opacity:.85}.step-reveal-collapse{background:var(--bg-elev,#1e293b);color:var(--ink-faint,#888);border:1px solid var(--line,#333)}.step-reveal-collapse:hover{color:var(--ink,#ccc)}.problem-card:hover,.answer-card:hover,.solution-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.cross-checked-badge{background:var(--accent-soft);color:var(--accent);cursor:help;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.cross-checked-badge.cross-checked-pending,.cross-checked-badge.cross-checked-skipped{padding:4px 10px}.cross-checked-pass{color:#40c480;background:#2ecc7129}.cross-checked-minor{color:#e7b01e;background:#ffc4002e}.cross-checked-fail{color:#e8584b;background:#e74c3c29}.cross-checked-pending,.cross-checked-skipped{color:#a0aab8;background:#94a3b829}.cross-checked-pending{animation:1.4s ease-in-out infinite cross-checked-pulse}@keyframes cross-checked-pulse{0%,to{opacity:.7}50%{opacity:1}}.cross-checked-avatars{align-items:center;display:inline-flex}.cross-checked-avatar{color:#fff;letter-spacing:-.02em;border:1.5px solid var(--bg,#fff);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #0000000a}.cross-checked-avatar+.cross-checked-avatar{margin-left:-7px}.cross-checked-icon{flex:none}.bullet-list{color:var(--ink-muted);flex-direction:column;gap:4px;padding-left:20px;font-size:13.5px;display:flex}.check-list{padding-left:0;list-style:none}.check-list li:before{content:"✓ ";color:var(--success,#22c55e);font-weight:600}.quiz-list{flex-direction:column;gap:10px;list-style:none;display:flex}.quiz-item{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 14px}.quiz-question{align-items:flex-start;gap:10px;display:flex}.quiz-answer{border-top:1px dashed var(--line);color:var(--ink-muted);margin-top:8px;padding-top:8px;font-size:13.5px}.quiz-item-mcq .quiz-question{margin-bottom:8px}.quiz-choices{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.quiz-choice-button{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;transition:background .12s,border-color .12s;display:flex}.quiz-choice-button:hover:not(:disabled){background:var(--bg-elev);border-color:var(--accent)}.quiz-choice-button:disabled{cursor:default}.quiz-choice-button[aria-pressed=true]{border-color:var(--accent);background:var(--bg-elev)}.quiz-choice-letter{background:var(--panel);height:22px;color:var(--ink-muted);border-radius:999px;flex:0 0 22px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.quiz-choice-text{flex:1}.quiz-choice.is-correct .quiz-choice-button{background:#16a34a14;border-color:#16a34a}.quiz-choice.is-correct .quiz-choice-letter{color:#fff;background:#16a34a}.quiz-choice.is-wrong .quiz-choice-button{background:#dc262614;border-color:#dc2626}.quiz-choice.is-wrong .quiz-choice-letter{color:#fff;background:#dc2626}.quiz-feedback{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.quiz-feedback-correct{color:#16a34a;font-weight:500}.quiz-feedback-wrong{color:var(--ink-muted)}.quiz-feedback-wrong strong{color:var(--ink)}.quiz-retry{border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.quiz-retry:hover{background:var(--bg-elev);color:var(--ink)}.quiz-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.quiz-section-head .section-heading{margin:0}.quiz-pager{background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:2px 6px;display:inline-flex}.quiz-pager-btn{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;display:inline-flex}.quiz-pager-btn:hover:not(:disabled){background:var(--panel)}.quiz-pager-btn:disabled{color:var(--ink-muted);opacity:.5;cursor:not-allowed}.quiz-pager-count{font-variant-numeric:tabular-nums;color:var(--ink-muted);text-align:center;min-width:36px;font-size:12px}.quiz-choice-mark{flex-shrink:0;margin-left:auto}.quiz-choice-mark-correct{color:#16a34a}.quiz-choice-mark-wrong{color:#dc2626}.quiz-feedback-correct,.quiz-feedback-wrong{align-items:center;gap:6px;display:inline-flex}.quiz-hint-row{flex-direction:column;gap:6px;margin-top:8px;display:flex}.quiz-hint-btn{border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 10px;font-size:11px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.quiz-hint-btn:hover{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}.quiz-hint-btn.is-open{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.quiz-hint-text{color:var(--ink-muted);background:var(--bg-elev);border-left:2px solid var(--accent);border-radius:6px;margin:0;padding:6px 10px;font-size:12.5px}.quiz-explanation{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px}.quiz-explanation-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px;font-size:10px;font-weight:600;display:inline-block}.thinking-process{background:var(--bg-elev);color:var(--ink-muted);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.thinking-row{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.thinking-detail{color:var(--ink-muted);font-size:13px}.thinking-spark{color:var(--accent);animation:1.4s ease-in-out infinite thinking-spark-pulse}@keyframes thinking-spark-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.thinking-steps{flex-direction:column;gap:6px;margin:0;padding:4px 0 2px;list-style:none;display:flex}.thinking-step{color:var(--muted);align-items:center;gap:10px;font-size:13px;transition:color .2s;display:inline-flex}.thinking-step.is-done{color:var(--ink-muted)}.thinking-step.is-active{color:var(--ink)}.thinking-bullet{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px}.thinking-step.is-done .thinking-bullet{background:var(--accent)}.thinking-step.is-active .thinking-bullet{background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:1.2s ease-out infinite thinking-bullet-pulse}@keyframes thinking-bullet-pulse{0%{box-shadow:0 0 #f9731680}to{box-shadow:0 0 0 8px #f9731600}}.solver-error{border:1px solid color-mix(in srgb, var(--danger) 50%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.solver-error .section-heading{color:var(--danger)}.solver-error-hint{color:var(--ink-muted);margin:8px 0 12px;font-size:13px}.solver-error-actions{flex-wrap:wrap;gap:8px;display:flex}.secondary-button{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:8px 18px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.secondary-button:hover{background:var(--bg-elev-2);border-color:var(--line-strong)}@keyframes blink{50%{opacity:0}}.chat-view{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-view.is-empty{justify-content:center;align-items:center}.chat-hero{text-align:center;margin-top:60px;margin-bottom:12px;animation:.6s ease-out both hero-fade-in}.chat-thread{flex-direction:column;flex:1;gap:20px;width:100%;max-width:900px;margin:0 auto;padding:24px clamp(16px,8vw,80px) 100px;display:flex;overflow-y:auto}.chat-row{animation:.32s ease-out both chat-msg-in;display:flex}.chat-row-user{justify-content:flex-end}.chat-row-assistant{justify-content:flex-start}.chat-response-meta{color:var(--ink-faint,#888);align-items:center;gap:10px;padding:2px 0 4px;font-size:11px;display:flex}.response-time{opacity:.7}.debate-expand-section{margin-top:12px}.debate-expand-btn{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s;display:inline-flex}.debate-expand-btn:hover{background:var(--accent-soft);color:var(--accent)}.debate-chevron-up{transform:rotate(180deg)}.debate-all-responses{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;margin-top:12px;padding:16px}.regenerate-btn{border:1px solid var(--line,#333);color:var(--ink-faint,#888);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.regenerate-btn:hover{color:var(--accent,#f97316);border-color:var(--accent,#f97316)}.regenerate-btn svg{flex-shrink:0}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble{background:var(--bg-elev);overflow-wrap:break-word;word-break:break-word;border-radius:14px;max-width:80%;padding:10px 14px;font-size:14px;line-height:1.55}.chat-bubble-user{background:var(--user-bubble);border:1px solid var(--user-bubble-border)}.chat-diagram{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;margin:12px 0;padding:12px;overflow:auto}.assistant-content{width:100%;min-width:0;color:var(--ink);overflow-wrap:break-word;word-break:break-word;font-size:14.5px;line-height:1.65}.sources-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-left:2px;display:flex}.sources-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted,#888);margin-right:2px;font-size:11px;font-weight:600}.source-pill{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 6px;font-size:12px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.source-pill:hover{border-color:var(--accent);background:var(--bg-elev-2)}.source-favicon{border-radius:3px;flex-shrink:0;width:16px;height:16px}.source-host{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.source-index{opacity:.55;margin-left:1px;font-size:10px}.bubble-attachments{gap:6px;margin-bottom:6px;display:flex}.bubble-thumb{object-fit:cover;border-radius:6px;width:60px;height:60px}.bubble-file{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:11px}.streaming-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:1.1em;margin-left:2px;animation:.8s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.thinking-dots{gap:4px;padding:8px 0;display:inline-flex}.thinking-dots span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dots}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-composer-wrap{background:linear-gradient(180deg, transparent, var(--bg) 50%);flex-direction:column;align-items:center;gap:10px;padding:16px 0;display:flex;position:sticky;bottom:0}.chat-composer-wrap.is-hero{background:0 0;position:static}.chat-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:720px;animation:.4s ease-out .4s both section-fade-in;display:flex}.cheatsheet-view{flex:1;grid-template-columns:320px minmax(0,1fr);gap:18px;min-height:0;display:grid}.cheatsheet-side{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:12px;height:calc(100vh - 120px);padding:14px;display:flex}.cheatsheet-side-header{justify-content:space-between;align-items:center;display:flex}.cheatsheet-side-header h2{font-size:14px;font-weight:600}.cheatsheet-history{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.cheatsheet-version{background:var(--bg-elev);color:var(--ink-muted);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:stretch;gap:4px;padding:4px;font-size:12px;display:flex}.cheatsheet-version.is-active{border-color:var(--accent)}.cheatsheet-version-main{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:4px 6px;font-size:12px;display:flex}.cheatsheet-version-label{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.cheatsheet-version-actions{opacity:0;align-items:center;gap:2px;transition:opacity .1s;display:inline-flex}.cheatsheet-version:hover .cheatsheet-version-actions,.cheatsheet-version.is-active .cheatsheet-version-actions{opacity:1}.cheatsheet-version-tag{text-transform:uppercase;color:var(--muted);font-size:10.5px}.cheatsheet-history-empty{color:var(--muted);align-items:center;gap:6px;padding:8px 4px;font-size:12px;display:inline-flex}.cheatsheet-edit-composer{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:flex}.cheatsheet-edit-composer input{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.cheatsheet-main{flex-direction:column;gap:10px;height:calc(100vh - 120px);min-height:0;display:flex}.cheatsheet-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.cheatsheet-zoom,.cheatsheet-format,.cheatsheet-export{align-items:center;gap:4px;display:inline-flex}.cheatsheet-zoom span{color:var(--ink-muted);text-align:center;min-width:38px;font-size:12px}.cheatsheet-sections{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 16px;display:flex}.section-regen-btn{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;transition:background .12s,color .12s;display:inline-flex}.section-regen-btn:hover{background:var(--accent-soft);color:var(--accent)}.cheatsheet-canvas-wrap{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;flex:1;justify-content:center;padding:24px;display:flex;overflow:auto}.cheatsheet-page{color:#111;width:794px;min-height:1123px;box-shadow:var(--shadow-soft);columns:2;transform-origin:top;background:#fff;border-radius:4px;column-gap:22px;padding:30px 32px;font-size:11.5px;line-height:1.45}.cheatsheet-page h1,.cheatsheet-page h2,.cheatsheet-page h3{break-after:avoid;color:#111}.cheatsheet-page h1{margin-bottom:8px;font-size:18px}.cheatsheet-page h2{margin:8px 0 4px;font-size:13px}.cheatsheet-page h3{font-size:12px}.cheatsheet-page ul,.cheatsheet-page ol{padding-left:16px}.visualizer-view{flex:1;grid-template-columns:minmax(0,1fr) 320px;gap:18px;min-height:0;padding-top:8px;display:grid}.visualizer-canvas{background:var(--bg-elev);border:1px solid var(--line);border-radius:16px;justify-content:center;align-items:center;min-height:60vh;padding:18px;display:flex}.visualizer-image{max-width:100%;max-height:70vh;box-shadow:var(--shadow-soft);border-radius:12px}.visualizer-loading{color:var(--ink-muted);flex-direction:column;align-items:center;gap:10px;display:flex}.spinner,.spin{animation:1s linear infinite spin}.pdf-upload-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.pdf-meta{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.error-text{color:#ef4444;font-size:12.5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.visualizer-fallback{text-align:center;color:var(--ink-muted);max-width:400px;font-size:13px}.smiles-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;width:100%;max-width:920px;margin-top:16px;display:grid}.smiles-container{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.smiles-svg{width:100%;max-width:400px;height:250px}.smiles-string{font-family:var(--font-mono,monospace);color:var(--ink-muted);word-break:break-all;text-align:center;font-size:11px}.visualizer-diagram{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:920px;padding:44px 24px 24px;display:flex;position:relative;overflow:auto}.diagram-toolbar{z-index:1;gap:4px;display:flex;position:absolute;top:8px;right:8px}.diagram-source{width:100%;color:var(--ink);background:var(--panel);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:60vh;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.visualizer-diagram .mermaid-block{justify-content:center;align-items:center;width:100%;display:flex}.visualizer-diagram svg{max-width:100%;height:auto}.mermaid-block{margin:12px 0;display:block}.mermaid-block svg{max-width:100%;height:auto}.mermaid-error{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;flex-direction:column;gap:6px;padding:10px;font-size:12px;display:flex}.visualizer-rail{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;height:fit-content;padding:16px;display:flex}.rail-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.rail-prompt{color:var(--ink);font-size:14px;line-height:1.5}.rail-subhead{color:var(--ink);margin-top:6px;font-size:12px;font-weight:600}.rail-text{color:var(--ink-muted);font-size:13px;line-height:1.55}.rail-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.document-view{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.notebook-view{flex:1;grid-template-columns:260px minmax(0,1fr);gap:18px;min-height:0;display:grid}.notebook-side{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex}.notebook-side-actions{align-items:center;gap:6px;display:flex}.notebook-side-actions .primary-button{flex:1}.notebook-folders{flex-direction:column;gap:2px;display:flex}.notebook-folder-btn{color:var(--ink-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.notebook-folder-btn:hover{background:var(--bg-elev)}.notebook-folder-btn.is-active{background:var(--accent-soft);color:var(--accent)}.notebook-breadcrumb{color:var(--ink-muted);align-items:center;gap:4px;font-size:11px;display:flex}.notebook-breadcrumb-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:11px}.notebook-pages{flex-direction:column;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.notebook-empty{color:var(--muted);padding:8px 4px;font-size:12.5px}.notebook-page-row{border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.notebook-page-row.is-active{background:var(--bg-elev);border-color:var(--line)}.notebook-page-row:hover .notebook-row-actions{opacity:1}.notebook-page-title{text-align:left;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:1;font-size:13px;overflow:hidden}.notebook-row-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}.notebook-page-row.is-active .notebook-row-actions{opacity:1}.notebook-main{flex-direction:column;gap:12px;min-height:0;display:flex}@media (max-width:980px){.notebook-view{grid-template-columns:1fr}}.document-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.document-title{color:var(--ink);font-size:17px;font-weight:600}.document-actions{gap:6px;display:inline-flex}.document-page{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex:1;width:100%;max-width:900px;margin:0 auto;padding:36px clamp(20px,6vw,80px);font-size:14.5px;line-height:1.65;overflow-y:auto}.math-markdown{overflow-wrap:break-word;word-break:break-word;min-width:0}.math-markdown h1,.math-markdown h2,.math-markdown h3,.math-markdown h4{color:var(--ink);margin-top:.8em;margin-bottom:.4em;font-weight:600;line-height:1.3}.math-markdown h1{font-size:1.5em}.math-markdown h2{font-size:1.18em}.math-markdown h3{font-size:1.05em}.math-markdown p{margin:.55em 0}.math-markdown ul,.math-markdown ol{margin:.55em 0;padding-left:22px}.math-markdown li{margin-bottom:4px}.math-markdown code{background:var(--code-bg);border-radius:4px;padding:1px 5px;font-size:.92em}.math-markdown pre{background:var(--code-bg);border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.5;overflow-x:auto}.math-markdown blockquote{border-left:3px solid var(--line-strong);color:var(--ink-muted);margin:.6em 0;padding-left:12px}.math-markdown a{color:var(--accent);border-bottom:1px dashed var(--accent);text-decoration:none}.math-markdown table{border-collapse:collapse;margin:.6em 0;font-size:13px}.math-markdown th,.math-markdown td{border:1px solid var(--line);text-align:left;padding:6px 10px}.math-markdown hr{border:0;border-top:1px solid var(--line);margin:1em 0}[data-theme=dark] .katex{color:var(--ink)}.math-markdown .katex{font-size:1.05em}.math-markdown .katex-display{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;margin:.9em 0;padding:10px 14px;display:block;overflow:auto hidden}.math-markdown .katex-display>.katex{text-align:center;white-space:nowrap;display:block}.math-markdown .katex-display>.katex>.katex-html{display:block;position:relative}.math-markdown .katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.math-markdown :not(.katex-display)>.katex{background:var(--code-bg);border-radius:5px;padding:0 4px}.math-markdown .katex-html .boxed,.math-markdown .katex .mord.boxed{border-color:var(--accent)!important}.math-markdown .katex .accent,.math-markdown .katex .mord.accent{color:inherit}[data-theme=dark] .math-markdown .katex-display{background:#ffffff05}[data-theme=light] .katex{color:#1a1a1a}[data-theme=light] .math-markdown .katex-display{background:#00000005;border-color:#00000014}[data-theme=light] .settings-overlay{background:#00000040}[data-theme=light] .settings-dialog{box-shadow:0 24px 80px #00000026}[data-theme=light] .mermaid-error{background:#00000008}.glossary-term-wrapper{display:inline;position:relative}.glossary-term{color:var(--accent);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:2px;cursor:help;background:0 0;border:0;margin:0;padding:0;text-decoration-thickness:1.5px;transition:color .12s,text-decoration-color .12s;display:inline}.glossary-term:hover,.glossary-term:focus-visible{color:var(--accent-strong,var(--accent));-webkit-text-decoration-color:var(--accent-strong,var(--accent));text-decoration-color:var(--accent-strong,var(--accent));outline:none}.glossary-term[aria-expanded=true]{background:#f9731614;border-radius:3px}.glossary-popover{z-index:30;background:var(--panel);width:max-content;max-width:min(320px,80vw);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-popover,0 8px 24px #0000002e);pointer-events:auto;white-space:normal;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;line-height:1.55;display:flex;position:absolute;top:calc(100% + 6px);left:0}.glossary-popover-term{color:var(--ink);font-size:13px;font-weight:600}.glossary-popover-def{color:var(--ink-muted);font-size:13px}.glossary-popover-ask{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;margin-top:2px;padding:4px 8px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.glossary-popover-ask:hover,.glossary-popover-ask:focus-visible{background:var(--accent);color:#fff;outline:none}.workspace-menu-button,.sidebar-backdrop{display:none}@media (max-width:980px){.solver-layout{grid-template-columns:1fr}.solver-rail{position:static}.visualizer-view,.cheatsheet-view{grid-template-columns:1fr}.cheatsheet-side,.cheatsheet-main{height:auto}.mode-tabs{scrollbar-width:none;flex-wrap:nowrap;flex:0 auto;min-width:0;overflow-x:auto}.mode-tabs::-webkit-scrollbar{display:none}}@media (max-width:720px){.app-shell{grid-template-columns:1fr}.app-shell:has(.sidebar.is-collapsed){grid-template-columns:1fr}.sidebar{z-index:50;width:min(280px,84vw);box-shadow:var(--shadow-popover);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-mobile-open{transform:translate(0)}.sidebar.is-collapsed{align-items:stretch;padding:14px 12px}.sidebar.is-collapsed .brand-name,.sidebar.is-collapsed .new-task-btn span,.sidebar.is-collapsed .sidebar-settings-btn span,.sidebar.is-collapsed .profile-name{display:inline}.sidebar-backdrop{z-index:49;cursor:pointer;background:#00000073;border:0;padding:0;display:block;position:fixed;inset:0}.workspace-menu-button{background:var(--bg-elev);width:36px;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.workspace-topbar{gap:8px;padding:14px 14px 4px}.workspace-body{padding:0 14px 24px}.workspace-topbar-right{flex-shrink:0}.hero-title{font-size:28px}.demo-grid{grid-template-columns:1fr}.composer{padding:12px}.composer-bottom{flex-wrap:wrap;row-gap:10px}.composer-actions{flex-wrap:wrap;row-gap:8px}.attachment-row{flex-wrap:wrap}.result-header{gap:6px}.result-meta{flex-wrap:wrap;gap:6px;font-size:12px}.result-actions{margin-left:0}.chip-grid{grid-template-columns:1fr}.followup-thread{margin-left:0;margin-right:0}.rail-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.rail-tabs::-webkit-scrollbar{display:none}.quiz-section-head{flex-wrap:wrap;gap:8px}.quiz-choices{gap:6px}.quiz-choice-button{padding:10px 12px}.math-markdown .katex-display{max-width:100%;overflow:auto hidden}.math-markdown pre{overflow-x:auto}.settings-dialog{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.settings-overlay{padding:0}.icon-button{min-width:36px;min-height:36px}.composer-textarea,.settings-input,.settings-textarea,.cheatsheet-edit-composer input{font-size:16px}.sidebar-modes{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin-bottom:4px;padding:0 2px 4px;display:flex}.mode-tabs{-webkit-overflow-scrolling:touch}.mode-more-menu{min-width:min(280px,100vw - 16px);max-width:calc(100vw - 16px)}body[data-mobile-drawer=open]{overflow:hidden}.workspace-body{padding-bottom:max(24px, env(safe-area-inset-bottom))}.composer{margin-bottom:env(safe-area-inset-bottom)}.mode-tab,.mode-more-item,.icon-button,.chip,.send-button,.quiz-choice-button,.sidebar-mode-row,.recent-item{touch-action:manipulation}.recent-row .recent-rename,.recent-row .recent-delete{opacity:.55}.recent-row .recent-rename:active,.recent-row .recent-delete:active{opacity:1}.settings-nav{scrollbar-width:none;flex-direction:row;gap:6px;padding:8px;overflow-x:auto}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{flex-direction:row;flex-shrink:0;align-items:center;gap:6px}.settings-nav-description{display:none}.recent-item{padding:9px 12px;font-size:14px}.chip{padding:8px 13px;font-size:13.5px}.send-button{width:36px;height:36px}.chat-bubble{padding:12px 14px;font-size:15.5px;line-height:1.6}.assistant-content{font-size:15.5px;line-height:1.65}.problem-card,.answer-card,.solution-card{padding:14px;font-size:15.5px;line-height:1.65}.section-heading{font-size:18px}.hero-subtitle{font-size:15px}.math-markdown .katex{font-size:1.05em}.quiz-question{font-size:15.5px;line-height:1.55}.quiz-choice-text{font-size:15.5px;line-height:1.5}.quiz-choice-letter{flex:0 0 26px;height:26px;font-size:14px}.composer-textarea{line-height:1.5}.cheatsheet-page,.document-page{font-size:15px;line-height:1.6}.settings-help{font-size:13.5px}.settings-nav-label{font-size:14px}.glossary-popover{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;max-width:none;font-size:14px;position:fixed;top:auto}.glossary-popover-term,.glossary-popover-def{font-size:14px}.glossary-popover-ask{padding:6px 10px;font-size:13px}}@media (max-width:420px){.workspace-topbar{padding:10px 10px 4px}.workspace-body{padding-top:0;padding-left:10px;padding-right:10px;padding-bottom:max(20px, env(safe-area-inset-bottom))}.hero-title{font-size:24px}.demo-card{padding:14px}}@media print{@page{size:A4;margin:12mm}.sidebar,.workspace-topbar,.composer,.cheatsheet-side,.cheatsheet-toolbar,.document-toolbar{display:none!important}body{color:#111!important;background:#fff!important}body[data-printing=cheatsheet] :not(.cheatsheet-page):not(.cheatsheet-page *){visibility:hidden!important}body[data-printing=cheatsheet] .cheatsheet-page{columns:2;color:#111;column-gap:14mm;font-size:9pt;line-height:1.35;width:100%!important;min-height:0!important;box-shadow:none!important;visibility:visible!important;border-radius:0!important;margin:0!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important}body[data-printing=cheatsheet] .cheatsheet-page *{visibility:visible!important}body[data-printing=cheatsheet] .cheatsheet-page h1{font-size:14pt}body[data-printing=cheatsheet] .cheatsheet-page h2{margin-top:6pt;font-size:11pt}body[data-printing=cheatsheet] .cheatsheet-page h3{font-size:10pt}body[data-printing=cheatsheet] .katex{font-size:1em!important}body[data-printing=document] :not(.document-page):not(.document-page *){visibility:hidden!important}body[data-printing=document] .document-page{font-size:11pt;line-height:1.55;width:100%!important;min-height:0!important;box-shadow:none!important;color:#111!important;visibility:visible!important;background:#fff!important;border-radius:0!important;margin:0!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important}body[data-printing=document] .document-page *{visibility:visible!important;color:#111!important;background:0 0!important}body[data-printing=document] .document-page h1{margin-bottom:8pt;font-size:18pt}body[data-printing=document] .document-page h2{margin-top:14pt;font-size:14pt}body[data-printing=document] .document-page h3{margin-top:10pt;font-size:12pt}}.quick-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-dots{align-items:center;gap:6px;margin-top:16px;display:inline-flex}.demo-dot{background:var(--line-strong);cursor:pointer;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .16s,background .16s}.demo-dot:hover{background:var(--ink-muted)}.demo-dot.is-active{background:var(--accent);width:18px}@keyframes demo-card-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.demo-card-anim{animation:.32s ease-out both demo-card-fade-in}@media (prefers-reduced-motion:reduce){.demo-card-anim,.solver-hero,.composer,.chat-row,.result-section{animation:none!important}.chip,.mode-tab,.send-button,.demo-card,.problem-card,.answer-card,.solution-card{transition:none!important}}.sidebar-settings-btn{width:100%;color:var(--ink-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex}.sidebar-settings-btn:hover{background:var(--panel);color:var(--ink);border-color:var(--line)}.sidebar.is-collapsed .sidebar-settings-btn{justify-content:center;padding:8px}.settings-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;background:#080a0e8c;justify-content:center;align-items:center;padding:24px;animation:.16s ease-out both settings-overlay-fade;display:flex;position:fixed;inset:0}@keyframes settings-overlay-fade{0%{opacity:0}to{opacity:1}}.settings-dialog{background:var(--bg);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(820px,100%);max-height:min(680px,90vh);animation:.2s ease-out both settings-dialog-pop;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000073}@keyframes settings-dialog-pop{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.settings-header h2{color:var(--ink);margin:0;font-size:15px;font-weight:600}.settings-body{flex:1;grid-template-columns:220px 1fr;min-height:0;display:grid}.settings-nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:4px;padding:12px;display:flex;overflow-y:auto}.settings-nav-item{text-align:left;color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:background .12s,color .12s;display:flex}.settings-nav-item:hover{background:var(--bg);color:var(--ink)}.settings-nav-item.is-active{background:var(--bg);color:var(--ink);border-color:var(--line)}.settings-nav-label{font-size:13px;font-weight:600}.settings-nav-description{color:var(--ink-muted);font-size:11.5px;line-height:1.35}.settings-content{min-height:0;padding:20px 22px;overflow-y:auto}.settings-panel{flex-direction:column;gap:14px;display:flex}.settings-panel-headline{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.settings-panel-headline h3,.settings-panel h3{color:var(--ink);margin:0;font-size:14px;font-weight:600}.settings-help{color:var(--ink-muted);margin:0;font-size:12.5px;line-height:1.5}.settings-field{flex-direction:column;gap:6px;margin-top:6px;display:flex}.settings-field-label{color:var(--ink);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.settings-counter{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:400}.settings-field-help{color:var(--ink-muted);font-size:11.5px;line-height:1.45}.settings-field-help em{color:var(--ink);font-style:italic}.settings-input,.settings-textarea{width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--line);resize:vertical;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}.settings-input:focus,.settings-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.settings-textarea{min-height:140px;line-height:1.5}.settings-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.settings-secondary-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:12.5px}.settings-secondary-btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel)}.settings-secondary-btn:disabled{opacity:.5;cursor:not-allowed}.settings-saved-pill{color:var(--ink-muted);font-size:11.5px}.theme-toggle-group{background:var(--panel);border:1px solid var(--line);border-radius:999px;gap:6px;padding:4px;display:inline-flex}.theme-toggle-group .theme-toggle{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:inline-flex}.theme-toggle-group .theme-toggle.is-active{background:var(--bg);color:var(--ink);box-shadow:0 0 0 1px var(--line)}@media (max-width:720px){.settings-body{grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--line)}}.chip-with-icon{gap:6px}.chip-with-icon svg{color:var(--ink-muted);flex-shrink:0}.chip-with-icon:hover:not(:disabled) svg{color:var(--accent)}.followup-copy-btn{border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;font-size:11px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.followup-copy-btn:hover{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}.followup-copy-btn.is-copied{color:var(--accent);border-color:var(--accent)}.onboarding-overlay{z-index:9999;background:#0009;justify-content:center;align-items:center;animation:.3s fade-in;display:flex;position:fixed;inset:0}.onboarding-card{background:var(--panel,#1e293b);border:1px solid var(--line,#333);text-align:center;border-radius:20px;width:90%;max-width:420px;padding:36px 28px 24px;animation:.3s pop-in;position:relative}.onboarding-close{color:var(--ink-faint,#888);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:12px;right:12px}.onboarding-close:hover{color:var(--ink,#ccc)}.onboarding-icon{margin-bottom:12px}.onboarding-title{color:var(--ink,#f5f5f5);margin:0 0 8px;font-size:20px;font-weight:700}.onboarding-desc{color:var(--ink-muted,#aaa);margin:0 0 20px;font-size:14px;line-height:1.6}.onboarding-dots{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.onboarding-dot{background:var(--line,#444);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.onboarding-dot.is-active{transform:scale(1.3)}.onboarding-actions{justify-content:center;gap:10px;margin-bottom:12px;display:flex}.onboarding-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 20px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.onboarding-btn:hover{opacity:.85}.onboarding-btn-next{color:#fff}.onboarding-btn-back{background:var(--bg-elev,#1e293b);color:var(--ink-faint,#888);border:1px solid var(--line,#333)}.onboarding-skip{color:var(--ink-faint,#666);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.onboarding-skip:hover{color:var(--ink-muted,#999)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.landing-root{background:var(--bg);color:var(--ink);min-height:100dvh;font-family:var(--font-geist-sans), system-ui, sans-serif;flex-direction:column;line-height:1.55;display:flex}.landing-root a{color:inherit;text-decoration:none}.landing-root main{flex:auto}.landing-nav{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:18px clamp(20px,4vw,56px);display:flex;position:sticky;top:0}.landing-brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.landing-brand-mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.landing-nav-links{color:var(--ink-muted);align-items:center;gap:24px;margin-left:16px;font-size:14px;display:inline-flex}.landing-nav-links a:hover{color:var(--ink)}.landing-nav-cta{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.landing-link-quiet{color:var(--ink-muted);padding:8px 4px;font-size:14px}.landing-link-quiet:hover{color:var(--ink)}.landing-cta{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:transform .15s,opacity .15s,background .15s;display:inline-flex}.landing-cta:hover{transform:translateY(-1px)}.landing-cta-primary{background:var(--accent);color:#fff}.landing-cta-primary:hover{background:var(--accent-strong)}.landing-cta-ghost{background:var(--bg-elev);color:var(--ink);border:1px solid var(--line-strong)}.landing-cta-ghost:hover{background:var(--bg-elev-2)}.landing-cta-large{border-radius:12px;padding:14px 22px;font-size:15px}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,6vw,64px);width:100%;max-width:1200px;margin:0 auto;padding:clamp(56px,9vw,96px) clamp(20px,4vw,56px);display:grid}.landing-hero-inner{min-width:0}.landing-eyebrow{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.landing-eyebrow-quiet{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:12px;font-weight:600;display:inline-block}.landing-title{letter-spacing:-.025em;margin:0 0 20px;font-size:clamp(36px,5.4vw,60px);font-weight:600;line-height:1.05}.landing-title-accent{color:var(--accent)}.landing-subtitle{color:var(--ink-muted);max-width:560px;margin:0 0 28px;font-size:clamp(16px,1.6vw,19px)}.landing-hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.landing-hero-bullets{color:var(--ink-muted);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.landing-hero-bullets li{align-items:center;gap:8px;display:inline-flex}.landing-hero-bullets svg{color:var(--success,#22c55e);flex-shrink:0}.landing-hero-card{background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:18px;flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.landing-hero-card-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.landing-hero-card-row-user{justify-content:flex-end}.landing-hero-bubble{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:12px;max-width:100%;padding:10px 14px;font-size:14px}.landing-hero-bubble-user{background:var(--user-bubble);border-color:var(--user-bubble-border)}.landing-hero-bubble code{font-family:var(--font-geist-mono), ui-monospace, monospace;background:var(--code-bg);border-radius:6px;padding:2px 6px;font-size:13px}.landing-hero-pill{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);background:var(--bg-elev-2);border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:600}.landing-hero-mono{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--ink);word-break:break-word;font-size:13px}.landing-hero-models{color:var(--ink-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.landing-hero-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:inline-flex}.landing-hero-avatar+.landing-hero-avatar{background:var(--accent-strong)}.landing-hero-agree{color:var(--success,#22c55e);font-weight:500}.landing-hero-quiz{color:var(--ink);font-size:14px}.landing-section{width:100%;max-width:1200px;margin:0 auto;padding:clamp(64px,9vw,112px) clamp(20px,4vw,56px)}.landing-section-alt{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}.landing-section-alt>*{max-width:1200px;margin-inline:auto}.landing-section-head{max-width:720px;margin-bottom:40px}.landing-section-head h2{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.15}.landing-section-head p{color:var(--ink-muted);margin:0;font-size:16px}.landing-features-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.landing-feature-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .15s,border-color .15s}.landing-feature-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.landing-feature-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.landing-feature-card h3{letter-spacing:-.01em;margin:0 0 8px;font-size:17px;font-weight:600}.landing-feature-card p{color:var(--ink-muted);margin:0;font-size:14px}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{align-items:flex-start;gap:16px;display:flex}.landing-step-num{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.landing-steps h3{margin:6px 0 8px;font-size:16px;font-weight:600}.landing-steps p{color:var(--ink-muted);margin:0;font-size:14px}.landing-why{grid-template-columns:minmax(0,1fr);align-items:start;gap:32px;display:grid}.landing-why-text h2{letter-spacing:-.02em;max-width:720px;margin:0 0 20px;font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.15}.landing-why-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:0 0 28px;padding:0;list-style:none;display:grid}.landing-why-list li{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink-muted);border-radius:14px;align-items:flex-start;gap:12px;padding:18px;font-size:14px;line-height:1.55;display:flex}.landing-why-list li svg{color:var(--accent);flex-shrink:0;margin-top:2px}.landing-why-list strong{color:var(--ink);font-weight:600}.landing-why-cta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.landing-footer{border-top:1px solid var(--line);background:var(--bg-elev);padding:32px clamp(20px,4vw,56px)}.landing-footer-inner{flex-wrap:wrap;align-items:center;gap:16px 24px;max-width:1200px;margin:0 auto;display:flex}.landing-footer-tag{color:var(--ink-muted);margin:0;font-size:13px}.landing-footer-links{color:var(--ink-muted);align-items:center;gap:18px;margin-left:auto;font-size:13px;display:inline-flex}.landing-footer-links a:hover{color:var(--ink)}@media (max-width:980px){.landing-hero{text-align:left;grid-template-columns:minmax(0,1fr)}.landing-nav-links{display:none}}@media (max-width:720px){.landing-nav{gap:12px;padding:14px 18px}.landing-nav-cta{gap:8px}.landing-cta{padding:9px 14px;font-size:13px}.landing-cta-large{padding:12px 18px;font-size:14px}.landing-hero{padding:40px 18px}.landing-section,.landing-section-alt{padding:56px 18px}.landing-hero-card{padding:16px}.landing-footer-links{flex-wrap:wrap;margin-left:0}}@media (max-width:420px){.landing-link-quiet{display:none}.landing-title{font-size:32px}}.login-page{background:var(--bg);grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.login-showcase{background:linear-gradient(135deg, var(--accent-soft) 0%, transparent 60%), var(--bg);border-right:1px solid var(--line);justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.login-showcase:before{content:"";background:radial-gradient(circle at 20% 80%, var(--accent-soft) 0%, transparent 50%), radial-gradient(circle at 80% 20%, #ff8c320f 0%, transparent 40%);pointer-events:none;position:absolute;inset:0}.login-showcase-inner{z-index:1;max-width:440px;position:relative}.login-showcase .login-brand{margin-bottom:36px}.login-showcase-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 12px;font-size:30px;font-weight:800;line-height:1.2}.login-showcase-accent{color:var(--accent)}.login-showcase-subtitle{color:var(--ink-muted);margin:0 0 32px;font-size:15px;line-height:1.6}.login-highlights{flex-direction:column;gap:14px;margin:0 0 36px;padding:0;list-style:none;display:flex}.login-highlight-item{color:var(--ink);align-items:center;gap:12px;font-size:14px;line-height:1.4;display:flex}.login-highlight-icon{background:var(--accent-soft);width:34px;min-width:34px;height:34px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.login-showcase-proof{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:24px;display:flex}.login-proof-row{color:var(--ink-muted);align-items:center;gap:8px;font-size:13px;display:flex}.login-proof-row svg{color:var(--accent);min-width:14px}.login-form-panel{justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-card{background:var(--bg-elev);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-soft);border-radius:20px;flex-direction:column;align-items:center;padding:40px 36px;animation:.3s both scaleIn;display:flex}.login-brand{align-items:center;gap:8px;margin-bottom:32px;text-decoration:none;display:inline-flex}.login-brand-mobile{display:none}.login-header{text-align:center;width:100%;margin-bottom:28px}.login-icon-wrap{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.login-header h1{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:800}.login-header p{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.5}.login-error{color:#ef4444;text-align:center;background:#ef44441f;border:1px solid #ef444440;border-radius:10px;width:100%;margin-bottom:18px;padding:10px 14px;font-size:13px}.login-form{flex-direction:column;gap:14px;width:100%;display:flex}.login-label{color:var(--ink-muted);margin-bottom:-6px;font-size:13px;font-weight:600}.login-input{border:1px solid var(--line-strong);background:var(--bg);width:100%;color:var(--ink);box-sizing:border-box;border-radius:12px;outline:none;padding:13px 16px;font-size:15px;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-password-wrap{position:relative}.login-password-wrap .login-input{padding-right:44px}.login-password-toggle{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-switch{text-align:center;color:var(--ink-muted);margin-top:4px;font-size:13px}.login-switch-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.login-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:13px;font-size:15px;font-weight:700;transition:opacity .15s;display:flex}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-back{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:4px;font-size:13px;transition:color .15s;display:flex}.login-back:hover{color:var(--ink)}.login-footer-text{color:var(--muted);text-align:center;margin-top:28px;font-size:12px}.login-home-link{color:var(--ink-muted);align-items:center;gap:6px;margin-top:16px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.login-home-link:hover{color:var(--accent)}.auth-guard-loading{background:var(--bg);min-height:100dvh;color:var(--accent);justify-content:center;align-items:center;display:flex}@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-form-panel{min-height:100dvh;padding:24px}.login-brand-mobile{display:inline-flex}}@media (max-width:480px){.login-card{border-radius:16px;padding:32px 24px}.login-otp-input{letter-spacing:8px;font-size:24px}}.shared-page{background:var(--bg);min-height:100dvh;color:var(--ink)}.shared-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.shared-cta{background:var(--accent);color:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.shared-cta:hover{opacity:.9}.shared-body{max-width:780px;margin:0 auto;padding:40px 24px 80px}.shared-loading{min-height:40vh;color:var(--accent);justify-content:center;align-items:center;display:flex}.shared-error{text-align:center;padding:80px 24px}.shared-error h2{color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:800}.shared-error p{color:var(--ink-muted);margin:0 0 24px}.shared-card{background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:16px;padding:36px 32px}.shared-meta{align-items:center;gap:12px;margin-bottom:20px;display:flex}.shared-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.shared-badge-solve{background:var(--accent-soft);color:var(--accent)}.shared-badge-chat{color:#3b82f6;background:#3b82f61f}.shared-time{color:var(--ink-muted);font-size:13px}.shared-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 20px;font-size:24px;font-weight:800;line-height:1.3}.shared-prompt{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:12px;margin-bottom:28px;padding:16px 20px;font-size:15px}.shared-section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.shared-section h2{color:var(--ink);letter-spacing:-.01em;margin:0 0 14px;font-size:16px;font-weight:700}.shared-steps{flex-direction:column;gap:18px;margin:0;padding-left:24px;display:flex}.shared-step h3{color:var(--accent);margin:0 0 6px;font-size:14px;font-weight:700}.shared-step>div{color:var(--ink);font-size:15px;line-height:1.7}.shared-formula{background:var(--bg);text-align:center;border-radius:10px;margin:10px 0;padding:12px 16px;overflow-x:auto}.shared-concepts{color:var(--ink);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:14px;line-height:1.6;display:flex}.shared-chat-thread{flex-direction:column;gap:16px;margin-top:20px;display:flex}.shared-chat-msg{flex-direction:column;gap:4px;display:flex}.shared-chat-role{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:12px;font-weight:700}.shared-chat-msg-user .shared-chat-content{background:var(--user-bubble);border-radius:14px 14px 4px;padding:12px 16px;font-size:15px;line-height:1.6}.shared-chat-msg-assistant .shared-chat-content{padding:4px 0;font-size:15px;line-height:1.7}@media (max-width:720px){.shared-nav{padding:12px 16px}.shared-body{padding:24px 16px 60px}.shared-card{border-radius:14px;padding:24px 20px}.shared-title{font-size:20px}}.settings-page{background:var(--bg);min-height:100vh;color:var(--ink);max-width:640px;margin:0 auto;padding:32px 24px}.settings-header{flex-direction:column;gap:8px;margin-bottom:32px;display:flex}.settings-back{color:var(--accent);align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.settings-title{font-size:28px;font-weight:700}.settings-content{flex-direction:column;gap:24px;display:flex}.settings-section{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;padding:16px}.settings-section-title{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:14px;font-weight:600}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.settings-row:last-child{border-bottom:none}.settings-value{color:var(--ink-muted)}.settings-theme-btn{background:var(--bg-elev-2,var(--panel));border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.settings-danger-btn{color:var(--danger);cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.settings-danger-btn:hover{background:#ef444433}.review-queue{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.review-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.review-question{flex:1;font-size:13px}.review-actions{gap:4px;display:flex}
