:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f5;--surface:#fff;--surface-soft:#f8fafb;--text:#17202a;--muted:#637083;--line:#d7e0e5;--accent:#176f64;--accent-strong:#0f5149;--danger:#b42318;--message:#edf7f5;--composer-line:#d9d9e3;--composer-hover:#f4f4f5;--focus:#9fcfca}*{box-sizing:border-box}body{height:100vh;min-height:100vh;color:var(--text);background:var(--bg);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.primary{border-color:var(--accent);background:var(--accent);color:#fff}.primary:hover{background:var(--accent-strong)}.login-workspace{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 18px 48px #17202a14}.login-panel h1,.login-panel p{margin:0}.login-panel h1{letter-spacing:0;font-size:28px}.login-panel p{color:var(--muted);margin-top:8px;font-size:14px}.login-panel.compact-panel{gap:8px;display:grid}.language-switch{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;justify-content:flex-end;gap:3px;padding:3px;display:inline-flex}.login-panel .language-switch{width:max-content;margin:0 0 16px auto}.language-switch button{min-height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.language-switch button.active{border-color:var(--line);background:var(--surface);color:var(--text);box-shadow:0 1px 2px #17202a14}.login-error{min-height:22px;color:var(--danger)!important}.login-hint{margin-top:0!important;font-size:13px!important}.login-form{gap:14px;margin-top:8px;display:grid}.login-form label{color:var(--muted);gap:8px;font-size:14px;font-weight:700;display:grid}.login-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:6px;padding:10px 12px}.login-form button{border:1px solid var(--accent);border-radius:6px;min-height:44px;font-weight:700}.login-form .link-button{min-height:32px;color:var(--accent);background:0 0;border:0}.app{grid-template-columns:300px minmax(0,1fr);height:100vh;min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.brand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:12px 14px;display:flex}.brand strong{font-size:18px;display:block}.brand span{max-width:170px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.new-chat{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;min-height:40px;margin:12px;font-weight:700}.new-chat:hover{background:var(--accent-strong)}.chats{flex:1;min-height:0;padding:0 8px 12px;overflow:auto}.chat-row{border-radius:6px;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:4px;display:grid}.chat-row.active,.chat-row:hover{background:var(--surface-soft)}.chat{width:100%;min-height:48px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;gap:2px;padding:8px 10px;display:grid;overflow:hidden}.chat span,.chat time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat time{color:var(--muted);font-size:11px}.delete-chat,.icon-button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.delete-chat{border-radius:6px;width:30px;height:30px}.delete-chat:hover{color:var(--danger);background:#fff4f2}.delete-chat svg,.icon-button svg,.attach-menu svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:20px;height:20px}.empty-list{color:var(--muted);margin:18px 8px;font-size:14px}.chat-shell{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.chat-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:0 18px;display:flex}.chat-header h1,.chat-header p{letter-spacing:0;margin:0}.chat-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:min(720px,60vw);font-size:18px;overflow:hidden}.chat-header p{color:var(--muted);margin-top:3px;font-size:12px}.ghost{border:1px solid var(--line);min-height:34px;color:var(--text);background:0 0;border-radius:6px;padding:6px 10px}.conversation{min-height:0;color:var(--muted);flex-direction:column;gap:12px;padding:24px;display:flex;overflow:auto}.empty-chat{text-align:center;margin:auto}.load-error{color:var(--danger);align-self:center;align-items:center;gap:10px;margin:auto;display:flex}.load-error button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text);border-radius:6px}.message{border:1px solid var(--line);background:var(--surface);max-width:min(760px,86%);color:var(--text);border-radius:8px;padding:12px 14px;line-height:1.45}.message.user{background:var(--message);border-color:#c8e3dd;align-self:flex-end}.message div{white-space:pre-wrap;overflow-wrap:anywhere}.message time{color:var(--muted);margin-top:8px;font-size:11px;display:block}.composer-wrap{background:var(--surface);padding:16px 18px 22px}.composer{border:1px solid var(--composer-line);background:var(--surface);border-radius:28px;gap:8px;width:min(780px,100%);margin:0 auto;padding:10px 12px;display:grid;position:relative;box-shadow:0 1px 2px #0000000d}.composer:focus-within{border-color:#c6c6d0;box-shadow:0 2px 8px #00000014}.composer textarea{resize:none;width:100%;min-height:32px;max-height:180px;color:var(--text);background:0 0;border:0;outline:0;padding:6px 4px 0;line-height:1.45;overflow-y:auto}.composer textarea::placeholder{color:#8a8a94}.composer-actions{justify-content:space-between;align-items:center;gap:8px;min-height:36px;display:flex}.composer-left,.composer-right{align-items:center;gap:6px;display:flex}.icon-button{color:#2f2f2f;border-radius:999px;width:36px;height:36px}.icon-button:hover{background:var(--composer-hover)}.send-button{color:#fff;background:#0d0d0d}.send-button:hover{background:#000}.send-button:disabled,.send-button:disabled:hover{color:#9b9ba4;background:#e3e3e8}.voice-button.listening{color:#c01f1f;background:#ffe8e8}.attach-menu{z-index:10;border:1px solid var(--composer-line);background:var(--surface);border-radius:18px;width:min(286px,100vw - 40px);padding:8px;display:none;position:absolute;bottom:54px;left:8px;box-shadow:0 18px 48px #00000029}.attach-menu.open{gap:2px;display:grid}.attach-menu button{color:#2f2f2f;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;display:grid}.attach-menu button:hover{background:var(--composer-hover)}.attach-menu svg{justify-self:center}.modal-overlay{z-index:20;background:#17202a6b;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(420px,100%);box-shadow:0 24px 70px #17202a38}.modal header{padding:18px 20px 0}.modal h2{letter-spacing:0;margin:0;font-size:18px}.modal p{color:var(--muted);margin:12px 20px 0;line-height:1.45}.modal strong{color:var(--text);overflow-wrap:anywhere}.modal-actions{justify-content:flex-end;gap:10px;padding:20px;display:flex}.modal-actions button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text);border-radius:6px;padding:7px 12px}.modal-actions .danger{border-color:var(--danger);background:var(--danger);color:#fff}@media (width<=760px){body{overflow:auto}.app{grid-template-columns:1fr;height:100dvh}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:38dvh}.chat-header{min-height:58px;padding:0 14px}.chat-header h1{max-width:62vw}.conversation{padding:16px}.message{max-width:96%}.composer-wrap{padding:12px}}
