:root{--bg: #F7F4ED;--surface: #FFFFFF;--surface-muted: #F2EFE6;--fill: #F4F1E8;--line: #EDE7DA;--line-soft: #F1EDE3;--line-muted: #EAE4D6;--line-strong: #E0DACC;--sand: #DED7C7;--sand-2: #D8D2C3;--sand-3: #E8E3D6;--sand-4: #E5DFD1;--ink: #1B1E1C;--ink-2: #3D423F;--ink-3: #6E7671;--ink-4: #8A8F89;--ink-5: #A19C90;--ink-6: #B9B3A5;--ink-7: #C9C3B5;--ink-8: #9A9589;--sage: #3F6F52;--sage-deep: #2F5540;--sage-tint: #E9F0EA;--sage-tint-2: #DCE8DE;--sage-tint-3: #E7EDE8;--sage-tint-4: #D8E5DA;--sage-tint-5: #E4EDE6;--sage-ink: #38493D;--sage-ink-2: #5F7264;--sage-ink-3: #2F4536;--sage-ink-4: #6C7F71;--dark: #1B1E1C;--dark-2: #262A27;--dark-3: #333833;--dark-4: #4A504B;--dark-5: #2A2E2B;--dark-ink: #9AA39C;--dark-ink-2: #6E756F;--mint: #8FD3A6;--danger: #B4475F;--danger-tint: #F7E9EC;--goal-sage: #3F6F52;--goal-teal: #2F7D8C;--goal-blue: #4A5EC8;--goal-purple: #7E5BA6;--goal-rose: #C25B77;--goal-rust: #C2643A;--goal-gold: #C79A2E;--goal-stone: #7A7468;--r-card: 26px;--r-card-2: 24px;--r-list: 22px;--r-tile: 20px;--r-field: 18px;--r-chip: 16px;--r-pill: 999px;--font: Figtree, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light;font-family:var(--font)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:500 15px/1.4 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0;margin:0;cursor:pointer;text-align:inherit}button:disabled{cursor:default}input{min-width:0}a{color:var(--sage);text-decoration:none}app-root{display:block;min-height:100dvh}.app{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}.screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg)}.screen-body{flex:1;padding:4px 14px 24px;display:flex;flex-direction:column;gap:12px}.screen-body.is-tabbed{padding-bottom:96px}.page-head{padding:20px 20px 10px;display:flex;align-items:center;gap:12px}.page-head .h1{flex:1}.h1{font:900 28px/1.1 var(--font);letter-spacing:-.02em;color:var(--ink);margin:0}.h1-lg{font:900 30px/1.15 var(--font);letter-spacing:-.02em;color:var(--ink);margin:0}.date-line{font:600 13px/1 var(--font);color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase}.lead{font:500 14px/1.4 var(--font);color:var(--ink-3);margin-top:6px}.detail-head{padding:16px 18px 6px;display:flex;align-items:center;gap:12px}.detail-head .title{font:900 24px/1.15 var(--font);color:var(--ink);letter-spacing:-.02em}.detail-head .sub{font:600 13px/1.3 var(--font);color:var(--ink-3);margin-top:4px}.back{width:34px;height:34px;margin-left:-6px;display:flex;align-items:center;justify-content:flex-start;font:800 22px/1 var(--font);color:var(--ink-3)}.form-head{padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #EFEADF;background:var(--bg);position:sticky;top:0;z-index:2}.form-head .ghost{font:700 14px/1 var(--font);color:var(--ink-3);padding:10px 0}.form-head .title{flex:1;text-align:center;font:800 16px/1 var(--font);color:var(--ink)}.eyebrow{font:800 11px/1 var(--font);color:var(--ink-4);letter-spacing:.09em;text-transform:uppercase;padding:14px 8px 8px;display:flex;align-items:baseline;gap:8px}.eyebrow .spacer{flex:1}.eyebrow .link{font:700 12px/1 var(--font);color:var(--sage);letter-spacing:0;text-transform:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-2);padding:18px}.card-muted{background:var(--surface-muted);border-color:var(--line-muted)}.card-done{background:var(--sage-tint);border-color:var(--sage-tint-2)}.card-dark{background:var(--dark);border-color:var(--dark);color:#fff}.stats{display:flex;gap:14px}.stats .stat{flex:1}.stats .divider{width:1px;background:var(--line-soft)}.stat .num{font:900 34px/1 var(--font);color:var(--ink)}.stat .num small{font:700 14px var(--font);color:var(--ink-4)}.stat .label{font:600 12px/1.3 var(--font);color:var(--ink-3);margin-top:6px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-list);overflow:hidden}.list.is-muted{background:var(--surface-muted);border-color:var(--line-muted)}.row{display:flex;align-items:center;gap:12px;padding:14px;width:100%;border-bottom:1px solid var(--line-soft)}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .name{display:block;font:700 16px/1.2 var(--font);color:var(--ink)}.row .name.is-muted{color:var(--ink-3)}.row .meta{display:block;font:500 12px/1.3 var(--font);color:var(--ink-4);margin-top:3px}.row .meta.is-muted{color:var(--ink-5)}.row .aside{font:500 12.5px/1 var(--font);color:var(--ink-5);white-space:nowrap}.row .chev{font:700 18px/1 var(--font);color:var(--ink-7)}.row-action{font:700 15px/1.2 var(--font);color:var(--ink)}.row-action.is-quiet{color:var(--ink-3)}.row-action.is-danger{color:var(--danger)}.dot{width:14px;height:14px;border-radius:50%;background:var(--goal, var(--sage));flex:none}.dot.is-muted{background:var(--sand-2)}.chip-icon{width:48px;height:48px;border-radius:16px;flex:none;background:color-mix(in srgb,var(--goal, var(--sage)) 12%,white);display:flex;align-items:center;justify-content:center;color:var(--goal, var(--sage))}.chip-icon.is-muted{background:var(--sand-3);color:var(--ink-8)}.chip-icon.is-done{background:var(--sage-tint-4);color:var(--sage)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 14px/1 var(--font);border-radius:var(--r-pill);padding:13px 18px;color:#fff;background:var(--sage);white-space:nowrap}.btn.is-block{display:flex;width:100%;border-radius:var(--r-tile);padding:19px;font-size:16px}.btn.is-soft{background:var(--fill);color:var(--ink-3);font-weight:700}.btn.is-soft-sage{background:var(--sage-tint-5);color:var(--sage);font-size:12px;padding:10px 13px}.btn.is-outline{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.btn.is-dark{background:var(--dark);color:#fff}.btn.is-mint{background:var(--mint);color:var(--dark)}.btn.is-ghost{background:none;color:var(--ink-3);font-weight:700}.btn.is-goal{background:var(--goal, var(--sage));color:#fff}.btn.is-danger{background:var(--danger);color:#fff}.btn.is-soft-danger{background:var(--danger-tint);color:var(--danger);font-size:12px;padding:10px 13px}.btn.is-sm{padding:11px 16px;font-size:13px}.btn:disabled{opacity:.45}.pill-tab{flex:1;text-align:center;font:700 12px/1 var(--font);color:var(--ink-3);background:var(--fill);border-radius:10px;padding:11px 0}.pill-tab.is-on{background:var(--sage);color:#fff;font-weight:800}.ring{width:54px;height:54px;border-radius:50%;flex:none;border:3px solid var(--sand);background:transparent;display:flex;align-items:center;justify-content:center}.ring.is-sm{width:34px;height:34px}.ring.is-xs{width:36px;height:36px;border-color:var(--sand-4)}.ring.is-active{border-color:var(--ink);width:40px;height:40px}.check{width:54px;height:54px;border-radius:50%;flex:none;background:var(--sage);display:flex;align-items:center;justify-content:center}.check.is-xs{width:36px;height:36px}.check.is-xxs{width:26px;height:26px}.check:after{content:"";width:20px;height:11px;border-left:4px solid #fff;border-bottom:4px solid #fff;transform:rotate(-45deg) translate(2px,-3px);border-radius:2px}.check.is-xs:after{width:14px;height:7px;border-width:3px;transform:rotate(-45deg) translate(1px,-2px)}.check.is-xxs:after{width:11px;height:6px;border-width:3px;transform:rotate(-45deg) translate(1px,-2px)}.dash{width:54px;height:54px;border-radius:50%;flex:none;background:var(--sand-3);display:flex;align-items:center;justify-content:center}.dash:after{content:"";width:18px;height:3px;border-radius:2px;background:var(--ink-8)}.play{width:54px;height:54px;border-radius:50%;flex:none;background:var(--goal, var(--sage));display:flex;align-items:center;justify-content:center}.play:after{content:"";width:0;height:0;margin-left:4px;border-left:15px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}.play.is-sm{width:44px;height:44px}.play.is-sm:after{border-left-width:13px;border-top-width:9px;border-bottom-width:9px}.toggle{width:52px;height:31px;border-radius:var(--r-pill);flex:none;background:var(--line-strong);display:flex;align-items:center;padding:3px;transition:background .15s}.toggle:after{content:"";width:25px;height:25px;border-radius:50%;background:#fff;transition:transform .15s}.toggle.is-on{background:var(--sage)}.toggle.is-on:after{transform:translate(21px)}.field{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-field);padding:16px;display:flex;align-items:center;gap:10px}.field:focus-within{border:2px solid var(--ink);padding:15px}.field input{flex:1;border:0;outline:0;background:none;font:700 18px/1 var(--font);color:var(--ink)}.field input::placeholder{color:var(--ink-6);font-weight:600}.field-label{font:600 11px/1 var(--font);color:var(--ink-5);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.field.is-stacked{flex-direction:column;align-items:stretch;gap:0;padding:17px 18px;border-color:var(--line-strong)}.field.is-stacked input{font:600 16px/1 var(--font)}.field.is-stacked:focus-within{padding:16px 17px}.tag{font:700 12.5px/1 var(--font);color:var(--ink);background:var(--fill);border-radius:9px;padding:10px 12px;white-space:nowrap}.tag.is-best{background:var(--sage-tint)}.tag.is-done{color:var(--sage-ink-2);background:var(--sage-tint)}.tag.is-quiet{color:var(--ink-4)}.tags{display:flex;gap:7px;flex-wrap:wrap}.badge{font:800 9.5px/1 var(--font);color:#8a4b27;background:#f6e6dc;border-radius:5px;padding:4px 6px;letter-spacing:.05em}.scrim{position:fixed;inset:0;background:#1b1e1c73;z-index:20}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:480px;margin:0 auto;background:var(--surface);border-radius:30px 30px 0 0;padding:14px 18px calc(22px + env(safe-area-inset-bottom,0px));max-height:88dvh;overflow:auto}.sheet .grip{width:44px;height:5px;border-radius:3px;background:var(--line-strong);margin:0 auto 18px}.sheet .title{font:900 22px/1.2 var(--font);color:var(--ink)}.sheet .sub{font:500 13.5px/1.4 var(--font);color:var(--ink-3);margin-top:6px;margin-bottom:18px}.option{width:100%;background:var(--fill);border-radius:var(--r-tile);padding:16px;display:flex;align-items:center;gap:14px;text-align:left}.option.is-primary{background:var(--surface);border:2px solid var(--ink)}.option .name{font:800 17px/1.2 var(--font);color:var(--ink)}.option .meta{font:500 12.5px/1.3 var(--font);color:var(--ink-4);margin-top:4px}.option .chev{font:700 18px/1 var(--font);color:var(--ink-7)}.option .go{width:44px;height:44px;border-radius:50%;background:var(--dark);flex:none;display:flex;align-items:center;justify-content:center}.option .go:after{content:"";width:0;height:0;margin-left:4px;border-left:13px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;max-width:360px;width:calc(100% - 32px);background:var(--dark);color:#fff;border-radius:var(--r-field);padding:14px 16px;display:flex;align-items:center;gap:12px;font:600 13.5px/1.35 var(--font);box-shadow:0 10px 30px #0000002e}.toast .grow{flex:1}.toast .btn{background:var(--mint);color:var(--dark);padding:10px 14px;font-size:13px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 30px 40px;gap:8px;text-align:center}.empty .glyph{width:96px;height:96px;border-radius:32px;background:var(--sage-tint-3);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.empty .glyph:after{content:"";width:34px;height:34px;border-radius:50%;border:7px solid var(--sage)}.empty .title{font:900 24px/1.2 var(--font);color:var(--ink);letter-spacing:-.02em}.empty .body{font:500 14.5px/1.55 var(--font);color:var(--ink-3);max-width:280px;margin-top:4px}.empty .btn{margin-top:22px;padding:18px 26px;border-radius:var(--r-tile);font-size:15px}.empty .after{font:600 13px/1 var(--font);color:var(--ink-4);margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.version{text-align:center;font:500 11.5px/1.4 var(--font);color:var(--ink-6);padding:4px 0 10px}
