:root{--ink: #1a1714;--ink-2: #221d19;--surface: #262019;--surface-2: #2e271f;--line: #3a3128;--parchment: #ece3d4;--parchment-dim: #c9bda8;--muted: #968a78;--amber: #d39256;--amber-soft: #e0a86f;--sage: #9aa873;--danger: #cf7a5e;--display: "Fraunces", Georgia, serif;--body: "Newsreader", Georgia, serif;--radius: 14px;--maxw: 640px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background-color:var(--ink)}body{font-family:var(--body);color:var(--parchment);background-image:radial-gradient(1200px 600px at 80% -10%,rgba(211,146,86,.07),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(154,168,115,.05),transparent 55%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:var(--body);cursor:pointer}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:360px;text-align:center}.brand{font-family:var(--display);font-weight:500;font-size:2.8rem;letter-spacing:-.02em;margin:0;color:var(--parchment)}.login-sub{color:var(--muted);font-style:italic;margin:6px 0 32px}.login input{width:100%;padding:14px 16px;font-size:1.05rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--parchment);font-family:var(--body);margin-bottom:12px}.login input:focus{outline:none;border-color:var(--amber)}.login button{width:100%;padding:13px;font-size:1rem;letter-spacing:.04em;background:var(--amber);color:#1c1610;border:none;border-radius:var(--radius);font-weight:500;transition:opacity .15s ease}.login button:disabled{opacity:.5}.login-error{color:var(--danger);font-style:italic;margin-top:14px}.app{max-width:var(--maxw);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 14px) 20px 12px}.brand-small{font-family:var(--display);font-size:1.15rem;letter-spacing:.01em;color:var(--parchment-dim)}.signout{background:none;border:none;color:var(--muted);font-size:.85rem;font-style:italic}.content{flex:1;padding:4px 20px 120px}.entry-head{margin:10px 0 26px;position:relative}.entry-head h2{font-family:var(--display);font-weight:500;font-size:2.2rem;letter-spacing:-.02em;margin:0;line-height:1.05}.entry-sub{color:var(--muted);margin:4px 0 0;font-style:italic}.save-pill{position:absolute;top:4px;right:0;font-size:.72rem;letter-spacing:.06em;text-transform:lowercase;color:var(--muted);padding:3px 9px;border:1px solid var(--line);border-radius:999px;transition:color .2s ease,border-color .2s ease}.save-saved{color:var(--sage);border-color:#9aa87366}.save-saving,.save-dirty{color:var(--amber-soft)}.save-error{color:var(--danger);border-color:#cf7a5e80}.section{margin-bottom:30px;opacity:0;transform:translateY(8px);animation:rise .5s ease forwards}@keyframes rise{to{opacity:1;transform:none}}.section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.section-head h3{font-family:var(--display);font-weight:500;font-size:1.15rem;margin:0;color:var(--amber-soft)}.section-hint{margin:0;font-size:.8rem;font-style:italic;color:var(--muted)}.field{margin-bottom:16px}.field label{display:block;font-size:.92rem;color:var(--parchment-dim);margin-bottom:7px;line-height:1.3}.field input,.field textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--parchment);font-family:var(--body);font-size:1.05rem;line-height:1.5;padding:11px 13px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--amber);background:var(--surface-2)}.field-accent label{color:var(--sage)}.field-accent textarea{border-color:#9aa87359}.field-accent textarea:focus{border-color:var(--sage)}.list-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.list-num{font-family:var(--display);color:var(--muted);width:16px;text-align:center;flex-shrink:0}.history{display:flex;flex-direction:column;gap:10px;padding-top:8px}.history-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--parchment);transition:border-color .15s ease,transform .1s ease}.history-row:active{transform:scale(.99);border-color:var(--amber)}.history-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}.tag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:5px}.tag-daily{background:#d3925629;color:var(--amber-soft)}.tag-weekly{background:#9aa87329;color:var(--sage)}.history-date{font-family:var(--display);font-size:.95rem;color:var(--parchment-dim)}.history-preview{margin:0;color:var(--muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:6px;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(to top,var(--ink) 70%,transparent);max-width:var(--maxw);margin:0 auto}.tabbar button{flex:1;max-width:140px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:.95rem;padding:11px 0;transition:color .15s ease,border-color .15s ease,background .15s ease}.tabbar button.on{color:#1c1610;background:var(--amber);border-color:var(--amber);font-weight:500}.muted{color:var(--muted);font-style:italic}.pad{padding:40px 4px;text-align:center}
