*{box-sizing:border-box}body{margin:0;background:#fbfaf7;color:#292b29;font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}#login{display:grid;place-items:center;min-height:100dvh;background:#f1eee6}.login-card{width:min(420px,90vw);padding:42px;background:#fbfaf7;border:1px solid #e2ded4;border-radius:24px}.mark{font-size:54px;color:#b76747}.login-card h1{font:42px Georgia,serif;margin:8px 0}.login-card p{color:#797970}.login-card label{display:block;font-size:13px;margin:30px 0 8px}.login-card input{width:100%;padding:12px;border:1px solid #d9d5cb;border-radius:9px;background:white}.login-card button{margin-top:12px;background:#303c34;color:white;width:100%;padding:12px;border-radius:9px}#app{display:flex;height:100dvh}aside{width:270px;flex-shrink:0;background:#f0eee7;border-right:1px solid #e3e0d7;padding:27px 18px;display:flex;flex-direction:column}.brand{font:27px Georgia,serif;display:flex;align-items:center;gap:8px}.brand span{color:#b76747;font-size:34px}.brand small{font:10px system-ui;color:#888;margin-left:auto}.new{background:#fffdfa;border:1px solid #d9d5ca;padding:11px;text-align:left;border-radius:10px;margin:28px 0}.caption{font-size:10px;letter-spacing:1.5px;color:#95958c;margin:0 10px 12px}nav{overflow:auto;flex:1}.chat-item{display:flex;align-items:center;border-radius:8px;margin:3px 0}.chat-item.active{background:#e3e1d8}.chat-item button{background:transparent;color:#555;text-align:left;padding:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px}.chat-item .delete{flex:0 0 30px;padding:5px;color:#999}.aside-bottom{font-size:11px;color:#898a80;border-top:1px solid #dedbd2;padding-top:14px}.aside-bottom button{display:block;padding:5px 0;color:#666;background:transparent}main{flex:1;display:flex;flex-direction:column;min-width:0}header{display:flex;align-items:center;gap:15px;padding:18px 30px;border-bottom:1px solid #edeae2}header strong{display:block;font-size:14px;font-weight:550}header small{display:block;color:#94958b;font-size:11px}select{margin-left:auto;border:1px solid #dedbd2;padding:8px 12px;border-radius:9px;background:#fffdfa;color:#555;font-size:12px;max-width:210px}#menu{display:none;background:transparent}#messages{flex:1;overflow:auto;padding:35px max(24px,calc((100% - 790px)/2));scroll-behavior:smooth}.welcome{margin:12vh auto 0;max-width:560px}.welcome .mark{font-size:45px}.welcome h1{font:40px/1.2 Georgia,serif;font-weight:400}.welcome p{color:#87877d;font-size:14px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.suggestions button{border:1px solid #dedbd3;border-radius:20px;background:transparent;padding:7px 14px;font-size:12px;color:#6c7167}.message{margin-bottom:30px}.message.user{background:#eeece5;border-radius:16px;padding:15px 20px;margin-left:7%}.message .who{font-size:11px;letter-spacing:1px;color:#909287;margin-bottom:10px}.message.assistant .who{color:#a65f43}.body{overflow-wrap:anywhere}.body p{margin:0 0 12px;white-space:pre-wrap}.body h2,.body h3{line-height:1.35}.body pre{background:#252b27;color:#eef1e9;padding:17px;border-radius:10px;overflow:auto;font:12px/1.6 monospace;white-space:pre}.body code{font-family:monospace;background:#ecebe5;padding:2px 4px;border-radius:3px}.body pre code{background:transparent;padding:0}.body ul{padding-left:23px}.body table{border-collapse:collapse;font-size:13px}.body th,.body td{padding:8px;border:1px solid #ddd;text-align:left}.message a{color:#856047}.exports{display:flex;gap:12px;margin-top:12px;font-size:11px}.exports a{text-decoration:none;color:#898b80}.file-link{display:inline-block;background:#e5e3da;border-radius:6px;padding:4px 9px;margin:4px;font-size:12px;text-decoration:none}#composer-wrap{padding:10px 25px 18px;max-width:840px;width:100%;margin:auto}#composer{background:#fff;border:1px solid #dcdacf;border-radius:18px;box-shadow:0 5px 25px #24282008;padding:15px 16px 9px}textarea{width:100%;resize:none;border:0;outline:0;max-height:180px;background:transparent;line-height:1.6;color:#333}.compose-bottom{display:flex;align-items:center;justify-content:space-between}.compose-bottom>div{display:flex;align-items:center;gap:8px}.compose-bottom button{background:transparent;color:#6f756a;font-size:25px;width:36px;height:36px;border-radius:9px}.compose-bottom #send{background:#354a3c;color:white;font-size:25px}#mic.recording{background:#fde9e3;color:#c44}#record-state{font-size:11px;color:#a55}.footnote{text-align:center;font-size:10px;color:#96988d;margin:8px 0 0}#error,#login-error{font-size:12px;color:#a54436;margin:8px 0}.chip{display:inline-flex;gap:9px;align-items:center;border:1px solid #dcdacf;padding:4px 9px;border-radius:8px;font-size:12px;margin:5px}.chip button{background:transparent;color:#999}.typing{color:#989b90;font-size:14px;animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.35}}@media(max-width:760px){aside{position:fixed;inset:0 auto 0 0;z-index:5;transform:translateX(-100%);transition:.2s;width:280px}aside.open{transform:translateX(0)}#shade{position:fixed;inset:0;background:#0005;z-index:4}#menu{display:block}header{padding:12px;gap:9px}header small{display:none}header strong{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}select{max-width:170px;padding:7px;font-size:11px}#messages{padding:24px 16px}.welcome h1{font-size:33px}.welcome{margin-top:8vh}#composer-wrap{padding:8px 10px max(12px,env(safe-area-inset-bottom))}.footnote{font-size:9px}.message.user{margin-left:5%}}
 .sources{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 8px}.sources-title{flex-basis:100%;font-size:9px;letter-spacing:1.3px;color:#8a9387}.sources a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;border:1px solid #d9dfd4;background:#f1f5ee;border-radius:8px;padding:5px 9px;text-decoration:none;color:#50654c}.body a{color:#667d57;text-decoration:underline;text-underline-offset:3px}
