:root{--accent:#4f46e5;--accent-2:#38bdf8;--on-accent:#fff;--blur:16px;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:16px;--col:760px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fb;--text:#0f172a;--text-muted:#64748b;--glass:#ffffff9e;--glass-strong:#ffffffe6;--glass-fallback:#fffffff5;--border:#0f172a17;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--tint:14%}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e14;--text:#e8eaf2;--text-muted:#9aa1b5;--glass:#ffffff0d;--glass-strong:#181b26e0;--glass-fallback:#161924f5;--border:#ffffff1a;--shadow:0 8px 24px #00000059;--tint:18%}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.backdrop{z-index:-1;pointer-events:none;background:radial-gradient(60rem 38rem at 8% -12%, color-mix(in srgb, var(--accent) var(--tint), transparent), transparent 62%), radial-gradient(50rem 34rem at 100% 112%, color-mix(in srgb, var(--accent-2) var(--tint), transparent), transparent 62%), var(--bg);position:fixed;inset:0}.glass{background:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.header{background:var(--glass-fallback)}}.shell{flex-direction:column;height:100dvh;display:flex}.container{width:100%;max-width:var(--col);margin-inline:auto;padding-inline:16px}.scroller{scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.topbar{z-index:10;flex:none;position:relative}.header{padding-top:env(safe-area-inset-top);background:var(--glass);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%)}.header-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{align-items:center;gap:10px;display:flex}.logo{background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:9px;place-items:center;font-size:.9rem;font-weight:700;display:grid}.brand-name{letter-spacing:-.01em;font-weight:600}.header-actions{gap:4px;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}.panel-anchor{height:0;margin-inline:auto;position:absolute;top:100%;left:0;right:0}.panel{border-radius:var(--radius);background:var(--glass-strong);gap:14px;width:min(320px,100vw - 32px);padding:16px;display:grid;position:absolute;top:8px;right:16px}.panel-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-col{gap:8px;display:grid}.panel-label{color:var(--text-muted);font-size:.82rem}.panel input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:28px;padding:0}.panel input[type=range]{width:100%;accent-color:var(--accent)}.swatches{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.swatch{outline:1px solid var(--border);outline-offset:1px;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.swatch[aria-pressed=true]{border-color:var(--bg);outline:2px solid var(--text)}.btn-ghost{border:1px solid var(--border);background:0 0;border-radius:10px;padding:8px 12px}.btn-ghost:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.notice-wrap{flex:none;padding-top:12px}.notice{color:var(--text-muted);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;display:flex}.notice.bad{color:#dc2626;border-color:#dc262659}:root[data-theme=dark] .notice.bad{color:#f87171}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding-block:32px;display:flex}.empty h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:650}.empty p{color:var(--text-muted);margin:8px 0 28px}.suggestions{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;width:100%;display:grid}.suggestion{text-align:left;border-radius:14px;padding:14px 16px;font-size:.94rem;transition:transform .15s,border-color .15s}.suggestion:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-1px)}.thread{flex-direction:column;gap:28px;padding-block:24px;display:flex}.msg{display:flex}.msg.user{justify-content:flex-end}.user-bubble{background:var(--accent);max-width:85%;color:var(--on-accent);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px 20px 6px;padding:10px 16px}.answer{overflow-wrap:anywhere;width:100%;min-width:0;line-height:1.7}.error{color:#dc2626;margin:8px 0 0}:root[data-theme=dark] .error{color:#f87171}.muted{color:var(--text-muted);margin:0}.status{align-items:center;gap:10px;margin-top:10px;font-size:.94rem;display:flex}.spinner{border:2px solid color-mix(in srgb, var(--text) 16%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.spinner.small{width:14px;height:14px}.status-text{background:linear-gradient(90deg, var(--text-muted) 40%, var(--text) 50%, var(--text-muted) 60%) 100% 0 / 250% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite shimmer}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}.status-text{color:var(--text-muted);background:0 0;animation:none}}.sources{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.sources-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:.78rem;font-weight:600;display:block}.sources ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.source{max-width:100%;color:var(--text);box-shadow:none;border-radius:12px;align-items:center;gap:8px;padding:7px 12px;font-size:.85rem;line-height:1.2;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.source:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--glass-strong)}.favicon{width:16px;height:16px;color:var(--text-muted);border-radius:4px;flex:none}.source-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.source-host{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:.7em 0}.markdown ul,.markdown ol{padding-left:1.4em}.markdown li+li{margin-top:.25em}.markdown a{color:color-mix(in srgb, var(--accent) 75%, var(--text));text-underline-offset:2px}.markdown code{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:6px;padding:1px 6px;font-size:.9em}.markdown pre{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:12px;padding:12px;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.table-scroll{border:1px solid var(--border);border-radius:12px;margin:.8em 0;overflow-x:auto}.markdown table{border-collapse:collapse;min-width:100%;font-size:.9rem}.markdown th,.markdown td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.markdown tr:last-child td{border-bottom:0}.markdown th{color:var(--text-muted);background:color-mix(in srgb, var(--text) 4%, transparent);font-weight:600}.dock{padding-bottom:max(10px, env(safe-area-inset-bottom));flex:none}.composer{background:var(--glass-strong);border-radius:24px;align-items:flex-end;gap:6px;padding:8px;display:flex}.composer:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-width:0;max-height:160px;padding:9px 8px;line-height:1.5}.composer textarea::placeholder{color:var(--text-muted)}.send{background:var(--accent);width:38px;height:38px;color:var(--on-accent);border:0;border-radius:50%;flex:none;place-items:center;transition:transform .15s,opacity .15s;display:grid}.send:hover:not(:disabled){transform:scale(1.06)}.fineprint{text-align:center;color:var(--text-muted);margin:8px 0 0;font-size:.75rem}.segmented-control{background:var(--glass-strong);width:fit-content;box-shadow:var(--shadow);border-radius:20px;gap:4px;margin:16px auto;padding:4px;display:flex;position:relative}.segment{color:var(--text-muted);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:16px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.segment:hover{color:var(--text)}.segment.active{color:var(--on-accent);background:var(--accent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 40%, transparent)}.sidebar{background:var(--glass-strong);width:280px;-webkit-backdrop-filter:blur(var(--blur));border-right:1px solid var(--border);z-index:100;flex-direction:column;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000000d}.sidebar.open{transform:translate(0)}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);z-index:99;opacity:0;visibility:hidden;background-color:#0000004d;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;inset:0}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.sidebar-header h2{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.sidebar-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:4px;font-size:24px;line-height:1;transition:color .2s}.sidebar-close:hover{color:var(--text);background:var(--glass)}.sidebar-new-btn{background:var(--accent);width:calc(100% - 32px);color:var(--on-accent);cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent);border:none;border-radius:12px;margin:16px;padding:12px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .15s}.sidebar-new-btn:hover{box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-1px)}.chat-list{flex-direction:column;flex:1;gap:4px;padding:8px 16px;display:flex;overflow-y:auto}.chat-item{cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.chat-item:hover{background:var(--glass);color:var(--text)}.chat-item.active{background:var(--glass-strong);color:var(--text);border-color:var(--border);box-shadow:0 2px 8px #0000000a}.chat-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.chat-item-delete{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;padding:4px 8px;transition:all .2s}.chat-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:#dc2626;background:#dc262626}.msg{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.user-bubble{box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 25%, transparent)}
