:root{--bg:#fff;--bg-side:#f6f6f6;--bg-hover:#ebebeb;--bg-active:#e3e3e3;--bg-bubble:#ededed;--border:#e1e1e1;--ink:#171717;--ink-2:#555;--ink-3:#717171;--accent:#171717;--accent-hover:#333;--on-accent:#fff;--error-bg:#ffe9e6;--error-ink:#9b1014;--focus:#1570d1;--radius-s:8px;--radius-m:14px;--radius-pill:999px;--z-backdrop:40;--z-sidebar:50;--shadow-composer:0 2px 16px #0000000f}@supports (color:lab(0% 0 0)){:root{--bg:lab(100% 0 0);--bg-side:lab(96.868% -.0000298023 0);--bg-hover:lab(93.04% .0000298023 -.0000119209);--bg-active:lab(90.14% .0000298023 -.0000119209);--bg-bubble:lab(93.62% -.0000298023 0);--border:lab(89.56% -.0000298023 0);--ink:lab(7.78201% -.0000149012 0);--ink-2:lab(36.2% 0 .00000596046);--ink-3:lab(47.8% 0 .0000119209);--accent:lab(7.78201% -.0000149012 0);--accent-hover:lab(21.12% 0 0);--on-accent:lab(100% 0 0);--error-bg:lab(93.9694% 7.65815 4.12705);--error-ink:lab(33.3322% 53.6157 38.7792);--focus:lab(46.5096% 3.719 -58.3523);--shadow-composer:0 2px 16px lab(0% 0 0/.06)}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s ease-out,border-color .15s ease-out;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--border);background:var(--bg)}.btn-ghost:hover{background:var(--bg-hover)}.icon-btn{border-radius:var(--radius-s);width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s ease-out,color .15s ease-out;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--ink)}.app{height:100dvh;display:flex}.sidebar{background:var(--bg-side);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;width:264px;padding:12px;display:flex}.sidebar-top{justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.brand{letter-spacing:-.01em;font-size:16px;font-weight:700;text-decoration:none}.new-chat{border-radius:var(--radius-s);align-items:center;gap:8px;padding:9px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s ease-out;display:flex}.new-chat:hover{background:var(--bg-hover)}.history{flex:1;min-height:0;overflow-y:auto}.history ul{flex-direction:column;gap:2px;list-style:none;display:flex}.history li{border-radius:var(--radius-s);align-items:center;transition:background-color .15s ease-out;display:flex}.history li:hover,.history li:focus-within{background:var(--bg-hover)}.history li.active{background:var(--bg-active)}.history li a{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:8px 10px;font-size:14px;text-decoration:none;overflow:hidden}.del-btn{opacity:0;width:28px;height:28px;margin-right:4px}.history li:hover .del-btn,.history li:focus-within .del-btn{opacity:1}.history-note{color:var(--ink-3);padding:8px 10px;font-size:13px}.sidebar-foot{border-top:1px solid var(--border);padding-top:12px}.account{align-items:center;gap:10px;padding:0 4px;display:flex}.avatar-chip{background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.account-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.guest-note{flex-direction:column;gap:8px;padding:4px;display:flex}.guest-note p{color:var(--ink-2);font-size:13px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{align-items:center;gap:8px;min-height:56px;padding:10px 16px;display:flex}.topbar-spacer{flex:1}.topbar-auth{gap:8px;display:flex}.menu-btn,.sidebar-close{display:none}.model-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:6px 10px;font-size:14px;font-weight:600;overflow:hidden}.model-select{color:var(--ink-2);align-items:center;display:inline-flex;position:relative}.model-select select{appearance:none;border-radius:var(--radius-s);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:6px 30px 6px 10px;font-size:14px;font-weight:600;transition:background-color .15s ease-out}.model-select select:hover{background:var(--bg-hover)}.model-select svg{pointer-events:none;position:absolute;right:8px}.messages{flex:1;min-height:0;overflow-y:auto}.thread{flex-direction:column;gap:22px;max-width:46rem;margin:0 auto;padding:24px 16px 8px;list-style:none;display:flex}.msg{font-size:16px}.msg-user{align-self:flex-end;max-width:75%}.msg-user .bubble{background:var(--bg-bubble);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;padding:10px 16px}.msg-ai{align-self:stretch;gap:12px;display:flex}.msg-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px;margin-top:3px}.msg-avatar-fallback{background:var(--bg-bubble);color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.msg-body{min-width:0}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.msg-error .msg-text{background:var(--error-bg);color:var(--error-ink);border-radius:var(--radius-m);padding:10px 14px}.msg-error .msg-avatar-fallback{background:var(--error-bg);color:var(--error-ink)}.typing{align-items:center;gap:5px;padding:10px 0;display:inline-flex}.typing>span{background:var(--ink-3);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite typing-bounce}.typing>span:nth-child(2){animation-delay:.15s}.typing>span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.composer-row{padding:0 16px}.composer{border:1px solid var(--border);background:var(--bg);width:100%;max-width:46rem;box-shadow:var(--shadow-composer);border-radius:28px;align-items:flex-end;gap:8px;margin:0 auto;padding:10px 10px 10px 20px;transition:border-color .15s ease-out;display:flex}.composer:focus-within{border-color:var(--ink-3)}.composer textarea{resize:none;background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:6px 0;font-size:16px;line-height:1.5}.composer textarea::placeholder{color:var(--ink-3)}.send-btn{background:var(--accent);width:36px;height:36px;color:var(--on-accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s ease-out;display:inline-flex}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{background:var(--bg-active);cursor:default}.hint{text-align:center;max-width:46rem;color:var(--ink-3);margin:0 auto;padding:8px 4px 10px;font-size:12px}.hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;width:100%;padding:16px 16px 12vh;display:flex}.hero h1{letter-spacing:-.01em;text-wrap:balance;font-size:28px;font-weight:600}.hero .composer{width:100%}.hero .hint{padding-top:0}.backdrop{z-index:var(--z-backdrop);opacity:0;background:#0006;background:lab(0% 0 0/.4);transition:opacity .2s ease-out;display:none;position:fixed;inset:0}@media (max-width:768px){.sidebar{z-index:var(--z-sidebar);transition:transform .2s ease-out;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.backdrop{pointer-events:none;display:block}.backdrop.show{opacity:1;pointer-events:auto}.menu-btn,.sidebar-close{display:inline-flex}.msg-user{max-width:88%}}.auth-page{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:20px;width:min(100%,22.5rem);display:flex}.auth-card>h1{text-align:center;letter-spacing:-.01em;font-size:24px;font-weight:700}.auth-brand{text-align:center;color:var(--ink-2);font-size:14px;font-weight:600}.auth-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field span{font-size:13.5px;font-weight:500}.field input{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);padding:10px 14px;font-size:15px;transition:border-color .15s ease-out}.field input:hover{border-color:var(--ink-3)}.field input:focus{border-color:var(--ink-2);outline:none}.auth-form .btn{margin-top:4px;padding:10px 16px;font-size:15px}.auth-alert{background:var(--error-bg);color:var(--error-ink);border-radius:var(--radius-s);padding:10px 14px;font-size:14px}.auth-links{text-align:center;flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-links a{color:var(--ink-2)}.auth-links a:hover{color:var(--ink)}.notice-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:24px 16px;display:flex}.notice-page h1{font-size:22px;font-weight:700}.notice-page p{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){.sidebar,.backdrop,.btn,.icon-btn,.send-btn,.composer,.field input,.new-chat,.history li,.model-select select{transition:none}.typing>span{opacity:.6;animation:none}}
