:root{--canvas: #f7f5f0;--surface: #fffefb;--sunken: #ece8df;--line: #e3ded3;--ink: #141312;--ink-secondary: #6e6a62;--ink-faint: #8f8a80;--accent: #7f6329;--accent-soft: #efe7d6;--on-accent: #ffffff;--critical: #a63a2b;--xs: 4px;--s: 8px;--m: 12px;--l: 16px;--xl: 24px;--xxl: 40px;--column: 600px;--target: 44px;--serif: ui-serif, "New York", "Iowan Old Style", "Charter", Georgia, serif;--settle: cubic-bezier(.2, .8, .2, 1);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--canvas: #0f0e0c;--surface: #1b1916;--sunken: #26231f;--line: #2c2924;--ink: #efe8d9;--ink-secondary: #9a9385;--ink-faint: #6f6a5f;--accent: #c8a96b;--accent-soft: #26211a;--on-accent: #14110b;--critical: #e59a8e}}*{box-sizing:border-box}html,body{margin:0;background:var(--canvas);color:var(--ink)}body{font:17px/1.35 var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.column{max-width:var(--column);margin:0 auto;padding:0 var(--xl);width:100%}.caption{font-size:13px;color:var(--ink-secondary)}.faint{color:var(--ink-faint)}.accent{color:var(--accent)}.critical{color:var(--critical)}.kicker{font-size:15px;font-weight:500;color:var(--ink-secondary);margin:0}.headline{font-size:22px;font-weight:500;margin:0}.title{font-size:20px;font-weight:500;margin:0}.wordmark{font-kerning:none}.hero{font-size:clamp(36px,9vw,50px);font-weight:300;letter-spacing:-.8px;line-height:1.1;text-align:center}.question{font-size:30px;font-weight:300;margin:0}.hairline{height:1px;background:var(--line);border:0;margin:0}.group{border-top:1px solid var(--line);padding-top:var(--xs)}.row{display:flex;align-items:center;gap:var(--m);min-height:var(--target)}.spacer{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--s) var(--l);border-radius:14px;font-weight:600;transition:transform .12s var(--settle),opacity .12s}.button:active{transform:scale(.97)}.button.primary{background:var(--accent);color:var(--on-accent)}.button.secondary{background:var(--surface);border:1px solid var(--line)}select.button{appearance:none;text-align:center}.button.quiet,.button.danger{min-height:var(--target);padding:0;font-weight:600;justify-content:flex-start}.button.quiet{color:var(--accent)}.button.danger{color:var(--critical)}.press:active{opacity:.6}.ring{--size: 26px;width:var(--size);height:var(--size);border-radius:50%;border:1.5px solid var(--ink-secondary);display:grid;place-items:center;flex:none;transition:background .25s var(--settle),border-color .25s}.ring svg{width:52%;height:52%;stroke:var(--ink-faint);opacity:.35;transition:opacity .2s,stroke .2s}.ring.done{background:var(--accent);border-color:var(--accent)}.ring.done svg{stroke:var(--on-accent);opacity:1}.ring.big{--size: 62px}.ring.big svg{opacity:.35}.ring.running{border-color:var(--accent);position:relative}.ring.big.running:after{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid var(--accent);transform:scale(1.15);opacity:.3;animation:breathe 1.8s ease-in-out infinite alternate}@keyframes breathe{0%{transform:scale(1.1);opacity:.45}to{transform:scale(1.34);opacity:.1}}.task-row .detail.accent{color:var(--accent)}.ring:not(.big):not(.done) svg{opacity:0}.ring-button{padding:var(--s);border-radius:50%;transition:transform .15s var(--settle)}.ring-button:active{transform:scale(.92)}.task-row{display:flex;align-items:baseline;gap:var(--m);min-height:var(--target);padding:var(--m) 0}.task-row .ring{align-self:center}.task-row .name{font-size:20px;text-align:left;flex:1}.task-row.done .name{color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1px}.task-row .detail{font-size:13px;color:var(--ink-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.field{display:flex;align-items:center;gap:var(--m);background:var(--surface);border-radius:999px;min-height:52px;padding:0 var(--l);box-shadow:0 1px #00000005}.field input{flex:1;border:0;background:none;outline:none;min-width:0;font-size:17px}.field input::placeholder,textarea::placeholder{color:var(--ink-secondary)}.plus{color:var(--ink-secondary);font-weight:300;font-size:22px;line-height:1}.text-input{width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:var(--s) 0;outline:none}.switch{position:relative;width:51px;height:31px;border-radius:999px;background:var(--sunken);flex:none;transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s var(--settle)}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.choice{display:flex;background:var(--sunken);border-radius:14px;padding:4px;gap:4px}.choice button{flex:1;min-height:40px;border-radius:10px;font-weight:600}.choice button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.stepper{display:inline-flex;background:var(--sunken);border-radius:999px}.stepper button{width:52px;height:36px;font-size:20px}.stepper button:disabled{opacity:.3;cursor:default}.stepper button+button{border-left:1px solid var(--line)}select.menu{appearance:none;border:0;background:none;color:var(--accent);font-weight:600;text-align:right;padding-right:18px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 6px center,right 1px center;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}.scrim{position:fixed;inset:0;background:#00000047;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade .2s}.sheet{background:var(--canvas);width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding-bottom:var(--xl);animation:rise .3s var(--settle);outline:none}@media(min-width:700px){.scrim{align-items:center}.sheet{border-radius:22px}}.sheet-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:var(--s) var(--l);background:color-mix(in srgb,var(--canvas) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1}.sheet-bar h2{font-size:17px;font-weight:600;margin:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@keyframes fade{0%{opacity:0}}.hero-card{display:flex;flex-direction:column;align-items:center;animation:card-rise .6s cubic-bezier(.2,.9,.3,1) .12s backwards}.hero-card.leaving{transition:opacity .3s ease-in,transform .3s ease-in;opacity:0;transform:translateY(170px) scale(.55);pointer-events:none}@keyframes card-rise{0%{opacity:0;transform:translateY(44px)}}.all-done{animation:fade .6s ease-out .2s backwards}.gold{pointer-events:none}.gold-ring{position:absolute;width:340px;height:420px;left:50%;top:50%;transform:translate(-50%,-50%)}.gold-shower{position:fixed;inset:0;width:100%;height:100%;z-index:10}.field:has(input:focus-visible){box-shadow:0 0 0 1.5px var(--accent)}.field input:focus-visible{outline:none}select.menu.more{background-image:none;padding-right:0;text-align:center;font-size:22px;line-height:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
