@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:100;src:url(https://fonts.cdnfonts.com/s/21211/CooperHewitt-Thin.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:300;src:url(https://fonts.cdnfonts.com/s/21211/CooperHewitt-Light.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:400;src:url(https://fonts.cdnfonts.com/s/21211/CooperHewitt-Book.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:500;src:url(https://fonts.cdnfonts.com/s/21211/CooperHewitt-Medium.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:600;src:url(https://fonts.cdnfonts.com/s/21211/CooperHewitt-Semibold.woff) format("woff")}:root{--font-display: "Cooper Hewitt", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--radius: 12px;--radius-lg: 16px;--radius-xl: 28px;--border-subtle: 1px solid rgba(255, 255, 255, .08);--viper-red: #e8233a;--viper-red-dark: #c11a2e;--viper-muted: #9aa0ab;--viper-border: #e6e6e6;--viper-radius: 12px;--max-chat-width: 840px}html[data-theme=light]{--bg-primary: #fafafa;--bg-secondary: #ffffff;--surface-variant: #f1f2f4;--surface-hover: #e9eaee;--text-primary: #1c1d21;--text-secondary: #5c6270;--border-color: #e4e5e9;--code-bg: #f3f4f6;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06)}html[data-theme=dark]{--bg-primary: #0f0f11;--bg-secondary: #1e1f22;--surface-variant: #282a2d;--surface-hover: #2f3135;--text-primary: #e3e2e6;--text-secondary: #c4c6d0;--border-color: rgba(255, 255, 255, .08);--code-bg: #1a1b1e;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.4)}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}a{color:var(--viper-red);text-decoration:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);transition:background .2s,color .2s}.btn-icon:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-icon.active{background:var(--surface-variant);color:var(--viper-red)}.entry{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center;background:radial-gradient(60% 60% at 50% 0%,color-mix(in srgb,var(--viper-red) 14%,transparent),transparent 70%),var(--bg-primary)}.entry-logo{font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:-.5px}.entry-logo span{color:var(--viper-red)}.entry h1{font-family:var(--font-display);font-weight:800;font-size:2.4rem;letter-spacing:-1px;margin:0}.entry p{color:var(--text-secondary);max-width:480px;margin:0;font-size:1rem;line-height:1.6}.entry-badge{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:100px;border:var(--border-subtle);background:var(--surface-variant);color:var(--text-secondary)}.entry-cta{margin-top:10px;padding:13px 28px;border-radius:100px;border:none;background:var(--viper-red);color:#fff;font-weight:600;font-size:.95rem;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 10px 28px color-mix(in srgb,var(--viper-red) 35%,transparent)}.entry-cta:hover{background:var(--viper-red-dark);transform:translateY(-1px)}.entry-meta{font-size:.78rem;color:var(--text-secondary);margin-top:18px;font-family:var(--font-mono)}.chat-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.chat-sidebar{width:288px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:var(--border-subtle);transition:width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}.chat-sidebar.collapsed{width:60px;align-items:stretch}.chat-sidebar.collapsed .sidebar-head,.chat-sidebar.collapsed .conv-list,.chat-sidebar.collapsed .sidebar-features,.chat-sidebar.collapsed .sidebar-foot{display:none}.sidebar-rail{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0}.rail-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.rail-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.rail-btn svg{display:block}.rail-spacer{flex:1}.sidebar-logo-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:12px;background:transparent;cursor:pointer;overflow:hidden}.sidebar-logo-btn .logo-img{width:30px;height:30px;transition:opacity .15s}.sidebar-logo-btn .logo-toggle-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-primary);opacity:0;transition:opacity .15s}.sidebar-logo-btn:hover{background:var(--surface-hover)}.sidebar-logo-btn:hover .logo-img{opacity:0}.sidebar-logo-btn:hover .logo-toggle-icon{opacity:1}.sidebar-head{padding:14px 12px;display:flex;flex-direction:column;gap:12px}.sidebar-head-row{display:flex;align-items:center;gap:8px}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:var(--border-subtle);border-radius:var(--radius);background:var(--surface-variant);color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-toggle svg{display:block}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;padding:11px;border:none;border-radius:var(--radius);background:var(--viper-red);color:#fff;font-weight:600;font-size:.9rem;transition:background .2s}.new-chat-btn:hover{background:var(--viper-red-dark)}.sidebar-search{position:relative}.sidebar-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-secondary)}.sidebar-search input{width:100%;padding:10px 34px 10px 36px;border-radius:var(--radius);border:var(--border-subtle);background:var(--surface-variant);color:var(--text-primary);font-size:.85rem;outline:none}.sidebar-search input:focus{border-color:color-mix(in srgb,var(--viper-red) 50%,transparent)}.sidebar-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.sidebar-search-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.conv-list{flex:1;overflow-y:auto;padding:4px 8px 12px}.conv-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);cursor:pointer;transition:background .15s}.conv-item:hover{background:var(--surface-hover)}.conv-item.active{background:var(--surface-variant)}.conv-item svg{width:15px;height:15px;color:var(--text-secondary);flex-shrink:0}.conv-meta{flex:1;min-width:0}.conv-title{font-size:.86rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:.72rem;color:var(--text-secondary)}.conv-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.conv-item:hover .conv-actions{opacity:1}.conv-actions button{color:var(--text-secondary)}.conv-actions button:hover{color:var(--viper-red)}.sidebar-foot{padding:10px 16px 12px;border-top:var(--border-subtle);font-size:.78rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.sidebar-foot-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.live-dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;display:inline-block;margin-right:6px}.account-wrap{position:relative;min-width:0}.account-btn{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 6px;border:none;border-radius:10px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .2s}.account-btn:hover{background:var(--surface-hover)}.account-avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--surface-variant);object-fit:cover}.account-avatar.initials{display:flex;align-items:center;justify-content:center;background:var(--viper-red);color:#fff;font-size:.8rem;font-weight:700}.account-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500;color:var(--text-primary)}.rail-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.rail-avatar.initials{display:flex;align-items:center;justify-content:center;background:var(--viper-red);color:#fff;font-size:.65rem;font-weight:700}.account-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:60;min-width:220px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:12px;box-shadow:var(--shadow);padding:8px}.account-menu-head{padding:6px 10px 10px;border-bottom:var(--border-subtle);margin-bottom:6px}.account-menu-name{font-size:.86rem;font-weight:600;color:var(--text-primary)}.account-menu-email{font-size:.76rem;color:var(--text-secondary);word-break:break-all}.account-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.84rem;cursor:pointer;transition:background .2s}.account-menu-item:hover{background:var(--surface-hover)}.signin-btn{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 10px;border:var(--border-subtle);border-radius:100px;background:var(--surface-variant);color:var(--text-primary);font-size:.78rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.signin-btn:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--viper-red) 40%,transparent)}.google-btn-wrap{display:flex;align-items:center}.google-btn-wrap>div{display:flex}.sidebar-features{padding:8px 8px 4px;border-top:var(--border-subtle)}.sidebar-section-label{padding:6px 12px 4px;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}.feature-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.feature-item:hover{background:var(--surface-hover)}.feature-icon{display:inline-flex;width:17px;height:17px;color:var(--text-secondary);flex-shrink:0}.feature-icon svg{width:17px;height:17px}.feature-label{flex:1;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-item.off .feature-label{color:var(--text-secondary)}.feature-switch{width:30px;height:18px;border-radius:100px;background:var(--surface-hover);border:1px solid var(--border-color);position:relative;flex-shrink:0;transition:background .2s,border-color .2s}.feature-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-secondary);transition:transform .2s,background .2s}.feature-switch.on{background:var(--viper-red);border-color:var(--viper-red)}.feature-switch.on:after{transform:translate(12px);background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;animation:msgIn .25s cubic-bezier(.4,0,.2,1)}.crash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:24px}.crash-box{max-width:420px;text-align:center;padding:28px;border-radius:var(--radius-xl);border:var(--border-subtle);background:var(--bg-secondary);box-shadow:var(--shadow)}.crash-box h2{margin:0 0 8px;font-family:var(--font-display);font-weight:800;font-size:1.25rem}.crash-box p{margin:0 0 18px;color:var(--text-secondary);font-size:.85rem;word-break:break-word}.crash-box button{padding:10px 22px;border:none;border-radius:var(--radius);background:var(--viper-red);color:#fff;font-weight:600;cursor:pointer}.settings-modal{width:460px;max-width:calc(100vw - 32px);max-height:80vh;overflow-y:auto;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:18px 20px 20px}.settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-head h3{font-family:var(--font-display);font-weight:800;font-size:1.15rem;margin:0;letter-spacing:-.3px}.settings-section{border-top:var(--border-subtle);padding-top:8px}.settings-section+.settings-section{margin-top:14px}.settings-section-title{font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);padding:8px 4px 6px}.settings-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:var(--radius);cursor:pointer;transition:background .15s}.settings-row:hover{background:var(--surface-hover)}.settings-row.active{background:var(--surface-variant)}.settings-check{color:var(--viper-red);flex-shrink:0}.settings-row-text{flex:1;min-width:0}.settings-row-title{font-size:.88rem;font-weight:500}.settings-row-desc{font-size:.74rem;color:var(--text-secondary)}.activity-filters{display:flex;gap:6px;padding:0 4px 10px}.activity-filter{padding:6px 14px;border-radius:100px;border:var(--border-subtle);background:var(--surface-variant);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.activity-filter:hover{background:var(--surface-hover)}.activity-filter.active{background:var(--viper-red);border-color:var(--viper-red);color:#fff;font-weight:600}.activity-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto}.activity-empty{padding:14px 8px;font-size:.82rem;color:var(--text-secondary)}.activity-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:var(--radius);transition:background .15s}.activity-row:hover{background:var(--surface-hover)}.activity-row-meta{flex:1;min-width:0}.activity-row-title{font-size:.86rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-row-time{font-size:.72rem;color:var(--text-secondary)}.activity-row-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.activity-row-delete:hover{background:var(--surface-hover);color:var(--viper-red)}.activity-clear{width:100%;margin-top:10px;padding:9px;border:none;border-radius:var(--radius);background:var(--surface-variant);color:var(--viper-red);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .2s}.activity-clear:hover{background:color-mix(in srgb,var(--viper-red) 12%,transparent)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.chat-topbar{display:flex;align-items:center;gap:8px;padding:10px 16px}.maintenance-banner{display:flex;align-items:center;gap:8px;margin:10px 16px 0;padding:10px 14px;border-radius:var(--radius);background:var(--surface-variant);border:1px solid rgba(255,193,7,.4);color:var(--text-primary);font-size:.85rem}.maintenance-dot{width:9px;height:9px;border-radius:50%;background:#ffc107;flex-shrink:0;animation:maintenance-pulse 1.6s ease-in-out infinite}@keyframes maintenance-pulse{0%,to{opacity:1}50%{opacity:.35}}.composer textarea:disabled,.composer button:disabled{opacity:.5;cursor:not-allowed}.model-picker{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;border:var(--border-subtle);background:var(--surface-variant);color:var(--text-primary);font-size:.85rem;font-weight:500}.model-picker svg{width:13px;height:13px;color:var(--text-secondary)}.status-dot{width:9px;height:9px;border-radius:50%;background:#2ecc71}.model-picker-wrap{position:relative}.model-menu{position:absolute;top:44px;left:0;z-index:60;min-width:220px;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px}.model-menu-item{display:block;width:100%;text-align:left;padding:9px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.84rem}.model-menu-item:hover{background:var(--surface-hover)}.model-menu-item.active{background:var(--surface-variant);color:var(--viper-red)}.model-menu-empty{padding:10px 12px;font-size:.8rem;color:var(--text-secondary)}.spacer{flex:1}.theme-switcher{display:flex;align-items:center;gap:2px}.mobile-menu-btn{display:none}.chat-scroll{flex:1;overflow-y:auto;scroll-behavior:smooth}.thread{width:100%;max-width:var(--max-chat-width);margin:0 auto;padding:32px 24px 40px;display:flex;flex-direction:column;gap:28px}.chat-empty{min-height:calc(100vh - 200px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px 24px}.brand-badge{width:64px;height:64px;border-radius:20px;background:var(--viper-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.6rem;box-shadow:0 12px 32px color-mix(in srgb,var(--viper-red) 30%,transparent)}.chat-empty h2{font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.5px;margin:0}.chat-empty p{color:var(--text-secondary);max-width:460px;font-size:.9rem;margin:0;line-height:1.6}.prompt-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:640px}.chip{padding:10px 18px;border-radius:100px;border:var(--border-subtle);background:var(--surface-variant);color:var(--text-primary);font-size:.82rem;transition:background .2s,border-color .2s}.chip:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--viper-red) 40%,transparent)}.msg{display:flex;gap:14px;animation:msgIn .4s cubic-bezier(.4,0,.2,1)}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.avatar{width:34px;height:34px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.msg.assistant .avatar{background:var(--viper-red);color:#fff}.msg.user .avatar{background:var(--surface-variant);color:var(--text-secondary)}.msg-body{flex:1;min-width:0}.msg-bubble{font-size:.95rem;line-height:1.7;word-wrap:break-word}.msg.user .msg-bubble{background:var(--surface-variant);padding:12px 16px;border-radius:var(--radius-lg);max-width:85%;margin-left:auto}.msg-actions{display:flex;gap:4px;margin-top:6px}.markdown p{margin:.5em 0}.markdown p:first-child{margin-top:0}.markdown p:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.4px;margin:1.1em 0 .5em}.markdown h1{font-size:1.35rem}.markdown h2{font-size:1.2rem}.markdown h3{font-size:1.05rem}.markdown ul,.markdown ol{padding-left:1.4em;margin:.5em 0}.markdown li{margin:.25em 0}.markdown code{font-family:var(--font-mono);font-size:.85em;background:var(--code-bg);padding:.15em .4em;border-radius:6px}.markdown blockquote{margin:.6em 0;padding:.5em 1em;border-left:3px solid var(--viper-red);background:var(--surface-variant);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary)}.markdown table{border-collapse:collapse;margin:.8em 0;width:100%;font-size:.88rem}.markdown th,.markdown td{border:var(--border-subtle);padding:8px 12px;text-align:left}.markdown th{background:var(--surface-variant);font-weight:600}.code-block{margin:.8em 0;border-radius:var(--radius);overflow:hidden;border:var(--border-subtle);background:var(--code-bg)}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface-variant);font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary)}.copy-btn{border:none;background:transparent;color:var(--text-secondary);font-size:.72rem;font-family:var(--font-body);padding:3px 8px;border-radius:6px}.copy-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.copy-btn.copied{color:#2ecc71}.code-block pre{margin:0;padding:14px 16px;overflow-x:auto}.code-block code{font-family:var(--font-mono);font-size:.82rem;line-height:1.55}.typing-indicator{display:inline-flex;gap:5px;padding:8px 2px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:blink 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.msg-bubble.error{color:var(--viper-red)}.composer-wrap{padding:0 24px 20px;flex-shrink:0}.composer-wrap.centered{display:flex;justify-content:center;padding:0 24px;position:absolute;top:54px;right:0;bottom:0;left:0;align-items:center;flex-direction:column;gap:20px}.welcome-greeting{text-align:center}.welcome-greeting h2{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.5px}.composer-wrap.centered .composer{width:100%;max-width:var(--max-chat-width)}.chat-main:has(.composer-wrap.centered) .chat-scroll{flex:0}.chat-main:has(.composer-wrap.centered) .chat-empty{display:none}.composer{max-width:var(--max-chat-width);margin:0 auto;border:var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);box-shadow:var(--shadow);transition:border-color .2s}.composer:focus-within{border-color:color-mix(in srgb,var(--viper-red) 50%,transparent)}.composer-box{display:flex;align-items:flex-end;gap:8px;padding:6px 8px 6px 12px}.composer textarea{flex:1;border:none;background:transparent;resize:none;color:var(--text-primary);font-size:.95rem;line-height:1.5;outline:none;padding:8px 0;max-height:160px}.composer-actions{display:flex;gap:4px;align-items:center}.attach-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:none;background:transparent;color:var(--text-secondary);transition:background .2s,color .2s}.attach-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.attach-preview{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 0}.attach-chip{display:flex;align-items:center;gap:8px;max-width:220px;padding:5px 6px;border-radius:10px;border:var(--border-subtle);background:var(--surface-variant)}.attach-chip img{width:34px;height:34px;object-fit:cover;border-radius:6px}.attach-file-icon{font-size:1rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.attach-name{font-size:.76rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.attach-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);flex-shrink:0}.attach-remove:hover{background:var(--surface-hover);color:var(--viper-red)}.msg-img{max-width:100%;max-height:320px;border-radius:var(--radius);border:var(--border-subtle);margin:6px 0;display:block}.msg-file{color:var(--text-secondary);font-size:.85rem;margin:4px 0}.send-btn{width:36px;height:36px;border-radius:12px;border:none;background:var(--viper-red);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s}.send-btn:hover{background:var(--viper-red-dark)}.send-btn:disabled{background:var(--surface-variant);color:var(--text-secondary);cursor:default}.send-btn svg{width:18px;height:18px}.send-btn.stop{background:var(--surface-variant);color:var(--text-secondary)}.mic-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:none;background:transparent;color:var(--text-secondary);transition:background .2s,color .2s,box-shadow .2s;flex-shrink:0}.mic-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.mic-btn.listening{background:var(--viper-red);color:#fff;animation:micPulse 1.2s ease-in-out infinite}@keyframes micPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--viper-red) 40%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.msg-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.msg-sources-label{flex-basis:100%;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.msg-source{font-size:.8rem;color:var(--text-primary);text-decoration:none;padding:5px 12px;border-radius:100px;border:var(--border-subtle);background:var(--surface-variant);transition:border-color .2s,color .2s}.msg-source:hover{border-color:color-mix(in srgb,var(--viper-red) 50%,transparent);color:var(--viper-red)}.msg-actions{display:flex;align-items:center;gap:2px;margin-top:10px}.msg-action{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.76rem;cursor:pointer;transition:background .2s,color .2s}.msg-action:hover{background:var(--surface-hover);color:var(--text-primary)}.msg-action.active{color:var(--viper-red)}.msg-action svg{display:block}.msg-action.icon-only{padding:6px;border-radius:8px}.msg-action-wrap{position:relative}.msg-more-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:160px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:12px;box-shadow:var(--shadow);padding:6px}.msg-more-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.84rem;cursor:pointer;transition:background .2s}.msg-more-item:hover{background:var(--surface-hover)}.details-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:var(--border-subtle)}.details-row:last-child{border-bottom:none}.details-label{font-size:.85rem;color:var(--text-secondary)}.details-value{font-size:.85rem;color:var(--text-primary);font-weight:500;text-align:right}.feedback-intro{margin:0 0 14px;font-size:.88rem;color:var(--text-secondary)}.feedback-options{display:flex;flex-direction:column;gap:8px}.feedback-option{display:block;width:100%;text-align:left;padding:11px 14px;border:var(--border-subtle);border-radius:12px;background:var(--surface-variant);color:var(--text-primary);font-size:.88rem;cursor:pointer;transition:border-color .2s,background .2s}.feedback-option:hover{border-color:color-mix(in srgb,var(--viper-red) 50%,transparent);background:var(--surface-hover)}.ai-disclaimer{margin-top:10px;text-align:center;font-size:.82rem;color:var(--text-secondary);opacity:.9}.toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius);background:var(--bg-secondary);border:var(--border-subtle);box-shadow:var(--shadow);font-size:.85rem;animation:msgIn .3s cubic-bezier(.4,0,.2,1)}.toast svg{width:17px;height:17px;color:var(--viper-red)}.toast.success svg{color:#2ecc71}.toast.error svg{color:var(--viper-red)}.toast.out{opacity:0;transform:translateY(6px);transition:all .3s}.sidebar-backdrop{display:none}@media (max-width: 768px){.mobile-menu-btn{display:inline-flex}.theme-switcher{display:none}.chat-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:50;height:100%;width:min(288px,85vw);box-shadow:var(--shadow);transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.chat-sidebar:not(.collapsed){transform:translate(0)}.chat-sidebar.collapsed{width:min(288px,85vw)}.chat-sidebar.collapsed .sidebar-rail{display:none}.chat-sidebar.collapsed .sidebar-head{display:flex}.chat-sidebar.collapsed .conv-list,.chat-sidebar.collapsed .sidebar-features{display:block}.chat-sidebar.collapsed .sidebar-foot{display:flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073}.composer-wrap{padding:0 12px 12px}.thread{padding:20px 14px 28px}}
