:root{--bg:#f6f2ec;--panel:#fffdf9;--ink:#2a2622;--muted:#7a7168;--line:#e6ded3;--accent:#8a5a3b;--accent-ink:#fff;--user:#efe6da;--ok:#3f7d4e;--bad:#b04a3a;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.brand{font-family:var(--serif);letter-spacing:.02em}.brand b{font-weight:600}.brand span{color:var(--accent)}.login{place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:36px 28px}.login-card h1{margin:0 0 6px;font-size:30px;font-weight:400}.login-card p{color:var(--muted);margin:0 0 26px}.google-btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:11px 18px;font-weight:500;display:inline-flex}.google-btn:hover{border-color:var(--accent)}.login-error{color:var(--bad);margin-top:18px;font-size:14px}.shell{flex-direction:column;max-width:860px;height:100dvh;margin:0 auto;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.topbar .brand{font-size:20px}.topbar .who{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.link-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:4px 0;text-decoration:underline}.link-btn:hover{color:var(--ink)}.thread{flex:1;padding:20px 16px 8px;overflow-y:auto}.empty{text-align:center;padding:8vh 4px 0}.empty h2{font-family:var(--serif);margin:0 0 6px;font-size:26px;font-weight:400}.empty p{color:var(--muted);margin:0 0 22px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left;border-radius:999px;padding:8px 14px;font-size:14px}.chip:hover{border-color:var(--accent)}.msg{margin:0 0 18px;display:flex}.msg.user{justify-content:flex-end}.bubble{border-radius:var(--radius);overflow-wrap:anywhere;max-width:100%;padding:12px 15px}.msg.user .bubble{background:var(--user);white-space:pre-wrap;max-width:85%}.msg.assistant .bubble{background:var(--panel);border:1px solid var(--line);width:100%}.answer>:first-child{margin-top:0}.answer>:last-child{margin-bottom:0}.answer table{border-collapse:collapse;margin:8px 0;font-size:14px;display:block;overflow-x:auto}.answer th,.answer td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 9px}.answer th{background:var(--bg);font-weight:600}.answer code{background:var(--bg);border-radius:5px;padding:1px 5px;font-size:13px}.answer ul,.answer ol{padding-left:22px}.steps{color:var(--muted);margin:0 0 10px;padding:0;font-size:13px;list-style:none}.steps li{align-items:baseline;gap:8px;padding:2px 0;display:flex}.steps .dot{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.steps .dot.run{background:var(--accent);animation:1s ease-in-out infinite pulse}.steps .dot.ok{background:var(--ok)}.steps .dot.bad{background:var(--bad)}@keyframes pulse{50%{opacity:.3}}details.working{color:var(--muted);margin-top:10px;font-size:13px}details.working summary{cursor:pointer}details.working .steps{margin:6px 0 0}.thinking{color:var(--muted);font-size:14px}.err{color:var(--bad)}.composer{border-top:1px solid var(--line);background:var(--bg);padding:10px 16px 16px}.composer form{background:var(--panel);border:1px solid var(--line);border-radius:18px;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;display:flex}.composer form:focus-within{border-color:var(--accent)}.composer textarea{resize:none;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;max-height:160px;padding:6px 0}.send{background:var(--accent);color:var(--accent-ink);border:none;border-radius:12px;padding:8px 16px;font-weight:600}.send:disabled{opacity:.45;cursor:default}.hint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}@media (max-width:520px){.topbar .who .email{display:none}.empty{padding-top:4vh}}
