:root{font-family:Arial,Helvetica,sans-serif;color:#343d35;background:#f8f7f2;font-synthesis:none;--green:#526b55;--muted:#7b8076;--line:#e4e5dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #be925f;outline-offset:4px}[hidden]{display:none!important}.site-header{max-width:1140px;margin:auto;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;color:#3e5041;font-family:Georgia,serif;font-size:25px;letter-spacing:-.8px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e8ede2;font-family:Arial;font-size:32px;font-weight:400}.brand-sub{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:6px}.text-button{border:0;background:none;color:#747b70;font-size:12px;padding:12px}.text-button span{margin-left:10px}main{max-width:1056px;margin:0 auto;padding:0 32px}.welcome{display:flex;justify-content:space-between;align-items:center;padding:56px 0 34px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:#7d8577}h1,h2,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:53px;line-height:1.12;letter-spacing:-1.8px;margin-top:17px}h2{font-size:29px;letter-spacing:-.8px}.intro{color:var(--muted);font-size:14px;line-height:1.7;margin-top:18px}.bloom{width:175px;height:175px;margin-right:36px;transform:rotate(-8deg);border-radius:50%;background:#efeee4}.bloom svg{width:100%;height:100%;stroke:#93a087;stroke-width:1.8;fill:none}.bloom .bloom-heart{fill:#e8c5b2;stroke:none}.tracker-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.track-card{padding:32px 36px 22px;background:#fffefa;border:1px solid #e6e6dc;border-radius:18px;box-shadow:0 4px 18px #323e2c03}.track-card h2{margin-top:10px}.track-card>p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:10px}.movement-button{width:100%;border:0;border-radius:13px;background:var(--green);color:#fffdf6;margin-top:25px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;transition:background .15s,transform .15s}.movement-button:hover{background:#435c46}.movement-button:active{transform:scale(.99)}.movement-icon{font-family:Arial,sans-serif;font-size:37px;line-height:1;margin-bottom:12px;color:#e6ebdc}.movement-button>span:nth-child(2){font-family:Georgia,serif;font-size:26px;letter-spacing:-.4px}.movement-button small{font-size:10px;color:#d6dfcf;margin-top:10px;letter-spacing:.3px}.custom-button{display:flex;align-items:center;justify-content:center;gap:10px;background:none;border:0;width:100%;padding:22px 0 3px;color:#6f7968;font-size:12px}.custom-button span:first-child{font-size:20px}.custom-button span:last-child{margin-left:6px}.today-card{border-radius:18px;background:#eaf0e4;padding:32px;display:flex;flex-direction:column}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-heading .eyebrow{font-size:9px;letter-spacing:1.5px;color:#68775f}.sun{color:#8f9c7d;font-size:25px}.today-count{display:flex;flex-direction:column;margin-top:20px}.today-count>span:first-child{font-family:Georgia,serif;font-size:80px;line-height:1.05;color:#4c644d;letter-spacing:-4px}.today-count>span:last-child{font-size:12px;color:#78836f;margin-top:8px}.last-movement{margin-top:28px;border-top:1px solid #d5decd;padding-top:22px;display:flex;gap:10px;align-items:flex-start}.status-dot{height:6px;width:6px;border-radius:100%;background:#8b9c7f;margin-top:5px}.last-movement div{display:flex;flex-direction:column;gap:7px}.last-movement span{font-size:10px;color:#7a8772}.last-movement strong{font-size:13px;font-weight:400;color:#4d624d}.gentle-note{font-family:Georgia,serif;font-style:italic;font-size:15px;line-height:1.5;color:#88917e;margin-top:auto;padding-top:23px}.history-section{margin-top:48px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.history-heading h2{margin-top:9px;font-size:27px}select{background:#fdfcf7;border:1px solid #dcdfd3;border-radius:8px;padding:10px 32px 10px 12px;color:#69735e;font-size:11px}.day-group{margin-bottom:24px}.day-heading{display:flex;justify-content:space-between;align-items:center;padding:0 3px 12px}.day-heading h3{font-size:12px;font-weight:500;margin:0;color:#6a7364}.day-heading span{font-size:10px;color:#89907f}.entries{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffefa}.entry{display:flex;align-items:center;padding:15px 20px;gap:14px}.entry+.entry{border-top:1px solid #eeeee5}.entry-icon{background:#f1f1e8;width:32px;height:32px;border-radius:50%;color:#9a9e84;display:grid;place-items:center;font-size:23px}.entry-description{flex:1;display:flex;flex-direction:column;gap:4px}.entry-description strong{font-size:12px;font-weight:400}.entry-description span{font-size:10px;color:#999c90}.entry-time{font-size:12px;color:#68745e;white-space:nowrap}.entry-actions{display:flex;gap:3px;margin-left:12px}.icon-button{border:0;background:transparent;width:32px;height:32px;border-radius:6px;color:#8c9381;display:grid;place-items:center}.icon-button:hover{background:#f0f1e8;color:#4c6249}.icon-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}.empty-state{text-align:center;padding:38px 20px;border:1px dashed #d8ddcf;border-radius:12px;color:#8b9380}.empty-state span{font-size:30px;color:#9ea98c}.empty-state h3{font-family:Georgia,serif;font-weight:400;font-size:20px;margin:12px 0 8px;color:#66725c}.empty-state p{font-size:12px;line-height:1.7}footer{max-width:992px;border-top:1px solid var(--line);padding:25px 0 30px;margin:42px auto 0;text-align:center;font-family:Georgia,serif;font-size:13px;color:#8e9585}.footer-heart{color:#a6ac95;font-size:19px;vertical-align:-2px;margin-right:5px}.footer-note{display:block;font-family:Arial,sans-serif;font-size:10px;line-height:1.6;margin:13px 20px 0;color:#999d92}.login-view{max-width:580px;margin:60px auto 70px;text-align:center}.login-card{max-width:350px;margin:32px auto;text-align:left;background:#fffefa;padding:28px;border:1px solid var(--line);border-radius:16px}label{display:block;font-size:12px;color:#68735f;margin-bottom:9px}input{width:100%;border:1px solid #d9dfd0;background:#fffefa;border-radius:8px;padding:13px;color:#364333;min-height:46px}.primary,.secondary,.danger{padding:14px 20px;border-radius:9px;border:0;font-size:13px}.primary{background:var(--green);color:#fff;width:100%}.primary:hover{background:#435c46}.primary span{margin-left:10px}.secondary{background:#edf0e6;color:#54694e}.danger{background:#995c50;color:white}.error{font-size:12px;color:#a04437;line-height:1.6;margin:12px 0}.error:empty{display:none}.login-card .primary{margin-top:20px}dialog{border:1px solid var(--line);border-radius:18px;background:#fcfbf6;color:#343d35;width:min(420px,calc(100% - 32px));padding:32px;box-shadow:0 20px 90px #28302224}dialog::backdrop{background:#303c3366;backdrop-filter:blur(3px)}dialog h2{margin:12px 0;font-size:28px}dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:20px}dialog input{margin-bottom:18px}dialog .primary{margin-top:7px}.dialog-close[aria-label]{position:absolute;top:12px;right:13px;background:transparent;border:0;color:#7b8473;font-size:25px;padding:3px 8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:15px 24px;background:#3c543f;color:#fff;border-radius:12px;box-shadow:0 5px 25px #30403422;font-size:13px;max-width:calc(100% - 32px);width:max-content;z-index:5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:1200px){.site-header{padding-left:74px;padding-right:74px}}@media(max-width:650px){.site-header{padding:22px 22px}.brand{font-size:22px}.brand-sub{font-size:7px}main{padding:0 22px}.welcome{padding:35px 0 27px}h1{font-size:41px}.intro{font-size:12px;max-width:250px}.bloom{width:95px;height:95px;margin:0 0 0 10px;flex-shrink:0}.tracker-layout{grid-template-columns:1fr;gap:16px}.track-card{padding:26px 25px 22px}.today-card{padding:24px 25px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.card-heading{grid-column:1/-1}.today-count{margin-top:8px}.today-count>span:first-child{font-size:64px}.today-count>span:last-child{font-size:10px}.last-movement{margin:18px 0 0;border:0;padding:0;align-self:center}.gentle-note{display:none}.history-section{margin-top:35px}.history-heading{align-items:flex-end}.history-heading h2{font-size:23px;max-width:220px}.eyebrow{font-size:9px}.entry{padding:13px 12px;gap:10px}.entry-actions{margin-left:0}.entry-time{font-size:11px}.entry-icon{width:28px;height:28px}.icon-button{width:28px}.footer-note{max-width:330px;margin:12px auto 0}footer{margin:32px 22px 0;padding-bottom:26px}.login-view{margin:45px auto}.login-view h1{font-size:40px}.login-view .intro{max-width:none}.login-card{padding:24px}.filter-label{margin-bottom:0}select{padding-right:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

:root{--accent:#526b55;--accent-hover:#435c46;--tint:#eaf0e4;--tint-line:#d5decd;--accent-soft:#f0f3e9}
:root[data-theme="rose"]{--green:#875865;--accent:#875865;--accent-hover:#714651;--tint:#f4e6e7;--tint-line:#e8ced4;--accent-soft:#faf0f1}
:root[data-theme="lavender"]{--green:#6b6087;--accent:#6b6087;--accent-hover:#574d70;--tint:#ece8f3;--tint-line:#d9d1e5;--accent-soft:#f4f0f9}
textarea{font:inherit;width:100%;resize:vertical;min-height:74px;border:1px solid #d9dfd0;border-radius:8px;padding:12px;color:#364333;background:#fffefa;font-size:13px;line-height:1.6}
textarea:focus-visible{outline:3px solid #be925f;outline-offset:3px}
textarea::placeholder{color:#969b8f}
.site-header nav{display:flex;align-items:center;gap:12px}
.site-header .text-button{min-height:44px}
.quick-note{margin-top:20px;color:var(--muted);font-size:12px}
.quick-note summary{cursor:pointer;padding:6px 0;width:fit-content}
.quick-note textarea{margin-top:10px}
.movement-button:hover,.primary:hover{background:var(--accent-hover)}
.movement-button small{color:#f4f5ee}
.today-card,.brand-mark{background:var(--tint)}
.today-count>span:first-child,.last-movement strong,.calendar-day[aria-current="date"]{color:var(--accent)}
.last-movement{border-color:var(--tint-line)}
.secondary{background:var(--tint);color:var(--accent)}
.entry-description{min-width:0}
.entry-description .entry-note{white-space:pre-wrap;overflow-wrap:anywhere;color:#6f7768;line-height:1.6;font-size:12px}
.entry-time,.entry-actions{flex-shrink:0}
.entry-icon{background:var(--accent-soft);color:var(--accent)}
.optional{font-weight:400;color:#8b9282}
dialog{max-height:calc(100dvh - 32px);overflow:auto}
dialog textarea{margin-bottom:18px}
.theme-options{border:0;margin:2px 0 25px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.theme-options legend{font-size:12px;color:#68735f;margin-bottom:12px}
.theme-options label{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:12px 4px;border:1px solid var(--line);border-radius:9px;cursor:pointer;margin:0;font-size:11px}
.theme-options label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.theme-options input{width:14px;height:14px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}
.swatch{width:25px;height:25px;border-radius:50%;display:block}
.swatch.sage{background:#526b55}.swatch.rose{background:#875865}.swatch.lavender{background:#6b6087}
.calendar-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 24px}
.calendar-toolbar .secondary{font-size:12px;padding:11px 14px;min-height:44px}
.calendar-toolbar .secondary span{font-size:17px;margin-left:8px}
#selected-date-label{font-size:12px;color:var(--muted)}
.history-calendar{padding:20px 24px 16px;border:1px solid var(--line);border-radius:14px;background:#fffefa;margin-bottom:25px;max-width:440px}
.calendar-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.calendar-month h3{font-family:Georgia,serif;font-size:20px;font-weight:400;margin:0}
.calendar-month .icon-button{font-size:26px;width:40px;height:40px}
.calendar-month button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.calendar-weekdays{font-size:10px;color:var(--muted);margin-bottom:10px}
.calendar-day{position:relative;border:1px solid transparent;border-radius:9px;background:transparent;color:#596151;min-height:42px;min-width:0;padding:8px 2px 13px;font-size:12px}
.calendar-day:hover{background:var(--accent-soft)}
.calendar-day[aria-current="date"]{border-color:var(--tint-line)}
.calendar-day[aria-pressed="true"]{background:var(--accent);color:white}
.calendar-day:disabled{color:#c8cbbf;cursor:default;background:transparent}
.calendar-day.has-movements:after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.calendar-hint{font-size:10px;color:var(--muted);margin-top:16px;line-height:1.6}
@media(max-width:650px){.site-header{flex-wrap:wrap;gap:10px}.site-header nav{margin-left:auto;gap:4px}.site-header .text-button{padding:8px;font-size:11px}.history-calendar{padding:16px 12px}.calendar-days{gap:3px}.calendar-day{min-height:40px}.calendar-toolbar{gap:6px 10px}.entry-note{max-width:100%}.entry{flex-wrap:wrap}.entry-description{flex:1;min-width:80px}.entry-actions{margin-left:auto}.entry-time{margin-left:auto}}
@media(max-width:380px){.site-header nav{width:100%;justify-content:flex-end}.entry-icon{display:none}.entry-description{flex-basis:calc(100% - 140px)}}
