@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2)format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff)format("woff")}:root{--sun:#ffc93c;--on-sun:#2b1b3d;--bg:#fff8ec;--surface:#fff;--surface-2:#fff1d2;--done-bg:#fffbf2;--line:#eadbc0;--ink:#2b1b3d;--quiet:#5d4f6b;--faint:#6e6280;--primary:#2b1b3d;--on-primary:#fff;--primary-icon:#ffc93c;--tick:#e8553f;--tick-strong:#c2412d;--ring-hit:#2b1b3d;--placeholder:#6e6280;--on-tick:#fff;--track:#f1e6d0;--error:#b3261e;--error-bg:#fce8e6;--side-bg:#2b1b3d;--side-ink:#fff8ec;--focus:#2b1b3d;--hover:#2b1b3d14;--scrim:#fff8ecb8;--shadow:#2b1b3d2e;--dot-ring:#2b1b3d59;--grip:#8c7f99;--radius:18px;--font-display:"Fredoka", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1324;--surface:#271c33;--surface-2:#33263f;--done-bg:#221830;--line:#46375a;--ink:#fff3dc;--quiet:#cbbfd8;--faint:#a597b4;--primary:#ffc93c;--on-primary:#2b1b3d;--primary-icon:#2b1b3d;--tick:#ff7a63;--tick-strong:#ff7a63;--ring-hit:#fff3dc;--placeholder:#a597b4;--on-tick:#2b1b3d;--track:#3a2d48;--error:#ff8a80;--error-bg:#3d1f24;--side-bg:#120c19;--side-ink:#fff3dc;--focus:#ffc93c;--hover:#fff3dc14;--scrim:#0a060e9e;--shadow:#00000073;--dot-ring:#fff3dc66;--grip:#a597b4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1b1324;--surface:#271c33;--surface-2:#33263f;--done-bg:#221830;--line:#46375a;--ink:#fff3dc;--quiet:#cbbfd8;--faint:#a597b4;--primary:#ffc93c;--on-primary:#2b1b3d;--primary-icon:#2b1b3d;--tick:#ff7a63;--tick-strong:#ff7a63;--ring-hit:#fff3dc;--placeholder:#a597b4;--on-tick:#2b1b3d;--track:#3a2d48;--error:#ff8a80;--error-bg:#3d1f24;--side-bg:#120c19;--side-ink:#fff3dc;--focus:#ffc93c;--hover:#fff3dc14;--scrim:#0a060e9e;--shadow:#00000073;--dot-ring:#fff3dc66;--grip:#a597b4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.4}p,.lead,li{text-wrap:pretty}h1,h2,h3{text-wrap:balance;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--ink);font-weight:700}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.app{background:var(--bg);flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (width>=700px){.app{box-shadow:0 0 0 1px var(--line)}.app.auth{max-width:480px;min-height:auto;box-shadow:0 0 0 1px var(--line), 0 24px 60px var(--shadow);border-radius:28px;margin:48px auto;overflow:hidden}.app.auth .auth-hero{border-radius:0 0 28px 28px}}.display{font-family:var(--font-display);font-weight:600}.hero{background:var(--sun);color:var(--on-sun);padding:calc(env(safe-area-inset-top) + 20px) 16px 18px 22px;border-radius:0 0 28px 28px;flex-direction:column;gap:12px;display:flex}.hero a,.hero .icon-btn{color:var(--on-sun)}.hero :focus-visible{outline-color:var(--on-sun)}.hero-row{align-items:flex-start;gap:2px;display:flex}.hero-date{font-size:14px;font-weight:700}.hero-title{font-family:var(--font-display);font-size:30px;font-weight:600;line-height:1.1}.hero-sub{margin:4px 0 0;font-size:15px;font-weight:700}.icon-btn{width:44px;height:44px;color:var(--ink);background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--hover)}.hero .icon-btn:hover{background:#2b1b3d1a}.icon-btn:disabled{opacity:.3;cursor:default}.progress{flex-direction:column;gap:6px;padding-right:6px;display:flex}.progress-top{justify-content:space-between;font-size:14px;font-weight:700;display:flex}.progress-bar{background:#fff8ec;border-radius:999px;height:14px;overflow:hidden}.progress-fill{background:#2b1b3d;border-radius:999px;height:100%;transition:width .4s}.auth-hero{background:var(--sun);color:var(--on-sun);padding:calc(env(safe-area-inset-top) + 40px) 24px 28px;border-radius:0 0 28px 28px;flex-direction:column;gap:12px;display:flex}.auth-hero.center{text-align:center;align-items:center}.brand{font-family:var(--font-display);align-items:center;gap:12px;font-size:30px;font-weight:600;display:flex}.auth-body{padding:24px 24px calc(env(safe-area-inset-bottom) + 28px);flex-direction:column;flex-grow:1;gap:16px;display:flex}.lead{margin:0;font-size:17px;line-height:1.5}.muted{color:var(--quiet)}.small{font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field>label,.label{font-size:15px;font-weight:700}.input{border:2px solid var(--ink);background:var(--surface);border-radius:16px;width:100%;height:52px;padding:0 16px;font-size:16px}textarea.input{resize:vertical;height:auto;min-height:96px;padding:12px 16px;line-height:1.45}.input[aria-invalid=true],.input-wrap[data-invalid=true]{border-color:var(--error)}.input-wrap{border:2px solid var(--ink);background:var(--surface);border-radius:16px;align-items:center;padding-right:4px;display:flex}.input-wrap input{background:0 0;border:none;flex-grow:1;min-width:0;height:48px;padding:0 14px;font-size:16px}.input-wrap input:focus{outline:none}.input-wrap:focus-within{outline:3px solid var(--focus);outline-offset:2px}.field-error{color:var(--error);align-items:flex-start;gap:6px;font-size:14px;font-weight:600;display:flex}.field-error svg{flex-shrink:0;margin-top:2px}.form-error{background:var(--error-bg);color:var(--error);border-radius:14px;padding:12px 14px;font-size:15px;font-weight:600}.notice{background:var(--surface-2);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5}.strength{gap:6px;padding-top:4px;display:flex}.strength span{background:var(--line);border-radius:3px;flex:1;height:6px}.strength span.on{background:var(--ink)}.check-row{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;font-size:15px;line-height:1.45;display:flex}.check-row input{width:24px;height:24px;accent-color:var(--primary);flex-shrink:0;margin:1px 0 0}.btn{border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary);font-family:var(--font-display);min-height:56px;font-size:18px;font-weight:600}.btn-primary:disabled{opacity:.55;cursor:default}.btn-sun{background:var(--sun);color:var(--on-sun)}.btn-tick{background:var(--tick-strong);color:var(--on-tick);font-family:var(--font-display);min-height:56px;font-size:18px;font-weight:600}.btn-outline{border:2px solid var(--ink);color:var(--ink);background:0 0}.btn-small{min-height:44px;padding:0 16px;font-size:15px}.btn-danger{border:2px solid var(--error);color:var(--error);background:0 0}.btn-text{min-height:44px;color:var(--ink);text-underline-offset:3px;background:0 0;border:none;padding:0 8px;font-weight:700;text-decoration:underline}.btn-text.danger{color:var(--error)}.btn-block{width:100%}.center-text{text-align:center}.spacer{flex-grow:1}.code-box{background:var(--surface);border:2px dashed var(--ink);border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:22px 16px;display:flex}.code{letter-spacing:1px;text-align:center;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:21px;font-weight:700;line-height:1.6}main.list{flex-direction:column;flex-grow:1;gap:10px;padding:16px 16px 140px;display:flex}.section-title{font-family:var(--font-display);justify-content:space-between;align-items:center;margin:10px 0 2px 6px;font-size:20px;font-weight:600;display:flex}.section-title:first-child{margin-top:0}.section-sub{color:var(--quiet);margin:-4px 0 2px 6px;font-size:14px}.row{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);touch-action:manipulation;align-items:center;gap:2px;min-height:64px;padding:6px 4px;display:flex;position:relative}.row:focus-within{border-color:var(--quiet)}.row.dragging{box-shadow:0 10px 24px var(--shadow);z-index:5}.row.leaving{animation:.52s .26s forwards leave}@keyframes leave{to{opacity:0;transform:translate(24px)}}.row-main{text-align:left;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-grow:1;gap:2px;min-width:0;padding:8px 4px;display:flex}.row-title{overflow-wrap:anywhere;font-size:17px;font-weight:700}.row-meta{color:var(--quiet);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:flex}.row-meta span{align-items:center;gap:4px;display:inline-flex}.row.done .row-title{color:var(--quiet);font-weight:600;text-decoration:line-through}.check{background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;position:relative}.check svg{overflow:visible}.grip{width:36px;height:44px;color:var(--grip);touch-action:none;cursor:grab;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.star-btn{background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.star-btn:hover{background:var(--hover)}.note-mark{width:48px;height:48px;color:var(--quiet);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pile{border-radius:var(--radius);background:var(--surface-2);text-align:left;border:none;align-items:center;gap:10px;width:100%;min-height:52px;margin-top:6px;padding:0 8px 0 10px;font-size:16px;font-weight:700;display:flex}.pile .muted{margin-left:auto;font-size:14px;font-weight:600}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty p{margin:0}.offline{background:var(--primary);color:var(--on-primary);border-radius:999px;align-self:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.calm-banner{background:var(--side-bg);color:var(--side-ink);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.calm-banner svg{color:var(--sun);flex-shrink:0;margin-top:2px}.calm-banner .btn-text{color:var(--side-ink);min-height:36px;padding:0}.quickadd{width:100%;max-width:640px;padding:10px 16px calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(to top, var(--bg) 70%, transparent);z-index:20;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.quickadd-preview{flex-wrap:wrap;gap:6px;padding:0 4px 8px;display:flex}.chip{background:var(--surface);border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.chip.sun{background:var(--sun);color:var(--on-sun);border-color:var(--on-sun)}.chip.tagged{color:var(--on-sun);border-color:var(--on-sun)}.chip.warn{border-color:var(--error);color:var(--error)}.chip button{color:inherit;background:0 0;border:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:0;display:inline-flex}.quickadd-row{align-items:center;gap:10px;display:flex}.quickadd-row input{border:2px solid var(--ink);background:var(--surface);border-radius:999px;flex-grow:1;min-width:0;height:56px;padding:0 20px;font-size:16px}.round-btn{background:var(--primary);width:56px;height:56px;color:var(--primary-icon);border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.round-btn.listening{background:var(--tick);color:var(--on-tick);animation:1.2s infinite pulse}@keyframes pulse{50%{transform:scale(1.06)}}.backdrop{background:var(--scrim);z-index:40;justify-content:center;align-items:flex-end;animation:.16s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92dvh;padding:8px 20px calc(env(safe-area-inset-bottom) + 24px);box-shadow:0 -2px 0 var(--line), 0 -18px 50px var(--shadow);border-radius:28px 28px 0 0;flex-direction:column;gap:16px;animation:.22s up;display:flex;overflow-y:auto}.sheet>*{flex-shrink:0}@keyframes up{0%{opacity:.6;transform:translateY(40px)}}@media (width>=700px){.backdrop{align-items:center}.sheet{max-height:86dvh;box-shadow:0 0 0 1px var(--line), 0 24px 60px var(--shadow);border-radius:28px}}.sheet-handle{background:var(--line);border-radius:3px;align-self:center;width:44px;height:5px;margin-top:4px}.sheet-head{align-items:center;gap:8px;display:flex}.sheet-head h2{font-family:var(--font-display);flex-grow:1;font-size:22px;font-weight:600}.saved-state{color:var(--quiet);white-space:nowrap;font-size:13px;font-weight:700}.sheet-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seg{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.seg button{background:0 0;border:none;border-radius:999px;flex:1;min-height:44px;padding:0 6px;font-size:15px;font-weight:700}.seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:12px;padding:14px;display:flex}.inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.inline>.field{flex:1;min-width:130px}.chips{flex-wrap:wrap;gap:8px;display:flex}.pick{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:999px;padding:0 14px;font-size:14px;font-weight:700}.pick:hover{border-color:var(--ink)}.pick[aria-pressed=true]{background:var(--sun);border-color:var(--on-sun);color:var(--on-sun)}.toggle-row{align-items:center;gap:12px;min-height:48px;display:flex}.toggle-row .grow{flex-direction:column;flex-grow:1;display:flex}.switch{background:0 0;border:none;border-radius:999px;flex-shrink:0;width:60px;height:44px;padding:0;position:relative}.switch:before{content:"";box-sizing:border-box;border:2px solid var(--ink);background:var(--surface);border-radius:999px;height:34px;position:absolute;top:5px;left:2px;right:2px}.switch:after{content:"";background:var(--ink);border-radius:999px;width:22px;height:22px;transition:transform .16s;position:absolute;top:11px;left:8px}.switch[aria-checked=true]:before{background:var(--sun);border-color:var(--on-sun)}.switch[aria-checked=true]:after{background:var(--on-sun);transform:translate(22px)}.menu-list{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.menu-list>*{text-align:left;border:none;border-bottom:1px solid var(--line);min-height:56px;color:var(--ink);background:0 0;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.menu-list>:last-child{border-bottom:none}.menu-list>button:hover,.menu-list>a:hover{background:var(--surface-2)}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);background:var(--side-bg);color:var(--side-ink);z-index:35;width:max-content;max-width:calc(100% - 32px);box-shadow:0 8px 20px var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-weight:700;animation:.2s up;display:flex;position:fixed;transform:translate(-50%)}.toast button{background:var(--sun);color:var(--on-sun);border:none;border-radius:999px;min-height:44px;padding:0 16px;font-weight:800}.confetti{pointer-events:none;position:absolute;top:50%;left:50%}.confetti i{border-radius:2px;width:7px;height:7px;animation:.65s ease-out forwards burst;position:absolute;top:-3px;left:-3px}@keyframes burst{to{transform:translate(var(--x), var(--y)) rotate(var(--r));opacity:0}}@media (prefers-reduced-motion:reduce){.confetti,.row.leaving,.sheet,.backdrop,.toast{animation:none!important}.confetti i{display:none}*{scroll-behavior:auto!important}}.search-bar{align-items:center;gap:6px;display:flex}.search-bar input{border:2px solid var(--on-sun);color:#2b1b3d;background:#fff;border-radius:999px;flex-grow:1;min-width:0;height:48px;padding:0 18px;font-size:16px}.loading{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;display:flex}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.week-day{font-family:var(--font-display);margin-top:8px;font-size:17px;font-weight:600}.week-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0 8px 4px;display:flex}.shell{min-height:100dvh}.side{display:none}.tabs{background:#fff8ec;border-radius:999px;margin-right:6px;padding:4px;display:flex}.tabs button{color:#2b1b3d;background:0 0;border:none;border-radius:999px;flex:1;min-height:44px;font-size:15px;font-weight:800}.tabs button[aria-selected=true]{color:#fff;background:#2b1b3d}kbd{border:1.5px solid;border-radius:6px;padding:0 5px;font-family:inherit;font-size:12px;font-weight:800}@media (width>=1024px){.shell{grid-template-columns:264px minmax(0,1fr);max-width:1280px;margin:0 auto;display:grid}.side{background:var(--side-bg);height:100dvh;color:var(--side-ink);flex-direction:column;gap:6px;padding:24px 14px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.side-brand{font-family:var(--font-display);align-items:center;gap:10px;padding:0 8px 16px;font-size:22px;font-weight:600;display:flex}.side-head{letter-spacing:1.2px;text-transform:uppercase;opacity:.85;padding:16px 12px 4px;font-size:12px;font-weight:800}.side-nav{flex-direction:column;gap:2px;display:flex}.side-nav button{min-height:44px;color:var(--side-ink);text-align:left;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:16px;font-weight:700;display:flex}.side-nav button:hover{background:#fff8ec1a}.side-nav button[aria-current=page]{background:var(--sun);color:var(--on-sun)}.side-nav button.quiet{opacity:.9;text-underline-offset:3px;font-size:14px;font-weight:600;text-decoration:underline}.side-nav .count{background:#fff8ec29;border-radius:999px;padding:1px 8px;font-size:13px;font-weight:800}.side-nav button[aria-current=page] .count{background:#2b1b3d1f}.side-tag{align-items:center;gap:8px;display:inline-flex}.side-foot{flex-direction:column;gap:12px;margin-top:auto;padding:16px 8px 0;display:flex}.side-foot .btn-outline{border-color:var(--side-ink);color:var(--side-ink);align-self:flex-start}.side-foot .muted{color:var(--side-ink);opacity:.85;margin:0;line-height:1.7}.side :focus-visible{outline-color:var(--sun)}.shell>.app{width:100%;max-width:880px;box-shadow:none;margin:0 auto}.mobile-only{display:none!important}.hero{border-radius:0 0 28px 28px;padding:28px 32px 22px}.quickadd{z-index:auto;background:0 0;width:auto;max-width:none;padding:18px 32px 0;position:static;left:auto;transform:none}main.list{padding:16px 32px 48px}.toast{bottom:28px}}.tag{color:#2b1b3d;border-radius:999px;align-items:center;padding:2px 10px;font-size:13px;font-weight:800;display:inline-flex}.tag.small{padding:1px 8px;font-size:12px}.dot{border:1.5px solid var(--dot-ring);border-radius:999px;flex-shrink:0;width:12px;height:12px;display:inline-block}.tag-filter{scrollbar-width:none;gap:8px;margin:0 -16px;padding:14px 16px 2px;display:flex;overflow-x:auto}.tag-filter::-webkit-scrollbar{display:none}.tag-pick{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.tag-pick[aria-pressed=true],.tag-pick.selected{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.tag-pick.ghost{border-style:dashed;border-color:var(--ink);background:0 0}.tag-pick .count{opacity:.85;font-size:12px}.tag-editor{overflow:visible}.tag-edit-row{flex-direction:column;gap:10px;align-items:stretch!important;padding:12px 14px!important}.tag-edit-top{align-items:center;gap:8px;display:flex}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid var(--dot-ring);border-radius:999px;width:44px;height:44px;padding:0}.swatch[aria-checked=true]{border:3px solid var(--ink);box-shadow:inset 0 0 0 3px var(--surface)}.day-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:4px;padding:4px;display:flex}.day-label{flex-direction:column;flex-grow:1;align-items:center;display:flex}.day-label strong{font-family:var(--font-display);font-size:18px;font-weight:600}.habit-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.habit-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 10px 8px 6px;display:flex}.habit-card.done{background:var(--done-bg)}.habit-main{text-align:left;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-grow:1;gap:6px;min-width:0;padding:6px 8px;display:flex}.habit-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.habit-name{font-size:17px;font-weight:800}.habit-card.done .habit-name{color:var(--quiet)}.habit-count{font-family:var(--font-display);white-space:nowrap;font-size:16px;font-weight:600}.habit-sub{color:var(--quiet);font-size:13px}.habit-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.segments{gap:4px;display:flex}.segments span{background:var(--track);border-radius:4px;flex:1;height:8px}.segments span.on{background:var(--tick)}.bar{background:var(--track);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--tick);border-radius:4px;height:100%}.round-btn.small{width:48px;height:48px}.mini-btn{border:2px solid var(--ink);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tough-banner{background:var(--side-bg);color:var(--side-ink);border-radius:var(--radius);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.tough-banner svg{color:var(--sun);flex-shrink:0;margin-top:2px}.ideas{background:var(--surface-2);border-radius:20px;flex-direction:column;gap:2px;margin-top:6px;padding:14px 14px 8px 16px;display:flex}.idea{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:6px 0;display:flex}.idea .grow{flex-direction:column;flex-grow:1;min-width:160px;display:flex}.btn.dashed{border-style:dashed}.day-picks{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day-pick{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:12px;font-weight:800}.day-pick[aria-pressed=true]{background:var(--sun);border-color:var(--on-sun);color:var(--on-sun)}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.pick.square{border-radius:12px;min-height:44px;padding:0 6px}.month-head{justify-content:space-between;align-items:center;display:flex}.cal{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.cal-head{color:var(--quiet);padding-bottom:2px;font-size:12px;font-weight:800}.cal-day{height:40px;color:var(--quiet);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;font-size:14px;display:flex;position:relative}.cal-day.kept{background:var(--sun);color:var(--on-sun);justify-self:center;width:40px;font-weight:700}.cal-day.hit{background:var(--sun);color:var(--on-sun);box-shadow:0 0 0 3px var(--ring-hit);justify-self:center;width:40px;font-weight:800}.cal-day.off,.cal-day.future{color:var(--faint)}.cal-day .tough-mark{color:var(--ink);position:absolute;top:-3px;right:0}.note-dot{background:var(--tick);border-radius:999px;width:6px;height:6px;position:absolute;bottom:2px}.cal-key{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cal-key span{align-items:center;gap:6px;display:inline-flex}.k{border-radius:999px;width:14px;height:14px;display:inline-block}.k.kept{background:var(--sun)}.k.hit{background:var(--sun);box-shadow:0 0 0 2px var(--ring-hit)}.k.note{background:var(--tick);width:7px;height:7px}.stat-row{gap:10px;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex:1;padding:12px 14px}.overview{flex-direction:column;display:flex}.overview button{text-align:left;justify-content:space-between;align-items:center;gap:10px;min-height:52px;display:flex}.overview button[aria-pressed=true]{background:var(--surface-2);box-shadow:inset 4px 0 0 var(--tick)}.overview .ov-num{font-family:var(--font-display);white-space:nowrap;font-weight:600}main.list.habits{padding-bottom:48px}.time-rows{flex-direction:column;gap:10px;display:flex}.time-row{grid-template-columns:minmax(96px,auto) minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.time-row .time-label{font-size:15px;font-weight:700}.time-row select,.time-row input{height:48px}.rem-row{background:var(--bg);border-radius:14px;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 4px 6px 8px;display:flex}.rem-row .rem-fields{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.rem-row input.input,.rem-row select.input{border-radius:12px;width:auto;height:44px;padding:0 10px}.rem-row input[type=number]{width:70px}.rem-row input[type=date]{flex:140px;min-width:0}.rem-row .rem-fields select.input{flex:0 auto}.rem-row .rem-fields .small{flex-basis:100%;padding-left:2px}.rem-row .icon-btn{flex-shrink:0}@media (width<=359px){.habit-card{flex-wrap:wrap}.habit-actions{justify-content:flex-end;width:100%;padding:0 0 4px}.hero-title{font-size:26px}}.section-h{font:inherit;flex-grow:1;margin:0}.section-title .btn-text.small{font-size:14px;font-family:var(--font-body)}.move-btns{flex-shrink:0;display:flex}.move-btns~.grip{display:none}.deleted-row{flex-wrap:wrap;padding:10px 12px 10px 16px!important}.deleted-row .grow,.tips>div{flex-direction:column;flex:160px;gap:2px;display:flex}.tips>div{align-items:flex-start!important;padding:10px 16px!important}.count-pill{background:var(--surface-2);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:13px;font-weight:800}.pick:disabled{opacity:.45;cursor:default}@media (width>=1024px){main.list .quickadd{padding:2px 0 6px}}.hero .icon-btn[aria-pressed=true]{background:var(--on-sun);color:var(--sun)}.rem-row>svg{color:var(--quiet);flex-shrink:0;align-self:center}.hero-row>div{min-width:0}.hero-title,.hero-date{overflow-wrap:anywhere}.hero,.tabs,.tabs button,.row-meta{min-width:0}.row-meta span{overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;max-width:100%}.pile{flex-wrap:wrap;height:auto;min-height:52px;padding-top:6px;padding-bottom:6px}.tabs button{overflow-wrap:anywhere;height:auto;padding:4px 6px}.checkin-row{grid-template-columns:minmax(0,1fr) 96px 56px;align-items:center;gap:10px;min-height:56px;display:grid}.checkin-row .grow{flex-direction:column;display:flex}.checkin-row select.input{height:44px;padding:0 8px}.checkin-row select:disabled{opacity:.5}.ask-card{background:var(--surface);border:2px solid var(--sun);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.ask-card svg{flex-shrink:0;margin-top:3px}.ask-card .grow{flex-direction:column;flex:1;gap:8px;display:flex}.hero-row{flex-wrap:wrap}.hero-row>div:first-child{flex:170px}.btn{overflow-wrap:anywhere;text-align:center;max-width:100%}.ask-card,.ask-card .grow{overflow-wrap:anywhere;min-width:0}::placeholder{color:var(--placeholder);opacity:1}.check-row input{width:26px;height:26px}@media (width<=1023px){.toast{top:calc(env(safe-area-inset-top) + 12px);animation:.2s down;bottom:auto}}@keyframes down{0%{opacity:.6;transform:translate(-50%,-16px)}}@media (pointer:coarse){.row:not(.moving) .grip{display:none}}.hero-tools{flex-shrink:0;align-items:center;display:flex}.hero-chips{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tough-chip{border:2px solid var(--on-sun);min-height:40px;color:var(--on-sun);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.tough-chip[aria-pressed=true]{background:var(--on-sun);color:var(--sun)}.hero .tough-chip:focus-visible{outline-color:var(--on-sun)}.tabs button{padding:0 4px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero,:root:not([data-theme=light]) .auth-hero{color:#fff3dc;box-shadow:inset 0 -4px 0 var(--sun);background:#2b1b3d}:root:not([data-theme=light]) .hero-title,:root:not([data-theme=light]) .auth-hero .brand{color:var(--sun)}:root:not([data-theme=light]) .hero .icon-btn,:root:not([data-theme=light]) .hero a,:root:not([data-theme=light]) .tough-chip{color:#fff3dc;border-color:#fff3dc}:root:not([data-theme=light]) .tough-chip[aria-pressed=true]{background:var(--sun);color:#2b1b3d;border-color:var(--sun)}:root:not([data-theme=light]) .hero :focus-visible{outline-color:var(--sun)}:root:not([data-theme=light]) .progress-bar{background:#46375a}:root:not([data-theme=light]) .progress-fill{background:var(--sun)}}:root[data-theme=dark] .hero,:root[data-theme=dark] .auth-hero{color:#fff3dc;box-shadow:inset 0 -4px 0 var(--sun);background:#2b1b3d}:root[data-theme=dark] .hero-title,:root[data-theme=dark] .auth-hero .brand{color:var(--sun)}:root[data-theme=dark] .hero .icon-btn,:root[data-theme=dark] .hero a,:root[data-theme=dark] .tough-chip{color:#fff3dc;border-color:#fff3dc}:root[data-theme=dark] .tough-chip[aria-pressed=true]{background:var(--sun);color:#2b1b3d;border-color:var(--sun)}:root[data-theme=dark] .hero :focus-visible{outline-color:var(--sun)}:root[data-theme=dark] .progress-bar{background:#46375a}:root[data-theme=dark] .progress-fill{background:var(--sun)}.prompt-card{text-align:left;background:var(--surface);border:2px solid var(--sun);border-radius:var(--radius);width:100%;min-height:64px;color:var(--ink);align-items:center;gap:12px;padding:12px 16px;display:flex}.prompt-card .grow{flex-direction:column;flex:1;gap:2px;display:flex}.prompt-card svg{flex-shrink:0}.today-empty{margin:0 6px}.today-habits{flex-direction:column;gap:10px;margin-top:4px;display:flex}.link-row-group{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.link-row-group .btn-text{align-items:center;gap:6px;display:inline-flex}.week-dots{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;gap:6px;padding:8px 12px;display:flex}.week-dots .wd{color:var(--quiet);flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.week-dots .wd i{border:2px solid var(--line);border-radius:999px;width:14px;height:14px;display:block}.week-dots .wd.kept i{background:var(--sun);border-color:var(--on-sun)}.starter{flex-direction:column;gap:10px;display:flex}.starter h2{margin:4px 6px 2px;font-size:22px}.starter-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.starter-card.row-card{flex-flow:wrap;align-items:center;gap:12px}.starter-card.row-card .grow{flex:180px}.starter-card .pick{text-align:left}.more-row{border:1px solid var(--line);background:var(--surface);text-align:left;width:100%;min-height:52px;color:var(--ink);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;display:flex}.more-body{flex-direction:column;gap:16px;display:flex}.check-line{align-items:center;gap:10px;min-height:44px;display:flex}.check-line input{width:24px;height:24px;accent-color:var(--primary);flex-shrink:0}.check-line label{overflow-wrap:anywhere;flex:1;font-weight:600}.check-line label.done{color:var(--quiet);text-decoration:line-through}.rem-row.past{box-shadow:inset 3px 0 0 var(--error)}.past-note{color:var(--error);font-weight:700}.row-meta .no-push{color:var(--quiet)}.kind-summary{margin:0 4px;font-weight:700;line-height:1.5}.pick-list>button{gap:12px}.pick-list>button[aria-pressed=true]{background:var(--surface-2)}.pick-list>button:disabled{opacity:.5}.pick-list .grow{flex-direction:column;flex:1;padding:8px 0;display:flex}.plain-list{margin:0;padding-left:20px}.link-row{border:none;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:44px;color:var(--ink);background:0 0;font-weight:600}.checkin-block{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.checkin-block:last-of-type{border-bottom:none}.small-days .day-pick{min-height:40px;font-size:13px}.stamp{white-space:nowrap;font-family:var(--font-display);color:var(--tick-strong);pointer-events:none;z-index:3;font-size:15px;font-weight:600;animation:.7s ease-out forwards stamp;position:absolute;top:-6px;left:44px;transform:rotate(-8deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-8deg)scale(1.6)}20%{opacity:1;transform:rotate(-8deg)scale(1)}80%{opacity:1}to{opacity:0;transform:rotate(-8deg)translateY(-6px)}}@media (prefers-reduced-motion:reduce){.stamp{opacity:0;animation:none}}.row.selected{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--sun)}.sheet.panel{height:100dvh;max-height:none;box-shadow:-1px 0 0 var(--line);border-radius:0;max-width:none;animation:none;position:sticky;top:0}@media (width>=1280px){.shell.with-panel{grid-template-columns:264px minmax(0,1fr) 440px;max-width:none}.shell.with-panel>.app{max-width:760px}}[data-look=paper] main.list{background:linear-gradient(90deg,#0000 0 14px,#e8553f59 14px 15px,#0000 15px)}[data-look=paper] .row{border:none;border-bottom:1.5px solid var(--line);background:0 0;border-radius:0}[data-look=paper] .row-title{font-family:"Caveat", var(--font-display);font-size:25px;font-weight:600;line-height:1.1}[data-look=paper] .row.done .row-title{text-decoration:line-through;-webkit-text-decoration-color:var(--tick-strong);text-decoration-color:var(--tick-strong);text-decoration-thickness:2px}[data-look=paper] .check svg circle{stroke-dasharray:3 2}[data-look=paper] .section-title{font-family:"Caveat", var(--font-display);font-size:28px}.tough-chip,.link-row-group .btn-text,.prompt-card{overflow-wrap:anywhere;white-space:normal;text-align:left;max-width:100%}.hero-chips,.link-row-group{min-width:0}:root{--list-scale:1}:root[data-text=small]{--list-scale:.88}:root[data-text=large]{--list-scale:1.15}.row-title{font-size:calc(17px * var(--list-scale))}.row-meta{font-size:calc(13px * var(--list-scale))}.habit-name{font-size:calc(17px * var(--list-scale))}.habit-sub{font-size:calc(13px * var(--list-scale))}.habit-count{font-size:calc(16px * var(--list-scale))}[data-look=paper] .row-title{font-size:calc(25px * var(--list-scale))}.row-title{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hero{gap:8px}.hero-row{flex-wrap:nowrap;align-items:center}.hero-row>.hero-head{flex-wrap:wrap;flex:auto;align-items:baseline;gap:0 10px;min-width:0;display:flex}.hero-date{opacity:.9;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:800}.progress{gap:4px}.progress-top{font-size:13px}.progress-bar{height:10px}.hero-sub{margin:0;font-size:14px}.tough-chip{min-height:40px}@media (width<=1023px){.hero{padding:calc(env(safe-area-inset-top) + 8px) 10px 12px 18px;border-radius:0 0 22px 22px}.hero-title{font-size:22px;line-height:1.15}}@media (width>=1024px){.hero-head{flex-direction:column;align-items:flex-start!important}.hero-title{font-size:30px}.hero-date{font-size:14px}}.slim-bar{z-index:25;width:100%;max-width:640px;padding:env(safe-area-inset-top) 8px 0 6px;min-height:calc(env(safe-area-inset-top) + 52px);background:var(--sun);color:var(--on-sun);box-shadow:0 6px 16px var(--shadow);visibility:hidden;border-radius:0 0 18px 18px;align-items:center;gap:4px;transition:transform .18s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%,-110%)}.slim-bar.on{visibility:visible;transform:translate(-50%)}.slim-bar .icon-btn{color:var(--on-sun)}.slim-title{min-width:0;min-height:44px;color:inherit;text-align:left;font-family:var(--font-display);background:0 0;border:none;border-radius:12px;flex:auto;align-items:center;gap:10px;padding:0 10px;font-size:18px;font-weight:600;display:flex}.slim-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slim-count{font-family:var(--font-body,inherit);border:1.5px solid;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:13px;font-weight:800}.slim-bar :focus-visible{outline-color:var(--on-sun)}@media (prefers-reduced-motion:reduce){.slim-bar{transition:none}}.bottom-tabs{z-index:22;background:var(--surface);border-top:1px solid var(--line);width:100%;max-width:640px;padding:4px 8px env(safe-area-inset-bottom);box-shadow:0 -6px 18px var(--shadow);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-tabs [role=tablist]{gap:4px;display:flex}.bottom-tabs button{min-width:0;min-height:56px;color:var(--quiet);overflow-wrap:anywhere;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:13px;font-weight:800;display:flex}.bottom-tabs .bt-icon{border-radius:999px;justify-content:center;align-items:center;width:56px;height:30px;display:inline-flex}.bottom-tabs button[aria-selected=true]{color:var(--ink)}.bottom-tabs button[aria-selected=true] .bt-icon{background:var(--sun);color:var(--on-sun)}@media (width<=1023px){.quickadd{bottom:calc(env(safe-area-inset-bottom) + 64px);padding-bottom:10px}main.list{padding-bottom:210px}main.list.habits{padding-bottom:96px}.toast{z-index:36}}.day-picker{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:8px 8px 6px;display:flex}.dp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:0 6px;display:flex}.dp-head strong{font-size:18px}.dp-head .btn-text{min-height:36px;padding:0 4px;font-size:14px}.dp-days{gap:2px;display:flex}.dp-day{min-width:0;min-height:64px;color:var(--ink);background:0 0;border:2px solid #0000;border-radius:14px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 0;display:flex}.dp-letter{color:var(--quiet);font-size:12px;font-weight:800}.dp-num{font-size:15px;font-weight:800}.dp-day i{border:2px solid var(--line);border-radius:999px;width:12px;height:12px;margin-top:2px;display:block}.dp-day.kept i{background:var(--sun);border-color:var(--on-sun)}.dp-day[aria-current=date] .dp-num{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.dp-day[aria-pressed=true]{border-color:var(--ink);background:var(--done-bg)}.dp-day[aria-pressed=true] .dp-letter{color:var(--ink)}.habit-tools{flex-wrap:wrap;row-gap:6px}.habit-tools .btn{white-space:nowrap}.habit-tools>span{text-align:right}.name-card{gap:6px}.name-card .name-show{overflow-wrap:anywhere;font-size:20px}.name-card .btn{align-self:flex-start}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .slim-bar{color:var(--sun);box-shadow:inset 0 -3px 0 var(--sun), 0 6px 16px var(--shadow);background:#2b1b3d}:root:not([data-theme=light]) .slim-bar .icon-btn{color:#fff3dc}:root:not([data-theme=light]) .slim-bar :focus-visible{outline-color:var(--sun)}}:root[data-theme=dark] .slim-bar{color:var(--sun);box-shadow:inset 0 -3px 0 var(--sun), 0 6px 16px var(--shadow);background:#2b1b3d}:root[data-theme=dark] .slim-bar .icon-btn{color:#fff3dc}:root[data-theme=dark] .slim-bar :focus-visible{outline-color:var(--sun)}
