:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--bg:#F3F1EC;--surface:#FBFAF7;--ink:#2B2D2F;--soft:#6E6962;--line:#DEDAD2;--chip:#ECE8E0;--good:#5F7A55;--warn:#A8742E;--accent-l:#9C8156;--accent-d:#D9C29A;--accent-ink-l:#FBFAF7;--accent-ink-d:#2B2D2F;--accent:var(--accent-l);--accent-ink:var(--accent-ink-l);--wash:color-mix(in srgb, var(--accent) 14%, var(--surface));--ui:"Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--hand:"Kalam", "Bradley Hand", "Segoe Print", cursive}:root[data-cover=sage]{--accent-l:#6F8264;--accent-d:#A9BC9C}:root[data-cover=charcoal]{--accent-l:#2B2D2F;--accent-d:#E7E2D8;--accent-ink-d:#2B2D2F}:root[data-cover=frost]{--accent-l:#5C7F9C;--accent-d:#A9C8E0}:root[data-cover=midnight]{--accent-l:#2F3A56;--accent-d:#9AA9D0}:root[data-cover=mulberry]{--accent-l:#7A3B57;--accent-d:#D59AB5}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#1E1F21;--surface:#28292C;--ink:#F1ECE3;--soft:#ABA59A;--line:#3A3B3F;--chip:#323337;--good:#9DBB8F;--warn:#E0B06A;--accent:var(--accent-d);--accent-ink:var(--accent-ink-d);color-scheme:dark}}:root[data-theme=dark]{--bg:#1E1F21;--surface:#28292C;--ink:#F1ECE3;--soft:#ABA59A;--line:#3A3B3F;--chip:#323337;--good:#9DBB8F;--warn:#E0B06A;--accent:var(--accent-d);--accent-ink:var(--accent-ink-d);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.app{max-width:440px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:12px 96px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:6px 14px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.14em;font-size:11px;text-transform:uppercase}.brand svg{width:44px;height:22px;text-transform:none}.brand svg text{text-transform:none}.iconbtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:36px;height:36px;display:grid;place-items:center}.iconbtn svg{width:18px;height:18px}.example{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--soft);background:var(--chip);border-radius:12px;padding:8px 12px;margin-bottom:14px}.example button{border:0;background:none;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:12px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);font-weight:600}h1{font-size:28px;line-height:1.15;margin:2px 0 4px;font-weight:700;text-wrap:balance;letter-spacing:-.01em}h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:600}.sub{color:var(--soft);margin:0;font-size:14px}.section{display:flex;flex-direction:column;gap:10px;margin-top:22px}.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.count{font-size:13px;color:var(--soft);font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.cta{display:flex;flex-direction:column;gap:10px;background:var(--wash);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:16px;padding:16px}.cta p{margin:0}.cta strong{font-size:16px}.btn{border:0;border-radius:999px;padding:11px 18px;font-weight:600;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center}.slots{display:flex;flex-direction:column;gap:8px}.slot{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:58px}.slot .n{font-size:12px;font-weight:700;color:var(--soft);width:14px;font-variant-numeric:tabular-nums}.slot .t{flex:1;min-width:0;overflow-wrap:anywhere}.slot .tag{display:block;font-size:12px;color:var(--soft)}.slot.done .t>span:first-child{text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:2px;color:var(--soft)}.slot.empty{border-style:dashed;background:transparent;color:var(--soft);justify-content:flex-start;width:100%;text-align:left}.check{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);background:transparent;display:grid;place-items:center;padding:0}.check svg{width:16px;height:16px;opacity:0}.done .check{background:var(--accent)}.done .check svg{opacity:1;stroke:var(--accent-ink)}.x{border:0;background:none;color:var(--soft);font-size:20px;line-height:1;padding:4px 6px}.won{display:flex;align-items:center;gap:12px;padding:6px 2px 0}.stamp{font-family:var(--hand);font-weight:700;font-size:30px;color:var(--accent);transform:rotate(-4deg);line-height:1}.won p{margin:0;color:var(--soft);font-size:13px}@keyframes pop{0%{transform:rotate(-4deg) scale(.6);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}.stamp.anim{animation:pop .35s ease-out}.winform{display:flex;gap:8px}.input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px}.input::placeholder{color:var(--soft)}.wins{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.wins li{display:flex;gap:10px;align-items:baseline;padding:6px 2px;border-bottom:1px dashed var(--line)}.wins .w{font-family:var(--hand);font-size:18px;flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.3}.wins time{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}.empty-note{color:var(--soft);font-size:13px;margin:0}.motto{margin-top:30px;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}.strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.dayc{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:12px;min-width:0}.dayc b{font-size:15px;font-variant-numeric:tabular-nums}.dayc.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.dayc .dl{font-size:11px;color:var(--soft);white-space:nowrap}.dayc .open{font-size:10px;font-weight:600;color:var(--good);text-transform:uppercase;letter-spacing:.06em}.dot{width:7px;height:7px;border-radius:50%;background:var(--line)}.dot.w{background:var(--accent)}.dot.p{background:color-mix(in srgb,var(--accent) 45%,var(--line))}.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plist li{display:flex;gap:10px;align-items:center}.star{color:var(--accent);font-size:16px;flex:none}.tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tasks li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.tasks li:last-child{border-bottom:0}.tasks .t{flex:1;min-width:0;overflow-wrap:anywhere}.tasks .due{font-size:12px;color:var(--soft);white-space:nowrap}.tasks .due.soon{color:var(--warn);font-weight:600}.box{flex:none;width:22px;height:22px;border-radius:6px;border:2px solid var(--soft);background:transparent;padding:0;display:grid;place-items:center}.box svg{width:14px;height:14px;opacity:0}.tasks li.done .box{background:var(--soft);border-color:var(--soft)}.tasks li.done .box svg{opacity:1;stroke:var(--surface)}.tasks li.done .t{text-decoration:line-through;color:var(--soft)}.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lines li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.lines li:last-child{border-bottom:0}.lines span:first-child{color:var(--soft)}.lines strong{font-variant-numeric:tabular-nums;text-align:right}.chart{width:100%;height:auto;display:block}.chart text{fill:var(--soft);font-family:var(--ui);font-size:11px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .bar{fill:color-mix(in srgb,var(--accent) 40%,var(--line))}.chart .bar.win{fill:var(--accent)}.chart .lbl{fill:var(--ink);font-weight:600}.plus{font-size:12px;color:var(--soft);margin:0}.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--chip);color:var(--soft);vertical-align:middle}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.tabs nav{max-width:440px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}.tab{border:0;background:none;padding:10px 4px 12px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--soft);letter-spacing:.04em}.tab svg{width:22px;height:22px}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] svg{stroke:var(--accent)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#1414166b;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:440px;max-height:92%;overflow:auto;background:var(--bg);border-radius:22px 22px 0 0;padding:18px max(18px,env(safe-area-inset-left,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:14px;animation:up .22s ease-out}@keyframes up{0%{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}.sheet h3{margin:0;font-size:22px;line-height:1.2;text-wrap:balance}.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 2px}.steps{display:flex;gap:6px}.steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}.steps i.on{background:var(--accent)}.opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.opt{width:100%;text-align:left;display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 12px}.opt .t{flex:1;min-width:0;overflow-wrap:anywhere}.opt .m{font-size:12px;color:var(--soft);white-space:nowrap}.opt[aria-pressed=true]{border-color:var(--accent);background:var(--wash)}.opt .mark{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center}.opt[aria-pressed=true] .mark{border-color:var(--accent);background:var(--accent)}.opt[aria-pressed=true] .mark:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chipb{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:500}.chipb[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.dlrow{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.dlrow:last-child{border-bottom:0}.dlrow .t{font-weight:500;overflow-wrap:anywhere}.early{display:flex;flex-direction:column;gap:10px}.early .fine{font-size:12px;color:var(--soft);margin:0}a.btn{text-decoration:none}.sheet .foot{display:flex;gap:10px;justify-content:space-between;align-items:center;position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom,0px));background:var(--bg);padding-block:10px 4px}.hint{font-size:13px;color:var(--soft);margin:0}.toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.toggle:last-child{border-bottom:0}.toggle small{display:block;color:var(--soft);font-size:12px}.sw{flex:none;width:46px;height:28px;border-radius:999px;border:0;background:var(--line);position:relative;padding:0}.sw:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);transition:left .15s}.sw[aria-checked=true]{background:var(--accent)}.sw[aria-checked=true]:after{left:21px}.covers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cover{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px}.cover i{width:28px;height:38px;border-radius:4px;display:block}.cover[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;max-width:calc(100% - 32px)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
