:root{--bg: #f2f0eb;--bg-secondary: #e9e6df;--bg-elevated: #fbfaf7;--bg-soft: #f6f4ef;--text: #1b1c18;--text-muted: #6f7069;--border: #dcd8cf;--border-strong: #c8c3b8;--accent: #a64f30;--accent-hover: #8d4026;--accent-soft: #f1e2db;--accent-text: #fffaf7;--danger: #a53a32;--success: #2d6a4f;--shadow-sm: 0 1px 2px rgb(35 32 26 / 5%);--shadow-md: 0 18px 52px rgb(35 32 26 / 13%);--material-sidebar: #e9e6df;--material-toolbar: #fbfaf7;--material-thick: #fbfaf7;--material-highlight: transparent;--scrim: rgb(24 23 20 / 42%);--ease-fluid: cubic-bezier(.2, .8, .2, 1);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px}:root[data-theme=dark]{--bg: #121310;--bg-secondary: #191a16;--bg-elevated: #20211c;--bg-soft: #262720;--text: #f1efe8;--text-muted: #a3a198;--border: #34362f;--border-strong: #4c4e45;--accent: #dc805e;--accent-hover: #e59173;--accent-soft: #3a271f;--accent-text: #1b110c;--danger: #e77b72;--success: #79b692;--shadow-sm: 0 1px 2px rgb(0 0 0 / 22%);--shadow-md: 0 18px 46px rgb(0 0 0 / 32%);--material-sidebar: #191a16;--material-toolbar: #20211c;--material-thick: #20211c;--material-highlight: transparent;--scrim: rgb(0 0 0 / 52%)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121310;--bg-secondary: #191a16;--bg-elevated: #20211c;--bg-soft: #262720;--text: #f1efe8;--text-muted: #a3a198;--border: #34362f;--border-strong: #4c4e45;--accent: #dc805e;--accent-hover: #e59173;--accent-soft: #3a271f;--accent-text: #1b110c;--danger: #e77b72;--success: #79b692;--shadow-sm: 0 1px 2px rgb(0 0 0 / 22%);--shadow-md: 0 18px 46px rgb(0 0 0 / 32%);--material-sidebar: #191a16;--material-toolbar: #20211c;--material-thick: #20211c;--material-highlight: transparent;--scrim: rgb(0 0 0 / 52%)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}button:not(:disabled):active,a.button-primary:active,a.button-secondary:active{transform:scale(.97);transition-duration:80ms}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:2px}textarea{font-family:inherit}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}@keyframes materialize-popover{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sheet-enter{0%{opacity:0;transform:translate(28px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes sheet-exit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(28px) scale(.985)}}@keyframes sheet-exit-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}@keyframes scrim-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-reduced-transparency: reduce){:root{--material-sidebar: var(--bg-secondary);--material-toolbar: var(--bg-elevated);--material-thick: var(--bg-elevated)}.sidebar,.chat-header,.composer,.model-picker-menu,.profile-panel{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-contrast: more){:root{--border: #aeb4bf;--border-strong: #737b88}:root[data-theme=dark]{--border: #717986;--border-strong: #aeb5c0}}.login-page{height:100%;display:flex;align-items:center;justify-content:center}.login-card{text-align:center;padding:2.5rem;max-width:320px}.login-card h1{font-size:1.4rem;font-weight:600;margin:0 0 .5rem}.login-card p{color:var(--text-muted);margin:0 0 1.5rem}.login-widget{display:flex;justify-content:center;min-height:40px}.login-hint{font-size:.85rem;color:var(--text-muted)}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;color:var(--text-muted);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-email-form{display:flex;flex-direction:column;gap:.6rem}.turnstile-container{min-height:65px;overflow:hidden;border-radius:var(--radius-sm, 10px)}.login-email-form input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem}.login-email-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.login-email-form button{padding:.6rem .75rem;border:none;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:.9rem;font-weight:500}.login-email-form button:disabled{opacity:.6;cursor:default}.login-error{margin:0;font-size:.8rem;color:var(--danger)}.login-cancel-link{display:block;width:fit-content;margin:1rem auto 0;color:var(--text-muted);font-size:.85rem;text-decoration:none}.login-cancel-link:hover{color:var(--text)}.chat-shell{display:flex;height:100%}.sidebar{width:240px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.75rem;gap:.25rem}.sidebar-brand{font-weight:600;padding:.5rem .5rem .75rem;font-size:.95rem}.btn-new-chat{background:transparent;border:1px solid var(--border);color:var(--text);text-align:left;padding:.55rem .65rem;border-radius:8px;font-size:.85rem;font-weight:500;margin-bottom:.5rem;transition:background-color .12s ease-out}.btn-new-chat:hover{background:var(--bg-elevated)}.conversation-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.conversation-item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.5rem .6rem;border-radius:8px;font-size:.85rem;cursor:pointer;transition:background-color .12s ease-out}.conversation-item:hover{background:var(--bg-elevated)}.conversation-item-active{background:var(--bg-elevated);font-weight:500}.conversation-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-delete{background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:.1rem .3rem;border-radius:4px;opacity:0;transition:opacity .12s ease-out}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{color:var(--danger);background:var(--bg-secondary)}.sidebar-spacer{flex:0 0 .5rem}.sidebar-user{padding:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.sidebar-user-name{font-size:.9rem;font-weight:500}.sidebar-user-limit{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.btn-ghost{background:transparent;border:none;color:var(--text);text-align:left;padding:.5rem;border-radius:8px;font-size:.85rem;transition:background-color .12s ease-out}.btn-ghost:hover{background:var(--bg-elevated)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.chat-title{font-size:.85rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-select{background:transparent;border:1px solid var(--border);color:var(--text);padding:.35rem .6rem;border-radius:8px;font-size:.85rem}.message-list{flex:1;overflow-y:auto;padding:1.5rem 1rem}.empty-state{max-width:700px;margin:3rem auto;text-align:center;color:var(--text-muted)}.message{max-width:700px;margin:0 auto 1.25rem;display:flex;animation:fade-slide-in .18s ease-out}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-bubble{word-break:break-word;padding:.65rem .9rem;border-radius:12px;max-width:100%}.message-user .message-bubble{white-space:pre-wrap;background:var(--accent);color:var(--accent-text)}.message-assistant .message-bubble{background:var(--bg-secondary);color:var(--text)}.message-bubble>*:first-child{margin-top:0}.message-bubble>*:last-child{margin-bottom:0}.message-bubble p{margin:0 0 .75em;line-height:1.6}.message-bubble ul,.message-bubble ol{margin:0 0 .75em;padding-left:1.4em;line-height:1.6}.message-bubble li{margin:.2em 0}.message-bubble h1,.message-bubble h2,.message-bubble h3{margin:1em 0 .5em;font-weight:600;line-height:1.3}.message-bubble h1{font-size:1.25rem}.message-bubble h2{font-size:1.1rem}.message-bubble h3{font-size:1rem}.message-bubble blockquote{margin:0 0 .75em;padding-left:.8em;border-left:3px solid var(--border);color:var(--text-muted)}.message-bubble a{color:var(--accent)}.markdown-generated-image{display:block;width:min(100%,560px);height:auto;margin:0 0 .75em;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated)}.message-bubble table{border-collapse:collapse;min-width:100%;font-size:.9em}.markdown-table-scroll{max-width:100%;margin:0 0 .75em;overflow-x:auto}.message-bubble th,.message-bubble td{border:1px solid var(--border);padding:.35em .6em;text-align:left}.message-bubble :not(pre)>code{background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:4px;padding:.1em .35em;font-size:.88em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-block{max-width:min(100%,700px);margin:0 0 .9em;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#0d1117}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:38px;padding:.35rem .55rem .35rem .8rem;background:color-mix(in srgb,var(--bg-secondary) 90%,var(--text) 10%);font-size:.78rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-block-lang{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-block-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.code-block-action{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--text-muted);font-size:.78rem;padding:.3rem .45rem;border-radius:6px;transition:background-color .12s ease-out,color .12s ease-out}.code-block-action:hover,.code-block-action-active{background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text)}.code-block pre{margin:0!important;max-width:100%;overscroll-behavior-x:contain}.code-block-wrapped pre,.code-block-wrapped code{white-space:pre-wrap!important;overflow-wrap:anywhere}@media (max-width: 600px){.code-block{border-radius:8px}.code-block-header{padding-left:.65rem}.code-block-action-label{display:none}}.typing-indicator{display:flex;gap:4px;align-items:center;padding:.85rem .9rem}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:pulse-dot 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.image-generation-progress{display:flex;width:min(100%,520px);align-items:center;gap:.8rem;padding:.85rem 1rem;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px}.image-generation-spinner{width:22px;height:22px;flex:0 0 auto;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:image-generation-spin .9s linear infinite}.image-generation-copy{display:flex;min-width:0;flex-direction:column;gap:.18rem}.image-generation-copy strong{font-size:.88rem;font-weight:620}.image-generation-copy span{color:var(--text-muted);font-size:.76rem;line-height:1.45}@keyframes image-generation-spin{to{transform:rotate(360deg)}}.error-banner{max-width:700px;margin:0 auto .75rem;padding:.6rem .9rem;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:.85rem}.attachment-chip{max-width:700px;margin:0 auto .5rem;padding:0 1rem;display:flex;align-items:center;gap:.5rem}.attachment-name{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.3rem .6rem;font-size:.8rem;color:var(--text-muted);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:.1rem .4rem;border-radius:4px}.attachment-remove:hover{color:var(--danger);background:var(--bg-secondary)}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 85%,transparent);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;animation:fade-slide-in .12s ease-out}.drop-overlay-card{border:2px dashed var(--accent);border-radius:16px;padding:2.5rem 3.5rem;font-size:.95rem;color:var(--text);background:var(--bg-elevated)}.billing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 60%,transparent);display:flex;align-items:center;justify-content:center;z-index:20;animation:fade-slide-in .12s ease-out}.billing-card{width:100%;max-width:360px;border-radius:16px;padding:1.5rem;background:var(--bg-elevated);border:1px solid var(--border)}.billing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.billing-header h2{font-size:1.1rem;margin:0}.billing-close{background:none;border:none;font-size:1.3rem;line-height:1;color:var(--text-muted);padding:0}.billing-plans{display:flex;flex-direction:column;gap:.6rem}.billing-plan{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;font-size:.9rem}.billing-active{display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}.composer{max-width:700px;width:100%;margin:0 auto 1.25rem;padding:0 1rem;display:flex;gap:.5rem;align-items:flex-end}.btn-attach{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background-color .12s ease-out}.btn-attach:hover:not(:disabled){background:var(--bg-elevated)}.btn-attach:disabled{opacity:.4}.composer textarea{flex:1;resize:none;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:.7rem .9rem;font-size:.95rem;max-height:200px;transition:border-color .12s ease-out}.composer textarea:focus{outline:none;border-color:var(--accent)}.btn-send{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:none;background:var(--accent);color:var(--accent-text);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease-out,transform .12s ease-out}.btn-send:disabled{opacity:.4;cursor:default}.btn-send:not(:disabled):active{transform:scale(.94)}.login-page{padding:1.5rem;background:var(--bg)}.login-card{width:min(100%,410px);max-width:none;padding:2.25rem;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--material-thick);border-color:var(--border);box-shadow:0 18px 50px #23201a1a;-webkit-backdrop-filter:none;backdrop-filter:none}.login-card h1{font-size:1.65rem;letter-spacing:-.035em}.login-widget{justify-content:flex-start}.login-email-form input,.login-email-form button{min-height:44px;border-radius:var(--radius-sm)}.chat-shell{gap:10px;padding:10px;background:var(--bg)}.sidebar{width:268px;padding:.8rem;gap:.4rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between}.sidebar-brand-controls{display:flex;align-items:center;gap:.3rem}.sidebar-brand{display:flex;align-items:center;gap:.55rem;padding:.35rem .35rem .75rem;font-size:.95rem;font-weight:650;letter-spacing:-.015em}.sidebar-brand>span{display:grid;width:30px;height:30px;place-items:center;color:var(--bg-elevated);background:var(--text);border-radius:9px;font-size:.82rem;font-weight:750}.theme-switch{display:inline-flex;min-width:42px;min-height:30px;align-items:center;justify-content:center;padding:0;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-pill)}.theme-switch:hover{background:var(--bg-elevated)}.theme-switch-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.theme-switch-track{position:relative;width:34px;height:20px;background:var(--border-strong);border:1px solid color-mix(in srgb,var(--text-muted) 25%,transparent);border-radius:var(--radius-pill);transition:background-color .18s var(--ease-fluid),border-color .18s var(--ease-fluid)}.theme-switch-track>span{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--bg-elevated);border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .18s var(--ease-fluid)}.theme-switch[aria-checked=true] .theme-switch-track{background:var(--accent);border-color:var(--accent)}.theme-switch[aria-checked=true] .theme-switch-track>span{transform:translate(14px)}.sidebar-close,.mobile-menu-button{display:none}.btn-new-chat{display:flex;align-items:center;gap:.6rem;min-height:42px;margin:0 0 .45rem;padding:.6rem .75rem;background:var(--bg-elevated);border-color:var(--border-strong);border-radius:12px;box-shadow:var(--shadow-sm)}.btn-new-chat>span{font-size:1.15rem;line-height:1}.btn-new-chat:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.sidebar-section-label{padding:.25rem .6rem;color:var(--text-muted);font-size:.69rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.conversation-list{gap:3px}.conversation-item{min-height:38px;padding:.55rem .65rem;border-radius:11px}.conversation-item-active{background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.conversation-delete{border-radius:8px}.sidebar-profile{display:flex;align-items:center;gap:.65rem;width:100%;margin-top:.5rem;padding:.7rem;color:var(--text);text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}.sidebar-subscription-cta{display:flex;align-items:center;gap:.65rem;width:100%;min-height:58px;margin-top:.55rem;padding:.65rem;color:var(--accent-text);text-align:left;background:var(--accent);border:1px solid var(--accent);border-radius:14px;box-shadow:var(--shadow-sm)}.sidebar-subscription-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.sidebar-subscription-mark{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;background:color-mix(in srgb,var(--accent-text) 14%,transparent);border-radius:11px;font-size:1rem;font-weight:700}.sidebar-subscription-copy{display:flex;min-width:0;flex:1;flex-direction:column;line-height:1.3}.sidebar-subscription-copy strong{font-size:.8rem;font-weight:680}.sidebar-subscription-copy small{margin-top:.1rem;opacity:.76;font-size:.67rem}.sidebar-subscription-cta>svg{width:15px;margin-left:auto;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.sidebar-admin-cta{display:flex;align-items:center;gap:.65rem;width:100%;min-height:50px;margin-top:.55rem;padding:.6rem .65rem;color:var(--text);text-align:left;background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:14px}.sidebar-admin-cta:hover{background:var(--bg-elevated);border-style:solid}.sidebar-admin-cta>span:first-child{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:9px;font-size:.72rem;font-weight:750}.sidebar-admin-cta>span:last-child{display:flex;min-width:0;flex-direction:column;line-height:1.3}.sidebar-admin-cta strong{font-size:.78rem}.sidebar-admin-cta small{color:var(--text-muted);font-size:.65rem}.sidebar-profile:hover{border-color:var(--border-strong)}.sidebar-profile>svg{width:15px;margin-left:auto;fill:none;stroke:var(--text-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.sidebar-avatar,.profile-avatar{display:grid;flex:0 0 auto;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:11px;font-weight:700}.sidebar-avatar{width:34px;height:34px;font-size:.8rem}.sidebar-profile-copy{display:flex;min-width:0;flex-direction:column}.sidebar-user-name{overflow:hidden;font-size:.84rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-limit{margin:0;font-size:.72rem}.chat-main{overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chat-header{min-height:68px;padding:.65rem 1rem .65rem 1.25rem;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent)}.chat-title{font-size:.82rem}.model-picker{position:relative;z-index:5}.model-picker-trigger{display:flex;align-items:center;gap:.6rem;min-width:210px;min-height:46px;padding:.45rem .55rem;color:var(--text);text-align:left;background:var(--bg-soft);border:1px solid var(--border);border-radius:13px;transition:border-color .12s ease-out,background-color .12s ease-out}.model-picker-trigger:hover,.model-picker-trigger[aria-expanded=true]{background:var(--bg-elevated);border-color:var(--border-strong)}.model-glyph{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:9px}.model-glyph svg{width:17px;height:17px}.model-glyph-openai{color:#171715;background:#e9e9e5}.model-glyph-claude{color:#c96444;background:#f5e5de}.model-glyph-gemini{background:#edf3ff}.model-glyph-generic{color:var(--accent);background:var(--accent-soft)}:root[data-theme=dark] .model-glyph-openai{color:#f2f2ee;background:#343431}:root[data-theme=dark] .model-glyph-claude{color:#e58b6d;background:#402a22}:root[data-theme=dark] .model-glyph-gemini{background:#242d3b}.model-picker-trigger-copy,.model-picker-option-copy{display:flex;min-width:0;flex:1;flex-direction:column}.model-picker-name{overflow:hidden;font-size:.81rem;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.model-picker-kind{overflow:hidden;color:var(--text-muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.model-picker-chevron{width:16px;height:16px;fill:none;stroke:var(--text-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;transition:transform .15s ease-out}.model-picker-trigger[aria-expanded=true] .model-picker-chevron{transform:rotate(180deg)}.model-picker-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 2rem));max-height:min(520px,calc(100vh - 100px));padding:.55rem;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:fade-slide-in .12s ease-out}.model-picker-caption{padding:.4rem .5rem .65rem;font-size:.9rem;font-weight:650}.model-picker-group+.model-picker-group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--border)}.model-picker-group-label{padding:.45rem .5rem .25rem;color:var(--text-muted);font-size:.67rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.model-picker-option{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem;color:var(--text);text-align:left;background:transparent;border:0;border-radius:11px}.model-picker-option:hover,.model-picker-option.is-selected{background:var(--bg-soft)}.model-picker-option-copy>span{font-size:.84rem;font-weight:570}.model-picker-option-copy small{color:var(--text-muted);font-size:.7rem}.model-picker-check{margin-left:auto;color:var(--accent);font-weight:700}.model-picker-empty{padding:1rem;color:var(--text-muted);font-size:.8rem}.message-list{padding:2rem 1.25rem}.message{max-width:780px;margin-bottom:1.4rem}.message-bubble{padding:.75rem 1rem;border-radius:var(--radius-md)}.message-user .message-bubble{max-width:min(82%,640px);color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-bottom-right-radius:5px}.message-assistant .message-bubble{max-width:100%;padding-right:0;padding-left:0;background:transparent;border:0;border-radius:0}.markdown-generated-image,.code-block{border-radius:14px}.error-banner,.attachment-name{border-radius:var(--radius-sm)}.composer{max-width:780px;align-items:center;gap:.35rem;margin-bottom:1rem;padding:.4rem;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 8px 26px #17191f12}.composer textarea{min-height:40px;padding:.55rem .45rem;background:transparent;border:0;border-radius:10px}.composer textarea:focus{border-color:transparent;outline:none}.btn-attach,.btn-voice,.btn-send{width:38px;height:38px;border-radius:12px}.btn-attach,.btn-voice{display:grid;flex:0 0 auto;place-items:center;color:var(--text-muted);background:transparent;border:0}.btn-voice:hover:not(:disabled){color:var(--text);background:var(--bg-soft)}.btn-voice:disabled{cursor:default;opacity:.45}.btn-voice svg{width:18px;height:18px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55}.btn-voice.is-recording{color:#b74736;background:color-mix(in srgb,#b74736 12%,var(--bg-soft))}.voice-stop-icon{width:9px;height:9px;background:currentcolor;border-radius:2px}.voice-processing{margin-top:-.35rem;font-size:1.2rem;line-height:1}.voice-recording-time{flex:0 0 auto;color:#b74736;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:650}.btn-send{background:var(--text)}.btn-send svg{width:15px;height:15px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.btn-send:disabled{color:color-mix(in srgb,var(--text-muted) 72%,transparent);background:color-mix(in srgb,var(--text-muted) 15%,var(--bg-soft));opacity:1}.btn-send:not(:disabled):hover{opacity:.88}.panel-overlay,.billing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f12187f;-webkit-backdrop-filter:none;backdrop-filter:none}.profile-panel,.billing-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.profile-panel{display:flex;width:min(720px,100%);max-height:min(840px,calc(100vh - 2rem));flex-direction:column;overflow:hidden}.panel-header,.billing-header{display:flex;align-items:center;justify-content:space-between}.panel-header{padding:1.25rem 1.4rem;border-bottom:1px solid var(--border)}.panel-header h2,.billing-header h2{margin:0;font-size:1.2rem;letter-spacing:-.025em}.panel-eyebrow{display:block;margin-bottom:.1rem;color:var(--text-muted);font-size:.68rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.icon-button,.billing-close{display:grid;width:36px;height:36px;place-items:center;padding:0;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;font-size:1.15rem}.icon-button svg{width:16px;height:16px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:1.65}.profile-scroll{padding:1.25rem;overflow-y:auto}.profile-identity-card{display:flex;align-items:center;gap:.8rem;padding:1rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-md)}.profile-avatar{width:46px;height:46px}.profile-identity-card h3,.profile-identity-card p{margin:0}.profile-identity-card h3{font-size:.98rem}.profile-identity-card p{color:var(--text-muted);font-size:.78rem}.status-pill,.connection-ok{margin-left:auto;color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:620}.status-pill{padding:.35rem .6rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill)}.status-pill-active,.connection-ok{color:var(--success)}.profile-section{padding:1.25rem 0;border-bottom:1px solid var(--border)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.section-heading h3{margin:0;font-size:.9rem}.section-heading>span{color:var(--text-muted);font-size:.72rem}.profile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.profile-metrics article{display:flex;min-width:0;min-height:92px;flex-direction:column;justify-content:flex-end;padding:.85rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:14px}.profile-metrics strong{font-size:1.45rem;letter-spacing:-.04em}.profile-metrics span{color:var(--text-muted);font-size:.71rem}.model-usage-list{display:flex;flex-direction:column;gap:.75rem}.model-usage-row{display:grid;grid-template-columns:minmax(150px,.8fr) 1.2fr;align-items:center;gap:.9rem}.model-usage-copy{display:flex;min-width:0;flex-direction:column}.model-usage-copy span{overflow:hidden;font-size:.8rem;font-weight:570;text-overflow:ellipsis;white-space:nowrap}.model-usage-copy small,.connection-row small{color:var(--text-muted);font-size:.7rem}.model-usage-track{height:7px;overflow:hidden;background:var(--bg-secondary);border-radius:var(--radius-pill)}.model-usage-track span{display:block;min-width:5px;height:100%;background:var(--accent);border-radius:inherit}.profile-empty,.profile-loading{margin:0;padding:1rem;color:var(--text-muted);background:var(--bg-soft);border-radius:12px;font-size:.8rem}.profile-loading{margin-top:1rem}.connection-list{overflow:hidden;border:1px solid var(--border);border-radius:14px}.connection-row{display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.7rem}.connection-row+.connection-row{border-top:1px solid var(--border)}.connection-row>div{display:flex;min-width:0;flex:1;flex-direction:column}.connection-row strong{font-size:.82rem}.connection-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-mark{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;font-size:.68rem;font-weight:700}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.settings-grid>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;font-size:.77rem}.settings-grid span{color:var(--text-muted)}.settings-grid strong{font-weight:590}.profile-actions{display:flex;flex-wrap:wrap;gap:.55rem;padding-top:1.25rem}.button-primary,.button-secondary,.button-text{min-height:40px;padding:.55rem .85rem;border-radius:11px;font-size:.8rem;font-weight:590}.button-primary{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong)}.button-text{color:var(--text-muted);background:transparent;border:1px solid transparent}.button-small{min-height:34px;margin-left:auto;padding:.35rem .65rem;font-size:.72rem}.button-danger{margin-left:auto;color:var(--danger)}.billing-card{max-width:420px;padding:1.35rem}.billing-plan{border-radius:12px}.drop-overlay-card{border-radius:var(--radius-lg)}@media (max-width: 760px){.chat-shell{padding:0}.chat-main{border:0;border-radius:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(300px,calc(100vw - 42px));border:0;border-radius:0 22px 22px 0;box-shadow:var(--shadow-md);transform:translate(-105%);transition:transform .18s ease-out}.sidebar-open{transform:translate(0)}.sidebar-close{display:grid;width:34px;height:34px;place-items:center;padding:0;color:var(--text-muted);background:transparent;border:0;border-radius:10px;font-size:1.25rem}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;padding:0;background:#0f121873;border:0}.chat-header{min-height:62px;padding:.5rem .65rem}.mobile-menu-button{display:flex;width:38px;height:38px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;background:var(--bg-soft);border:1px solid var(--border);border-radius:11px}.mobile-menu-button span{width:15px;height:1.5px;background:var(--text);border-radius:2px}.chat-title{display:none}.model-picker{flex:1}.model-picker-trigger{width:100%;min-width:0}.model-picker-menu{right:0;width:min(360px,calc(100vw - 1.25rem))}.message-list{padding:1.25rem .75rem}.message-user .message-bubble{max-width:90%}.composer{width:calc(100% - 1rem);margin-bottom:.5rem;padding:.35rem}.profile-panel{max-height:100%;border-radius:20px}.profile-metrics{grid-template-columns:1fr}.profile-metrics article{min-height:76px}.model-usage-row{grid-template-columns:1fr;gap:.35rem}.settings-grid{grid-template-columns:1fr}.profile-identity-card{align-items:flex-start;flex-wrap:wrap}.status-pill{margin-left:0}.profile-actions>button{width:100%}.button-danger{margin-left:0}}.chat-shell{background:var(--bg)}.sidebar{background:var(--material-sidebar);border-color:var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-main{background:var(--bg-elevated);border-color:var(--border);box-shadow:none}.chat-header{position:relative;z-index:8;background:var(--material-toolbar);border-bottom-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}.btn-new-chat,.sidebar-profile,.sidebar-subscription-cta,.model-picker-trigger,.composer,.profile-identity-card,.profile-metrics article,.connection-list,.settings-form label{box-shadow:var(--shadow-sm)}.btn-new-chat,.sidebar-profile,.conversation-item,.model-picker-trigger,.model-picker-option,.icon-button,.button-primary,.button-secondary,.button-text,.generated-image-download{transition:transform .1s ease-out,background-color .18s var(--ease-fluid),border-color .18s var(--ease-fluid),color .18s var(--ease-fluid),box-shadow .18s var(--ease-fluid)}.conversation-item:hover{transform:none}.conversation-item:active{transform:scale(.985)}.model-picker-menu{background:var(--material-thick);border-color:var(--border);box-shadow:var(--shadow-md);transform-origin:top right;visibility:hidden;pointer-events:none;opacity:0;transform:scale(.96) translateY(-4px);-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity .18s var(--ease-fluid),transform .22s var(--ease-fluid),visibility 0s linear .22s}.model-picker-menu.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:scale(1) translateY(0);-webkit-backdrop-filter:none;backdrop-filter:none;transition-delay:0s}.message-assistant .message-bubble{background:transparent;box-shadow:none}.composer{background:var(--material-toolbar);box-shadow:0 8px 22px #23201a14;-webkit-backdrop-filter:none;backdrop-filter:none;transition:border-color .18s var(--ease-fluid),box-shadow .18s var(--ease-fluid),transform .18s var(--ease-fluid)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),0 8px 22px #23201a14;transform:none}.panel-overlay,.billing-overlay{background:var(--scrim);-webkit-backdrop-filter:none;backdrop-filter:none;animation:scrim-enter .18s ease-out}.panel-overlay{justify-content:flex-end}.profile-panel{width:min(660px,100%);height:min(860px,calc(100vh - 2rem));max-height:none;background:var(--material-thick);border-color:var(--border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:none;backdrop-filter:none;animation:sheet-enter .3s var(--ease-fluid)}.panel-overlay.is-closing{animation:scrim-enter .22s ease-in reverse forwards}.profile-panel.is-closing{animation:sheet-exit .22s var(--ease-fluid) forwards}.panel-header{background:var(--material-thick);-webkit-backdrop-filter:none;backdrop-filter:none}.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.settings-form label{display:flex;min-width:0;flex-direction:column;gap:.45rem;padding:.75rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:13px}.settings-form label>span{color:var(--text-muted);font-size:.7rem;font-weight:570;letter-spacing:.01em}.settings-form select{width:100%;min-height:38px;padding:.45rem .6rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.78rem}.settings-form select{cursor:pointer}.settings-save{margin-top:.7rem}.settings-save:disabled{cursor:default;opacity:.48}.save-success{color:var(--success)!important}.save-error{color:var(--danger)!important}.generated-image-card{display:block;width:min(100%,620px);margin:0;overflow:hidden;background:#171815;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:20px;box-shadow:inset 0 1px #ffffff12,0 16px 44px #05080e2e}.generated-image-card img{display:block;width:100%;max-height:720px;object-fit:contain;background:#171815}.generated-image-caption{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .6rem .55rem .85rem;color:#b8b4aa;background:#1d1e1a;border-top:1px solid rgb(255 255 255 / 8%);font-size:.72rem}.message-assistant .message-bubble:has(.generated-image-card){width:min(100%,620px);padding:0;background:transparent;border:0;box-shadow:none}.message-bubble p:has(>.generated-image-card){margin:0}.generated-image-download{display:inline-flex;min-height:36px;align-items:center;gap:.4rem;padding:.4rem .65rem;color:#f4f6f8;background:#ffffff1a;border:1px solid rgb(255 255 255 / 12%);border-radius:10px;font-size:.72rem;font-weight:590;text-decoration:none}.generated-image-download:hover{background:#ffffff29}.generated-image-download svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}@media (max-width: 760px){.profile-panel{height:min(92vh,860px);margin-top:auto;border-radius:24px 24px 0 0;animation-name:fade-slide-in}.profile-panel.is-closing{animation-name:sheet-exit-mobile}.panel-overlay{align-items:flex-end;padding:0}.settings-form{grid-template-columns:1fr}.generated-image-card{border-radius:16px}.generated-image-caption>span{display:none}.generated-image-download{width:100%;justify-content:center}}.billing-overlay{padding:clamp(.5rem,2vw,1.5rem)}.billing-card.billing-funnel{display:flex;width:min(1040px,100%);max-width:1040px;height:min(900px,calc(100vh - 2rem));max-height:900px;padding:0;flex-direction:column;overflow:hidden;background:var(--material-thick);border-color:var(--border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:none;backdrop-filter:none;animation:billing-enter .26s var(--ease-fluid)}.billing-funnel-header{position:relative;z-index:5;flex:0 0 auto;margin:0;padding:1rem 1.2rem .9rem 1.35rem;background:var(--material-thick);border-bottom:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}.billing-funnel-header h2{font-size:1.12rem}.billing-funnel .billing-close{flex:0 0 auto;line-height:1}.billing-close-icon{position:relative;display:block;width:14px;height:14px}.billing-close-icon:before,.billing-close-icon:after{position:absolute;top:50%;left:50%;width:14px;height:1.5px;content:"";background:currentcolor;border-radius:999px;transform-origin:center}.billing-close-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.billing-close-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.billing-scroll{padding:1.15rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.billing-hero{display:grid;min-height:238px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;padding:clamp(1.35rem,3.4vw,2.35rem);overflow:hidden;color:#f3f0e8;background:#1d1e1a;border:1px solid rgb(255 255 255 / 8%);border-radius:22px;box-shadow:0 12px 28px #23201a1f}.billing-hero-copy{max-width:680px}.billing-kicker{display:block;margin-bottom:.35rem;color:var(--accent);font-size:.7rem;font-weight:720;letter-spacing:.075em;text-transform:uppercase}.billing-hero .billing-kicker{color:#df9275}.billing-hero h3{max-width:680px;margin:0;font-size:clamp(1.8rem,4.2vw,3rem);font-weight:690;letter-spacing:-.055em;line-height:1.04}.billing-hero-copy>p{max-width:630px;margin:.85rem 0 0;color:#bbb8af;font-size:clamp(.86rem,1.7vw,1rem);line-height:1.55}.billing-model-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.15rem}.billing-model-list span{padding:.3rem .52rem;color:#dedbd2;background:#ffffff12;border:1px solid rgb(255 255 255 / 9%);border-radius:8px;font-size:.68rem;font-weight:570}.billing-price-anchor{display:grid;min-width:155px;padding:1rem;background:#ffffff12;border:1px solid rgb(255 255 255 / 10%);border-radius:16px;-webkit-backdrop-filter:none;backdrop-filter:none}.billing-price-anchor span,.billing-price-anchor small{color:#aaa79e;font-size:.7rem}.billing-price-anchor strong{margin:.15rem 0;font-size:1.45rem;letter-spacing:-.04em}.billing-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.7rem}.billing-benefit{display:flex;min-width:0;gap:.7rem;padding:.9rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:15px}.billing-benefit-icon{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:10px;font-size:.72rem;font-weight:750}.billing-benefit h4{margin:0;font-size:.79rem;font-weight:670;letter-spacing:-.015em}.billing-benefit p{margin:.22rem 0 0;color:var(--text-muted);font-size:.68rem;line-height:1.45}.billing-offer-section,.billing-comparison,.billing-faq{margin-top:1.65rem}.billing-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.billing-section-heading h3{margin:0;font-size:1.25rem;font-weight:680;letter-spacing:-.035em}.billing-section-heading>p{max-width:300px;margin:0;color:var(--text-muted);font-size:.7rem;text-align:right}.billing-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.billing-plan-option{position:relative;display:flex;min-width:0;min-height:156px;padding:.9rem;color:var(--text);text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;flex-direction:column;transition:border-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.billing-plan-option:hover{border-color:var(--border-strong);transform:translateY(-1px)}.billing-plan-option.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.billing-plan-option.is-recommended{background:var(--bg-soft)}.billing-plan-topline{display:flex;min-height:26px;align-items:flex-start;justify-content:space-between;gap:.35rem;font-size:.77rem}.billing-plan-topline strong{font-weight:680}.billing-plan-topline em{padding:.2rem .38rem;color:var(--accent);background:var(--accent-soft);border-radius:7px;font-size:.57rem;font-style:normal;font-weight:700;letter-spacing:.015em;text-align:center}.billing-plan-price{display:flex;margin-top:.75rem;flex-direction:column}.billing-plan-price strong{font-size:1.2rem;letter-spacing:-.04em}.billing-plan-price small,.billing-plan-saving{color:var(--text-muted);font-size:.65rem}.billing-plan-saving{margin-top:auto;padding-top:.7rem}.billing-plan-check{position:absolute;right:.7rem;bottom:.65rem;display:grid;width:20px;height:20px;place-items:center;color:transparent;border:1px solid var(--border-strong);border-radius:50%;font-size:.62rem}.billing-plan-option.is-selected .billing-plan-check{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.billing-checkout-bar{position:sticky;z-index:4;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.85rem -.25rem 0;padding:.65rem .7rem .65rem .85rem;background:var(--material-thick);border:1px solid var(--border);border-radius:15px;box-shadow:0 10px 26px #23201a1a;-webkit-backdrop-filter:none;backdrop-filter:none}.billing-checkout-bar>div{display:flex;flex-direction:column}.billing-checkout-bar span{color:var(--text-muted);font-size:.62rem}.billing-checkout-bar strong{font-size:.82rem}.billing-pay-button{min-width:210px;min-height:44px;padding:.65rem 1rem;color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);border-radius:11px;font-size:.78rem;font-weight:670}.billing-pay-button:hover{background:var(--accent-hover)}.billing-pay-button:disabled{cursor:wait;opacity:.65}.billing-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-top:.65rem;color:var(--text-muted);font-size:.62rem}.billing-comparison-table{overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px}.billing-comparison-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(110px,.5fr) minmax(130px,.55fr);gap:.6rem;padding:.7rem .9rem;border-top:1px solid var(--border);font-size:.72rem}.billing-comparison-row:first-child{border-top:0}.billing-comparison-row>:nth-child(n+2){text-align:center}.billing-comparison-row>span:first-child{color:var(--text-muted)}.billing-comparison-row strong:last-child{color:var(--accent)}.billing-comparison-head{color:var(--text-muted);background:var(--bg-soft);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.billing-faq{padding-bottom:.5rem}.billing-faq details{border-bottom:1px solid var(--border)}.billing-faq summary{padding:.8rem .1rem;cursor:pointer;font-size:.78rem;font-weight:630}.billing-faq details p{max-width:760px;margin:-.25rem 0 .85rem;color:var(--text-muted);font-size:.72rem}.billing-loading{display:grid;min-height:360px;place-items:center;align-content:center;gap:.75rem;color:var(--text-muted)}.billing-loading span{width:26px;height:26px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:billing-spin .65s linear infinite}.billing-loading p{margin:0;font-size:.75rem}.billing-inline-error{margin:.7rem 0 0;color:var(--danger);font-size:.72rem;text-align:center}.billing-active-view{max-width:940px;margin:0 auto}.billing-active-hero{display:flex;align-items:center;gap:1rem;padding:1.4rem;background:color-mix(in srgb,var(--accent-soft) 54%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:20px}.billing-success-mark{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;color:var(--accent-text);background:var(--success);border-radius:15px;font-size:1.15rem}.billing-active-hero h3{margin:0;font-size:1.35rem;letter-spacing:-.035em}.billing-active-hero p{margin:.25rem 0 0;color:var(--text-muted);font-size:.75rem}.billing-renewal-section{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--border)}.billing-manual-renewal-note{max-width:660px;margin:1rem auto 0;color:var(--text-muted);font-size:.68rem;line-height:1.5;text-align:center}@keyframes billing-enter{0%{opacity:0;transform:scale(.985) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes billing-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.billing-benefit-grid,.billing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.billing-overlay{align-items:flex-end;padding:0}.billing-card.billing-funnel{height:94vh;max-height:94vh;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;animation-name:fade-slide-in}.billing-funnel-header{padding:.85rem .9rem .8rem 1rem}.billing-scroll{padding:.7rem}.billing-hero{min-height:0;grid-template-columns:1fr;align-items:start;padding:1.25rem;border-radius:18px}.billing-hero h3{font-size:1.8rem}.billing-price-anchor{width:fit-content;min-width:140px}.billing-benefit-grid{grid-template-columns:1fr}.billing-benefit{padding:.75rem}.billing-section-heading{align-items:start;flex-direction:column}.billing-section-heading>p{text-align:left}.billing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-plan-option{min-height:148px;padding:.75rem}.billing-plan-topline{flex-direction:column}.billing-checkout-bar{align-items:stretch;padding:.65rem;flex-direction:column}.billing-pay-button{width:100%;min-width:0}.billing-trust-row{align-items:center;flex-direction:column}.billing-comparison-row{grid-template-columns:minmax(88px,1fr) 56px 72px;gap:.3rem;padding:.6rem .5rem;font-size:.62rem}.billing-active-hero{align-items:flex-start;padding:1rem}}@supports (height: 100dvh){.chat-shell{height:100dvh}.model-picker-menu{max-height:min(520px,calc(100dvh - 100px))}.profile-panel{height:min(860px,calc(100dvh - 2rem))}@media (max-width: 760px){.profile-panel{height:min(92dvh,860px)}}@media (max-width: 620px){.billing-card.billing-funnel{height:94dvh;max-height:94dvh}}}@media (max-width: 760px){.login-page{min-height:100%;overflow-y:auto}.login-email-form input,.login-email-form button,.composer textarea,.settings-form select{font-size:16px}.sidebar{padding-top:max(.8rem,env(safe-area-inset-top));padding-bottom:max(.8rem,env(safe-area-inset-bottom))}.chat-header{padding-top:max(.5rem,env(safe-area-inset-top))}.composer{margin-bottom:max(.5rem,env(safe-area-inset-bottom))}.message-list,.conversation-list,.profile-scroll,.billing-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.profile-scroll,.billing-scroll{padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}}@media (max-height: 620px){.login-page{align-items:flex-start}.login-card{margin:auto 0}}.admin-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;grid-template-columns:238px minmax(0,1fr);color:var(--text);background:var(--bg)}.admin-nav{display:flex;min-height:0;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary);border-right:1px solid var(--border)}.admin-nav-heading{display:flex;align-items:center;gap:.65rem;padding:.35rem}.admin-nav-heading>div{display:flex;flex-direction:column;line-height:1.3}.admin-nav-heading small{color:var(--text-muted);font-size:.68rem}.admin-mark{display:grid;width:34px;height:34px;place-items:center;color:var(--accent-text);background:var(--accent);border-radius:10px;font-weight:750}.admin-nav nav{display:flex;flex-direction:column;gap:.25rem}.admin-nav nav button,.admin-back{min-height:40px;padding:.55rem .7rem;color:var(--text-muted);text-align:left;background:transparent;border:0;border-radius:11px;font-size:.78rem}.admin-nav nav button:hover,.admin-nav nav button.is-active{color:var(--text);background:var(--bg-elevated)}.admin-nav nav button.is-active{box-shadow:var(--shadow-sm);font-weight:650}.admin-back{margin-top:auto;border:1px solid var(--border)}.admin-main{min-width:0;overflow:auto}.admin-header{position:sticky;z-index:4;top:0;display:flex;min-height:88px;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg);border-bottom:1px solid var(--border)}.admin-header h1{margin:.15rem 0 0;font-size:1.45rem;letter-spacing:-.035em}.admin-content{width:min(1380px,100%);margin:0 auto;padding:1.25rem}.admin-alert{width:min(1340px,calc(100% - 2.5rem));margin:1rem auto 0;padding:.7rem .85rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:12px;font-size:.78rem}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.admin-metrics article{display:flex;min-height:118px;justify-content:space-between;padding:1rem;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.admin-metrics span{color:var(--text-muted);font-size:.72rem}.admin-metrics strong{font-size:1.65rem;letter-spacing:-.04em}.admin-note{margin-top:.75rem;padding:1.4rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:18px}.admin-note h2,.admin-section-heading h2,.admin-setting-card h2{margin:.2rem 0 .5rem;font-size:1.2rem;letter-spacing:-.025em}.admin-note p,.admin-setting-card p{max-width:720px;color:var(--text-muted);font-size:.8rem}.admin-failure-list{margin-top:.75rem;overflow:hidden;background:var(--bg-elevated);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));border-radius:16px}.admin-failure-list .admin-section-heading{padding:.85rem;margin:0;background:color-mix(in srgb,var(--danger) 5%,var(--bg-soft))}.admin-failure-list article{display:grid;grid-template-columns:135px 160px minmax(150px,1fr) 100px minmax(180px,1fr);gap:.6rem;padding:.65rem .85rem;border-top:1px solid var(--border);font-size:.68rem}.admin-failure-list time,.admin-failure-list span,.admin-failure-list small{color:var(--text-muted)}.admin-failure-list code,.admin-failure-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.admin-toolbar input,.admin-toolbar select,.admin-plan-grid input,.admin-setting-card>input{min-height:40px;padding:.5rem .65rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.76rem}.admin-toolbar input{width:min(420px,100%)}.admin-toolbar>span{margin-left:auto;color:var(--text-muted);font-size:.72rem}.admin-table-wrap{overflow:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px}.admin-table{width:100%;min-width:980px;border-collapse:collapse}.admin-table th,.admin-table td{padding:.75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-muted);background:var(--bg-soft);font-size:.65rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.admin-table td{font-size:.74rem}.admin-table td>strong,.admin-table td>small{display:block}.admin-table td>small{max-width:320px;margin-top:.2rem;overflow:hidden;color:var(--text-muted);font-size:.65rem;text-overflow:ellipsis}.admin-status{display:inline-flex;padding:.2rem .45rem;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;font-size:.62rem;white-space:nowrap}.status-active,.event-processed{color:var(--success);border-color:color-mix(in srgb,var(--success) 32%,var(--border))}.status-pending{color:var(--accent)}.event-failed,.admin-error-text{color:var(--danger)!important}.admin-row-actions{white-space:nowrap}.admin-row-actions button,.admin-card-actions button,.admin-plan-grid button,.admin-model-list button{min-height:30px;margin:0 .2rem .2rem 0;padding:.3rem .5rem;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;font-size:.66rem}.admin-row-actions button:hover,.admin-card-actions button:hover,.admin-plan-grid button:hover,.admin-model-list button:hover{color:var(--text);border-color:var(--border-strong)}.admin-row-actions .danger,.admin-card-actions .danger,.admin-model-list .danger{color:var(--danger)}.admin-events-row td{padding:0!important;background:var(--bg-soft)}.admin-events{display:grid;gap:.4rem;padding:.75rem}.admin-provider-check{max-height:260px;margin:0;overflow:auto;padding:.75rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;font-size:.68rem;white-space:pre-wrap}.admin-events article{display:grid;grid-template-columns:130px 180px 90px minmax(0,1fr);gap:.6rem;align-items:center;padding:.55rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;font-size:.68rem}.admin-events time{color:var(--text-muted)}.admin-events code{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.admin-user-grid,.admin-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.admin-user-card,.admin-plan-grid article,.admin-model-list,.admin-setting-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-sm)}.admin-user-card{padding:.85rem}.admin-user-title{display:flex;align-items:center;gap:.6rem}.admin-user-title>span{display:grid;width:34px;height:34px;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:10px;font-weight:700}.admin-user-title>div,.admin-plan-grid article>div,.admin-model-list article>div{display:flex;min-width:0;flex:1;flex-direction:column}.admin-user-title small,.admin-plan-grid small,.admin-model-list small{color:var(--text-muted);font-size:.65rem}.admin-user-card dl{margin:.75rem 0}.admin-user-card dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.5rem;padding:.25rem 0;font-size:.68rem}.admin-user-card dt{color:var(--text-muted)}.admin-user-card dd{margin:0;overflow:hidden;text-overflow:ellipsis}.admin-model-access{display:grid;gap:.45rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.admin-model-access>div:first-child{display:flex;flex-direction:column;gap:.1rem}.admin-model-access>div:first-child small,.admin-model-access>small{color:var(--text-muted);font-size:.63rem}.admin-model-access label{display:flex;min-width:0;align-items:center;gap:.5rem;padding:.45rem .55rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;cursor:pointer}.admin-model-access label>span{display:flex;min-width:0;flex-direction:column}.admin-model-access label strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.admin-model-access label small{color:var(--text-muted);font-size:.6rem}.admin-catalog{display:grid;gap:1.5rem}.admin-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:.65rem}.admin-plan-grid article{display:grid;grid-template-columns:1fr 110px auto auto;gap:.65rem;align-items:end;padding:.8rem}.admin-plan-grid label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.62rem}.admin-plan-grid button.is-on,.admin-model-list button.is-on{color:var(--success)}.admin-model-list{overflow:hidden}.admin-model-list article{display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem;border-bottom:1px solid var(--border)}.admin-model-list article:last-child{border-bottom:0}.admin-setting-card{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:.75rem;align-items:end;padding:1rem}.admin-setting-card p{margin:0}.admin-trial-setting{grid-template-columns:minmax(0,1fr) auto 90px auto;align-items:center}.admin-trial-days{display:flex;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.62rem}.admin-trial-days input{width:90px;min-height:40px;padding:.5rem .65rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.76rem}.admin-checkbox{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:650}.admin-checkbox input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.admin-health,.admin-image-settings{padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.admin-health-grid,.admin-image-budget-stats,.admin-image-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.admin-health-grid article{display:flex;align-items:center;gap:.55rem;padding:.7rem;background:var(--bg-secondary);border-radius:12px}.admin-health-grid article>div,.admin-image-budget-stats article,.admin-image-fields label{display:flex;flex-direction:column;gap:.2rem}.admin-health-grid small,.admin-image-budget-stats span,.admin-image-fields label{color:var(--text-muted);font-size:.68rem}.health-dot{width:9px;height:9px;flex:0 0 auto;background:var(--danger);border-radius:50%}.health-ok,.health-disabled{background:var(--success)}.health-warning{background:var(--accent)}.admin-image-settings>.admin-section-heading{align-items:center}.admin-image-settings p{max-width:760px;margin:0;color:var(--text-muted);font-size:.75rem}.admin-image-budget-stats{margin:.8rem 0}.admin-image-budget-stats article{padding:.8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.admin-image-budget-stats strong{font-size:1.2rem}.admin-image-fields{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.8rem}.admin-image-fields input,.admin-image-fields select{min-height:40px;padding:.5rem .65rem;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:10px;font:inherit}@media (max-width: 1050px){.admin-user-grid,.admin-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-plan-grid article{grid-template-columns:1fr;align-items:stretch}}@media (max-width: 720px){.admin-shell{display:block}.admin-nav{position:sticky;z-index:6;top:0;min-height:0;padding:.55rem;border-right:0;border-bottom:1px solid var(--border)}.admin-nav-heading,.admin-back{display:none}.admin-nav nav{overflow-x:auto;flex-direction:row;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.admin-nav nav button{flex:0 0 auto}.admin-header{min-height:72px;padding:.75rem 1rem}.admin-header h1{font-size:1.15rem}.admin-content{padding:.75rem}.admin-metrics,.admin-user-grid,.admin-plan-grid{grid-template-columns:1fr}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar>span{margin-left:0}.admin-events article,.admin-failure-list article,.admin-setting-card{grid-template-columns:1fr}.admin-health-grid,.admin-image-budget-stats,.admin-image-fields{grid-template-columns:1fr}.admin-main,.admin-table-wrap{-webkit-overflow-scrolling:touch}.admin-toolbar input,.admin-toolbar select,.admin-plan-grid input,.admin-setting-card>input,.admin-trial-days input{font-size:16px}}
