@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-hebrew-wght-normal-BPH8bhzJ.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-math-wght-normal-9gsQVfT-.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-symbols-wght-normal-CDk8D5aH.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-latin-ext-wght-normal-D5vEfs3i.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-latin-wght-normal-CXdlclQD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f7f3ee;--card: #ede8e0;--card-light: #faf7f4;--border: #e8ddd3;--primary: #8d6e63;--primary-light: #a1887f;--primary-lighter: #bcaaa4;--primary-dark: #5d4037;--text: #4e342e;--danger: #c0504d;--warn-bg: #fbeee6;--ok: #4f7a45;--ok-bg: #e9f2e5;--on-primary: #fff;--shadow: rgba(121, 85, 72, .08);--backdrop: rgba(0, 0, 0, .3);--radius: 16px;--ease: cubic-bezier(.32, .72, 0, 1);--ease-in: cubic-bezier(1, 0, .68, .28);--dur-press: .1s;--dur-release: .25s;--dur: .3s;--dur-enter: .45s;--material: color-mix(in srgb, var(--card-light) 78%, transparent);color-scheme:light;font-family:Heebo Variable,Segoe UI,Arial Hebrew,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--bg: #1b1613;--card: #2a221e;--card-light: #231d19;--border: #3b312b;--primary: #c9a596;--primary-light: #a99286;--primary-lighter: #8a766b;--primary-dark: #ead8ce;--text: #efe5de;--danger: #ee8c80;--warn-bg: #3a2420;--ok: #9ccb8f;--ok-bg: #1f2b1c;--on-primary: #1b1613;--shadow: rgba(0, 0, 0, .35);--backdrop: rgba(0, 0, 0, .65);color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100dvh;transition:background-color .4s ease}.page{max-width:560px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px max(32px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:24px}.page.login{min-height:100dvh;justify-content:center}.page.home{min-height:100dvh}.page>.page-footer{margin-top:auto}.center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.center-text{text-align:center;margin:0}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center}.row.two>*{flex:1}.row.top{align-items:flex-start}fieldset{border:0;padding:0;margin:0}.brand{font-size:2.25rem;font-weight:300;letter-spacing:3px;color:var(--primary);text-align:center;margin:0}.brand.small{font-size:1.4rem;text-align:start;color:var(--primary-dark)}.topbar{display:flex;justify-content:space-between;align-items:center}.logo{width:36px;height:36px;display:block}.menu{position:relative}.menu-toggle{background:none;border:0;padding:6px;border-radius:10px;color:var(--primary-dark);display:grid;place-items:center}.menu-toggle:hover{background:var(--card)}.menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.menu-panel{position:absolute;inset-inline-end:0;top:calc(100% + 6px);min-width:240px;background:var(--material);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 24px var(--shadow);padding:6px;z-index:15;display:flex;flex-direction:column;transform-origin:top left;opacity:0;transform:scale(.92);visibility:hidden;transition:opacity .2s var(--ease-in),transform .2s var(--ease-in),visibility 0s .2s}.menu-panel.open{opacity:1;transform:none;visibility:visible;transition:opacity var(--dur) var(--ease),transform var(--dur-enter) var(--ease),visibility 0s}[dir=ltr] .menu-panel{transform-origin:top right}.menu-section+.menu-section{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.menu-heading{font-size:.75rem;letter-spacing:.08em;color:var(--primary-light);padding:6px 10px 4px}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;background:none;border:0;font:inherit;font-size:.95rem;color:var(--text);text-align:start;text-decoration:none;padding:10px;border-radius:10px}.menu-item:hover{background:var(--card)}.menu-item.danger{color:var(--danger)}.menu-phone{font-size:.85rem;color:var(--primary);font-variant-numeric:tabular-nums}.section-title{font-size:.9rem;font-weight:600;color:var(--primary);margin:0;padding:0}.muted{color:var(--primary-light)}.small{font-size:.85rem}.error{color:var(--danger);font-size:.9rem;margin:0}.notice{background:var(--warn-bg);border-radius:12px;padding:12px 14px;font-size:.9rem;margin:0;line-height:1.5}.disclaimer{font-size:.75rem;color:var(--primary-lighter);text-align:center;margin:0}.disclaimer p{margin:0;line-height:1.7}.copyright{display:inline-flex;align-items:center;gap:4px}.copyright span{font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--primary);min-width:0}input,select{font:inherit;font-size:16px;color:var(--text);background:var(--card);border:1px solid transparent;border-radius:12px;padding:12px 14px;width:100%;min-width:0}.check{display:flex;align-items:center;gap:10px;color:var(--text)}.check input{width:22px;height:22px;padding:0;flex:none;accent-color:var(--primary)}input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-height:48px;text-align:start}input::-webkit-date-and-time-value{text-align:start;min-height:1.4em}input:focus,select:focus{outline:none;border-color:var(--primary-light)}button{font:inherit;cursor:pointer;touch-action:manipulation}.btn{background:var(--primary);color:var(--on-primary);border:0;border-radius:14px;padding:14px 18px;font-size:1rem;font-weight:500}.btn:disabled{background:var(--primary-lighter);cursor:default}.btn.secondary{background:var(--card);color:var(--primary-dark)}.btn.wide{width:100%}.btn-link{background:none;border:0;color:var(--primary);padding:8px;font-size:.95rem}.btn-ghost{background:none;border:0;color:var(--primary);padding:8px 10px;border-radius:10px;font-size:.9rem;text-decoration:none;white-space:nowrap}.btn-ghost:hover{background:var(--card)}.btn-ghost.danger{color:var(--danger)}.next-step{display:flex;flex-direction:column;gap:12px;padding-block:8px}.next-label{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:500;letter-spacing:.08em;color:var(--primary-light)}.next-badge{display:inline-flex;align-items:center;gap:6px;color:var(--primary);letter-spacing:normal}.next-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tone-positive .next-badge{color:var(--ok)}.tone-alert .next-badge,.tone-alert .next-label{color:var(--danger)}.next-message{font-size:2rem;font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--primary-dark);margin:0;text-wrap:balance}.next-message.small-message{font-size:1.15rem;font-weight:400;line-height:1.5;letter-spacing:normal}.next-details{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:.95rem;line-height:1.5;color:var(--primary)}.next-note{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--ok-bg);color:var(--ok);font-size:.85rem;font-weight:600;letter-spacing:.02em}.next-note:before{content:"✓"}.sunset{font-size:.95rem;font-weight:500;color:var(--primary)}.sunset.soon{color:var(--danger)}.sunset.passed{font-weight:400;color:var(--primary-light)}.zmanim{display:flex;gap:28px;margin:4px 0 0;padding-top:14px;border-top:1px solid var(--border)}.zman{display:flex;flex-direction:column;gap:2px}.zman dt{font-size:.75rem;color:var(--primary-light)}.zman dd{margin:0;font-size:1.15rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text)}.today{display:flex;flex-direction:column;gap:2px}.today-hebrew{font-size:1.15rem;font-weight:600;color:var(--primary-dark)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list-item{background:var(--card-light);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.item-title{font-weight:600;color:var(--primary-dark)}.mikva-row input:first-child{flex:3}.mikva-row input:nth-child(2){flex:2}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-btn{background:var(--card);color:var(--primary-dark);border:0;border-radius:14px;padding:14px 10px;font-size:.95rem;font-weight:500}.type-btn.selected{background:var(--primary);color:var(--on-primary)}.overlay{position:fixed;inset:0;overscroll-behavior:contain;display:flex;align-items:flex-end;justify-content:center;z-index:10}.scrim{position:absolute;inset:0;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0}.sheet{position:relative;will-change:transform,opacity;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -6px 24px var(--shadow);overscroll-behavior:contain;width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:0 16px max(24px,env(safe-area-inset-bottom))}.sheet-handle{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;padding:10px 0 12px;display:flex;flex-direction:column;align-items:center;gap:14px}.grabber{width:36px;height:5px;border-radius:999px;background:var(--primary-lighter);opacity:.6}.sheet-title{font-size:1.15rem;font-weight:500;text-align:center;margin:0 0 4px;color:var(--primary-dark)}@media(min-width:640px){.overlay{align-items:center}.sheet{border-radius:24px;padding:0 28px 28px}.sheet-handle{cursor:auto;padding-top:28px}.grabber{display:none}.page{padding-top:40px}}.btn.quick{padding:18px;font-size:1.1rem;font-weight:600}.tracker{display:flex;flex-direction:column;gap:10px}.tracker-head{display:flex;justify-content:space-between;align-items:baseline}.tracker-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.tracker-day{display:flex;justify-content:center}.tracker-dot{width:100%;max-width:44px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;border:2px solid var(--border);color:var(--primary-light);background:var(--card-light)}.tracker-day.required .tracker-dot{border-color:var(--primary-light);color:var(--primary-dark)}.tracker-day.done .tracker-dot{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tracker-day.missing .tracker-dot{border-color:var(--danger);color:var(--danger);background:var(--warn-bg)}.tracker-day.today .tracker-dot{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--primary)}.perisha{display:flex;flex-direction:column;gap:10px}.toast{position:fixed;inset-inline:16px;bottom:max(16px,env(safe-area-inset-bottom));margin:0 auto;max-width:528px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--text);color:var(--bg);box-shadow:0 6px 20px #00000040;z-index:20;animation:toast-in var(--dur-enter) var(--ease) both}.toast.leaving{animation:toast-out .25s var(--ease-in) both}@keyframes toast-in{0%{transform:translateY(calc(100% + 24px));opacity:0}}@keyframes toast-out{to{transform:translateY(calc(100% + 24px));opacity:0}}.toast-action{background:none;border:0;color:inherit;font-weight:700;text-decoration:underline;padding:8px 10px;min-height:44px}.cycles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cycle{background:var(--card-light);border:1px solid var(--border);border-radius:14px}.cycle.current{border-color:var(--primary-light)}.cycle summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-height:44px}.cycle summary::-webkit-details-marker{display:none}.cycle-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.cycle-title:after{content:"▾";color:var(--primary-light);order:3;transition:transform var(--dur) var(--ease)}.cycle details[open] .cycle-title:after{transform:rotate(180deg)}.cycle summary:active{background:var(--card);border-radius:14px}@supports (interpolate-size: allow-keywords){.cycle details{interpolate-size:allow-keywords}.cycle details::details-content{block-size:0;overflow:clip;transition:block-size var(--dur) var(--ease),content-visibility var(--dur) allow-discrete}.cycle details[open]::details-content{block-size:auto}}.cycle-badge{font-size:.75rem;border-radius:999px;padding:2px 10px;margin-inline-start:auto;background:var(--card);color:var(--primary-dark);white-space:nowrap}.cycle-badge.complete{background:var(--ok-bg);color:var(--ok)}.cycle-badge.interrupted{background:var(--warn-bg);color:var(--danger)}.cycle-events{padding:0 10px 10px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--card);border-radius:14px}.segmented button{border:0;border-radius:10px;padding:8px;min-height:40px;font:inherit;font-size:.95rem;background:transparent;color:var(--primary-dark)}.segmented button[aria-pressed=true]{background:var(--card-light);box-shadow:0 1px 4px var(--shadow);font-weight:600}.calendar{--niddah: color-mix(in srgb, var(--danger) 26%, var(--card-light));--hefsek: var(--primary);--nekiim: color-mix(in srgb, var(--primary) 18%, var(--card-light));--mikveh: color-mix(in srgb, var(--ok) 34%, var(--card-light));--perisha: #c98a2e;display:flex;flex-direction:column;gap:12px}@media(prefers-color-scheme:dark){.calendar{--perisha: #e0a54f}}.calendar-nav{display:flex;align-items:center;justify-content:space-between}.calendar-nav .btn-ghost{font-size:1.5rem;min-width:44px;min-height:44px;line-height:1}.calendar-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--primary-dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:.75rem;color:var(--primary-light);padding-bottom:2px}.calendar-day{position:relative;aspect-ratio:1;min-height:44px;border:1px solid transparent;border-radius:12px;padding:0;font:inherit;background:var(--card-light);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}button.calendar-day{cursor:pointer}button.calendar-day:active{filter:brightness(.93)}.calendar-hebrew{font-size:1rem;font-weight:500;line-height:1.1}.calendar-civil{font-size:.65rem;color:var(--primary-light);font-variant-numeric:tabular-nums}.calendar-day.niddah{background:var(--niddah)}.calendar-day.hefsek{background:var(--hefsek);color:var(--on-primary)}.calendar-day.hefsek .calendar-civil{color:inherit;opacity:.8}.calendar-day.nekiim{background:var(--nekiim)}.calendar-day.mikveh{background:var(--mikveh);font-weight:700}.calendar-day.perisha{border:2px dashed var(--perisha)}.calendar-day.future:not(.perisha){opacity:.65}.calendar-day.today{outline:2px solid var(--primary-dark);outline-offset:1px}.calendar-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary-dark)}.calendar-day .calendar-dot{position:absolute;bottom:4px}.calendar-day.hefsek .calendar-dot{background:var(--on-primary)}.calendar-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--primary-dark)}.calendar-legend li{display:flex;align-items:center;gap:6px}.swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--border)}.swatch.niddah{background:var(--niddah)}.swatch.hefsek{background:var(--hefsek)}.swatch.nekiim{background:var(--nekiim)}.swatch.mikveh{background:var(--mikveh)}.swatch.perisha{border:2px dashed var(--perisha)}.day-stage{margin:0;font-weight:600;color:var(--primary-dark)}.perisha-item{border-color:var(--perisha, var(--border))}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.checklist-progress{display:flex;flex-direction:column;gap:8px}.checklist-count{margin-inline-start:auto;font-variant-numeric:tabular-nums}.progress{block-size:8px;border-radius:999px;background:var(--card);overflow:hidden}.progress-fill{block-size:100%;border-radius:inherit;background:var(--primary);transition:inline-size var(--dur) var(--ease),background-color var(--dur) ease}.progress-fill.complete{background:var(--ok)}.checklist .cycle-title{justify-content:flex-start;gap:12px}.stage-number{inline-size:28px;block-size:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--card);color:var(--primary-dark);font-size:.85rem;font-weight:600}.checklist details:has(.cycle-badge.complete) .stage-number{background:var(--ok-bg);color:var(--ok)}.checklist-body{padding:0 8px 10px;display:flex;flex-direction:column;gap:8px}.checklist-group{display:flex;flex-direction:column}.checklist-group legend{padding:6px 8px 2px}.checklist-item{position:relative;display:flex;align-items:center;gap:12px;min-block-size:48px;padding:8px;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease,color .2s ease}.checklist-item:active{background:var(--card)}.checklist-item input{position:absolute;opacity:0;inline-size:1px;block-size:1px}.checklist-box{inline-size:24px;block-size:24px;flex:none;border-radius:50%;border:2px solid var(--primary-lighter);display:grid;place-items:center;transition:background-color var(--dur) ease,border-color var(--dur) ease}.checklist-box:after{content:"✓";color:var(--on-primary);font-size:.85rem;font-weight:700;transform:scale(0);transition:transform var(--dur) var(--ease)}.checklist-item.on .checklist-box{background:var(--ok);border-color:var(--ok)}.checklist-item.on .checklist-box:after{transform:scale(1)}.checklist-item.on>span:last-child{color:var(--primary-light);text-decoration:line-through;text-decoration-color:var(--primary-lighter)}.checklist-item:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}button,a,summary{-webkit-tap-highlight-color:transparent}.btn,.btn-link,.btn-ghost,.type-btn,.menu-toggle,.menu-item,.toast-action{transition:transform var(--dur-release) var(--ease),background-color .2s ease,color .2s ease}.btn:active:not(:disabled),.btn-link:active,.btn-ghost:active,.type-btn:active,.menu-toggle:active,.toast-action:active:not(:disabled){transform:scale(.96);transition-duration:var(--dur-press)}.btn.wide:active:not(:disabled),.menu-item:active{transform:scale(.98);transition-duration:var(--dur-press)}.btn-ghost:active,.menu-toggle:active,.menu-item:active{background:var(--card)}.tracker-dot{transition:background-color var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-enter);animation-timing-function:var(--ease)}html[data-nav=forward]::view-transition-old(root){animation-name:page-out-forward}html[data-nav=forward]::view-transition-new(root){animation-name:page-in-forward}html[data-nav=back]::view-transition-old(root){animation-name:page-out-back}html[data-nav=back]::view-transition-new(root){animation-name:page-in-back}@keyframes page-in-forward{0%{transform:translate(-24%);opacity:0}}@keyframes page-out-forward{to{transform:translate(12%);opacity:0}}@keyframes page-in-back{0%{transform:translate(12%);opacity:0}}@keyframes page-out-back{to{transform:translate(-24%);opacity:0}}@media(prefers-reduced-motion:reduce){.menu-panel{transform:none}@keyframes toast-in{0%{opacity:0}}@keyframes toast-out{to{opacity:0}}@keyframes page-in-forward{0%{opacity:0}}@keyframes page-out-forward{to{opacity:0}}@keyframes page-in-back{0%{opacity:0}}@keyframes page-out-back{to{opacity:0}}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}.cycle-title:after,.cycle details::details-content,.progress-fill,.checklist-box:after{transition:none}}@media(prefers-reduced-transparency:reduce){:root{--material: var(--card-light)}.menu-panel,.scrim{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){:root{--material: var(--card-light);--border: var(--primary)}.menu-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.sheet,.toast{border:1px solid var(--primary)}}
