:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app:#f4f6f2;--surface:#fff;--ink:#1b2420;--muted:#5e6c64;--line:#dce2db;--moss:#2e6a4e;--moss-soft:#dcebe2;--sun:#c98016;--sun-soft:#fbebd2;--stone:#e1e6df;--warn:#a94e1c;--warn-soft:#f8e3d6;--on-accent:#fff;--scrim:#141c186b;--display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app:#121814;--surface:#1a221d;--ink:#e4ebe6;--muted:#97a59c;--line:#2a342e;--moss:#6cbf94;--moss-soft:#1f3a2c;--sun:#f0b350;--sun-soft:#3a2e17;--stone:#28322c;--warn:#ee9a6a;--warn-soft:#3a2419;--on-accent:#0f1411;--scrim:#0000008c}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--app);color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.6;cursor:default}input{font:inherit;color:var(--ink)}:focus-visible{outline:2px solid var(--moss);outline-offset:2px}h1,h2,h3{text-wrap:balance}.fine{color:var(--muted);margin:0;font-size:13px}.center{text-align:center}.err{color:var(--warn);margin:0;font-size:14px;font-weight:600}.note{background:var(--surface);border-radius:16px;margin:0;padding:14px}.stack{flex-direction:column;gap:14px;display:flex}.btn-primary{background:var(--moss);color:var(--on-accent);border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 16px;font-size:16px;font-weight:700;display:flex}.btn-primary svg{width:22px;height:22px}.btn-soft{background:var(--moss-soft);color:var(--moss);border-radius:14px;padding:12px 14px;font-weight:700}.btn-ghost{color:var(--moss);border-radius:12px;padding:10px;font-weight:700}.btn-danger{color:var(--warn);background:var(--surface);border-radius:16px;width:100%;padding:14px;font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:700}.input{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;width:100%;padding:13px 14px;font-size:16px}.input:focus{border-color:var(--moss);outline:none}.code-input{letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:22px;font-weight:700}.welcome{max-width:440px;min-height:100%;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:32px;margin:0 auto;display:flex}.brand{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.brand-mark{width:84px;height:84px;margin-bottom:10px}.brand-mark svg{width:100%;height:100%;display:block}.brand h1{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:34px;line-height:1.05}.brand p{color:var(--muted);margin:0}.app{min-height:100%}.banner{z-index:3;background:var(--sun-soft);color:var(--ink);text-align:center;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;font-size:13px;font-weight:600;position:sticky;top:0}.screen{max-width:520px;padding:calc(20px + env(safe-area-inset-top)) 18px calc(100px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.hello .date{color:var(--muted);font-size:13px;font-weight:500}.hello h2,.page-h h2,.me-head h2{font-family:var(--display);letter-spacing:-.01em;margin:2px 0 0;font-size:28px;line-height:1.1}.panel{background:var(--surface);border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.panel h3{margin:0;font-size:16px}.me-head{align-items:center;gap:14px;display:flex}.me-head p{color:var(--muted);margin:2px 0 0;font-size:14px}.avatar{background:var(--moss-soft);width:52px;height:52px;color:var(--moss);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.tabbar{z-index:4;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:600;display:flex}.tab svg{width:22px;height:22px}.tab .pill{border-radius:999px;padding:3px 18px;display:flex}.tab[aria-current=page]{color:var(--moss)}.tab[aria-current=page] .pill{background:var(--moss-soft)}.loading{background:var(--app);min-height:100%}.lbl{color:var(--muted);font-size:13px;font-weight:700}.tight{margin-top:-8px}.inline{align-items:center;gap:10px;display:flex}.link-btn{color:var(--moss);padding:4px 2px;font-size:14px;font-weight:700}.back{color:var(--moss);align-self:flex-start;align-items:center;gap:2px;margin-bottom:-12px;padding:4px 0;font-size:14px;font-weight:600;display:flex}.back svg{width:18px;height:18px}.avatar.sm{background:var(--sun-soft);width:34px;height:34px;color:var(--sun);font-size:14px}.avatar.sm.me,.avatar.me{background:var(--moss-soft);color:var(--moss)}.progress{align-items:center;gap:10px;margin-top:10px;font-size:14px;font-weight:600;display:flex}.pebbles{flex-wrap:wrap;gap:5px;display:flex}.pebbles span{background:var(--stone);border-radius:50%;width:14px;height:10px}.pebbles span.on{background:var(--moss)}.pebbles span.half{background:linear-gradient(90deg, var(--moss) 50%, var(--stone) 50%)}.group{flex-direction:column;gap:8px;display:flex}.group-item{flex-direction:column;gap:6px;display:flex}.group-h{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.group-h:after{content:"";background:var(--line);flex:1;height:1px}.stack-link{color:var(--muted);align-items:center;gap:6px;padding-left:66px;font-size:12px;display:flex}.stack-link svg{width:14px;height:14px}.row{background:var(--surface);border-radius:18px;align-items:center;gap:12px;padding:12px;display:flex}.row-main{text-align:left;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{font-size:16px;font-weight:600;line-height:1.2}.row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.row-meta:empty{display:none}.chev{color:var(--muted);flex:none;width:18px;height:18px;display:flex}.chev svg{width:18px;height:18px}.dots{align-items:center;gap:3px;display:flex}.dots i{background:var(--moss);border-radius:50%;width:6px;height:6px}.dots i.half{background:color-mix(in srgb, var(--moss) 45%, var(--stone))}.dots i.miss{box-shadow:inset 0 0 0 1.5px var(--stone);background:0 0}.chip-warn,.chip-ok,.chip-sun,.timer-pill{font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.chip-warn{color:var(--warn);background:var(--warn-soft)}.chip-ok{color:var(--moss);background:var(--moss-soft)}.chip-sun,.timer-pill{color:var(--sun);background:var(--sun-soft)}.timer-pill{font-weight:700}.stone{--p:0deg;--c:var(--moss);background:conic-gradient(var(--c) var(--p), var(--stone) 0);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;transition:transform .12s;display:grid;position:relative}button.stone:active{transform:scale(.92)}.stone .in{background:var(--surface);font-variant-numeric:tabular-nums;text-align:center;border-radius:50%;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid;position:absolute;inset:4px}.stone .in small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:600;display:block}.stone .in svg{width:20px;height:20px}.stone.duration{--c:var(--sun)}.stone.done{background:var(--moss)}.stone.done .in{background:var(--moss);color:var(--on-accent)}.stone.done svg{width:22px;height:22px}.stone.skip .in{color:var(--muted);font-size:18px}.stone.sm{width:36px;height:36px}.stone.sm .in{font-size:11px;inset:3px}.stone.sm .in svg{width:16px;height:16px}.decide{text-align:left;background:var(--sun-soft);border-radius:18px;flex-direction:column;gap:2px;padding:14px;display:flex}.decide span{color:var(--muted);font-size:13px}.empty .btn-primary{margin-top:4px}.fab{right:max(18px,50% - 242px);bottom:calc(84px + env(safe-area-inset-bottom));z-index:4;background:var(--moss);width:58px;height:58px;color:var(--on-accent);border-radius:20px;place-items:center;display:grid;position:fixed;box-shadow:0 10px 24px -8px #2e6a4e99}.fab svg{width:26px;height:26px}.scrim{background:var(--scrim);z-index:10;animation:.18s ease-out fade;position:fixed;inset:0}.sheet{z-index:11;background:var(--surface);max-width:560px;max-height:90dvh;padding:10px 20px calc(26px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;outline:none;flex-direction:column;gap:16px;margin:0 auto;animation:.22s cubic-bezier(.2,.8,.2,1) up;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.grab{background:var(--line);border-radius:9px;flex:none;width:40px;height:4px;margin:0 auto 2px}.sheet-h{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheet-h h3{font-family:var(--display);margin:0;font-size:22px;line-height:1.15}.sheet-h p{color:var(--muted);margin:4px 0 0;font-size:13px}.x{background:var(--app);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.x svg{width:18px;height:18px}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.big-val{justify-content:center;align-items:center;gap:18px;display:flex}.round{background:var(--app);border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.round svg{width:22px;height:22px}.val{text-align:center;min-width:120px}.val b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:46px;line-height:1;display:block}.val span{color:var(--muted);font-size:13px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.center{justify-content:center}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--moss);border-color:var(--moss);color:var(--on-accent)}.chip.big{padding:14px}.btn-row{gap:10px;display:flex}.btn-row>*{flex:1}.timer-box{background:var(--sun-soft);border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.timer-box b{font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--sun);font-size:30px;line-height:1}.timer-box .t-txt{color:var(--muted);flex:1;font-size:13px}.timer-box .round{background:var(--surface);color:var(--sun)}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--app);border-radius:14px;padding:10px 12px}.stat b{font-variant-numeric:tabular-nums;font-size:18px;display:block}.stat span{color:var(--muted);font-size:12px}.panel .stat{background:var(--app)}.seg{background:var(--app);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{color:var(--muted);border-radius:10px;padding:9px 6px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.stepper{align-items:center;gap:10px;display:flex}.stepper .round{width:40px;height:40px}.stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:80px;font-size:17px}.days{gap:6px;display:flex}.days .chip{place-items:center;width:38px;height:38px;padding:0;display:grid}.form .input{background:var(--app)}select.input{appearance:auto}.confirm{background:var(--warn-soft);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.confirm .btn-danger{background:var(--surface);padding:12px}.lib-list{flex-direction:column;display:flex}.lib-cat{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-top:10px;font-size:12px;font-weight:700}.lib{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.lib-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lib-main b{font-size:15px}.lib-main p{color:var(--muted);margin:0;font-size:13px}.lib-main .def{color:var(--muted);font-size:12px;font-weight:600}.add-btn{background:var(--moss-soft);color:var(--moss);border-radius:999px;flex:none;align-items:center;gap:4px;padding:7px 12px;font-size:13px;font-weight:700;display:flex}.add-btn svg{width:15px;height:15px}.add-btn.added{background:var(--moss);color:var(--on-accent)}.nudge{background:var(--sun-soft);border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex}.nudge p{margin:0;font-size:13px}.nudge label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.opt{text-align:left;background:var(--app);border-radius:16px;align-items:flex-start;gap:12px;width:100%;padding:14px;display:flex}.opt b{font-size:15px;display:block}.opt span span{color:var(--muted);font-size:13px}.r-ico{background:var(--moss-soft);width:36px;height:36px;color:var(--moss);border-radius:12px;flex:none;place-items:center;display:grid}.r-ico.duration{background:var(--sun-soft);color:var(--sun)}.r-ico.warn{background:var(--warn-soft);color:var(--warn)}.r-ico svg{width:19px;height:19px}.r-row{background:var(--surface);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.r-row.paused{opacity:.55}.switch{background:var(--stone);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:var(--surface);border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--moss)}.switch[aria-checked=true]:after{left:21px}.menu-row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 4px;display:flex}.menu-row:last-child{border-bottom:0}.menu-row .lbl{color:var(--ink);flex:1;font-size:15px;font-weight:600}.menu-row.disabled .lbl{color:var(--muted)}.soon{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--app);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.people{grid-template-columns:1fr 1fr;gap:10px;display:grid}.person{background:var(--surface);text-align:left;border:2px solid #0000;border-radius:18px;flex-direction:column;gap:8px;padding:12px;display:flex}.person[aria-pressed=true]{border-color:var(--moss)}.person .nm{align-items:center;gap:8px;font-weight:600;display:flex}.person .ct{color:var(--muted);font-size:13px}.cheer{color:var(--moss);background:var(--moss-soft);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:700}.cheer[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);background:0 0}.panel-h{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-h h3{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:12px;font-weight:700}.big-num{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.big-num .lbl{font-size:12px;font-weight:600}.big-num b{font-family:var(--display);font-variant-numeric:tabular-nums;margin-top:2px;font-size:34px;line-height:1;display:block}.big-num b small{color:var(--muted);margin-left:3px;font-size:16px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--muted);font-size:10px;font-family:var(--body);font-variant-numeric:tabular-nums}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .dot{fill:var(--muted);opacity:.5}.chart .avg{fill:none;stroke:var(--moss);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart .end{fill:var(--moss)}.sug{background:var(--moss-soft);border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.sug b{font-variant-numeric:tabular-nums;font-size:17px}.list{background:var(--surface);border-radius:18px;flex-direction:column;padding:0 14px;display:flex}.list-row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:13px 0;display:flex}.list-row:last-child{border-bottom:0}.weight-input{text-align:center;font-size:28px;font-weight:700}.toast{left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:20;background:var(--ink);max-width:520px;color:var(--app);border-radius:14px;align-items:center;gap:12px;margin:0 auto;padding:12px 14px;font-size:14px;font-weight:500;animation:.2s ease-out up;display:flex;position:fixed}.toast.top{bottom:auto;top:calc(12px + env(safe-area-inset-top))}.toast span{flex:1}.toast button{color:var(--app);text-underline-offset:3px;font-weight:700;text-decoration:underline}@media (prefers-reduced-motion:reduce){.sheet,.scrim,.toast{animation:none}.stone,.switch,.switch:after{transition:none}}
