:root{--bg:#fbf8f2;--ink:#232020;--muted:#8c847a;--line:#e7e1d6;--field:#fff;--action:#2a2624;--action-ink:#fbf8f2;--earned:#3f5a4e;--font-serif:"Fraunces",Georgia,"Times New Roman",serif;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,sans-serif;--measure:600px;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--measure);margin:0 auto;height:100dvh;flex-direction:column;padding:0 28px}.top,.wrap{display:flex}.top{align-items:baseline;justify-content:space-between;padding:34px 2px 22px}.top h1{margin:0;font-family:var(--font-serif);font-optical-sizing:auto;font-weight:500;font-size:21px;letter-spacing:-.015em;color:var(--ink)}.streak{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.streak .count{color:var(--earned)}.chat{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:26px;padding:14px 0 28px}.bubble.assistant{align-self:stretch;max-width:100%;font-family:var(--font-serif);font-optical-sizing:auto;font-weight:400;font-size:19px;line-height:1.62;color:var(--ink)}.bubble.assistant,.bubble.user{white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;max-width:82%;font-family:var(--font-sans);font-size:14.5px;font-weight:450;line-height:1.5;color:var(--muted);text-align:right}.bubble.assistant.earned{color:var(--earned)}.bubble{animation:rise .34s ease both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bubble.loading{display:flex;gap:6px;align-items:center;padding:4px 0}.bubble.loading span{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4;animation:pulse 1.4s infinite both}.bubble.loading span:nth-child(2){animation-delay:.25s}.bubble.loading span:nth-child(3){animation-delay:.5s}@keyframes pulse{0%,75%,to{opacity:.2}38%{opacity:.7}}.composer{display:flex;align-items:flex-end;gap:10px;padding:8px 8px 8px 16px;background:var(--field);border:1px solid var(--line);border-radius:var(--radius)}.composer textarea{flex:1 1;resize:none;border:none;outline:none;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.45;max-height:168px;padding:9px 0}.composer textarea::placeholder{color:var(--muted);opacity:.7}button{cursor:pointer;border:none;font-family:var(--font-sans);border-radius:10px;transition:opacity .25s ease,background .25s ease,transform .12s ease}button:active{transform:scale(.98)}button:disabled{opacity:.35;cursor:default}.go{height:40px;padding:0 18px;background:var(--action);color:var(--action-ink);font-size:14.5px;font-weight:500;letter-spacing:.01em}.go:hover:not(:disabled){opacity:.88}.done{align-self:center;margin:14px 0 22px;padding:9px 4px;background:transparent;color:var(--muted);font-size:13.5px;font-weight:500;letter-spacing:.02em;transition:color .25s ease}.done:hover{color:var(--earned)}@media (prefers-color-scheme:dark){:root{--bg:#16140f;--ink:#e9e3d7;--muted:#8f867a;--line:#2c2820;--field:#1e1b15;--action:#e9e3d7;--action-ink:#16140f;--earned:#84ad95}}.top h1 .tld{color:var(--muted);font-weight:400}.disclaimer{text-align:center;margin:0 0 20px;font-size:12px;line-height:1.5;color:var(--muted);font-family:var(--font-sans)}