@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Inter:wght@400;500;600&display=swap");:root{--bg:#faf8f5;--bg-card:#ffffff;--text:#2c2420;--text-muted:#8b7e74;--accent:#c47a5a;--accent-hover:#b06842;--accent-light:#f5ebe4;--border:#e8e0d8;--shadow:0 2px 12px rgba(44,36,32,0.06);--shadow-hover:0 4px 24px rgba(44,36,32,0.1);--radius:16px;--wonderful:#f0c040;--good:#7eb88a;--okay:#a8b4c0;--rough:#8c9aaa}*{margin:0;padding:0;box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{font-family:Merriweather,Georgia,serif;background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}.container{max-width:640px;margin:0 auto;padding:0 24px}.header{text-align:center;padding:48px 0 32px}.header h1{font-size:2.2rem;font-weight:300;letter-spacing:-.02em;color:var(--text);margin-bottom:4px}.header .subtitle{font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-muted);font-weight:400;letter-spacing:.04em;text-transform:uppercase}.today-card{background:var(--bg-card);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);margin-bottom:40px;border:1px solid var(--border)}.today-card .date{font-family:Inter,sans-serif;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.today-card .prompt{font-style:italic;color:var(--accent);font-size:1.05rem;margin-bottom:20px;line-height:1.6}.today-card textarea{width:100%;min-height:140px;border:1px solid var(--border);border-radius:12px;padding:16px;font-family:Merriweather,Georgia,serif;font-size:1rem;line-height:1.7;color:var(--text);background:var(--bg);resize:vertical;transition:border-color .2s}.today-card textarea:focus{outline:none;border-color:var(--accent)}.today-card textarea::placeholder{color:var(--text-muted);font-style:italic}.mood-selector{display:flex;gap:12px;margin:20px 0;justify-content:center}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:2px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;font-size:.72rem;color:var(--text-muted);letter-spacing:.03em}.mood-btn .emoji{font-size:1.6rem}.mood-btn.active,.mood-btn:hover{border-color:var(--accent);background:var(--accent-light)}.mood-btn.active{color:var(--accent);font-weight:600}.save-btn{display:block;width:100%;padding:16px;background:var(--accent);color:white;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.02em}.save-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.save-btn.saved{background:var(--good)}.timeline{padding-bottom:60px}.timeline h2{font-family:Inter,sans-serif;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px}.timeline-entry{background:var(--bg-card);border-radius:var(--radius);padding:24px 28px;margin-bottom:16px;box-shadow:var(--shadow);border:1px solid var(--border);transition:box-shadow .2s;position:relative}.timeline-entry:hover{box-shadow:var(--shadow-hover)}.timeline-entry .entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.timeline-entry .entry-date{font-family:Inter,sans-serif;font-size:.78rem;color:var(--text-muted);font-weight:500}.timeline-entry .entry-mood{font-size:1.3rem}.timeline-entry .entry-content{font-size:.95rem;line-height:1.75;color:var(--text)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted);font-style:italic}.status{text-align:center;font-family:Inter,sans-serif;font-size:.82rem;padding:8px;margin-top:12px;border-radius:8px}.status.success{background:#e8f5e9;color:#2e7d32}.status.error{background:#fce4ec;color:#c62828}.streak{text-align:center;margin-bottom:32px;font-family:Inter,sans-serif}.streak .number{font-size:2.5rem;font-weight:700;color:var(--accent);line-height:1}.streak .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.footer,.streak .label{color:var(--text-muted)}.footer{text-align:center;padding:32px 0;font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.04em}@media (max-width:480px){html{font-size:16px}.header{padding:32px 0 24px}.header h1{font-size:1.8rem}.today-card{padding:24px}.mood-btn{padding:10px 12px}.mood-btn .emoji{font-size:1.3rem}}