:root{
 --bg:#f8f8f6;--ink:#121614;--secondary:#828783;--line:#e9ece7;--forest:#294434;--sage:#dce6d7;--sage-2:#eaf0e5;--white:#fff;--shadow:0 9px 30px rgba(21,36,24,.038);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter", "Segoe UI", Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light
}
*{box-sizing:border-box}body{margin:0;background:#e9ede9;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #497158;outline-offset:2px}#app{width:100%}button{color:inherit}.shell{height:100dvh;min-height:480px;max-width:480px;margin:auto;display:flex;flex-direction:column;background:var(--bg);position:relative;box-shadow:0 0 38px #11231418}.top{flex:0 0 auto;padding:20px 19px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.brand{display:flex;flex-direction:column;white-space:nowrap}.brand-name{font-weight:810;letter-spacing:-1.08px;font-size:23px;line-height:1.12}.brand-tagline{font-size:7.5px;letter-spacing:2.1px;color:#8a908c;margin-top:7px;white-space:nowrap;font-weight:700}.brand-sup{font-size:10px;vertical-align:top;margin-left:2px;font-weight:600}.top-actions{display:flex;align-items:center;gap:7px;margin-top:-2px}.icon-round,.photo-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:0;background:#f0f1ee;position:relative;flex-shrink:0}.photo-avatar{background:#d4d9d4 url('./avatar.webp') center/cover no-repeat}.bell-dot{position:absolute;width:7px;height:7px;background:#588a59;border-radius:50%;right:7px;top:5px;box-shadow:0 0 0 2px var(--bg)}.glyph{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}.icon-round .glyph{width:18px;height:18px}
.content{flex:1;overflow-y:auto;min-height:0;overscroll-behavior-y:contain;scrollbar-width:none;padding:0 18px 16px}.content::-webkit-scrollbar{display:none}.date-hero{margin-top:23px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:13px;align-items:center}.today-kicker{font-size:9px;letter-spacing:3px;font-weight:850;white-space:nowrap;margin:0 0 4px 2px}.big-date{font-weight:900;letter-spacing:-8px;line-height:.95;font-size:clamp(84px,25vw,108px);font-variant-numeric:tabular-nums;margin-left:-2px}.month-row{display:flex;align-items:center;gap:7px;margin:3px 0 0 1px}.month-label{font-weight:870;font-size:clamp(20px,5vw,24px);line-height:1;white-space:nowrap;letter-spacing:-.95px}.day-label{background:#e8ede3;font-size:9px;letter-spacing:.4px;border-radius:6px;padding:5px 7px;font-weight:700}.hero-card{width:100%;aspect-ratio:1.49;background:#3b4d43 url('./hero-mountains.webp') center/cover no-repeat;border-radius:20px;border:0;overflow:hidden;box-shadow:var(--shadow)}.hero-card:focus-visible{outline:2px solid var(--forest)}.hero-alt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%)}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 35px;gap:2px;margin-top:17px}.day-btn,.calendar-trigger{border:0;background:#fff;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px;min-width:0;gap:7px;box-shadow:0 5px 12px rgba(24,28,24,.018)}.day-btn small{font-size:9px;color:#838783;font-weight:550}.day-btn strong{font-size:15px;font-weight:690;line-height:1}.day-btn .mark{width:4px;height:4px;border-radius:50%;background:#a2a4a2;margin-top:-2px}.day-btn.active{background:linear-gradient(147deg,#b4c4a9,#567c60 84%);box-shadow:0 4px 16px #66866d34;color:#fff}.day-btn.active small,.day-btn.active .mark{color:#fff}.day-btn.active .mark{background:#fff}.calendar-trigger .glyph{width:20px;height:20px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 12px}.heading-main{display:flex;align-items:center;gap:9px}.heading-main h2{margin:0;font-size:21px;letter-spacing:-.7px;font-weight:800}.count{height:21px;min-width:22px;padding:0 6px;display:grid;place-items:center;background:#ecefeb;border-radius:50%;font-size:11px;font-weight:650}.heading-tail{border:0;background:none;padding:0;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:#8f9390;white-space:nowrap;letter-spacing:.2px}.heading-tail .glyph{width:16px;height:16px}.priority-grid{display:flex;flex-direction:column;gap:11px}.priority-row{display:grid;grid-template-columns:49px 1fr;gap:9px;min-height:74px}.time-col{position:relative;border-radius:14px;background:#fcfcfa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 1px}.time-col::after{content:"";position:absolute;left:calc(100% + 4px);top:0;bottom:0;border-left:1px solid #b4c3b3;opacity:.85}.time-col::before{content:"";position:absolute;width:8px;height:8px;background:#567f5a;border:2px solid var(--bg);border-radius:50%;left:calc(100% - 1px);top:50%;transform:translateY(-50%);z-index:2}.time-col strong{font-weight:750;font-size:11px;white-space:nowrap}.time-col span{font-size:10px;color:#8e9390;white-space:nowrap}.featured-card{background:#fff;border-radius:17px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;padding:12px 11px 12px 12px;min-width:0}.check{appearance:none;width:20px;height:20px;border:1.45px solid #abb3ad;border-radius:7px;background:#fff;display:grid;place-items:center;flex-shrink:0}.check.done{background:var(--forest);border-color:var(--forest);color:#fff}.check .glyph{width:13px;height:13px}.priority-content{min-width:0;flex:1;text-align:left;border:0;background:transparent;padding:0;display:flex;flex-direction:column;gap:5px}.priority-title{font-weight:750;letter-spacing:-.38px;font-size:13.7px;line-height:1.26;overflow-wrap:anywhere}.task-tags{display:flex;align-items:center;gap:8px;font-size:10px;color:#868c87;white-space:nowrap}.tag{display:inline-block;border-radius:7px;background:#ebeeec;padding:4px 7px;color:#252925;font-weight:530}.tag.green{background:#dbe5d4}.arrow-button{width:33px;height:33px;flex-shrink:0;border-radius:50%;border:0;background:#e5eee0;display:grid;place-items:center}.arrow-button .glyph{width:17px;height:17px}.featured-card.is-done .priority-title{text-decoration:line-through;color:#9ba29c}.featured-card.is-done .arrow-button{opacity:.6}
.other-heading{margin-top:21px}.filters{display:flex;align-items:center;gap:3px}.filter{border:0;padding:7px 9px;border-radius:16px;background:#fff;font-size:10px;color:#7a817b;white-space:nowrap}.filter.selected{background:#e7ede1;color:#162019;font-weight:700}.filter-more{border:0;background:#fff;border-radius:50%;width:29px;height:29px;font-weight:700;color:#929893}.other-list{background:#fff;border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.other-row{display:flex;align-items:center;gap:11px;padding:10px 12px;min-height:44px;border-bottom:1px solid #f0f0ef}.other-row:last-child{border-bottom:0}.other-title{border:0;background:transparent;text-align:left;flex:1;min-width:0;font-size:11.8px;line-height:1.3;overflow-wrap:anywhere}.other-row.is-done .other-title{text-decoration:line-through;color:#a1a6a1}.row-time{font-size:10px;color:#7d8480;flex-shrink:0}.other-more{border:0;background:none;color:#8d948d;font-size:19px;padding:4px 0 4px 4px;line-height:1}.empty{background:#fff;padding:24px 15px;border-radius:16px;color:#828c85;font-size:12px;text-align:center}.notice{background:#e7ede5;color:#32513c;border-radius:13px;padding:10px 12px;font-size:11px;margin-top:14px;line-height:1.45}
.bottom-nav{flex-shrink:0;min-height:72px;padding:6px 12px calc(5px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -5px 18px rgba(21,24,22,.025)}.nav-btn{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:3px;justify-content:center;color:#929792;font-size:10px}.nav-icon{width:48px;height:35px;display:grid;place-items:center;border-radius:14px}.nav-btn.active{color:#121914;font-weight:750}.nav-btn.active .nav-icon{background:#e6eee0}.nav-btn.active .nav-icon .glyph{fill:#141916;color:#111716;stroke:#111716}.nav-btn .glyph{width:21px;height:21px}.nav-btn span:last-child{white-space:nowrap}
.page-head{display:flex;align-items:center;justify-content:space-between;margin:27px 0 24px}.page-head h1{font-weight:800;font-size:30px;letter-spacing:-1px;margin:0}.page-head p{color:#8a918b;font-size:12px;margin:4px 0 0}.page-round{border:1px solid #e6eae4;background:#fff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:#fff;border-radius:19px;padding:10px}.cal-weekday{text-align:center;color:#919792;font-size:10px;padding:12px 0}.cal-day{border:0;background:transparent;height:40px;border-radius:10px;display:grid;place-items:center;position:relative;font-size:14px}.cal-day.outside{color:#c5c8c5}.cal-day.active{background:#54785a;color:#fff}.cal-day .dot{position:absolute;width:3px;height:3px;background:#557958;border-radius:50%;bottom:4px}.cal-day.active .dot{background:#fff}.calendar-list-head{font-weight:750;margin:25px 0 12px;font-size:17px}.list-panel{background:#fff;border-radius:18px;padding:5px 12px}.list-panel .other-row{padding-left:0;padding-right:0}.stats-card,.settings-card{background:#fff;border-radius:20px;padding:20px;margin-top:13px}.stats-big{font-size:64px;font-weight:850;letter-spacing:-5px;margin:10px 0 0}.stats-muted{color:#8e958f;font-size:12px;line-height:1.55}.settings-action{display:flex;align-items:center;justify-content:space-between;padding:15px 0;width:100%;border:0;background:transparent;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.settings-action:last-child{border:0}.settings-hint{font-size:11px;line-height:1.5;color:#8c928d;margin-top:10px}
.sheet-backdrop{position:absolute;inset:0;background:#101d16aa;z-index:10;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-height:95dvh;overflow-y:auto;border-radius:26px 26px 0 0;background:#f8f8f6;padding:14px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 32px #0002}.sheet-handle{height:4px;width:34px;border-radius:99px;background:#c6cdc5;margin:0 auto 20px}.sheet-top{display:flex;align-items:center;justify-content:space-between}.sheet-overline{font-size:10px;font-weight:750;letter-spacing:2px;color:#889389}.sheet-close{width:33px;height:33px;background:#fff;border:0;border-radius:50%;display:grid;place-items:center}.sheet h2{font-size:27px;margin:14px 0 18px;letter-spacing:-.8px}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0;font-size:11px;font-weight:750;color:#757f77}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #e2e7e1;border-radius:13px;padding:13px;font-size:15px;color:#17251b;resize:vertical;min-height:47px}.field textarea{min-height:76px}.field-row{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.toggle-line{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;gap:10px;font-size:13px;font-weight:600}.toggle-line input{width:19px;height:19px;accent-color:#365941}.field-help{font-size:11px;line-height:1.5;color:#919992;margin:4px 0 10px}.submit{width:100%;border:0;background:linear-gradient(110deg,#183225,#315541);border-radius:15px;padding:16px;color:white;font-weight:700;font-size:14px;margin-top:8px}.delete{background:none;color:#ae5555;border:0;padding:10px 0;margin-top:8px;font-size:12px}.modal-actions{display:flex;flex-direction:column;gap:7px}.privacy-strip{font-size:10px;color:#8b938c;margin-top:17px;text-align:center}.search-input{width:100%;background:#fff;border:1px solid var(--line);padding:13px;border-radius:13px;font-size:14px}.search-results{margin-top:14px}.boot{padding:50px;text-align:center}#toast{position:fixed;z-index:25;left:50%;bottom:105px;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(94vw,360px);background:#1b2e22;color:#fff;border-radius:14px;padding:12px 15px;font-size:12px;box-shadow:0 8px 20px #0002;transition:.2s}#toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:375px){.top{padding:15px 13px 0}.content{padding-left:13px;padding-right:13px}.brand-name{font-size:21px}.brand-tagline{letter-spacing:1.5px;font-size:6.6px}.top-actions{gap:4px}.icon-round,.photo-avatar{width:33px;height:33px}.date-hero{grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr);gap:10px}.big-date{font-size:84px}.month-label{font-size:18px}.day-label{font-size:8px}.week{gap:1px}.day-btn{height:55px}.featured-card{padding:9px 9px}.priority-title{font-size:12.5px}.task-tags{gap:4px}.filter{padding:6px 7px}}
@media(min-width:700px){.shell{height:min(100dvh,945px);border-radius:24px;overflow:hidden;margin:20px auto}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Approved v0.4 final: remove fixed black CTA and keep compact inline add control. */
.heading-controls{display:flex;align-items:center;gap:9px;min-width:0}
.heading-motto{font-size:10px;font-weight:700;color:#939a94;white-space:nowrap;display:flex;align-items:center;gap:5px;letter-spacing:1px}
.heading-motto .glyph{width:16px;height:16px}
.quick-add{min-width:38px;width:38px;height:38px;border:0;border-radius:13px;color:#fff;background:#3e6c4c;display:grid;place-items:center;box-shadow:0 5px 15px #29443420;flex-shrink:0}
.quick-add .glyph{width:20px;height:20px}
.content{padding-bottom: max(22px,env(safe-area-inset-bottom,0px))}
.sheet{overscroll-behavior:contain}
.sheet input,.sheet select,.sheet textarea{font-size:16px}
.migration-alert,.sync-warning{margin:14px 0;padding:16px;border-radius:14px;background:#e5ece3;color:#21402d;font-size:12px;line-height:1.45}
.migration-alert p{margin:7px 0 12px}
.migration-alert .submit{max-width:240px;padding:12px;margin-top:0}
.fatal{padding:36px 22px;color:#182b20;max-width:480px;margin:10vh auto}.fatal h1{font-size:24px}.fatal p{font-size:14px;line-height:1.5}
@media(max-width:390px){.heading-motto{display:none}.section-heading{flex-wrap:wrap}.other-heading .filters{flex-wrap:wrap;justify-content:flex-end}.other-heading .heading-main{flex-shrink:0}}
@media(max-width:340px){.brand-name{font-size:19px}.brand-tagline{font-size:6.1px;letter-spacing:1px}.top{padding-left:10px;padding-right:10px}.content{padding-left:10px;padding-right:10px}.top-actions{gap:3px}.icon-round,.photo-avatar{width:30px;height:30px}.week{grid-template-columns:repeat(7,minmax(0,1fr)) 32px}.day-btn,.calendar-trigger{border-radius:10px}.featured-card{gap:6px}.priority-row{grid-template-columns:44px 1fr;gap:7px}.quick-add{width:35px;min-width:35px;height:35px}.nav-icon{width:38px}}
@media(max-height:620px){.shell{min-height:0}.top{padding-top:8px}.bottom-nav{min-height:58px}.sheet{max-height:95dvh}}
@media(min-width:700px){.shell{height:min(calc(100dvh - 40px),945px)}}
