@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Instrument+Serif:ital@0;1&family=Playfair+Display:ital,wght@0,400;1,400&display=swap";html{-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--color-primary:#44403c;--color-primary-hover:#292524;--color-primary-soft:#eceae7;--color-accent:#d4a574;--color-accent-soft:#fdf6ee;--color-success:#10b981;--color-success-soft:#ecfdf5;--color-error:#ef4444;--color-error-hover:#dc2626;--color-error-soft:#fef2f2;--color-bg:#f5f5f0;--color-surface:#fff;--color-text:#1c1917;--color-text-secondary:#57534e;--color-text-muted:#a8a29e;--color-border:#e7e5e4;--color-border-hover:#d6d3d1;--color-code-bg:#1e1e2e;--color-reasoning:#a8a29e;--color-gradient-start:#44403c;--color-gradient-end:#78716c;--shadow-sm:0 1px 4px #0000000a;--shadow-md:0 2px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:18px;--radius-full:50%;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;--font-mono:"SF Mono","JetBrains Mono","Fira Code",monospace}.dark{--color-primary:#d6d3d1;--color-primary-hover:#e7e5e4;--color-primary-soft:#d6d3d11f;--color-accent:#e0b88a;--color-accent-soft:#d4a57426;--color-success:#34d399;--color-success-soft:#34d3991f;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-soft:#f871711f;--color-bg:#0c0a09;--color-surface:#1c1917;--color-text:#f5f5f4;--color-text-secondary:#a8a29e;--color-text-muted:#78716c;--color-border:#292524;--color-border-hover:#44403c;--color-code-bg:#1e1e2e;--color-reasoning:#78716c;--color-gradient-start:#d6d3d1;--color-gradient-end:#a8a29e;--shadow-sm:0 1px 4px #0000004d;--shadow-md:0 2px 12px #0006;--shadow-lg:0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{overscroll-behavior:none;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}.sitor-logo-brain{fill:var(--color-bg)}.roadmap-sidebar{border-left:1px solid var(--color-border);background:var(--color-bg);scrollbar-width:thin;scrollbar-color:var(--color-border-hover)transparent;width:320px;height:100vh;flex-shrink:0;height:100dvh;padding:20px 16px;overflow-y:auto}.roadmap-sidebar::-webkit-scrollbar{width:4px}.roadmap-sidebar::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:2px}.roadmap-sidebar::-webkit-scrollbar-track{background:0 0}.sidebar-header{margin-bottom:20px}.sidebar-title{font-family:var(--font-serif);color:var(--color-text);margin-bottom:8px;font-size:17px;font-style:italic;font-weight:400}.sidebar-progress-label{color:var(--color-text-muted);margin-bottom:6px;font-size:12px}.sidebar-progress-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.sidebar-progress-fill{background:var(--color-success);border-radius:2px;height:100%;transition:width .3s ease-out}.sidebar-nodes{flex-direction:column;display:flex}.sidebar-node-row{gap:10px;min-height:40px;display:flex}.sidebar-node-track{flex-direction:column;flex-shrink:0;align-items:center;width:18px;display:flex}.sidebar-node-dot{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.sidebar-node-dot--pending{background:var(--color-border);color:var(--color-text-muted)}.sidebar-node-dot--active{background:var(--color-accent);color:#fff;animation:1.5s ease-in-out infinite sidebar-dot-pulse}@keyframes sidebar-dot-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}.sidebar-node-dot--mastered{background:var(--color-success);color:#fff}.sidebar-node-dot--locked{border:1.5px dashed var(--color-border-hover);color:var(--color-text-muted);background:0 0}.sidebar-node-line{flex:1;width:2px;min-height:16px}.sidebar-node-line--completed{background:var(--color-success)}.sidebar-node-line--active{background:var(--color-accent)}.sidebar-node-line--default{background:var(--color-border)}.sidebar-node-info{flex:1;align-items:baseline;gap:6px;min-width:0;padding:0 0 12px;display:flex}.sidebar-node-title{color:var(--color-text);font-size:13px;font-weight:500;line-height:18px}.sidebar-node-title--locked{color:var(--color-text-muted)}.sidebar-node-score{flex-shrink:0;font-size:11px;font-weight:600}.sidebar-node-score--high{color:var(--color-success)}.sidebar-node-score--mid{color:var(--color-accent)}.sidebar-node-score--low{color:var(--color-error)}.sidebar-node-row--clickable{cursor:pointer}.sidebar-node-row--clickable .sidebar-node-title{transition:color .15s}.sidebar-node-row--clickable:hover .sidebar-node-title{color:var(--color-accent)}.sidebar-sheet-overlay,.sidebar-sheet-handle{display:none}@media (max-width:768px){.roadmap-sidebar--desktop{display:none}.sidebar-sheet-overlay{z-index:100;background:#0006;animation:.2s ease-out sidebar-overlay-in;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.sidebar-sheet{background:var(--color-surface);z-index:101;border-radius:16px 16px 0 0;max-height:70vh;padding:12px 16px 20px;animation:.25s ease-out sidebar-sheet-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sidebar-sheet-handle{background:var(--color-border-hover);border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}@keyframes sidebar-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes sidebar-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media (max-width:768px) and (orientation:landscape){.sidebar-sheet{max-height:50vh}}.memory-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.memory-panel-header{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.memory-panel-back{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:flex}.memory-panel-back:hover{color:var(--color-text);background:var(--color-surface)}.memory-panel-title{font-family:var(--font-serif);color:var(--color-text);font-size:17px;font-style:italic;font-weight:400}.memory-panel-list{padding:var(--space-2)var(--space-3);flex:1;overflow-y:auto}.memory-panel-list::-webkit-scrollbar{width:4px}.memory-panel-list::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:2px}.memory-panel-empty{padding:var(--space-8)var(--space-4);color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.memory-panel-empty-icon{margin-bottom:var(--space-3);opacity:.4}.memory-panel-empty p{margin:0;font-size:13px;line-height:1.5}.memory-group{margin-bottom:var(--space-4)}.memory-group-header{align-items:center;gap:var(--space-2);padding:var(--space-1)0;margin-bottom:var(--space-1);display:flex}.memory-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.memory-type-dot--background{background:var(--color-text-secondary)}.memory-type-dot--strength{background:var(--color-success)}.memory-type-dot--weakness{background:var(--color-error)}.memory-type-dot--misconception{background:var(--color-accent)}.memory-type-dot--preference{background:var(--color-text-muted)}.memory-group-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.memory-group-count{color:var(--color-text-muted);margin-left:auto;font-size:11px}.memory-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color .12s;display:flex}.memory-item:hover{background:var(--color-surface)}.memory-item-content{flex:1;min-width:0}.memory-item-desc{color:var(--color-text);font-size:13px;line-height:1.4;display:block}.memory-item-evidence{color:var(--color-text-muted);margin-top:2px;font-size:12px;font-style:italic;line-height:1.4;display:block}.memory-item-delete{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-top:2px;padding:2px;transition:opacity .15s,color .12s,background-color .12s;display:flex}.memory-item:hover .memory-item-delete{opacity:1}.memory-item-delete:hover{color:var(--color-error);background:var(--color-error-soft)}@media (max-width:768px){.memory-item .memory-item-delete{opacity:1}.memory-panel-list{padding:var(--space-2)}}.session-sidebar--desktop{border-right:1px solid var(--color-border);background:var(--color-bg);width:260px;height:100vh;flex-direction:column;flex-shrink:0;height:100dvh;transition:width .2s ease-out;display:flex}.session-sidebar--desktop.session-sidebar--collapsed{width:52px;overflow:hidden}@media (max-width:768px){.session-sidebar--desktop{display:none}}.session-sidebar--mobile{background:var(--color-bg);z-index:201;flex-direction:column;width:280px;max-width:80vw;animation:.25s ease-out session-sidebar-slide-in;display:flex;position:fixed;top:0;bottom:0;left:0}@keyframes session-sidebar-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.session-sidebar-overlay{z-index:200;background:#0006;animation:.2s ease-out session-sidebar-fade-in;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes session-sidebar-fade-in{0%{opacity:0}to{opacity:1}}@media (min-width:769px){.session-sidebar--mobile,.session-sidebar-overlay{display:none}}.session-sidebar-top{padding:var(--space-3);flex-shrink:0}.session-sidebar-top-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.session-sidebar-logo{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:relative;top:-2px}.session-sidebar-logo--clickable{cursor:pointer;border:none;padding:0;transition:transform .15s}.session-sidebar-logo--clickable:hover{transform:scale(1.08)}.session-sidebar-brand{font-family:var(--font-serif);color:var(--color-text);flex:1;min-width:0;font-size:17px;font-style:italic;font-weight:400}.session-sidebar-collapse-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:color .15s,background-color .15s;display:flex}.session-sidebar-collapse-btn:hover{color:var(--color-text);background:var(--color-surface)}@media (max-width:768px){.session-sidebar-collapse-btn{display:none}}.session-sidebar-new-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;font-size:13px;font-weight:500;transition:all .15s;display:flex}.session-sidebar-new-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-hover);color:var(--color-text)}.session-sidebar-new-btn:disabled{opacity:.6;cursor:not-allowed}.session-sidebar-spinner{animation:.8s linear infinite sidebar-spin}@keyframes sidebar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.session-sidebar--collapsed .session-sidebar-new-btn{padding:var(--space-2);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);border-style:solid;border-color:#0000;margin:0 auto}.session-sidebar--collapsed .session-sidebar-new-btn:hover{background:var(--color-surface);color:var(--color-text)}.session-sidebar--collapsed .session-sidebar-top{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.session-sidebar--collapsed .session-sidebar-logo{margin-bottom:0}.session-sidebar-list{padding:var(--space-2)var(--space-2);flex:1;overflow-y:auto}.session-sidebar-list::-webkit-scrollbar{width:4px}.session-sidebar-list::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:2px}.session-sidebar-list::-webkit-scrollbar-track{background:0 0}.session-sidebar-item{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .12s;display:flex;position:relative}.session-sidebar-item:hover{background:var(--color-surface)}.session-sidebar-item--active{background:var(--color-surface);border-left:2px solid var(--color-text)}.session-sidebar-item--active:hover{background:var(--color-surface)}.session-sidebar-item-icon{color:var(--color-text-muted);flex-shrink:0}.session-sidebar-item--active .session-sidebar-item-icon{color:var(--color-text)}.session-sidebar-item-title{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;line-height:1.4;overflow:hidden}.session-sidebar-item--active .session-sidebar-item-title{font-weight:600}.session-sidebar-item-delete{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;transition:color .12s,background-color .12s;display:none}.session-sidebar-item:hover .session-sidebar-item-delete{display:flex}.session-sidebar-item-delete:hover{color:var(--color-error);background:var(--color-error-soft)}.session-sidebar-bottom{padding:var(--space-2)var(--space-3);border-top:1px solid var(--color-border);flex-shrink:0}.session-sidebar-bottom--collapsed{padding:var(--space-2);justify-content:center;display:flex}.session-sidebar-profile-btn{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:13px;transition:color .15s,background-color .15s;display:flex}.session-sidebar-profile-btn:hover{color:var(--color-text);background:var(--color-surface)}.session-sidebar-profile-btn--icon{justify-content:center;width:28px;height:28px;padding:0}.dark .session-sidebar-new-btn:hover,.dark .session-sidebar-item:hover{background:var(--color-surface)}.upgrade-pill{border-radius:var(--radius-md);letter-spacing:.01em;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);align-items:center;gap:6px;padding:6px 14px 6px 11px;font-size:13px;font-weight:500;line-height:1;transition:all .2s;display:inline-flex}.upgrade-pill:hover{color:var(--color-text);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.upgrade-pill-icon{width:13px;height:13px;color:var(--color-accent);flex-shrink:0;transition:transform .25s}.upgrade-pill:hover .upgrade-pill-icon{transform:scale(1.15)}.upgrade-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);padding:var(--space-6);background:#1c191773;justify-content:center;align-items:center;animation:.25s ease-out upgrade-overlay-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes upgrade-overlay-in{0%{opacity:0}to{opacity:1}}.upgrade-dialog{--billing-accent:var(--color-accent);--billing-accent-hover:#c29463;--billing-accent-soft:var(--color-accent-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;flex-direction:column;width:100%;max-width:1000px;animation:.3s cubic-bezier(.22,1,.36,1) upgrade-dialog-in;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #1c191714,0 1px 3px #1c19170a}@keyframes upgrade-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.upgrade-header{justify-content:space-between;align-items:flex-start;padding:32px 40px 0;display:flex}.upgrade-header-text{flex:1}.upgrade-title{font-family:var(--font-serif);color:var(--color-text);letter-spacing:-.3px;margin:0 0 6px;font-size:26px;font-style:italic;font-weight:400;line-height:1.25}.upgrade-subtitle{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.upgrade-close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:6px;transition:color .15s;display:flex}.upgrade-close:hover{color:var(--color-text)}.upgrade-toggle-wrapper{justify-content:center;padding:24px 40px 0;display:flex;position:relative}.upgrade-toggle{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:4px;display:inline-flex;position:relative}.upgrade-toggle-btn{z-index:1;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;transition:color .2s;position:relative}.upgrade-toggle-btn--active{color:var(--color-text)}.upgrade-toggle-pill{background:var(--color-surface);border-radius:8px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .25s cubic-bezier(.22,1,.36,1);position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #00000014}.upgrade-toggle-pill--annual{transform:translate(100%)}.upgrade-save-badge{background:var(--billing-accent);color:#fff;white-space:nowrap;letter-spacing:.02em;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:-8px;right:-12px}.upgrade-grid{grid-template-columns:1fr 1fr;gap:24px;padding:24px 40px 32px;display:grid}.upgrade-card{border:1px solid var(--color-border);border-radius:20px;flex-direction:column;padding:32px;transition:transform .2s,box-shadow .2s;display:flex}.upgrade-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.upgrade-card--pro{border-color:var(--billing-accent);box-shadow:0 0 0 1px var(--billing-accent),0 2px 12px #d4a5741a}.upgrade-card--pro:hover{box-shadow:0 0 0 1px var(--billing-accent),0 4px 20px #d4a5742e}.upgrade-card-header{margin-bottom:24px}.upgrade-card-name{color:var(--color-text);margin:0 0 6px;font-size:18px;font-weight:600}.upgrade-card--pro .upgrade-card-name{color:var(--billing-accent)}.upgrade-card-desc{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.upgrade-features{flex-direction:column;flex:1;display:flex}.upgrade-feature-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 0;font-size:14px;display:flex}.upgrade-feature-row:last-child{border-bottom:none}.upgrade-feature-label{color:var(--color-text-secondary)}.upgrade-feature-value{color:var(--color-text);font-weight:500}.upgrade-feature-value--gold{color:var(--billing-accent)}.upgrade-feature-value--muted{color:var(--color-text-muted)}.upgrade-feature-icon{align-items:center;display:flex}.upgrade-feature-icon--gold{color:var(--billing-accent)}.upgrade-feature-icon--muted{color:var(--color-text-muted)}.upgrade-card-pricing{margin-top:24px;margin-bottom:20px}.upgrade-card-price{color:var(--color-text);font-size:28px;font-weight:700;line-height:1.2}.upgrade-card--pro .upgrade-card-price{color:var(--billing-accent)}.upgrade-card-period{color:var(--color-text-muted);margin-left:2px;font-size:13px;font-weight:400}.upgrade-card-billing-note{color:var(--color-text-muted);margin-top:4px;font-size:12px}.upgrade-card-cta{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:auto;padding:14px 24px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.upgrade-card-cta:disabled{opacity:.5;cursor:not-allowed}.upgrade-card-cta--basic{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.upgrade-card-cta--basic:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text)}.upgrade-card-cta--pro{background:var(--billing-accent);color:#fff;border:none;box-shadow:0 2px 8px #d4a5744d}.upgrade-card-cta--pro:hover:not(:disabled){background:var(--billing-accent-hover);box-shadow:0 4px 12px #d4a57466}.upgrade-card-cta--pro:active:not(:disabled){transform:scale(.99)}.upgrade-footer{border-top:1px solid var(--color-border);background:var(--color-bg);text-align:center;color:var(--color-text-muted);padding:16px 40px;font-size:12px;line-height:1.5}.upgrade-manage{padding:36px 40px 32px}.upgrade-manage-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:var(--color-surface);width:100%;color:var(--color-text);margin-top:20px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .15s}.upgrade-manage-btn:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.upgrade-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite upgrade-spin;display:inline-block}.upgrade-card-cta--basic .upgrade-spinner{border-color:#0000001a;border-top-color:var(--color-text-secondary)}@keyframes upgrade-spin{to{transform:rotate(360deg)}}.dark .upgrade-dialog{box-shadow:0 4px 24px #0000004d,0 1px 3px #0003}.dark .upgrade-toggle{border-color:var(--color-border);background:#ffffff0d}.dark .upgrade-toggle-pill{background:var(--color-surface);box-shadow:0 1px 3px #0000004d}.dark .upgrade-card{background:var(--color-surface)}.dark .upgrade-card--pro{box-shadow:0 0 0 1px var(--billing-accent),0 2px 12px #d4a57414}.dark .upgrade-footer{background:#ffffff05}@media (max-width:768px){.upgrade-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:480px){.upgrade-overlay{padding:var(--space-4);align-items:flex-end}.upgrade-dialog{border-radius:24px 24px 0 0;max-width:100%;max-height:90vh;animation:.3s cubic-bezier(.22,1,.36,1) upgrade-sheet-in;overflow-y:auto}@keyframes upgrade-sheet-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.upgrade-header{padding:24px 20px 0}.upgrade-title{font-size:22px}.upgrade-toggle-wrapper{padding:20px 20px 0}.upgrade-grid{padding:20px 20px 24px}.upgrade-card{padding:24px}.upgrade-footer{padding:14px 20px}.upgrade-manage{padding:28px 20px 24px}}.sitor-loading-breathing .sitor-loading-body{animation:1.2s ease-in-out infinite brain-breathe}.sitor-ray-breathe{animation:1.2s ease-in-out infinite ray-breathe}@keyframes brain-breathe{0%,to{opacity:.65}50%{opacity:1}}@keyframes ray-breathe{0%,to{opacity:0}50%{opacity:1}}.toaster-container{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-item{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e7e5e4);pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:flex-start;gap:10px;min-width:200px;max-width:calc(100vw - 32px);padding:12px 16px;display:flex;box-shadow:0 4px 16px #0000001a}.toast-item--success{border-color:var(--color-success);background:var(--color-success-soft,#ecfdf5)}.toast-item--error{border-color:var(--color-error);background:var(--color-error-soft,#fef2f2)}.toast-item--warning{border-color:var(--color-accent);background:var(--color-accent-soft,#fffbeb)}.toast-item--info{border-color:var(--color-primary);background:var(--color-primary-soft,#eceae7)}.toast-icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.toast-content{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-message{color:var(--color-text,#1c1917);font-size:14px;font-weight:500;line-height:1.4}.toast-description{color:var(--color-text-secondary,#57534e);font-size:13px;line-height:1.4}.m-chat-input{padding:8px 12px calc(env(safe-area-inset-bottom,12px) + 12px);background:0 0}.m-chat-input__bar{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border)60%,transparent);border-radius:26px;align-items:flex-end;gap:6px;padding:5px 5px 5px 18px;transition:border-color .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:0 1px 3px #00000008,0 4px 14px #0000000a,inset 0 1px #fff9}.dark .m-chat-input__bar{box-shadow:0 1px 3px #00000026,0 4px 14px #0003,inset 0 1px #ffffff0a}.m-chat-input__bar:focus-within{border-color:color-mix(in srgb,var(--color-accent)50%,var(--color-border));box-shadow:0 1px 3px #00000008,0 4px 14px #0000000a,0 0 0 3px color-mix(in srgb,var(--color-accent)10%,transparent),inset 0 1px 0 #fff9}.dark .m-chat-input__bar:focus-within{border-color:color-mix(in srgb,var(--color-accent)40%,var(--color-border));box-shadow:0 1px 3px #00000026,0 4px 14px #0003,0 0 0 3px color-mix(in srgb,var(--color-accent)8%,transparent),inset 0 1px 0 #ffffff0a}.m-chat-input__textarea{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--color-text);resize:none;-webkit-appearance:none;max-height:120px;caret-color:var(--color-accent);background:0 0;border:none;outline:none;flex:1;padding:7px 0;font-size:16px;line-height:1.45}.m-chat-input__textarea::placeholder{color:var(--color-text-muted);font-weight:400}.m-chat-input__action{flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.m-chat-input__btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;animation:.2s cubic-bezier(.22,1,.36,1) btn-appear;display:flex;position:relative}@keyframes btn-appear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.m-chat-input__btn:active{transition:transform 80ms cubic-bezier(.22,1,.36,1);transform:scale(.88)}.m-chat-input__btn--send{background:var(--color-accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--color-accent)35%,transparent),inset 0 1px 0 #fff3;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s}.m-chat-input__btn--send:active{box-shadow:0 1px 4px color-mix(in srgb,var(--color-accent)25%,transparent),inset 0 1px 0 #fff3}.m-chat-input__btn--stop{background:var(--color-error);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--color-error)30%,transparent),inset 0 1px 0 #ffffff26;transition:transform .15s cubic-bezier(.22,1,.36,1)}.m-chat-input__btn--mic{background:color-mix(in srgb,var(--color-accent)8%,transparent);color:var(--color-accent);transition:transform .15s cubic-bezier(.22,1,.36,1),background-color .2s,box-shadow .2s}.dark .m-chat-input__btn--mic{background:color-mix(in srgb,var(--color-accent)12%,transparent)}.m-chat-input__btn--mic:active{background:color-mix(in srgb,var(--color-accent)18%,transparent)}.m-chat-input__btn--recording{background:var(--color-accent);color:#fff;box-shadow:0 0 0 0 color-mix(in srgb,var(--color-accent)40%,transparent);animation:1.6s cubic-bezier(.4,0,.6,1) infinite m-mic-pulse}@keyframes m-mic-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-accent)40%,transparent)}70%{box-shadow:0 0 0 12px color-mix(in srgb,var(--color-accent)0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-accent)0%,transparent)}}.mobile-voice-overlay{z-index:999;height:45vh;padding-bottom:calc(env(safe-area-inset-bottom,16px) + 24px);touch-action:none;pointer-events:auto;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-accent-soft)60%,transparent)25%,color-mix(in srgb,var(--color-accent)30%,var(--color-bg))70%,color-mix(in srgb,var(--color-accent)45%,var(--color-bg))100%);flex-direction:column;justify-content:flex-end;align-items:center;gap:20px;animation:.3s cubic-bezier(.16,1,.3,1) voice-sheet-up;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.dark .mobile-voice-overlay{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-accent)6%,var(--color-bg))25%,color-mix(in srgb,var(--color-accent)15%,var(--color-bg))70%,color-mix(in srgb,var(--color-accent)22%,var(--color-bg))100%)}.mobile-voice-overlay--cancel{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-text-muted)8%,var(--color-bg))25%,color-mix(in srgb,var(--color-text-muted)15%,var(--color-bg))70%,color-mix(in srgb,var(--color-text-muted)20%,var(--color-bg))100%);transition:background .3s}.dark .mobile-voice-overlay--cancel{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-text-muted)5%,var(--color-bg))25%,color-mix(in srgb,var(--color-text-muted)10%,var(--color-bg))70%,color-mix(in srgb,var(--color-text-muted)14%,var(--color-bg))100%)}@keyframes voice-sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.mobile-voice-overlay__hint{font-family:var(--font-sans);letter-spacing:.04em;color:var(--color-accent);opacity:.8;font-size:14px;font-weight:500;animation:.4s .1s both hint-fade-in}.dark .mobile-voice-overlay__hint{color:var(--color-accent);opacity:.7}.mobile-voice-overlay--cancel .mobile-voice-overlay__hint{color:var(--color-error);opacity:1}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:.8;transform:translateY(0)}}.mobile-voice-overlay__canvas{opacity:.9;width:72%;max-width:300px;height:48px;animation:.35s cubic-bezier(.22,1,.36,1) 80ms both canvas-rise}@keyframes canvas-rise{0%{opacity:0;transform:translateY(10px)scaleY(.5)}to{opacity:.9;transform:translateY(0)scaleY(1)}}.chat-layout{font-family:var(--font-sans);background:var(--color-surface);overscroll-behavior:none;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-header{padding:var(--space-3)var(--space-6);padding-top:calc(var(--space-3) + env(safe-area-inset-top));border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;align-items:center;gap:10px;display:flex}.chat-header-hamburger{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:none}.chat-header-hamburger:hover{color:var(--color-text);background:var(--color-bg)}@media (max-width:768px){.chat-header-hamburger{display:flex}}.chat-header-info{flex:1;min-width:0}.chat-header-title{font-family:var(--font-serif);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:17px;font-style:italic;font-weight:400;display:flex;overflow:hidden}.chat-header-subtitle{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.3}.chat-header-settings-wrap{flex-shrink:0;margin-left:auto;position:relative}.chat-header-settings-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.chat-header-settings-btn:hover{color:var(--color-text);background:var(--color-bg)}.chat-header-settings-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);z-index:100;padding:4px;animation:.12s ease-out settings-dropdown-in;position:absolute;top:calc(100% + 6px);right:0}@media (max-width:768px){.chat-header-settings-dropdown{right:var(--space-2)}}@keyframes settings-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-header-settings-item{border-radius:var(--radius-sm);width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .1s;display:flex}.chat-header-settings-item:hover{background:var(--color-bg)}.chat-header-settings-item--danger{color:var(--color-error)}.chat-header-settings-item--danger:hover{background:var(--color-error-soft)}.chat-header-settings-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;font-size:14px;display:flex}.chat-header-settings-divider{background:var(--color-border);height:1px;margin:4px 8px}.chat-header-roadmap-btn{display:none}@media (max-width:768px){.chat-header-roadmap-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.chat-header-roadmap-btn:hover{background:var(--color-bg);border-color:var(--color-border-hover)}.chat-header-roadmap-label{font-size:12px}}.chat-header-progress{flex-shrink:0;align-items:center;gap:8px;display:flex}.chat-header-progress-text{color:var(--color-text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.chat-message-list{padding:var(--space-6)var(--space-6)var(--space-2);flex:1;min-height:0;overflow:hidden}.chat-message-list>div{overflow-x:hidden!important}.chat-message-list::-webkit-scrollbar{width:4px}.chat-message-list::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:2px}.chat-message-list::-webkit-scrollbar-track{background:0 0}.chat-message-inner{gap:var(--space-4);flex-direction:column;max-width:760px;min-height:100%;margin:0 auto;display:flex}.chat-input-wrapper{padding:var(--space-3)var(--space-6)20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:var(--color-surface);flex-shrink:0;overflow-x:hidden}.chat-input-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:760px;box-shadow:var(--shadow-sm);background:var(--color-surface);margin:0 auto;transition:border-color .15s,box-shadow .15s;overflow:hidden}.chat-input-card:focus-within{border-color:var(--color-border-hover);box-shadow:0 0 0 2px #1c19170d}.dark .chat-input-card:focus-within{box-shadow:0 0 0 2px #ffffff0d}.chat-input-textarea{box-sizing:border-box;width:100%;padding:12px var(--space-4)2px;resize:none;color:var(--color-text);background:0 0;border:none;outline:none;min-height:44px;max-height:160px;font-family:inherit;font-size:15px;line-height:1.6;display:block;overflow-y:auto}.chat-input-textarea::placeholder{color:var(--color-text-muted)}.chat-input-textarea:disabled{opacity:.5}.chat-input-toolbar{justify-content:space-between;align-items:center;padding:4px 10px 6px;display:flex}.chat-input-toolbar-left,.chat-input-toolbar-right{align-items:center;gap:var(--space-1);display:flex}.chat-suggest-button{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:flex}.chat-suggest-button:hover:not(:disabled){color:var(--color-accent);background:var(--color-accent-soft)}.chat-suggest-button:disabled{cursor:not-allowed}.chat-suggest-button--loading{color:var(--color-accent);animation:1.5s linear infinite suggest-spin,1.2s ease-in-out infinite suggest-pulse;position:relative}.chat-suggest-button--loading:before{content:"";border-radius:var(--radius-full);background:var(--color-accent);opacity:0;pointer-events:none;animation:1.5s ease-out infinite suggest-wave;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}.chat-suggest-button--loading:after{content:"";border-radius:var(--radius-full);background:var(--color-accent);opacity:0;pointer-events:none;animation:1.5s ease-out .5s infinite suggest-wave;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}@keyframes suggest-spin{to{transform:rotate(360deg)}}@keyframes suggest-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes suggest-wave{0%{opacity:.35;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}.chat-mic-button{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:flex}.chat-mic-button:hover:not(:disabled){color:var(--color-text);background:var(--color-bg)}.chat-mic-button:disabled{opacity:.4;cursor:not-allowed}.chat-mic-button--recording{color:var(--color-error);background:var(--color-error-soft);animation:1.5s ease-in-out infinite mic-pulse}.chat-mic-button--recording:hover{color:var(--color-error);background:var(--color-error-soft)}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.chat-mic-button--transcribing{color:var(--color-text-muted)}.chat-mic-spinner{animation:.8s linear infinite mic-spin}@keyframes mic-spin{to{transform:rotate(360deg)}}.chat-send-button{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);cursor:pointer;background-color:var(--color-text);color:var(--color-surface);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,transform .1s;display:flex}.chat-send-button:hover:not(:disabled){background-color:var(--color-text);transform:scale(1.05)}.chat-send-button:disabled{background-color:var(--color-border-hover);cursor:not-allowed;transform:none}.chat-user-bubble-row{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.chat-user-bubble-group{align-items:center;gap:var(--space-1);max-width:80%;display:flex}.chat-user-delete-button{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,background .15s;display:flex}.chat-user-bubble-group:hover .chat-user-delete-button{opacity:1}.chat-user-delete-button:hover{color:var(--color-error);background:var(--color-error-soft)}.chat-user-bubble{padding:10px var(--space-4);border-radius:var(--radius-xl);color:#fff;white-space:pre-wrap;word-break:break-word;cursor:pointer;background-color:#78716c;font-size:15px;line-height:1.6;transition:opacity .15s}.chat-user-bubble:hover{opacity:.9}.chat-user-quote{opacity:.85;-webkit-line-clamp:3;background:#ffffff1a;border-left:2px solid #ffffff4d;border-radius:0 6px 6px 0;-webkit-box-orient:vertical;margin-bottom:8px;padding:6px 10px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.dark .chat-user-bubble{color:#f5f5f4;background-color:#44403c}.chat-assistant-message{color:var(--color-text);font-size:15px;line-height:1.6}.chat-tool-indicator{padding:6px var(--space-3);margin:var(--space-2)0;border-radius:var(--radius-sm);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.chat-tool-dot{border-radius:var(--radius-full);width:6px;height:6px}.chat-tool-dot--success{background-color:var(--color-success)}.chat-tool-dot--running{background-color:var(--color-accent);animation:1s ease-in-out infinite tool-dot-pulse}@keyframes tool-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-tool-dot--default{background-color:var(--color-text-muted)}.chat-tool-name{font-weight:500}.chat-tool-running-label{opacity:.6}.chat-reasoning{margin:var(--space-2)0;color:var(--color-reasoning);font-size:13px}.chat-reasoning summary{cursor:pointer;-webkit-user-select:none;user-select:none}.chat-reasoning-content{padding:var(--space-2)0;white-space:pre-wrap;font-style:italic}.chat-scroll-bottom{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--color-text-secondary);z-index:10;justify-content:center;align-items:center;transition:background-color .15s,box-shadow .15s;display:flex;position:sticky;bottom:12px;left:50%;transform:translate(-50%)}.chat-scroll-bottom:hover{background:var(--color-bg);box-shadow:var(--shadow-lg)}.chat-stop-button{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);cursor:pointer;background-color:var(--color-text);color:var(--color-surface);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,transform .1s;display:flex}.chat-stop-button:hover{background-color:var(--color-error);transform:scale(1.05)}.chat-message-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);opacity:0;height:28px;transition:opacity .15s ease-out;display:flex}.chat-assistant-message:hover .chat-message-actions,.chat-message-actions:focus-within,.chat-message-actions--visible{opacity:1}.chat-copy-button,.chat-retry-button{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:color .15s,background-color .15s;display:inline-flex}.chat-feedback-button{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:inline-flex}.chat-feedback-button:hover{color:var(--color-text-secondary);background:var(--color-bg)}.chat-feedback-button--active{color:var(--color-text)}.chat-feedback-button--active:hover{color:var(--color-text-secondary)}.chat-copy-button:hover,.chat-retry-button:hover{color:var(--color-text-secondary);background:var(--color-bg)}.chat-copy-label{font-size:12px}.chat-message-time{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.chat-message-time--user{color:var(--color-text-muted);padding-right:var(--space-1);font-size:11px}.chat-user-edit-card{border-radius:var(--radius-md);background:#78716c;border:none;max-width:80%;overflow:hidden}.chat-user-edit-textarea{box-sizing:border-box;width:100%;padding:10px var(--space-3);resize:none;color:#fff;background:0 0;border:none;outline:none;min-height:44px;max-height:120px;font-family:inherit;font-size:15px;line-height:1.6;display:block}.chat-user-edit-textarea::placeholder{color:#ffffff80}.chat-user-edit-actions{justify-content:flex-end;gap:var(--space-1);padding:4px 8px 8px;display:flex}.chat-user-edit-cancel,.chat-user-edit-save{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.chat-user-edit-cancel{color:#ffffff80;background:0 0}.chat-user-edit-cancel:hover{color:#fff}.chat-user-edit-save{color:#78716c;background:#fff}.chat-user-edit-save:hover{opacity:.85}.chat-image-part{margin:var(--space-2)0}.chat-image{border-radius:var(--radius-md);border:1px solid var(--color-border);object-fit:contain;max-width:100%;max-height:400px}.chat-file-part{padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);margin:var(--space-2)0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.chat-file-name{color:var(--color-text);font-weight:500}.chat-file-size{color:var(--color-text-muted);font-size:12px}.chat-highlight-flash{animation:1.5s ease-out highlight-flash}@keyframes highlight-flash{0%{background-color:var(--color-accent-soft,#f59e0b26)}to{background-color:#0000}}.chat-error-message{border-left:3px solid var(--color-error);padding-left:var(--space-3);background:var(--color-error-soft);border-radius:0 var(--radius-md)var(--radius-md)0;padding:var(--space-3)}.chat-error-message .chat-message-actions{opacity:1}.chat-empty-state{min-height:300px;padding:var(--space-8)var(--space-4);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.chat-empty-logo{margin-bottom:var(--space-4);color:var(--color-text)}.chat-empty-title{margin:0 0 var(--space-2);font-family:var(--font-serif);color:var(--color-text);font-size:26px;font-style:italic;font-weight:400}.chat-empty-subtitle{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:15px}.chat-how-it-works{align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6);max-width:480px;display:flex}.chat-how-step{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;flex:1;display:flex}.chat-how-step-icon{color:var(--color-text);margin-bottom:2px;font-size:20px;font-weight:600}.chat-how-step-title{color:var(--color-text);font-size:15px;font-weight:600;line-height:1.3}.chat-how-step-desc{color:var(--color-text-muted);white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.4}.chat-starter-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);width:100%;max-width:480px;display:grid}.chat-starter-card{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left;font-size:14px;font-weight:500;transition:all .15s ease-out}.chat-starter-card:hover{border-color:var(--color-border-hover);background:var(--color-bg)}@media (max-width:768px){.chat-header{padding:var(--space-2)var(--space-3)}.chat-message-inner{max-width:100%;padding:0 var(--space-2)}.chat-input-card{border-radius:var(--radius-md);max-width:100%}.chat-input-textarea{max-height:76px}.chat-user-bubble{max-width:90%}.chat-input-wrapper{background:0 0;padding:0}.chat-empty-state{padding:var(--space-4)var(--space-4)var(--space-2);padding-top:var(--space-6);justify-content:flex-start;gap:0}.chat-empty-logo{margin-bottom:var(--space-2)}.chat-empty-logo svg{width:40px;height:40px}.chat-empty-title{margin-bottom:var(--space-1);font-size:19px}.chat-empty-subtitle{margin-bottom:var(--space-3);font-size:13px}.chat-how-it-works{gap:var(--space-2);margin-bottom:var(--space-3)}.chat-how-step-icon{font-size:16px}.chat-how-step-title{font-size:13px}.chat-how-step-desc{white-space:normal;font-size:11px}.chat-starter-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.chat-starter-card{padding:var(--space-2)var(--space-3);font-size:13px}.chat-message-actions{opacity:1;gap:var(--space-1);height:auto}.chat-user-delete-button{opacity:1;min-width:36px;min-height:36px}.chat-user-bubble-group{max-width:90%}.chat-copy-button,.chat-retry-button{justify-content:center;min-width:36px;min-height:36px;padding:8px}.chat-copy-label{display:none}.chat-retry-button{font-size:0}.chat-retry-button svg{font-size:initial}.chat-feedback-button{justify-content:center;min-width:36px;min-height:36px;padding:8px}.chat-copy-button:hover,.chat-retry-button:hover,.chat-feedback-button:hover{color:var(--color-text-muted);background:0 0}.chat-copy-button:active,.chat-retry-button:active,.chat-feedback-button:active,.chat-feedback-button--active:hover{color:var(--color-text)}.chat-user-edit-cancel,.chat-user-edit-save{width:36px;height:36px}.chat-assistant-message{font-size:14px}.chat-empty-subtitle{font-size:13px}}.confirm-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.15s ease-out confirm-fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);width:calc(100vw - 32px);max-width:360px;animation:.15s ease-out confirm-scale-in}@keyframes confirm-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-modal-title{margin:0 0 var(--space-2);color:var(--color-text);font-size:16px;font-weight:600}.confirm-modal-message{margin:0 0 var(--space-6);color:var(--color-text-secondary);font-size:14px;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.confirm-modal-cancel{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.confirm-modal-cancel:hover{background:var(--color-bg);border-color:var(--color-border-hover)}.confirm-modal-confirm{border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-surface);cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.confirm-modal-confirm:hover{opacity:.85}.confirm-modal-confirm--destructive{background:var(--color-error)}.confirm-modal-confirm--destructive:hover{background:var(--color-error-hover)}.confirm-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.feedback-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);width:calc(100vw - 32px);max-width:400px;animation:.15s ease-out confirm-scale-in}.feedback-modal-title{margin:0 0 var(--space-4);color:var(--color-text);font-size:16px;font-weight:600}.feedback-modal-categories{margin-bottom:var(--space-4);flex-wrap:wrap;gap:8px;display:flex}.feedback-category-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s ease-out}.feedback-category-chip:hover{border-color:var(--color-border-hover);background:var(--color-bg)}.feedback-category-chip--active{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.feedback-modal-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);font-family:var(--font-sans);resize:vertical;margin-bottom:var(--space-4);box-sizing:border-box;padding:10px 12px;font-size:14px;line-height:1.5;transition:border-color .15s}.feedback-modal-textarea:focus{border-color:var(--color-text);outline:none}.feedback-modal-textarea::placeholder{color:var(--color-text-muted)}.feedback-modal-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.chat-selection-toolbar{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);pointer-events:auto;border-radius:20px;padding:2px 4px;animation:.15s cubic-bezier(.16,1,.3,1) forwards selection-toolbar-in}@keyframes selection-toolbar-in{0%{opacity:0;transform:translate(-50%)scale(.9)}to{opacity:1;transform:translate(-50%)scale(1)}}.chat-selection-toolbar-btn{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:16px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.chat-selection-toolbar-btn:hover{background:var(--color-bg)}.chat-quote-bar{align-items:flex-start;gap:var(--space-2);margin:10px var(--space-4)0;padding:8px var(--space-3);border-left:3px solid var(--color-border-hover);background:var(--color-bg);border-radius:0 var(--radius-sm)var(--radius-sm)0;animation:.15s ease-out quote-bar-in;display:flex}@keyframes quote-bar-in{0%{opacity:0;max-height:0;margin-top:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:60px}}.chat-quote-bar-text{color:var(--color-text-secondary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.chat-quote-bar-close{border-radius:var(--radius-full);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.chat-quote-bar-close:hover{color:var(--color-text);background:#0000000f}.messages-loading{gap:var(--space-4);padding:var(--space-6)0;flex-direction:column;width:100%;max-width:760px;margin:0 auto;animation:.3s ease-out messages-loading-fade-in;display:flex}@keyframes messages-loading-fade-in{0%{opacity:0}to{opacity:1}}.messages-loading__row{gap:var(--space-2);flex-direction:column;display:flex}.messages-loading__row--user{align-items:flex-end}.messages-loading__row--assistant{align-items:flex-start}.messages-loading__bubble{border-radius:12px;animation:1.5s ease-in-out infinite skeleton-pulse}.messages-loading__bubble--user{background:var(--color-border);width:200px;height:40px}.messages-loading__bubble--assistant{background:var(--color-border);height:16px}.messages-loading__bubble--long{width:85%}.messages-loading__bubble--medium{width:60%}.messages-loading__bubble--short{width:35%}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.chat-loading-screen{background:var(--color-bg,#fafaf9);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.chat-loading-logo{color:var(--color-text,#1c1917);opacity:.3;animation:1.2s ease-in-out infinite loading-pulse}.chat-loading-tagline{font-family:var(--font-serif);color:var(--color-text-muted,#a8a29e);opacity:.6;margin:0;font-size:16px;font-style:italic}@keyframes loading-pulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.4;transform:scale(1.05)}}.chat-loading-error{color:var(--color-text-secondary,#57534e);margin:0;font-size:14px}.chat-loading-retry{border:1px solid var(--color-border,#e7e5e4);background:var(--color-surface,#fff);color:var(--color-text,#1c1917);cursor:pointer;border-radius:12px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .15s ease-out}.chat-loading-retry:hover{border-color:var(--color-border-hover,#d6d3d1);transform:translateY(-1px);box-shadow:0 1px 4px #0000000a}.streaming-markdown.is-streaming>:last-child:after{content:"▍";color:var(--color-text-muted);margin-left:1px;font-weight:400;animation:.7s ease-in-out infinite cursor-pulse;display:inline}.streaming-markdown.is-streaming:empty:after{content:"▍";color:var(--color-text-muted);animation:.7s ease-in-out infinite cursor-pulse;display:inline-block}@keyframes cursor-pulse{0%,to{opacity:1}50%{opacity:.2}}.streaming-markdown p,.streaming-markdown pre,.streaming-markdown ul,.streaming-markdown ol,.streaming-markdown blockquote,.streaming-markdown table,.streaming-markdown hr{animation:.15s ease-out content-fade-in}@keyframes content-fade-in{0%{opacity:.6;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}.streaming-markdown.is-streaming [data-word]{animation:.25s ease-out both word-fade-in;display:inline}@keyframes word-fade-in{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}.streaming-dots{align-items:center;gap:4px;padding:8px 0;display:flex}.streaming-dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:.6s infinite alternate dot-bounce}.streaming-dot:nth-child(2){animation-delay:.2s}.streaming-dot:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%{opacity:1;transform:translateY(0)}to{opacity:.3;transform:translateY(-6px)}}.code-block-wrapper{border-radius:8px;margin:12px 0;overflow:hidden}.code-block-wrapper pre{-webkit-overflow-scrolling:touch;overflow-x:auto}.code-block-header{background:var(--color-code-bg);justify-content:space-between;align-items:center;padding:6px 16px;font-size:12px;display:flex}.code-block-lang{color:#6c7086;font-family:var(--font-mono);text-transform:lowercase}.code-block-copy{color:#6c7086;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;transition:color .15s,background-color .15s;display:inline-flex}.code-block-copy:hover{color:#cdd6f4;background:#ffffff14}.streaming-markdown pre code{font-family:var(--font-mono)}.hljs-keyword{color:#cba6f7}.hljs-string{color:#a6e3a1}.hljs-number{color:#fab387}.hljs-function,.hljs-title{color:#89b4fa}.hljs-params{color:#cdd6f4}.hljs-comment{color:#6c7086;font-style:italic}.hljs-built_in{color:#f38ba8}.hljs-literal{color:#fab387}.hljs-type{color:#f9e2af}.hljs-attr{color:#89dceb}.hljs-variable{color:#cdd6f4}.hljs-operator{color:#89dceb}.hljs-punctuation{color:#9399b2}.hljs-property{color:#89dceb}.hljs-regexp{color:#f5c2e7}.hljs-meta{color:#f9e2af}.hljs-selector-tag{color:#cba6f7}.hljs-selector-class{color:#89b4fa}.hljs-selector-id{color:#fab387}.hljs-tag,.hljs-name{color:#cba6f7}.hljs-attribute{color:#89b4fa}@media (max-width:768px){.code-block-header{padding:6px 12px}.streaming-markdown pre code{font-size:12px}.code-block-wrapper{margin:8px 0}.code-block-wrapper pre,.streaming-markdown pre{-webkit-overflow-scrolling:touch;word-break:normal;white-space:pre;max-width:100%;overflow-x:auto}}.roadmap-card{margin:var(--space-3)0;padding:var(--space-4);border-radius:var(--radius-md);border:none;border-left:3px solid var(--color-border-hover);background:var(--color-bg)}.roadmap-header{font-family:var(--font-serif);color:var(--color-text);margin-bottom:var(--space-3);font-size:17px;font-style:italic;font-weight:400}.roadmap-nodes{flex-direction:column;gap:0;display:flex}.roadmap-node-row{align-items:flex-start;gap:var(--space-3);display:flex}.roadmap-node-track{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex}.roadmap-node-dot{border-radius:var(--radius-full);border:2px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;transition:all .2s ease-out;display:flex}.roadmap-node-dot--active{border-color:var(--color-accent);background:var(--color-accent-soft);animation:2s ease-in-out infinite node-pulse}.roadmap-node-dot--mastered{border-color:var(--color-success);background:var(--color-success);color:#fff}.roadmap-node-dot--locked{opacity:.5;border-style:dashed}.roadmap-node-dot--pending{border-color:var(--color-border)}.roadmap-node-line{flex-shrink:0;width:2px;height:20px}.roadmap-node-line--completed{background:var(--color-success)}.roadmap-node-line--active{background:var(--color-accent);background-image:repeating-linear-gradient(0deg,var(--color-accent),var(--color-accent)4px,transparent 4px,transparent 8px)}.roadmap-node-line--default{background:var(--color-border);background-image:repeating-linear-gradient(0deg,var(--color-border),var(--color-border)4px,transparent 4px,transparent 8px)}.roadmap-node-content{padding:var(--space-1)0 var(--space-3);flex:1;min-width:0}.roadmap-node-title{color:var(--color-text);font-size:14px;font-weight:500;line-height:1.4}.roadmap-node-title--locked{color:var(--color-text-muted)}.roadmap-node-desc{color:var(--color-text-secondary);margin-top:2px;font-size:13px;line-height:1.4}.roadmap-node-score{padding:var(--space-1)0;flex-shrink:0;font-size:12px;font-weight:500}.roadmap-node-score--high{color:var(--color-success)}.roadmap-node-score--mid{color:var(--color-accent)}.roadmap-node-score--low{color:var(--color-error)}@keyframes node-pulse{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 0 4px #f59e0b00}}.mastery-card{margin:var(--space-3)0;padding:var(--space-4);border-radius:var(--radius-md);border:none;border-left:3px solid var(--color-success);background:var(--color-bg)}.mastery-card:has(.mastery-badge--failed){border-left-color:var(--color-error)}.mastery-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.mastery-node-name{font-family:var(--font-serif);color:var(--color-text);font-size:17px;font-style:italic;font-weight:400}.mastery-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:12px;font-weight:500}.mastery-badge--passed{background:var(--color-success-soft);color:var(--color-success)}.mastery-badge--failed{background:var(--color-error-soft);color:var(--color-error)}.mastery-badge--glow{animation:1.5s ease-out mastery-glow}@keyframes mastery-glow{0%{box-shadow:0 0 8px 2px #10b98180}to{box-shadow:0 0 #10b98100}}.mastery-score-bar{margin-bottom:var(--space-3)}.mastery-score-label{color:var(--color-text-secondary);margin-bottom:var(--space-1);justify-content:space-between;font-size:13px;display:flex}.mastery-score-track{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.mastery-score-fill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.mastery-score-fill--high{background:var(--color-success)}.mastery-score-fill--mid{background:var(--color-accent)}.mastery-score-fill--low{background:var(--color-error)}.mastery-criteria{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.mastery-criterion{align-items:center;gap:var(--space-2);font-size:13px;display:flex}.mastery-criterion-name{color:var(--color-text-secondary);flex:1;min-width:0}.mastery-criterion-score{text-align:right;flex-shrink:0;width:36px;font-weight:500}.mastery-criterion-bar{background:var(--color-border);border-radius:2px;flex-shrink:0;width:80px;height:4px;overflow:hidden}.mastery-criterion-fill{border-radius:2px;height:100%;transition:width .4s ease-out}.mastery-summary{color:var(--color-text);margin-bottom:var(--space-2);font-size:14px;line-height:1.6}.mastery-recommendations{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.mastery-recommendations ul{margin:var(--space-1)0 0;padding-left:var(--space-4);list-style-type:disc}.mastery-recommendations li{margin-bottom:2px}.quiz-card{margin:var(--space-3)0;padding:var(--space-4);border-radius:var(--radius-md);border:none;border-left:3px solid var(--color-border-hover);background:var(--color-bg)}.quiz-header{font-family:var(--font-serif);color:var(--color-text);margin-bottom:var(--space-3);font-size:17px;font-style:italic;font-weight:400}.quiz-question-block{margin-bottom:var(--space-4)}.quiz-question-block:last-child{margin-bottom:0}.quiz-question-number{color:var(--color-text-secondary);margin-right:var(--space-1);font-weight:600}.quiz-question-text{color:var(--color-text);margin-bottom:var(--space-2);font-size:14px;font-weight:500;line-height:1.5}.quiz-options{gap:var(--space-2);flex-direction:column;display:flex}.quiz-option{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;font-size:14px;line-height:1.5;transition:all .15s ease-out;display:flex}.quiz-option:hover:not(.quiz-option--disabled){background:var(--color-bg);border-color:var(--color-border-hover)}.quiz-option--selected{border-color:var(--color-text);background:var(--color-bg)}.quiz-option--disabled{cursor:default;opacity:.7}.quiz-option-id{color:var(--color-text-secondary);flex-shrink:0;min-width:20px;font-weight:500}.quiz-option-text{flex:1}.quiz-card--submitted{opacity:.75}.quiz-card--submitted .quiz-option{pointer-events:none}.quiz-submit-button{width:100%;margin-top:var(--space-3);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);cursor:pointer;border:none;font-size:14px;font-weight:500;transition:all .15s ease-out;display:block}.quiz-submit-button:hover:not(:disabled){opacity:.85}.quiz-submit-button:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.quiz-interleaving-tag{border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent);margin-bottom:var(--space-3);padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.self-assess-card{margin:var(--space-3)0;padding:var(--space-4);border-radius:var(--radius-md);border:none;border-left:3px solid var(--color-border-hover);background:var(--color-bg)}.self-assess-card--submitted{opacity:.75}.self-assess-title{font-family:var(--font-serif);color:var(--color-text);margin-bottom:var(--space-2);font-size:17px;font-style:italic;font-weight:400}.self-assess-prompt{color:var(--color-text-secondary);margin-bottom:var(--space-3);font-size:14px;line-height:1.5}.self-assess-levels{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.self-assess-level{min-width:56px;padding:var(--space-3)var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:4px;transition:all .15s ease-out;display:flex}.self-assess-level:hover:not(.self-assess-level--disabled){background:var(--color-bg);border-color:var(--color-border-hover)}.self-assess-level--selected{border-color:var(--color-text);background:var(--color-bg)}.self-assess-level--disabled{cursor:default;opacity:.7}.self-assess-level-number{color:var(--color-text);font-size:18px;font-weight:600}.self-assess-level-label{color:var(--color-text-secondary);text-align:center;font-size:11px;line-height:1.3}.self-assess-submit{width:100%;margin-top:var(--space-3);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);cursor:pointer;border:none;font-size:14px;font-weight:500;transition:all .15s ease-out;display:block}.self-assess-submit:hover{opacity:.85}.progress-card{margin:var(--space-3)0;align-items:center;gap:6px var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border:none;border-left:3px solid var(--color-text-muted);background:var(--color-bg);color:var(--color-text-secondary);flex-wrap:wrap;font-size:13px;animation:.2s ease-out content-fade-in;display:flex}.progress-status-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.progress-status-dot--mastered{background:var(--color-success)}.progress-status-dot--active{background:var(--color-accent)}.progress-status-dot--pending{background:var(--color-text-muted)}.progress-node-name{color:var(--color-text);font-weight:600}.progress-status-label{color:var(--color-text-secondary)}.progress-unlocked{width:100%;color:var(--color-text-muted);padding-left:16px;font-size:12px}.question-card{margin:var(--space-3)0;border-radius:var(--radius-md);background:var(--color-bg);border:none;animation:.2s ease-out content-fade-in;display:flex;overflow:hidden}.question-card__accent{background:var(--color-accent);flex-shrink:0;width:3px}.question-card__body{padding:var(--space-3)var(--space-4);flex:1;min-width:0}.question-card__question{color:var(--color-text);margin-bottom:var(--space-3);font-size:14px;font-weight:500;line-height:1.6}.question-card__submit{width:100%;margin-top:var(--space-3);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);cursor:pointer;border:none;font-size:14px;font-weight:500;transition:all .15s ease-out;display:block}.question-card__submit:hover{opacity:.85}.question-card__answered{margin-top:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);white-space:pre-wrap;font-size:14px;font-weight:500;line-height:1.5}.question-card__waiting{margin-top:var(--space-2);padding:var(--space-1)0;align-items:center;gap:4px;display:flex}.question-card__dot{border-radius:var(--radius-full);background:var(--color-text-muted);width:6px;height:6px;animation:1.2s ease-in-out infinite question-dot-bounce}.question-card__dot:nth-child(2){animation-delay:.15s}.question-card__dot:nth-child(3){animation-delay:.3s}@keyframes question-dot-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.question-card--submitted{opacity:.75}.question-card--submitted .quiz-option,.question-card--submitted .self-assess-level{pointer-events:none}.search-card{margin:var(--space-3)0;border-radius:var(--radius-md);border:none;border-left:3px solid var(--color-text-muted);background:var(--color-bg);overflow:hidden}.search-card-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3)var(--space-4);cursor:pointer;font-family:inherit;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border-radius:inherit;background:0 0;border:none;outline:none;transition:background-color .12s;display:flex}.search-card-header:hover{background:#00000005}.dark .search-card-header:hover{background:#ffffff08}.search-card-header:focus-visible{outline:none}.search-card-icon{color:var(--color-text-muted);flex-shrink:0}.search-card-query{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.search-card-sources{flex-shrink:0;align-items:center;gap:0;margin-left:auto;display:flex}.search-card-source-icon{border-radius:var(--radius-full);border:1.5px solid var(--color-bg);background:var(--color-surface);width:16px;height:16px;margin-left:-5px;position:relative}.search-card-source-icon:first-child{margin-left:0}.search-card-count{color:var(--color-text-muted);margin-left:var(--space-2);flex-shrink:0;font-size:12px}.search-card-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.search-card-error{color:var(--color-error);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;font-size:12px;display:flex}.search-card-searching{flex-shrink:0;align-items:center;gap:3px;display:flex}.search-card-dot{border-radius:var(--radius-full);background:var(--color-text-muted);width:4px;height:4px;animation:1.2s ease-in-out infinite search-dot-pulse}.search-card-dot:nth-child(2){animation-delay:.15s}.search-card-dot:nth-child(3){animation-delay:.3s}@keyframes search-dot-pulse{0%,60%,to{opacity:.3}30%{opacity:1}}.search-card-knowledge{padding:var(--space-3)var(--space-4);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);font-size:13px;line-height:1.5}.search-card-results{flex-direction:column;display:flex}.search-result-item{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border);text-decoration:none;transition:background-color .12s;display:block}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--color-surface)}.search-result-meta{align-items:center;gap:var(--space-1);margin-bottom:4px;display:flex}.search-result-favicon{border-radius:2px;flex-shrink:0;width:14px;height:14px}.search-result-domain{color:var(--color-text-muted);font-size:12px}.search-result-external{color:var(--color-text-muted);opacity:0;flex-shrink:0;transition:opacity .12s}.search-result-item:hover .search-result-external{opacity:1}.search-result-title{color:var(--color-primary);margin-bottom:2px;font-size:14px;font-weight:500;line-height:1.4}.search-result-snippet{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.webpage-card{align-items:center;gap:var(--space-2);margin:var(--space-2)0;padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);display:flex}.webpage-card-icon{color:var(--color-text-muted);flex-shrink:0}.webpage-card-url{align-items:center;gap:var(--space-1);color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;text-decoration:none;transition:color .12s;display:flex;overflow:hidden}.webpage-card-url:hover{color:var(--color-primary-hover)}.webpage-card-external{opacity:.6;flex-shrink:0}.webpage-card-loading{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;display:flex}.webpage-card-status{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;font-size:12px;display:flex}.webpage-card-status--success{color:var(--color-success)}.webpage-card-status--error{color:var(--color-error)}.roadmap-streaming-placeholder{padding:var(--space-1)0}@media (max-width:768px){.roadmap-card,.mastery-card,.quiz-card,.question-card,.search-card,.webpage-card{box-sizing:border-box;width:100%}.mastery-criterion-bar{width:48px}.mastery-criterion-score{width:30px}.self-assess-level{min-width:44px;padding:var(--space-2)2px}.self-assess-level-number{font-size:16px}.self-assess-level-label{font-size:10px}}.login-page{background:var(--color-bg,#fafaf9);min-height:100vh;background-image:url("data:image/svg+xml,%3Csvg viewBox=%270 0 256 256%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%274%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27 opacity=%270.025%27/%3E%3C/svg%3E");justify-content:center;align-items:center;min-height:100dvh;display:flex}.login-canvas{width:100%;max-width:440px;padding:48px 24px;position:relative}.login-back-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:16px;left:16px}.login-back-btn:hover{color:var(--color-text);background:var(--color-primary-soft)}.login-brand-mark{text-align:center;color:var(--color-text,#1c1917);margin-bottom:20px}.login-tagline{font-family:var(--font-serif);color:var(--color-text,#1c1917);text-align:center;letter-spacing:-.3px;margin:0 0 16px;font-size:32px;font-style:italic;font-weight:400;line-height:1.3}.login-value-props{color:var(--color-text-muted,#a8a29e);text-align:center;letter-spacing:.3px;margin:0 0 28px;font-size:13px;line-height:1.6}.login-prop{white-space:nowrap}.login-dot{opacity:.5;margin:0 8px;display:inline-block}.login-divider{background:var(--color-border,#e7e5e4);transform-origin:50%;max-width:80px;height:1px;margin:0 auto 28px}.login-form-title{color:var(--color-text,#1c1917);text-align:center;letter-spacing:-.2px;margin:0 0 20px;font-size:15px;font-weight:600}.login-form{flex-direction:column;gap:12px;display:flex}.login-field{position:relative}.login-input{border:1px solid var(--color-border,#e7e5e4);background:var(--color-surface,#fff);width:100%;color:var(--color-text,#1c1917);box-sizing:border-box;border-radius:12px;outline:none;padding:14px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.login-input:focus{border-color:var(--color-text,#1c1917);box-shadow:0 0 0 2px #1c19170f}.login-input::placeholder{color:var(--color-text-muted,#a8a29e)}.login-error{color:var(--color-error,#ef4444);text-align:left;padding:0 4px;font-size:13px}.login-submit{width:100%;color:var(--color-surface,#fff);background:var(--color-text,#1c1917);cursor:pointer;letter-spacing:-.2px;border:none;border-radius:12px;margin-top:4px;padding:14px;font-size:15px;font-weight:600;transition:opacity .15s,transform .1s}.login-submit:hover:not(:disabled){opacity:.85}.login-submit:active:not(:disabled){transform:scale(.99)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite login-spin;display:inline-block}@keyframes login-spin{to{transform:rotate(360deg)}}.dark .login-submit{background:var(--color-surface,#fff);color:var(--color-text,#1c1917)}.login-forgot-link{width:-moz-fit-content;width:fit-content;color:var(--color-text-muted,#a8a29e);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:13px;transition:color .15s;display:block}.login-forgot-link:hover{color:var(--color-text-secondary,#57534e)}.login-link{width:-moz-fit-content;width:fit-content;color:var(--color-text-secondary,#57534e);cursor:pointer;background:0 0;border:none;margin:20px auto 0;padding:4px;font-size:13px;transition:color .15s;display:block}.login-link:hover{color:var(--color-text,#1c1917)}.login-heading{color:var(--color-text,#1c1917);text-align:center;margin:0 0 8px;font-size:20px;font-weight:700}.login-body-text{color:var(--color-text-secondary,#57534e);text-align:center;margin:0 0 24px;font-size:14px;line-height:1.6}@media (max-width:768px){.login-canvas{padding:40px 20px}.login-brand-mark{margin-bottom:16px}.login-brand-mark svg{width:48px;height:48px}.login-tagline{font-size:26px}.login-value-props{font-size:12px}}.landing-page{background:var(--color-bg);min-height:100vh;color:var(--color-text);position:relative;overflow-x:hidden}.landing-paper-texture{opacity:.015;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox=%270 0 200 200%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.65%27 numOctaves=%273%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.landing-container{max-width:1200px;margin:0 auto;padding:0 24px}.landing-header{z-index:40;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.landing-header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:72px;margin:0 auto;padding:0 24px;display:flex;position:relative}.landing-logo-link{color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:flex}.landing-logo-link svg{position:relative;top:-2px}.landing-logo-text{font-family:"Playfair Display",var(--font-serif);letter-spacing:-.02em;font-size:22px;font-style:italic;font-weight:400}.landing-nav{align-items:center;gap:40px;display:none;position:absolute;left:50%;transform:translate(-50%)}.landing-nav-link{color:var(--color-text-secondary);font-size:14px;text-decoration:none;transition:color .15s}.landing-nav-link:hover{color:var(--color-text)}.landing-header-actions{align-items:center;gap:16px;display:flex}.landing-lang-dropdown{position:relative}.landing-lang-btn{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.landing-lang-btn:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-primary-soft)}.landing-lang-chevron{transition:transform .2s}.landing-lang-chevron--open{transform:rotate(180deg)}.landing-lang-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:120px;box-shadow:var(--shadow-md);z-index:50;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.landing-lang-option{width:100%;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-size:13px;font-weight:500;transition:all .1s;display:block}.landing-lang-option:hover{background:var(--color-primary-soft);color:var(--color-text)}.landing-lang-option--active{color:var(--color-text);background:var(--color-primary-soft)}.landing-login-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:500;transition:color .15s;display:none}.landing-login-btn:hover{color:var(--color-text)}.landing-cta-btn-sm{background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .15s}.landing-cta-btn-sm:hover{background:var(--color-primary-hover)}.landing-hero{padding:80px 0 120px;position:relative}.landing-hero-inner{text-align:center}.landing-hero-title{font-family:"Playfair Display",var(--font-serif);letter-spacing:-.02em;margin-bottom:32px;font-size:72px;font-style:italic;font-weight:400;line-height:1.05}.landing-hero-subtitle{max-width:640px;color:var(--color-text-secondary);margin:0 auto 48px;font-size:20px;line-height:1.6}.landing-hero-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:16px;margin:0 auto 96px;display:flex}.landing-cta-btn-lg{background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-lg);white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:18px 48px;font-size:18px;font-weight:600;transition:all .15s;display:flex}.landing-cta-btn-lg:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.landing-secondary-btn{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:18px 48px;font-size:18px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.landing-secondary-btn:hover{background:var(--color-primary-soft);border-color:var(--color-border-hover)}.landing-mockup-wrapper{max-width:1000px;margin:0 auto;position:relative}.landing-mockup{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow:hidden}.landing-mockup-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);opacity:.85;align-items:center;gap:12px;padding:16px 20px;display:flex}.landing-mockup-dots{gap:6px;display:flex}.landing-mockup-dots span{background:var(--color-border);border-radius:50%;width:12px;height:12px}.landing-mockup-url{text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:99px;flex:1;max-width:320px;margin:0 auto;padding:4px 16px;font-size:11px;font-weight:500}.landing-mockup-body{grid-template-columns:1fr;height:420px;display:grid}.landing-mockup-sidebar{background:color-mix(in srgb,var(--color-bg)50%,transparent);text-align:left;padding:32px;display:none}.landing-mockup-sidebar-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;font-size:11px;font-weight:700}.landing-mockup-node{align-items:center;gap:12px;margin-bottom:20px;font-size:12px;font-weight:500;display:flex}.landing-mockup-node-done{background:color-mix(in srgb,var(--color-success)20%,transparent);width:24px;height:24px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;display:flex}.landing-mockup-node--active{font-weight:700}.landing-mockup-node-active{border:2px solid var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.landing-mockup-node-active:after{content:"";background:var(--color-accent);border-radius:50%;width:6px;height:6px}.landing-mockup-node--locked{opacity:.4}.landing-mockup-node-lock{border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.landing-mockup-chat{flex-direction:column;padding:32px;display:flex}.landing-mockup-messages{flex-direction:column;flex:1;gap:20px;display:flex;overflow:hidden}.landing-mockup-msg-assistant{gap:12px;display:flex}.landing-mockup-avatar{background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.landing-mockup-bubble-ai{background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-border)50%,transparent);text-align:left;border-radius:16px;max-width:75%;padding:16px;font-size:13px;line-height:1.6}.landing-mockup-msg-user{justify-content:flex-end;display:flex}.landing-mockup-bubble-user{background:var(--color-primary);color:#fff;text-align:left;max-width:75%;box-shadow:var(--shadow-sm);border-radius:16px;padding:16px;font-size:13px;line-height:1.6}.landing-mockup-input{border-top:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);align-items:center;gap:12px;margin-top:24px;padding:14px 20px;display:flex}.landing-mockup-input-icon{color:var(--color-accent);flex-shrink:0}.landing-mockup-input-placeholder{color:color-mix(in srgb,var(--color-text-muted)60%,transparent);font-size:13px}.landing-mockup-blur{filter:blur(60px);z-index:-1;border-radius:50%;width:192px;height:192px;position:absolute}.landing-mockup-blur--left{background:color-mix(in srgb,var(--color-accent)5%,transparent);top:-48px;left:-48px}.landing-mockup-blur--right{background:color-mix(in srgb,var(--color-primary)5%,transparent);bottom:-48px;right:-48px}.landing-section{padding:128px 0;position:relative}.landing-section--surface{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.landing-section--soft{background:var(--color-primary-soft)}.landing-section-header{text-align:center;margin-bottom:80px}.landing-section-title{font-family:var(--font-serif);margin-bottom:16px;font-size:40px;font-style:italic;font-weight:400}.landing-section-subtitle{color:var(--color-text-secondary);max-width:560px;margin:0 auto;font-size:18px;line-height:1.6}.landing-steps-grid{grid-template-columns:1fr;gap:24px;display:grid}.landing-step-card{background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:40px;transition:border-color .15s}.landing-step-card:hover{border-color:color-mix(in srgb,var(--color-accent)40%,transparent)}.landing-step-icon{border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-accent)10%,transparent);width:56px;height:56px;color:var(--color-accent);justify-content:center;align-items:center;margin-bottom:20px;transition:transform .15s;display:flex;position:relative}.landing-step-number{background:var(--color-accent);color:#fff;width:20px;height:20px;font-size:11px;font-weight:700;font-family:var(--font-sans);border-radius:50%;justify-content:center;align-items:center;font-style:normal;display:flex;position:absolute;top:-6px;right:-6px}.landing-step-card:hover .landing-step-icon{transform:scale(1.1)}.landing-step-title{font-family:"Playfair Display",var(--font-serif);margin-bottom:12px;font-size:22px;font-style:italic;font-weight:400}.landing-step-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.7}.landing-features-grid{grid-template-columns:1fr;gap:32px;display:grid}.landing-feature-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.landing-feature-card:hover{box-shadow:var(--shadow-md)}.landing-feature-body{flex:1;padding:40px}.landing-feature-tag{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-bottom:20px;font-size:11px;font-weight:700;display:flex}.landing-feature-title{font-family:"Playfair Display",var(--font-serif);margin-bottom:16px;font-size:24px;font-style:italic;font-weight:400;line-height:1.3}.landing-feature-desc{color:var(--color-text-secondary);font-size:15px;line-height:1.7}.landing-feature-footer{background:color-mix(in srgb,var(--color-primary-soft)40%,transparent);border-top:1px solid var(--color-border);padding:32px 40px}.landing-feature-quote-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:700}.landing-feature-quote-text{font-family:var(--font-serif);color:var(--color-text-secondary);font-size:15px;font-style:italic}.landing-feature-bar-section{flex-direction:column;gap:12px;display:flex}.landing-feature-bar-header{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:11px;font-weight:700;display:flex}.landing-feature-bar-value{color:var(--color-accent)}.landing-feature-bar-track{background:var(--color-border);border-radius:99px;width:100%;height:6px;overflow:hidden}.landing-feature-bar-fill{background:var(--color-accent);border-radius:99px;height:100%}.landing-feature-stat{justify-content:space-between;align-items:center;display:flex}.landing-feature-stat-dots{margin-left:-4px;display:flex}.landing-feature-dot{background:var(--color-border);border:2px solid var(--color-surface);border-radius:50%;width:28px;height:28px;margin-left:-4px}.landing-feature-dot--accent{background:var(--color-accent)}.landing-feature-stat-text{color:var(--color-text-muted);font-size:11px;font-weight:700}.landing-stats-grid{text-align:center;grid-template-columns:repeat(2,1fr);gap:48px;margin-bottom:96px;display:grid}.landing-stat-value{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:8px;font-size:48px;font-style:italic}.landing-stat-label{color:var(--color-text-secondary);letter-spacing:.02em;font-size:14px;font-weight:500}.landing-testimonial{max-width:800px;margin:0 auto}.landing-testimonial-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);text-align:center;padding:48px;position:relative}.landing-testimonial-quote-icon{background:var(--color-accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.landing-testimonial-text{font-family:var(--font-serif);margin-top:16px;margin-bottom:40px;font-size:24px;font-style:italic;line-height:1.5}.landing-testimonial-author{justify-content:center;align-items:center;gap:16px;display:flex}.landing-testimonial-avatar{background:color-mix(in srgb,var(--color-border)50%,transparent);width:48px;height:48px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.landing-testimonial-name{text-align:left;font-size:16px;font-weight:700}.landing-testimonial-role{color:var(--color-text-muted);text-align:left;font-size:14px;font-weight:500}.landing-cta-block{background:var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;padding:64px;position:relative;overflow:hidden}.landing-cta-blur{background:color-mix(in srgb,var(--color-accent)15%,transparent);filter:blur(80px);pointer-events:none;border-radius:50%;width:320px;height:320px;position:absolute}.landing-cta-blur--top{top:-160px;right:-160px}.landing-cta-blur--bottom{bottom:-160px;left:-160px}.landing-cta-title{font-family:var(--font-serif);color:#fff;z-index:1;letter-spacing:-.01em;margin-bottom:24px;font-size:40px;font-style:italic;font-weight:400;position:relative}.landing-cta-subtitle{color:color-mix(in srgb,var(--color-primary-soft)80%,transparent);z-index:1;max-width:600px;margin:0 auto 48px;font-size:18px;line-height:1.6;position:relative}.landing-cta-actions{z-index:1;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.landing-cta-btn-white{color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-lg);background:#fff;border:none;padding:18px 48px;font-size:20px;font-weight:700;transition:all .15s}.landing-cta-btn-white:hover{background:var(--color-primary-soft);transform:translateY(-1px)}.landing-cta-note{color:color-mix(in srgb,var(--color-primary-soft)60%,transparent);align-items:center;gap:8px;font-size:14px;font-style:italic;font-weight:500;display:flex}.landing-footer{border-top:1px solid var(--color-border);padding:64px 0}.landing-footer-inner{flex-direction:column;align-items:center;gap:32px;display:flex}.landing-footer-nav{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.landing-footer-nav a{color:var(--color-text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.landing-footer-nav a:hover{color:var(--color-text)}.landing-footer-copy{color:var(--color-text-muted);font-size:12px;font-weight:500}@media (min-width:640px){.landing-hero-actions{flex-direction:row;justify-content:center;align-items:center}.landing-cta-actions{flex-direction:row;justify-content:center}}@media (min-width:768px){.landing-mockup-body{grid-template-columns:1fr 240px}.landing-mockup-sidebar{border-right:none;border-left:1px solid var(--color-border);order:2;display:block}.landing-mockup-chat{order:1}.landing-steps-grid{grid-template-columns:repeat(2,1fr)}.landing-features-grid{grid-template-columns:repeat(3,1fr)}.landing-stats-grid{grid-template-columns:repeat(4,1fr)}.landing-stat-value{font-size:56px}.landing-testimonial-text{font-size:28px}.landing-testimonial-card{padding:64px}.landing-cta-block{padding:96px}.landing-cta-title{font-size:52px}.landing-footer-inner{flex-direction:row;justify-content:space-between}}@media (min-width:1024px){.landing-nav{display:flex}.landing-login-btn{display:block}.landing-hero-title{font-size:100px}.landing-steps-grid{grid-template-columns:repeat(4,1fr)}.landing-section-title{font-size:48px}}@media (max-width:639px){.landing-hero{padding:48px 0 80px}.landing-hero-title{font-size:44px}.landing-hero-subtitle{font-size:16px}.landing-section{padding:80px 0}.landing-section-title{font-size:28px}.landing-section-subtitle{font-size:15px}.landing-step-card,.landing-feature-body{padding:28px}.landing-feature-footer{padding:24px 28px}.landing-feature-title{font-size:18px}.landing-stat-value{font-size:36px}.landing-testimonial-text{font-size:18px}.landing-testimonial-card{padding:32px 24px}.landing-cta-block{padding:40px 24px}.landing-cta-title{font-size:28px}.landing-cta-subtitle{font-size:15px}.landing-mockup-body{height:320px}.landing-mockup-chat{padding:20px}.landing-mockup-bubble-ai,.landing-mockup-bubble-user{padding:12px;font-size:12px}.landing-stats-grid{gap:24px;margin-bottom:64px}}