:root{--bg: #0b0f19;--bg-elevated: #111827;--surface: #1a2233;--surface-hover: #222c42;--border: rgba(148, 163, 184, .14);--text: #f7f9fc;--text-dim: #c3cddd;--text-faint: #8b99b0;--primary: #1565f5;--accent: #22d3ee;--gradient: linear-gradient(96deg, #4c8dff 0%, #22d3ee 55%, #7dd3fc 100%);--bubble-grad: linear-gradient(115deg, #1d5fe0 0%, #4f9cf9 100%);--error: #f87171;--radius-lg: 24px;--radius-md: 16px;--shadow: 0 8px 30px rgba(2, 6, 23, .45);--bubble-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 16px rgba(0, 0, 0, .28), 0 18px 44px rgba(0, 0, 0, .2);--bubble-shadow-accent: 0 1px 3px rgba(2, 6, 23, .4), 0 6px 18px rgba(29, 95, 224, .32), 0 20px 48px rgba(34, 211, 238, .14);--sidebar-w: 272px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f7f9fd;--bg-elevated: #ffffff;--surface: #eef2f9;--surface-hover: #e3eaf5;--border: rgba(15, 23, 42, .09);--text: #101828;--text-dim: #475569;--text-faint: #94a3b8;--gradient: linear-gradient(96deg, #1565f5 0%, #0ea5e9 55%, #22d3ee 100%);--bubble-grad: linear-gradient(115deg, #2563eb 0%, #58a5fa 100%);--shadow: 0 8px 30px rgba(15, 23, 42, .08);--bubble-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 6px 16px rgba(15, 23, 42, .08), 0 18px 44px rgba(15, 23, 42, .06);--bubble-shadow-accent: 0 1px 3px rgba(15, 23, 42, .1), 0 6px 18px rgba(37, 99, 235, .24), 0 20px 48px rgba(14, 165, 233, .14);color-scheme:light}}:root[data-theme=dark]{--bg: #0b0f19;--bg-elevated: #111827;--surface: #1a2233;--surface-hover: #222c42;--border: rgba(148, 163, 184, .14);--text: #f7f9fc;--text-dim: #c3cddd;--text-faint: #8b99b0;--gradient: linear-gradient(96deg, #4c8dff 0%, #22d3ee 55%, #7dd3fc 100%);--bubble-grad: linear-gradient(115deg, #1d5fe0 0%, #4f9cf9 100%);--shadow: 0 8px 30px rgba(2, 6, 23, .45);--bubble-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 16px rgba(0, 0, 0, .28), 0 18px 44px rgba(0, 0, 0, .2);--bubble-shadow-accent: 0 1px 3px rgba(2, 6, 23, .4), 0 6px 18px rgba(29, 95, 224, .32), 0 20px 48px rgba(34, 211, 238, .14);color-scheme:dark}:root[data-theme=light]{--bg: #f7f9fd;--bg-elevated: #ffffff;--surface: #eef2f9;--surface-hover: #e3eaf5;--border: rgba(15, 23, 42, .09);--text: #101828;--text-dim: #475569;--text-faint: #94a3b8;--gradient: linear-gradient(96deg, #1565f5 0%, #0ea5e9 55%, #22d3ee 100%);--bubble-grad: linear-gradient(115deg, #2563eb 0%, #58a5fa 100%);--shadow: 0 8px 30px rgba(15, 23, 42, .08);--bubble-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 6px 16px rgba(15, 23, 42, .08), 0 18px 44px rgba(15, 23, 42, .06);--bubble-shadow-accent: 0 1px 3px rgba(15, 23, 42, .1), 0 6px 18px rgba(37, 99, 235, .24), 0 20px 48px rgba(14, 165, 233, .14);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbanner{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 16px;padding-top:max(7px,env(safe-area-inset-top));font-size:12.5px;font-weight:500;letter-spacing:.01em;color:var(--text-faint);background:var(--bg-elevated);border-bottom:1px solid var(--border);text-decoration:none;transition:color .15s ease}.topbanner .gradient-text{font-weight:700;letter-spacing:-.01em}.topbanner:hover{color:var(--text-dim)}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.topbar{display:flex;align-items:center;gap:12px;padding:14px 20px}.topbar-spacer{flex:1}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16.5px;letter-spacing:-.01em}.brand-mark{width:26px;height:26px;object-fit:contain}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:var(--text-dim);transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--surface);color:var(--text)}.menu-btn{display:none}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:16px 12px;background:var(--bg-elevated);border-inline-end:1px solid var(--border)}.new-chat-btn{display:flex;align-items:center;gap:10px;padding:11px 16px;margin-block-end:14px;border-radius:999px;background:var(--surface);color:var(--text);font-weight:600;font-size:14px;width:fit-content;transition:background .15s ease,transform .1s ease}.new-chat-btn:hover{background:var(--surface-hover)}.new-chat-btn:active{transform:scale(.98)}.sidebar-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:8px 12px 4px}.thread-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.thread-item{display:flex;align-items:center;border-radius:12px;transition:background .15s ease}.thread-item:hover,.thread-active{background:var(--surface)}.thread-title{flex:1;min-width:0;text-align:start;padding:9px 12px;font-size:13.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-active .thread-title,.thread-item:hover .thread-title{color:var(--text)}.thread-delete{width:28px;height:28px;margin-inline-end:6px;opacity:0}.thread-item:hover .thread-delete{opacity:1}.sidebar-footer{font-size:11.5px;color:var(--text-faint);padding:10px 12px 2px}.sidebar-backdrop{display:none}.greeting{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;overflow-y:auto}.greeting-title{margin:0;font-size:clamp(44px,7vw,68px);font-weight:700;letter-spacing:-.02em;animation:rise .5s ease both}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.greeting-tagline{margin:8px 0 0;font-size:clamp(20px,3vw,28px);font-weight:500;color:var(--text-faint);animation:rise .5s .08s ease both}.greeting .composer-wrap{width:100%;max-width:800px;margin-block-start:30px;padding-block-end:0;animation:rise .5s .12s ease both}.suggestion-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-block-start:28px;min-height:38px;animation:rise .5s .18s ease both;transition:opacity .25s ease,transform .25s ease}.suggestion-row.is-leaving{opacity:0;transform:translateY(-10px)}.suggestion-pill{padding:9px 18px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);font-size:13.5px;white-space:nowrap;animation:pill-in .35s ease backwards;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease}@keyframes pill-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.suggestion-pill{animation:none}.suggestion-row{transition:none}}.suggestion-pill:hover{background:var(--surface);color:var(--text);border-color:#22d3ee59;transform:translateY(-1px)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.messages{flex:1;overflow-y:auto;padding:12px 20px 24px}.messages-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:26px}.message{display:flex;gap:14px;animation:rise .25s ease both}.message-user{justify-content:flex-end}.message-body{min-width:0;max-width:100%}.bubble-user{background:var(--surface);color:var(--text);border-radius:var(--radius-lg);border-start-end-radius:6px;padding:12px 18px;white-space:pre-wrap;overflow-wrap:break-word;box-shadow:var(--bubble-shadow)}.bubble-assistant{font-size:15.5px;overflow-wrap:break-word;background:var(--bubble-grad);color:#fff;border-radius:var(--radius-lg);border-start-start-radius:6px;padding:14px 20px;width:fit-content;max-width:100%;box-shadow:var(--bubble-shadow-accent)}.bubble-assistant>:first-child{margin-block-start:0}.bubble-assistant>:last-child{margin-block-end:0}.bubble-assistant p{margin:.5em 0}.bubble-assistant ul,.bubble-assistant ol{margin:.5em 0;padding-inline-start:1.4em}.bubble-assistant code{background:#ffffff2e;border-radius:6px;padding:1px 6px;font-size:.9em}.bubble-assistant pre{background:#00000040;border-radius:12px;padding:14px;overflow-x:auto}.bubble-assistant pre code{background:none;padding:0}.bubble-error{background:var(--surface);color:var(--error);box-shadow:var(--bubble-shadow)}.message-actions{display:flex;gap:2px;margin-block-start:6px;margin-inline-start:6px}.action-btn{width:28px;height:28px;border-radius:8px;color:var(--text-faint)}.action-btn:hover{color:var(--text)}.action-btn.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.avatar{flex-shrink:0;width:28px;height:28px;margin-block-start:2px;object-fit:contain}.avatar-active{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.thinking{display:inline-flex;gap:6px;padding:10px 2px}.thinking span{width:8px;height:8px;border-radius:50%;background:var(--gradient);animation:bounce 1.2s infinite ease-in-out}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.ad-card{margin-block-start:16px;max-width:560px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden;animation:rise .3s ease both}.ad-topline{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 0}.ad-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);background:var(--surface);border-radius:999px;padding:3px 10px}.ad-dismiss{width:26px;height:26px}.velocity-ad{position:relative}.velocity-ad.is-filled{margin-block-start:16px;max-width:560px;animation:rise .3s ease both}.velocity-ad-slot{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow)}.velocity-ad.is-filled .velocity-ad-slot,.velocity-ad-mock{animation:velocity-nudge .9s cubic-bezier(.36,.07,.19,.97) .5s 1 both}.velocity-ad-mock{box-shadow:var(--shadow)}@keyframes velocity-nudge{0%,to{transform:rotate(0)}14%{transform:rotate(-1.4deg)}30%{transform:rotate(1.1deg)}46%{transform:rotate(-.7deg)}62%{transform:rotate(.4deg)}78%{transform:rotate(-.2deg)}}@media(prefers-reduced-motion:reduce){.velocity-ad.is-filled,.velocity-ad.is-filled .velocity-ad-slot,.velocity-ad-mock{animation:none}}.velocity-ad-dismiss{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:2;width:26px;height:26px;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ad-content{display:flex;gap:14px;padding:12px;text-decoration:none;color:inherit}.ad-content:hover .ad-headline{text-decoration:underline}.ad-thumb{width:88px;height:88px;flex-shrink:0;border-radius:12px;object-fit:cover;background:var(--surface)}.ad-text{min-width:0}.ad-headline{font-weight:700;font-size:15px}.ad-source{font-size:12.5px;color:var(--text-faint);margin-block-start:1px}.ad-description{font-size:13.5px;color:var(--text-dim);margin-block-start:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ad-cta{display:inline-block;margin-block-start:10px;font-size:13px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px;padding:6px 14px}.composer-wrap{padding:8px 20px calc(14px + env(safe-area-inset-bottom))}.composer{display:flex;align-items:flex-end;gap:8px;max-width:760px;margin:0 auto;padding:10px 10px 10px 22px;border-radius:28px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);transition:border-color .15s ease}[dir=rtl] .composer{padding:10px 22px 10px 10px}.composer:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.composer-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:15.5px;max-height:160px;padding:6px 0}.composer-input::placeholder{color:var(--text-faint)}.send-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gradient);color:#fff;transition:opacity .15s ease,transform .1s ease}.send-btn:disabled{opacity:.35;cursor:default}.send-btn:not(:disabled):active{transform:scale(.94)}[dir=rtl] .send-icon{transform:scaleX(-1)}.composer-locked{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;max-width:760px;margin:0 auto;padding:14px 20px;border-radius:28px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.composer-locked p{font-size:14.5px;color:var(--text-dim)}.composer-locked-btn{flex-shrink:0;padding:8px 18px;border-radius:20px;background:var(--gradient);color:#fff;font-size:14px;font-weight:600;transition:opacity .15s ease,transform .1s ease}.composer-locked-btn:active{transform:scale(.96)}.disclaimer{max-width:760px;margin:10px auto 0;text-align:center;font-size:11.5px;color:var(--text-faint)}.consent-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--bg) 35%,transparent)}.consent-card{max-width:440px;width:100%;padding:30px 28px 26px;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;animation:rise .35s ease both}.consent-logo{width:52px;height:52px;object-fit:contain}.consent-title{margin:14px 0 0;font-size:21px;font-weight:700;letter-spacing:-.01em}.consent-body{margin:12px 0 0;font-size:13.5px;line-height:1.65;color:var(--text-dim);text-align:start}.consent-links{display:flex;justify-content:center;gap:22px;margin-block-start:16px;font-size:13.5px}.consent-links a{color:var(--accent);text-decoration:none;font-weight:600}.consent-links a:hover{text-decoration:underline}.consent-accept{margin-block-start:20px;width:100%;padding:13px 20px;border-radius:999px;background:var(--bubble-grad);color:#fff;font-weight:700;font-size:15px;transition:filter .15s ease,transform .1s ease}.consent-accept:hover{filter:brightness(1.08)}.consent-accept:active{transform:scale(.98)}@media(max-width:840px){.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:30;transform:translate(calc(var(--flip, 1) * -100%));transition:transform .22s ease;box-shadow:none}[dir=rtl] .sidebar{--flip: -1}.sidebar-open{transform:none;box-shadow:var(--shadow)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:20;background:#0206178c}.menu-btn{display:inline-flex}.suggestion-row{max-width:420px}.thread-delete{opacity:1}}.gpt-slot{display:flex;align-items:center;justify-content:center;margin-inline:auto;overflow:hidden}.gpt-rail{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:20px 16px;overflow:hidden}@media(min-width:1280px)and (min-height:720px){.app{--sidebar-w: 324px}}.gpt-corner{flex-shrink:0;margin-block-start:10px;border-radius:10px}.gpt-btf{flex-shrink:0;margin-block-end:calc(10px + env(safe-area-inset-bottom))}.gpt-sticky-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:#02061799}.gpt-sticky{border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.gpt-sticky-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px}.gpt-sticky-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.gpt-sticky-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:var(--text-dim);background:none;border:none;cursor:pointer}.gpt-sticky-close:hover{color:var(--text);background:var(--bg-hover, rgba(127, 127, 127, .12))}
