@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600&family=Inter:wght@400;500;600&display=swap");:root{--bg:#f6f3ee;--surface:#fffdf9;--ink:#2b2722;--ink-2:#6f675c;--accent:#c96f4a;--accent-soft:#f3e0d5;--line:#e7e0d6;--radius:14px;--shadow:0 1px 2px rgba(43,39,34,0.05),0 8px 24px rgba(43,39,34,0.06)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter,"Noto Serif SC",system-ui,sans-serif;font-size:15px;line-height:1.7}.shell{max-width:720px;margin:0 auto;padding:24px 20px 96px}.topbar{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0 28px}.brand{font-family:"Noto Serif SC",serif;font-weight:600;font-size:20px;letter-spacing:.5px}.brand em{color:var(--accent);font-style:normal}.nav{display:flex;gap:18px}.nav a{color:var(--ink-2);text-decoration:none;font-size:14px}.nav a.active,.nav a:hover{color:var(--ink);font-weight:600}.greeting{font-family:"Noto Serif SC",serif;font-size:26px;margin:8px 0 24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}.card h3{margin:0 0 8px;font-size:15px;color:var(--ink-2);font-weight:600}.card .kicker{display:inline-block;font-size:12px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 10px;margin-bottom:10px}button{font:inherit;cursor:pointer;background:var(--ink);color:#fff;border:none;border-radius:10px;padding:8px 16px}button.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line)}button.small{padding:4px 12px;font-size:13px}button:disabled{opacity:.5;cursor:default}input[type=text]{font:inherit;width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--surface);color:var(--ink)}input[type=text]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.task{display:flex;align-items:center;gap:10px;padding:6px 0}.task input{accent-color:var(--accent);width:16px;height:16px}.task.done span{text-decoration:line-through;color:var(--ink-2)}.chat-log{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.msg{max-width:82%;padding:10px 14px;border-radius:14px;white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.msg.pending{opacity:.6}.composer{display:flex;gap:10px;position:-webkit-sticky;position:sticky;bottom:16px}.composer input{flex:1 1}.empty{color:var(--ink-2);text-align:center;padding:40px 0;font-family:"Noto Serif SC",serif}.toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.muted{color:var(--ink-2);font-size:13px}