body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.chat-container{background:var(--bg-app);font-family:var(--font-sans);height:100vh;max-width:100%;overflow:hidden}.chat-container,.chat-content{display:flex;flex-direction:column}.chat-content{flex:1 1 auto;height:100%;min-height:100%;min-height:0;position:relative}.chat-blurred{filter:blur(8px) saturate(.9);opacity:.55;pointer-events:none;transition:filter .25s ease,opacity .25s ease}.chat-container .input-container{padding-left:max(1rem,calc(50% - 390px));padding-left:max(1rem,calc((100% - var(--content-max-width, 780px))/2));padding-right:max(1rem,calc(50% - 390px));padding-right:max(1rem,calc((100% - var(--content-max-width, 780px))/2))}@media (max-width:768px){.chat-container{height:100vh}}@media (max-width:480px){.chat-container{height:100vh}}.slide-panel-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;inset:0;position:fixed;z-index:998}.slide-panel{background:var(--surface);border-right:1px solid var(--border-subtle);box-shadow:0 8px 24px #00000014;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;z-index:999}.slide-panel.open{transform:translateX(0)}.slide-panel-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:16px 20px}.slide-panel-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.2px}.slide-panel-close-btn{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.slide-panel-close-btn:hover{background:var(--inline-code-bg)}.slide-panel-content{padding:16px 20px}@media (max-width:768px){.slide-panel{transform:translateX(-100%);width:100vw!important}.slide-panel.open{transform:translateX(0)}}.voice-selector{display:flex;flex-direction:column;gap:8px}.voice-selector-heading{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:-.2px;padding-bottom:8px}.voice-selector-dropdown{background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:.95rem;min-width:0;overflow:hidden;padding:12px 14px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.voice-selector-dropdown:hover{background:var(--inline-code-bg);border-color:var(--border-subtle)}.voice-selector-dropdown:focus{border-color:var(--brand-accent);box-shadow:0 0 0 2px #4f46e533;outline:none}.voice-selector-dropdown:disabled{cursor:not-allowed;opacity:.6}.voice-selector-dropdown option{word-wrap:break-word;background:var(--surface);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:8px;white-space:normal}.voice-selector-dropdown option:hover{background:var(--inline-code-bg)}.voice-selector-dropdown option:checked{background:#4f46e51a;color:var(--text-primary)}@media (max-width:768px){.voice-selector{align-items:stretch;flex-direction:column;gap:8px}.voice-selector-label{text-align:center}.voice-selector-dropdown{font-size:13px;padding:10px 12px}}@media (max-width:480px){.voice-selector-dropdown{font-size:12px;padding:8px 10px}}.settings-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.settings-panel{background:var(--surface);border-right:1px solid var(--border-subtle);box-shadow:0 8px 24px #00000014;height:100vh;left:-400px;overflow-y:auto;position:fixed;top:0;transition:left .25s ease;width:400px;z-index:999}.settings-panel.open{left:0}#settings-panel .slide-panel-header,.settings-header{border-bottom:1px solid var(--border-subtle)}.settings-header{align-items:center;background:var(--surface);display:flex;justify-content:space-between;padding:16px 20px}.settings-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.2px;margin:0}.settings-close-btn{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.settings-close-btn:hover{background:var(--inline-code-bg)}.settings-content{padding:16px 20px}.settings-section{margin-bottom:32px}.settings-section h4{border-bottom:none;color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 12px;padding-bottom:8px}.settings-title.settings-title--divider{border-bottom:1px solid var(--border-subtle)}.setting-item{margin-bottom:20px}.setting-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;-webkit-user-select:none;user-select:none}.setting-checkbox{margin-right:12px;width:18px}.debug-btn{background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 2px 8px #0000000f;color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:12px 14px;transition:all .2s ease;width:100%}.debug-btn:hover{background:var(--inline-code-bg);border-color:var(--border-subtle);box-shadow:0 6px 16px #0000001f;transform:translateY(-1px)}.debug-btn.danger{background:var(--surface);border-color:var(--border-subtle);color:#ef4444}.debug-btn.danger:hover{background:var(--inline-code-bg);border-color:var(--border-subtle)}.setting-checkbox{accent-color:#4f46e5;height:18px}.settings-about{color:var(--text-primary);font-size:.95rem;line-height:1.6;margin:0}.settings-section:last-of-type{margin-top:40px;padding-top:16px}@media (max-width:768px){.settings-panel{left:-100vw;width:100vw}.settings-panel.open{left:0}.settings-content{padding:20px}.settings-header{padding:16px 20px}}.settings-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-track{background:#ffffff0d}.settings-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--line-height-body:1.65;--h1-size:1.55rem;--h2-size:1.35rem;--h3-size:1.15rem;--content-max-width:780px;--list-indent:1.5rem;--li-spacing:0.35rem;--nested-list-spacing:0.5rem;--code-font-size:0.95rem;--bg-app:#f7f8fa;--surface:#fff;--text-primary:#0f172a;--text-secondary:#475569;--border-subtle:#e6e8ee;--brand-accent:#675ce9;--brand-accent-strong:#5b4ee8;--user-chip-bg:#f6f8ff;--user-chip-border:#675ce92e;--link:var(--brand-accent-strong);--inline-code-bg:#f1f3f8;--marketing-gradient:linear-gradient(135deg,#7c3aed,#ec4899 40%,#22d3ee 75%,#f59e0b);--marketing-glow:0 30px 80px #7c3aed40,0 40px 120px #ec489933}:root[data-theme=dark]{--bg-app:#0b1020;--surface:#121933;--text-primary:#e6edf7;--text-secondary:#9fb0c7;--border-subtle:#273050;--brand-accent:#8f84ff;--brand-accent-strong:#b0a9ff;--user-chip-bg:#1a2a4a;--user-chip-border:#b0a9ff3d;--link:var(--brand-accent-strong);--inline-code-bg:#1b2442}.btn-circular{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;transition:all .3s ease}.btn-circular:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.btn-circular:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-circular.btn-sm{height:32px;width:32px}.btn-circular.btn-md{height:36px;width:36px}.btn-circular.btn-lg{height:40px;width:40px}.btn-circular.btn-xl{height:50px;width:50px}.btn-circular.btn-primary{background:#4caf504d;border-color:#4cff5099}.btn-circular.btn-primary:hover{background:#4caf5066;border-color:#4caf50cc}.btn-circular.btn-danger{background:#f443364d;border-color:#f4433699}.btn-circular.btn-danger:hover{background:#f4433666;border-color:#f44336cc}.btn-circular.btn-success{background:#4caf504d;border-color:#4caf5099}.btn-circular.btn-success:hover{background:#4caf5066;border-color:#4caf50cc}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-end{align-items:center;display:flex;justify-content:flex-end}.flex-column,.flex-column-center{display:flex;flex-direction:column}.flex-column-center{align-items:center;justify-content:center}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.gap-xl{gap:2rem}.bg-glass{background:#ffffff1a;border:1px solid #fff3}.bg-glass,.bg-glass-dark{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bg-glass-dark{background:#0003;border:1px solid #ffffff1a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #4caf5066;transform:scale(1)}50%{box-shadow:0 0 0 8px #4caf5000;transform:scale(1.05)}}.animate-fadeInUp{animation:fadeInUp .3s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.text-white{color:#fff}.text-muted{color:#ffffffb3}.text-muted-dark{color:#00000080}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.rounded-sm{border-radius:8px}.rounded-md{border-radius:12px}.rounded-lg{border-radius:16px}.rounded-xl{border-radius:24px}.rounded-full{border-radius:50%}.shadow-sm{box-shadow:0 2px 4px #0000001a}.shadow-md{box-shadow:0 4px 12px #00000026}.shadow-lg{box-shadow:0 6px 16px #00000040}@media (max-width:768px){.btn-circular.btn-lg{height:36px;width:36px}.btn-circular.btn-xl{height:50px;width:50px}}@media (max-width:480px){.btn-circular.btn-lg{height:32px;width:32px}.btn-circular.btn-xl{height:45px;width:45px}}.chat-header{background:var(--surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:1rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:20}.chat-header h1{color:var(--text-primary);font-size:1.8rem;font-weight:600;letter-spacing:-.5px;margin:0}.chat-header p{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0}.voice-controls-header{justify-content:flex-start;left:1rem}.user-controls-header,.voice-controls-header{align-items:center;display:flex;gap:1rem;margin-top:.75rem;position:absolute;top:1rem}.user-controls-header{justify-content:flex-end;right:1rem}.voice-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.voice-toggle:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.voice-toggle.enabled{background:#4caf504d;border-color:#4caf5099}.voice-toggle.enabled.speaking{animation:pulse 1.5s ease-in-out infinite}.voice-toggle.disabled{background:#f443364d;border-color:#f4433699}.settings-gear{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.settings-gear:hover{background:var(--inline-code-bg);border-color:var(--brand-accent);transform:scale(1.05)}.new-chat-button{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:50%;box-shadow:none;color:var(--text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.new-chat-button:hover{background:var(--inline-code-bg);border-color:var(--border-subtle)}.new-chat-button:active,.new-chat-button:hover{box-shadow:none;transform:none}.new-chat-button:focus-visible{box-shadow:0 0 0 3px #675ce92e;outline:none}.compatibility-warning{color:var(--text-secondary);font-size:.8rem;font-style:italic}@media (max-width:768px){.chat-header h1{font-size:1.25rem}.chat-header p{font-size:.8rem}.voice-controls-header{gap:.75rem;left:.75rem;top:.75rem}.user-controls-header{gap:.75rem;right:.75rem;top:.75rem}.new-chat-button{height:36px;width:36px}}@media (max-width:480px){.chat-header{padding:.75rem}.chat-header h1{font-size:1.1rem}.voice-controls-header{gap:.5rem;left:.5rem;top:.5rem}.user-controls-header{gap:.5rem;right:.5rem;top:.5rem}.new-chat-button{height:32px;width:32px}}.user-section{align-items:center;display:flex;gap:1rem;margin-left:1rem}.user-info{font-size:.9rem}.logout-btn,.user-info{color:var(--text-primary);font-weight:500}.logout-btn{background:#0000;border:1px solid var(--border-subtle);border-radius:.5rem;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .3s ease}.logout-btn:hover{background:var(--inline-code-bg);transform:scale(1.05)}.history-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:.75rem}.history-title{color:var(--text-primary);font-weight:600;letter-spacing:-.2px}.history-actions{display:flex;gap:.5rem}.close-btn,.load-more{background:#0000;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);cursor:pointer;padding:.25rem .6rem}.close-btn{border-radius:50%;height:28px;width:28px}.history-content{background:#0000;flex:1 1 auto;overflow-y:auto;padding:.5rem}.history-item{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:1fr auto;margin-bottom:.5rem}.history-item-btn{background:var(--surface);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 4px 10px #0000000f;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;min-height:56px;padding:.5rem .6rem;text-align:left;width:100%}.history-item-btn:hover{background:var(--inline-code-bg);border-color:var(--border-subtle);transform:translateY(-1px)}.history-item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-meta{font-size:.75rem;opacity:.75}.history-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.25rem}.delete-btn,.rename-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;line-height:1;padding:.25rem;transition:all .15s ease;width:28px}.delete-btn:hover,.rename-btn:hover{background:var(--inline-code-bg);border-color:var(--border-subtle)}.delete-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.delete-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn:disabled:hover{background:#0000;border-color:#0000;color:var(--text-primary)}.rename-input{background:var(--surface);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 2px 6px #0000000f;box-sizing:border-box;color:var(--text-primary);min-height:56px;padding:.5rem .6rem;width:100%}.history-empty,.history-loading{color:var(--text-primary);opacity:.8;padding:.75rem 0;text-align:center}.delete-confirmation-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirmation-modal{animation:modalSlideIn .2s ease-out;background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:1.5rem;width:90vw}.delete-confirmation-modal h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.delete-confirmation-modal p{color:var(--text-primary);line-height:1.5;margin:0 0 1.5rem;opacity:.8}.delete-confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end}.cancel-btn,.confirm-delete-btn{border:1px solid;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.cancel-btn{background:#0000;border-color:var(--border-subtle);color:var(--text-primary)}.cancel-btn:hover{background:var(--inline-code-bg)}.confirm-delete-btn{background:#ef4444;border-color:#ef4444;color:#fff}.confirm-delete-btn:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.confirm-delete-btn:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.5}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.history-drawer{width:85vw}}.formatted-message{overflow-wrap:anywhere}.formatted-message code,.formatted-message pre{max-width:100%}.formatted-message .table-wrapper{width:100%}.formatted-message{word-wrap:break-word;color:inherit;font-family:inherit;font-family:var(--font-sans,inherit);line-height:1.65;line-height:var(--line-height-body,1.65);overflow-wrap:break-word}.formatted-message h1,.formatted-message h2,.formatted-message h3,.formatted-message h4,.formatted-message h5,.formatted-message h6{font-weight:600;line-height:1.2;margin-bottom:.75rem;margin-top:1.5rem}.formatted-message h1{font-size:1.5rem;font-size:var(--h1-size,1.5rem)}.formatted-message h2{font-size:1.3rem;font-size:var(--h2-size,1.3rem)}.formatted-message h3{font-size:1.1rem;font-size:var(--h3-size,1.1rem)}.formatted-message p{margin-bottom:1rem;margin-top:0}.formatted-message p:last-child{margin-bottom:0}.formatted-message ol,.formatted-message ul{margin:1rem 0;padding-left:1.5rem;padding-left:var(--list-indent,1.5rem)}.formatted-message li{margin-bottom:.25rem;margin-bottom:var(--li-spacing,.25rem)}.formatted-message li>p{margin-bottom:.5rem}.formatted-message ol ol,.formatted-message ol ul,.formatted-message ul ol,.formatted-message ul ul{margin:.5rem 0;margin:var(--nested-list-spacing,.5rem) 0}.formatted-message .table-wrapper{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:1rem 0;overflow-x:auto}.formatted-message table{border-collapse:collapse;min-width:300px;width:100%}.formatted-message th{background:var(--brand-accent);border:none;color:#fff;font-weight:600;padding:.75rem;text-align:left}.formatted-message td{border:none;border-bottom:1px solid #0000001a;padding:.75rem}.formatted-message tr:nth-child(2n){background-color:#00000005}.formatted-message tr:hover{background-color:#0000000a}.formatted-message code{background:#0000000d;background:var(--inline-code-bg,#0000000d);border-radius:4px;color:#d63384;font-family:Monaco,Consolas,Courier New,monospace;font-size:.9em;font-weight:600;padding:.2rem .4rem}.formatted-message .code-block-container{background:#2d3748;border:1px solid #4a5568;border-radius:8px;margin:1rem 0;overflow:hidden;position:relative}.formatted-message .code-block-header{align-items:center;background:#4a5568;border-bottom:1px solid #718096;display:flex;justify-content:space-between;padding:.5rem 1rem}.formatted-message .code-block-language{color:#e2e8f0;font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.formatted-message .code-block-copy{background:#68d391;border:none;border-radius:4px;color:#1a202c;cursor:pointer;font-size:.7rem;font-weight:600;padding:.25rem .5rem;transition:background-color .2s}.formatted-message .code-block-copy:hover{background:#48bb78}.formatted-message .code-block-copy:active{background:#38a169}.formatted-message .code-block-copy.copied{background:#9f7aea;color:#fff}.formatted-message pre{background:#2d3748!important;border-radius:0;margin:0;overflow-x:auto;padding:1rem}.formatted-message pre code{background:none!important;border-radius:0;color:#e2e8f0;font-family:Monaco,Consolas,Courier New,monospace;font-size:.95rem;font-size:var(--code-font-size,.95rem);line-height:1.5;padding:0}.formatted-message pre[class*=language-]{background:#2d3748!important;border-radius:0!important;margin:0!important}.formatted-message .token.cdata,.formatted-message .token.comment,.formatted-message .token.doctype,.formatted-message .token.prolog{color:#a0aec0!important}.formatted-message .token.punctuation{color:#e2e8f0!important}.formatted-message .token.constant,.formatted-message .token.deleted,.formatted-message .token.property,.formatted-message .token.symbol,.formatted-message .token.tag{color:#f56565!important}.formatted-message .token.boolean,.formatted-message .token.number{color:#ed8936!important}.formatted-message .token.attr-name,.formatted-message .token.builtin,.formatted-message .token.char,.formatted-message .token.inserted,.formatted-message .token.selector,.formatted-message .token.string{color:#68d391!important}.formatted-message .language-css .token.string,.formatted-message .style .token.string,.formatted-message .token.entity,.formatted-message .token.operator,.formatted-message .token.url,.formatted-message .token.variable{color:#4fd1c7!important}.formatted-message .token.atrule,.formatted-message .token.attr-value,.formatted-message .token.class-name,.formatted-message .token.function{color:#fbb6ce!important}.formatted-message .token.keyword{color:#9f7aea!important}.formatted-message .token.important,.formatted-message .token.regex{color:#ed8936!important}.formatted-message blockquote{border-left:4px solid #667eea;color:#000000b3;font-style:italic;margin:1rem 0;padding-left:1rem}.formatted-message blockquote p{margin-bottom:.5rem}.formatted-message a{color:var(--link);text-decoration:none}.formatted-message a:hover{text-decoration:underline}.formatted-message hr{border:none;border-top:1px solid #0000001a;margin:2rem 0}.formatted-message strong{font-weight:600}.formatted-message em{font-style:italic}@media (max-width:768px){.formatted-message h1{font-size:1.3rem;font-size:calc(var(--h1-size, 1.5rem) - .2rem)}.formatted-message h2{font-size:1.15rem;font-size:calc(var(--h2-size, 1.3rem) - .15rem)}.formatted-message h3{font-size:1.05rem;font-size:calc(var(--h3-size, 1.1rem) - .05rem)}.formatted-message table{font-size:.9rem}.formatted-message td,.formatted-message th{padding:.5rem}.formatted-message pre{font-size:.8rem}.formatted-message pre code{font-size:.8rem!important;font-size:calc(var(--code-font-size, .95rem) - .15rem)!important}.formatted-message ol,.formatted-message ul{padding-left:1.2rem}.formatted-message .code-block-header{padding:.4rem .8rem}.formatted-message .code-block-language{font-size:.7rem}.formatted-message .code-block-copy{font-size:.6rem;padding:.2rem .4rem}}.formatted-message--lecture{max-width:780px;max-width:var(--content-max-width,780px)}@media (prefers-color-scheme:dark){.formatted-message code{background:#ffffff1a;color:#fbb6ce}.formatted-message tr:nth-child(2n){background-color:#ffffff08}.formatted-message tr:hover{background-color:#ffffff0f}.formatted-message td{border-bottom-color:#ffffff1a}.formatted-message blockquote{color:#ffffffb3}.formatted-message hr{border-top-color:#ffffff1a}.formatted-message .code-block-container{border-color:#2d3748}.formatted-message .code-block-header{background:#1a202c;border-bottom-color:#2d3748}}.messages-container{display:flex;flex:1 1 auto;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.messages-column{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:780px;max-width:var(--content-max-width,780px);width:100%}.message{animation:fadeInUp .3s ease-out;max-width:85%}.messages-column .message{max-width:100%}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.messages-column .assistant-message,.messages-column .user-message{align-self:auto}.messages-column .user-message{align-self:flex-end;max-width:100%;width:auto}.message-content{word-wrap:break-word;border-radius:18px;line-height:1.4;padding:.75rem 1rem;position:relative}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:6px;box-shadow:0 2px 8px #667eea4d;color:#fff}.assistant-message .message-content{background:#fff;border-bottom-left-radius:6px;box-shadow:0 2px 8px #0000001a;color:#333}.message-timestamp{color:#ffffffb3;font-size:.7rem;margin-top:.25rem;text-align:right}.assistant-message .message-timestamp{color:#00000080;text-align:left}.typing-indicator{align-items:center;display:flex;gap:4px;padding:.5rem 0}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#667eea;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:768px){.messages-container{gap:.75rem;padding:.75rem}.messages-column{gap:1.5rem}.message{max-width:90%}.messages-column .message{max-width:100%}.message-content{font-size:.95rem;padding:.6rem .8rem}}@media (max-width:480px){.messages-container{gap:.5rem;padding:.5rem}.messages-column{gap:1.25rem}.message{max-width:95%}.messages-column .message{max-width:100%}.message-content{font-size:.9rem;padding:.5rem .7rem}}.assistant-block{background:#0000;border:none;border-radius:0;box-shadow:none;color:var(--text-primary);max-width:780px;max-width:var(--content-max-width,780px);padding:0}.assistant-block__actions{display:flex;justify-content:flex-start;margin-top:8px}.copy-response-btn{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;gap:6px;padding:4px 8px;transition:background .15s ease,transform .08s ease,border-color .15s ease}.copy-response-btn:hover{background:var(--inline-code-bg)}.copy-response-btn:active{transform:translateY(1px)}.copy-response-btn.copied{background:#10b98114;border-color:#10b98199}.messages-column .user-chip{background:#6366f10a;border:none;border-radius:10px;box-shadow:none;display:inline-block;max-width:60ch;overflow-wrap:anywhere;padding:10px 12px;white-space:normal;word-break:break-word}.messages-column .user-chip .formatted-message{color:inherit}.assistant-block__meta{color:var(--text-secondary);font-size:.75rem;margin-top:.5rem;text-align:left}.user-chip{background:var(--user-chip-bg);border:1px solid var(--user-chip-border,var(--border-subtle));border-radius:16px;box-shadow:0 1px 2px #00000005;color:var(--text-primary);max-width:75vw;padding:.5rem .75rem}.user-chip__meta{color:var(--text-secondary);font-size:.7rem;margin-top:.25rem;text-align:right}.input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-top:1px solid #fff3;bottom:0;flex-shrink:0;padding:1rem;position:-webkit-sticky;position:sticky;z-index:10}.input-wrapper{align-items:flex-end;background:#fff;border-radius:24px;box-shadow:0 4px 12px #0000001a;display:flex;gap:.75rem;padding:.5rem}.input-left{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.attachments{align-items:center;display:flex;gap:6px;margin-right:6px;max-width:40vw;overflow-x:auto;padding-bottom:2px}.attachment{border:1px solid var(--border-subtle);border-radius:6px;flex:0 0 auto;height:144px;overflow:hidden;position:relative;width:144px}.attachment img{display:block;height:100%;object-fit:cover;width:100%}.remove-attachment{background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;height:22px;line-height:22px;padding:0;position:absolute;right:6px;text-align:center;top:6px;width:22px}.message-input{background:#0000;border:none;flex:1 1;font-family:inherit;font-size:1rem;line-height:1.4;max-height:120px;min-height:20px;outline:none;padding:.75rem;resize:none}.message-input::placeholder{color:#999}.voice-input-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px}.voice-input-button:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:scale(1.05)}.voice-input-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.voice-input-button.recording{animation:recording-pulse 1.5s infinite;background:linear-gradient(135deg,#f44336,#d32f2f)}.voice-input-button.recording:hover{box-shadow:0 4px 12px #f4433666}.voice-input-button.cooldown{background:#ccc;cursor:not-allowed}.pick-files-button{background:linear-gradient(90deg,#ecec07,gold 0);border:none;border-radius:50%;cursor:pointer;height:40px;width:40px}.pick-files-button:hover:not(:disabled){box-shadow:0 4px 12px #c2bd0d66;transform:scale(1.05)}.pick-files-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.pick-files-button.uploading{animation:uploading-pulse 1.5s infinite;background:linear-gradient(135deg,#2196f3,#1976d2)}.pick-files-button.uploading:hover{box-shadow:0 4px 12px #2196f366}.pick-files-button.processing{background:#ccc;cursor:not-allowed}.send-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s ease;width:40px}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.send-button:disabled{cursor:not-allowed;opacity:.5}.permission-warning{align-items:center;background:#f443361a;border:1px solid #f443364d;border-radius:12px;display:flex;justify-content:center;margin-top:.75rem;padding:.75rem}.permission-warning span{color:#f44336;font-size:.85rem;text-align:center}@keyframes recording-pulse{0%{box-shadow:0 0 0 0 #f44336b3;transform:scale(1)}50%{box-shadow:0 0 0 10px #f4433600;transform:scale(1.1)}to{box-shadow:0 0 0 0 #f4433600;transform:scale(1)}}@media (max-width:768px){.input-container{padding:.75rem}.input-wrapper{gap:.5rem;padding:.4rem}.message-input{font-size:.95rem;padding:.6rem}.send-button,.voice-input-button{height:36px;width:36px}.attachments{max-width:55vw}.attachment{height:120px;width:120px}}@media (max-width:480px){.input-container{padding:.5rem}.input-wrapper{gap:.4rem;padding:.3rem}.message-input{font-size:.9rem;padding:.5rem}.send-button,.voice-input-button{height:32px;width:32px}.attachments{max-width:65vw}.attachment{height:110px;width:110px}.permission-warning{margin-top:.4rem;padding:.5rem}.permission-warning span{font-size:.8rem}}.voice-mode-interface{align-items:center;background:#0000;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;overflow:hidden;padding:2rem;position:relative;width:100%}.voice-mode-interface:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='rgba(255,255,255,0.03)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.voice-mode-content{align-items:center;background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;gap:2rem;max-width:600px;padding:2.5rem 1.5rem;position:relative;text-align:center;width:100%;z-index:1}.voice-status-display{min-height:88px}.voice-mode-indicator,.voice-status-display{align-items:center;display:flex;flex-direction:column;gap:1rem}.voice-mode-indicator p{color:var(--text-primary);font-size:1.2rem;font-weight:500;margin:0;text-shadow:none}.speaking-waves{align-items:center;display:flex;gap:4px;justify-content:center}.speaking-waves span{animation:wave 1.2s ease-in-out infinite;background:#fffc;border-radius:2px;height:20px;width:4px}.speaking-waves span:first-child{animation-delay:-.4s}.speaking-waves span:nth-child(2){animation-delay:-.2s}.speaking-waves span:nth-child(3){animation-delay:0s}.speaking-waves span:nth-child(4){animation-delay:.2s}@keyframes wave{0%,40%,to{opacity:.6;transform:scaleY(.4)}20%{opacity:1;transform:scaleY(1)}}.transcription-feedback{max-width:500px;width:100%}.transcription-display{border:1px solid var(--user-chip-border,var(--border-subtle));border-radius:16px;margin-bottom:1rem;min-height:80px;padding:1rem 1.25rem}.transcription-display,.transcription-textarea{align-items:center;background:var(--surface);display:flex}.transcription-textarea{color:var(--text-primary);font-size:1.1rem;line-height:1.6;margin:0;min-height:40px;text-align:left;width:100%}.transcription-textarea:empty:before{color:var(--text-primary);content:"Start speaking...";font-style:normal;opacity:1}.interim-text{color:#ffffffb3;font-style:italic}.force-activate-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#4caf504d;border:2px solid #4caf5099;border-radius:12px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.force-activate-btn:hover{background:#4caf5066;border-color:#4caf50cc;box-shadow:0 2px 8px #4caf5066;transform:translateY(-1px)}.force-activate-btn:active{transform:translateY(0)}.voice-controls{gap:2rem;margin-top:2rem;position:relative;z-index:1}.voice-control-btn,.voice-controls{align-items:center;display:flex;justify-content:center}.voice-control-btn{background:var(--surface);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;height:56px;transition:all .2s ease;width:56px}.voice-control-btn:hover{background:var(--inline-code-bg);border-color:var(--brand-accent);transform:translateY(-1px)}.voice-control-btn:disabled{cursor:not-allowed;opacity:1;transform:none}.voice-control-btn.close-btn{background:#ffffffe6;border:1px solid var(--border-subtle);color:#9aa0a6}.voice-control-btn.close-btn:hover{background:var(--inline-code-bg);border-color:var(--border-subtle);transform:none}.voice-control-btn.send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.voice-control-btn.send-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.voice-control-btn.send-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.voice-mode-interface{padding:1.5rem}.voice-mode-content{gap:1.5rem}.voice-control-btn{height:48px;width:48px}.transcription-textarea{font-size:.9rem;min-height:100px;padding:1rem}}@media (max-width:480px){.voice-mode-interface{padding:1rem}.voice-mode-content{gap:1rem}.voice-control-btn{height:44px;width:44px}.transcription-textarea{font-size:.85rem;min-height:80px;padding:.75rem}.voice-mode-indicator p{font-size:1rem}}.voice-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000014;display:flex;inset:0;justify-content:center;pointer-events:auto;position:fixed;z-index:50}.voice-overlay .voice-mode-content{animation:voiceOverlayScaleIn .22s cubic-bezier(.2,.8,.2,1)}@keyframes voiceOverlayScaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.voice-context{margin-bottom:1rem;max-height:30vh;max-width:var(--content-max-width);opacity:.55;overflow:auto;width:100%}.voice-context .assistant-block,.voice-context .user-chip{border:none;box-shadow:none}.voice-context-item{margin-bottom:12px}.mic-visualizer{align-items:flex-end;display:flex;gap:6px;justify-content:center}.mic-visualizer--bars span{animation:micBarPulse 1.2s cubic-bezier(.2,.8,.2,1) infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;height:24px;opacity:1;transform-origin:bottom center;width:6px}.mic-visualizer--bars span.active{opacity:.9}@keyframes micBarPulse{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}.mic-ring{border-radius:50%;height:38px;position:relative;width:38px}.mic-ring:after{animation:ringPulse 1.5s ease-in-out infinite;border:3px solid #0000;border-radius:50%;content:"";inset:-6px;position:absolute}.mic-ring--ai{background:linear-gradient(135deg,#667eea,#764ba2)}.mic-ring--ai:after{border-color:#675ce959}.mic-ring--user{background:linear-gradient(135deg,#f87171,#ef4444);opacity:.8}.mic-ring--user:after{border-color:#f8717159}.mic-ring--neutral{background:var(--inline-code-bg)}.mic-ring--neutral:after{border-color:#0000001f}@keyframes ringPulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(1.3)}to{opacity:0;transform:scale(1.3)}}.landing-root{background:linear-gradient(135deg,#7c3aed,#ec4899 40%,#22d3ee 75%,#f59e0b);min-height:100vh;position:relative}.landing-main{display:grid;min-height:100vh;padding:24px;place-items:center;position:relative}.content-stack{color:#fff;max-width:720px;position:relative;text-align:center;z-index:2}.bg-brand{bottom:8vh;filter:drop-shadow(0 24px 40px rgba(0,0,0,.25));height:auto;opacity:.12;position:absolute;right:6vw;width:min(600px,48vw)}.landing-title{font-size:clamp(43.2px,8.4vw,72px);letter-spacing:-.02em;line-height:1.05;margin:0 0 12px;text-shadow:0 6px 24px #00000040}.landing-sub{font-size:clamp(22px,3.575vw,27.5px);line-height:1.6;margin:0 auto 28px;opacity:.95;text-shadow:0 4px 16px #00000040}.login-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 10px 30px #00000014;max-width:560px;padding:44px 40px;text-align:center;width:100%}.brand-mark{display:flex;justify-content:center;margin-bottom:12px}.brand-mark__logo{border-radius:12px;box-shadow:0 6px 18px #675ce940;height:48px;width:48px}.login-header h1{color:var(--text-primary);font-size:48px;font-weight:800;margin:0}.hero-title{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#0000}.login-header p{color:var(--text-secondary);font-size:18px;margin:10px 0 28px}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:24px;padding:12px}.login-options{display:flex;flex-direction:column;gap:16px}.google-login-btn{align-items:center;background:#ffffffeb;border:1px solid #ffffffbf;border-radius:12px;box-shadow:0 1px 2px #1118270f,0 8px 24px #11182714;color:#111827;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:12px 16px;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;width:100%}.btn-xl{font-size:16px;padding:16px 20px}.google-login-btn:hover{background:#fff;border-color:#ffffffe6;box-shadow:0 2px 6px #1118271f,0 12px 32px #1118271f;transform:translateY(-1px)}.google-login-btn.is-pressed,.google-login-btn:active{box-shadow:0 0 0 2px #22d3ee2e,inset 0 1px 2px #1118272e,0 6px 20px #1118271f;transform:translateY(0) scale(.985)}.landing-cta{margin:0 auto;max-width:360px;outline:none}.landing-cta:focus-visible{box-shadow:0 0 0 4px #fff9,0 0 0 6px #22d3eee6}.login-subcopy{margin-top:10px}.divider,.login-subcopy{color:var(--text-secondary);font-size:12px}.divider{align-items:center;display:flex;gap:12px;margin:14px 0}.divider:after,.divider:before{background:var(--border-subtle);content:"";flex:1 1;height:1px}.email-login-btn{background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-primary);cursor:pointer;padding:10px 14px;transition:all .2s ease;width:100%}.email-login-btn:hover{background:var(--inline-code-bg);border-color:var(--brand-accent)}.email-form{display:flex;flex-direction:column;gap:10px}.email-input{background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);padding:12px 14px;width:100%}.email-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:not-allowed;opacity:.7;padding:12px 16px;width:100%}.login-subcopy.small{font-size:11px}.google-login-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-icon{height:20px;width:20px}@media (max-width:480px){.bg-brand{bottom:10vh;right:4vw;width:62vw}}.processing-root{background:var(--bg-app);display:grid;inset:0;overflow:hidden;place-items:center;position:fixed}.processing-loader{animation:spin 2s linear infinite;border:3px solid var(--border-subtle);border-radius:50%;border-top-color:initial;color:color-mix(in srgb,var(--text-secondary) 75%,var(--text-primary) 25%);height:64px;width:64px}.processing-text{bottom:12vh;color:color-mix(in srgb,var(--text-secondary) 75%,#fff 25%);color:hsla(0,0%,100%,.115);font-weight:500;font-weight:600;letter-spacing:.2px;position:absolute}@media (prefers-reduced-motion:reduce){.facet-a,.facet-b,.facet-c,.facet-d{animation:none}}.marketing-header{left:0;padding:16px 22px;pointer-events:none;position:absolute;right:0;top:0}.marketing-header__inner{align-items:center;display:flex;justify-content:space-between}.brand{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-flex;gap:10px;pointer-events:auto}.brand__logo{border-radius:8px;box-shadow:0 6px 18px #ffffff59;height:48px;width:48px}.brand__wordmark{color:#fff;font-size:clamp(16px,2.4vw,30px);font-weight:500;letter-spacing:.2px;text-shadow:0 1px 2px #00000040;vertical-align:bottom}@media (prefers-color-scheme:light){.brand__wordmark{color:#fffffff2}}.auth-transition-overlay{align-items:center;animation:fadeOut .35s ease forwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000000f;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.auth-transition-spinner{animation:spin .9s linear infinite;border:2px solid #00000026;border-radius:50%;border-top-color:#00000073;height:28px;width:28px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;padding:0}.App{height:100vh;overflow:hidden;width:100vw}
/*# sourceMappingURL=main.8a93cf7c.css.map*/