:root{color-scheme:light;--background:#f4f5f8;--surface:#ffffff;--surface-soft:#f7f8fb;--foreground:#111111;--muted:#6d7280;--hairline:#e6e8ef;--accent:#4f6fff;--accent-soft:#edf1ff;--danger:#111111;--shadow:0 18px 48px rgba(17,17,17,0.08);--safe-bottom:env(safe-area-inset-bottom)}:root[data-theme=night]{color-scheme:dark;--background:#101114;--surface:#181a1f;--surface-soft:#20232a;--foreground:#ffffff;--muted:#a6abb7;--hairline:#2b2f38;--accent:#7f95ff;--accent-soft:#202947;--shadow:0 18px 48px rgba(0,0,0,0.28)}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--background)}body{min-height:100vh;margin:0;color:var(--foreground);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;background:var(--background)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:max(14px,env(safe-area-inset-top)) 20px 12px;background:color-mix(in srgb,var(--background) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar[data-centered=true]{justify-content:center}.topbar[data-centered=true] .brand-mark{display:none}.topbar[data-centered=true] .brand{min-height:32px;font-size:1.05rem}.brand{display:inline-flex;align-items:center;gap:10px;min-height:40px;font-weight:900;letter-spacing:0}.brand-mark{width:30px;height:30px;border-radius:10px;background:url(/apple-touch-icon-v3.png) 50%/cover no-repeat;display:inline-block;box-shadow:0 8px 20px rgba(17,17,17,.14)}.layout{min-height:calc(100vh - 64px)}.page{width:100%;max-width:980px;margin:0 auto;padding:14px 16px calc(86px + var(--safe-bottom))}.bottom-nav{position:fixed;right:12px;bottom:calc(10px + var(--safe-bottom));left:12px;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;max-width:460px;margin:0 auto;padding:6px;border:1px solid var(--hairline);border-radius:28px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-link{display:grid;place-items:center;grid-gap:2px;gap:2px;min-height:48px;border-radius:18px;color:var(--muted);font-size:.6rem;font-weight:800}.nav-link span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.nav-link[data-active=true]{background:var(--accent);color:#ffffff}.more-page{gap:14px}.more-header,.more-list{border:1px solid var(--hairline);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.more-header{display:grid;grid-gap:4px;gap:4px;padding:20px}.more-header h1{margin:0;font-size:clamp(2.2rem,11vw,4.2rem);line-height:.95}.more-list{display:grid;grid-gap:8px;gap:8px;padding:10px}.more-module-link{display:grid;grid-template-columns:42px 1fr 24px;grid-gap:12px;gap:12px;align-items:center;min-height:58px;border-radius:20px;background:var(--surface-soft);padding:8px 12px 8px 8px}.more-module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:var(--surface);color:var(--accent)}.more-module-link strong{font-size:1rem}.memory-page{gap:14px}.memory-create-card,.memory-header,.memory-library-card,.memory-practice-card{border:1px solid var(--hairline);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;padding:18px}.memory-create-card h2,.memory-header h1,.memory-library-card h2,.memory-practice-card h2{margin:0}.memory-header h1{font-size:clamp(2.3rem,12vw,4.3rem);line-height:.94}.memory-practice-card .section-title-row strong{align-self:start;border-radius:999px;background:var(--accent-soft);color:var(--accent);padding:8px 11px}.memory-practice-card small,.memory-preview,.memory-saved,.poem-library-row small{color:var(--muted);font-weight:900}.poem-text-card{display:grid;grid-gap:18px;gap:18px;border-radius:24px;background:var(--surface-soft);padding:18px}.poem-text-card p{margin:0;white-space:pre-line;font-size:1.12rem;line-height:1.72}.memory-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.memory-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:0;border-radius:999px;color:#ffffff;font-weight:900}.memory-action.learned{background:#17a34a}.memory-action.not-learned{background:#e5484d}.memory-action.skip{grid-column:1/-1;background:var(--surface-soft);color:var(--foreground)}.memory-form{display:grid;grid-gap:10px;gap:10px}.memory-form input,.memory-form textarea{width:100%;border:1px solid var(--hairline);border-radius:18px;background:var(--surface-soft);color:var(--foreground);padding:12px 13px;outline:none}.memory-form textarea{resize:vertical;line-height:1.5}.memory-form input:focus,.memory-form textarea:focus{border-color:color-mix(in srgb,var(--accent) 56%,var(--hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.memory-library-card{gap:10px}.poem-library-row{display:grid;grid-gap:10px;gap:10px;border-radius:20px;background:var(--surface-soft);padding:12px}.poem-library-row>div:first-child{display:grid;grid-gap:4px;gap:4px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.countdown-list-card{padding-bottom:84px}.countdown-screen{position:relative}.countdown-page{display:grid;grid-gap:12px;gap:12px}.compact-heading{padding-bottom:0}.countdown-card-list{display:grid;grid-gap:12px;gap:12px;padding-bottom:84px}.countdown-list-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;width:100%;min-height:78px;border:0;border-radius:24px;background:var(--surface);box-shadow:var(--shadow);color:var(--foreground);padding:12px 14px;text-align:left;cursor:pointer}.countdown-avatar,.creation-icon-preview{display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--event-color) 14%,var(--surface));color:var(--event-color);font-weight:900}.countdown-avatar{width:52px;height:52px;font-size:1.35rem}.countdown-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:900}.countdown-list-days{display:grid;justify-items:end;min-width:72px}.countdown-list-days b{color:var(--accent);font-size:2rem;line-height:.92}.countdown-list-days[data-since=true] b,.detail-days[data-since=true]{color:#17a34a}.countdown-list-days small{color:var(--muted);font-size:.72rem;font-weight:900}.countdown-detail-page{display:grid;grid-gap:14px;gap:14px;min-height:calc(100vh - 174px);padding-top:calc(70px + env(safe-area-inset-top));padding-bottom:96px}.countdown-native-header{position:relative;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:50px}.countdown-native-header strong{justify-self:center;font-size:1.05rem}.countdown-detail-topbar{position:fixed;top:0;right:0;left:0;z-index:12;width:min(100%,980px);height:calc(56px + env(safe-area-inset-top));margin:0 auto;box-sizing:border-box;padding:env(safe-area-inset-top) 18px 0;background:color-mix(in srgb,var(--background) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.countdown-detail-topbar .overflow-wrap{justify-self:end}.habits-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:18;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:54px;margin:-14px -16px 0;padding:max(10px,env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb,var(--background) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.habits-topbar strong{justify-self:center;font-size:1.05rem}.habits-topbar .overflow-wrap{justify-self:end}.habits-header-menu{min-width:118px}.habits-header-menu button{display:grid;grid-template-columns:20px 1fr;grid-gap:8px;gap:8px;align-items:center}.recipes-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:18;display:grid;grid-template-columns:84px 1fr 84px;align-items:center;min-height:54px;margin:-14px -16px 0;padding:max(10px,env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb,var(--background) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.recipes-topbar strong{justify-self:center;font-size:1.05rem}.recipes-header-actions{display:flex;justify-self:end;gap:8px}.recipes-header-menu{min-width:132px}.recipes-header-menu button{display:grid;grid-template-columns:20px 1fr;grid-gap:8px;gap:8px;align-items:center}.compact-control{justify-self:start;min-height:36px;padding:0 12px}.danger-text{justify-self:end;min-height:36px;border:0;border-radius:999px;background:var(--foreground);color:var(--surface);padding:0 14px;font-weight:900}.danger-text:disabled{opacity:.36}.detail-menu{position:absolute;right:0;top:46px;z-index:10;display:grid;width:168px;border:1px solid var(--hairline);border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);padding:8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.detail-menu button{display:grid;grid-template-columns:22px 1fr;grid-gap:8px;gap:8px;align-items:center;min-height:42px;border:0;border-radius:14px;background:transparent;color:var(--foreground);padding:0 10px;text-align:left;font-weight:900}.countdown-detail-card{display:grid;justify-items:center;grid-gap:18px;gap:18px;width:min(100%,430px);margin:0 auto;border-radius:34px;background:var(--surface);box-shadow:var(--shadow);padding:22px}.detail-calendar{display:grid;grid-gap:12px;gap:12px;width:100%}.detail-calendar h2{margin:0;text-align:center;font-size:1.05rem}.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.calendar-mini-grid>span{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:900}.calendar-mini-grid>span[data-target=true]{color:var(--foreground)}.calendar-day-number{position:relative;z-index:2;display:inline-grid;place-items:center;width:1.7em;height:1.7em}.calendar-target-ring{position:absolute;inset:-3px;z-index:1;overflow:visible;fill:none;pointer-events:none;stroke:var(--event-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:4.6}.calendar-target-ring path+path{opacity:.68;stroke-width:3.6}.calendar-target-ring path:last-child{opacity:.42;stroke-width:3}.countdown-detail-card h1{margin:0;text-align:center;font-size:1.35rem}.detail-days{color:var(--accent);font-size:clamp(5rem,28vw,8rem);line-height:.82}.countdown-detail-card p{margin:0;color:var(--muted);font-weight:900}.creation-screen{position:fixed;inset:0;z-index:60;background:var(--background);overflow-y:auto}.creation-sheet{display:grid;grid-gap:18px;gap:18px;width:min(100%,680px);margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 18px calc(28px + var(--safe-bottom))}.creation-topbar,.icon-picker-top{display:grid;grid-template-columns:44px 1fr auto;align-items:center;grid-gap:8px;gap:8px}.creation-topbar strong{justify-self:center;font-size:1.05rem}.save-button{min-height:38px;border:0;border-radius:999px;background:var(--accent);color:#ffffff;padding:0 16px;font-weight:900}.creation-icon-preview{justify-self:center;width:96px;height:96px;font-size:2.4rem}.creation-name-input{min-height:54px;border:0;border-radius:20px;background:var(--surface);color:var(--foreground);box-shadow:var(--shadow);padding:0 18px;text-align:center;font-size:1.15rem;font-weight:900}.creation-rows,.icon-picker-native{display:grid;overflow:hidden;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.creation-rows label{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:56px;border-bottom:1px solid var(--hairline);padding:0 14px}.creation-rows label:last-child{border-bottom:0}.creation-rows span,.native-icon-category>span{color:var(--muted);font-size:.82rem;font-weight:900}.creation-rows input,.creation-rows select{min-width:0;min-height:42px;border:0;background:transparent;color:var(--foreground);text-align:right;font-weight:900}.icon-picker-native{gap:14px;padding:12px}.icon-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:999px;background:var(--surface-soft);padding:4px}.icon-tabs button{min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:900}.icon-tabs button[data-active=true]{background:var(--surface);color:var(--foreground)}.color-row,.native-icon-category div{display:flex;flex-wrap:wrap;gap:10px}.color-choice,.native-icon-choice{display:grid;place-items:center;border:0;border-radius:999px;cursor:pointer}.color-choice{width:32px;height:32px;background:var(--event-color)}.color-choice[data-active=true]{outline:3px solid color-mix(in srgb,var(--event-color) 30%,transparent);outline-offset:2px}.native-icon-category{display:grid;grid-gap:10px;gap:10px}.native-icon-choice{position:relative;width:48px;height:48px;background:color-mix(in srgb,var(--event-color) 12%,var(--surface-soft));color:var(--event-color);font-weight:900}.native-icon-choice svg{position:absolute;right:-2px;bottom:-2px;border-radius:999px;background:var(--event-color);color:#ffffff}.empty-state{border:1px solid var(--hairline);border-radius:24px;background:var(--surface);color:var(--muted);padding:22px;text-align:center;font-weight:900}.countdown-event-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto 42px;grid-gap:12px;gap:12px;align-items:center;min-height:92px;border:1px solid var(--hairline);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:14px}.countdown-icon,.icon-choice{display:grid;place-items:center;border-radius:18px;background:var(--accent-soft);color:var(--accent);font-weight:900}.countdown-icon{width:52px;height:52px;font-size:1.4rem}.countdown-event-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.countdown-event-main strong{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.countdown-days span,.countdown-event-main span,.icon-picker-group>span{color:var(--muted);font-size:.76rem;font-weight:900}.countdown-days{display:grid;justify-items:end;grid-gap:2px;gap:2px}.countdown-days b{font-size:2rem;line-height:.95}.overflow-wrap{position:relative}.overflow-menu{position:absolute;right:0;top:44px;z-index:5;display:grid;min-width:132px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);padding:6px}.overflow-menu button{min-height:38px;border:0;border-radius:12px;background:transparent;color:var(--foreground);padding:0 10px;text-align:left;font-weight:900}.countdown-sheet{max-height:min(86vh,760px);overflow-y:auto}.icon-picker{display:grid;grid-gap:12px;gap:12px;border-radius:22px;background:var(--surface-soft);padding:12px}.icon-picker-group{display:grid;grid-gap:8px;gap:8px}.icon-picker-group div{display:flex;flex-wrap:wrap;gap:8px}.icon-choice{min-width:44px;height:44px;border:0;padding:0 10px;cursor:pointer}.icon-choice[data-active=true]{background:var(--accent);color:#ffffff}.floating-action{position:fixed;right:22px;bottom:calc(96px + var(--safe-bottom));z-index:35;display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:999px;background:var(--accent);color:#ffffff;box-shadow:0 18px 34px rgba(79,111,255,.34);cursor:pointer}.sheet-backdrop{position:fixed;inset:0;z-index:60;display:grid;align-items:end;background:rgba(0,0,0,.36);padding:16px}.bottom-sheet{display:grid;grid-gap:14px;gap:14px;width:min(100%,620px);margin:0 auto;border:1px solid var(--hairline);border-radius:28px 28px 18px 18px;background:var(--surface);box-shadow:var(--shadow);padding:20px}.icon-only{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--foreground);cursor:pointer}.app-stack,.stack{display:grid;grid-gap:16px;gap:16px}.daybook-page{margin:-14px -16px 0;gap:12px;padding:0 16px}.daybook-capture-card,.daybook-date-nav,.daybook-list-card{border:1px solid var(--hairline);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.daybook-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:18;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:calc(58px + env(safe-area-inset-top));margin:0 -16px;padding:env(safe-area-inset-top) 16px 0;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.daybook-date-context{display:grid;grid-gap:1px;gap:1px;justify-items:center;text-align:center}.daybook-date-context strong{font-size:1.02rem}.daybook-date-context span{color:var(--muted);font-size:.7rem;font-weight:900}.daybook-capture-card,.daybook-list-card{padding:16px}.daybook-capture-form{display:grid;grid-gap:10px;gap:10px}.daybook-capture-form textarea,.entry-edit textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--hairline);border-radius:20px;background:var(--surface-soft);color:var(--foreground);padding:14px;outline:none}.daybook-capture-form textarea:focus,.entry-edit textarea:focus{border-color:color-mix(in srgb,var(--accent) 56%,var(--hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.inline-error{margin:0;color:var(--foreground);font-size:.82rem;font-weight:900}.daybook-date-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;padding:8px}.daybook-date-nav button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--foreground);font-size:.78rem;font-weight:900}.daybook-date-nav button[data-active=true]{background:var(--accent);color:#ffffff}.daybook-history{gap:12px}.history-month{display:grid;grid-gap:8px;gap:8px}.history-month h2{margin:0;font-size:1rem}.history-month button{display:grid;grid-template-columns:1fr auto;grid-gap:3px 10px;gap:3px 10px;align-items:center;min-height:54px;border:0;border-radius:18px;background:var(--surface-soft);color:var(--foreground);padding:10px 12px;text-align:left}.history-month span,.history-month strong{font-weight:900}.history-month small{grid-column:1/-1;color:var(--muted);font-weight:800}.daybook-list-card{display:grid;grid-gap:14px;gap:14px}.daybook-list-card .section-title-row h2{margin:0;font-size:1.2rem}.daybook-counter-detail{display:block;margin-top:3px;color:var(--muted);font-weight:900}.daybook-entry-list{display:grid;grid-gap:10px;gap:10px}.daybook-entry{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 38px;grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--hairline);border-radius:22px;background:var(--surface-soft);padding:12px}.daybook-entry[data-done=true] .entry-body p{color:var(--muted);text-decoration:line-through}.entry-check,.entry-dot{display:grid;place-items:center;width:24px;height:24px;margin-top:2px;border-radius:999px}.entry-check{border:2px solid var(--accent);background:transparent;color:var(--accent)}.entry-check[data-checked=true]{background:var(--accent);color:#ffffff}.entry-dot{background:var(--surface)}.entry-dot:after{width:6px;height:6px;border-radius:999px;background:var(--muted);content:""}.entry-body{display:grid;grid-gap:6px;gap:6px;min-width:0}.entry-body p{margin:0;line-height:1.35;word-break:break-word}.entry-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.entry-type{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:var(--surface);padding:0 9px;font-weight:900}.entry-meta small,.entry-type{color:var(--muted);font-size:.72rem}.entry-meta small{font-weight:800}.entry-menu-wrap{position:relative}.entry-menu{position:absolute;top:42px;right:0;z-index:9;display:grid;grid-gap:4px;gap:4px;min-width:182px;border:1px solid var(--hairline);border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);padding:8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.entry-menu button,.entry-menu label{display:grid;grid-gap:5px;gap:5px;min-height:38px;border:0;border-radius:14px;background:transparent;color:var(--foreground);padding:8px 10px;text-align:left;font-weight:900}.entry-menu button{grid-template-columns:18px 1fr;align-items:center}.entry-menu .menu-text-action{display:block}.entry-menu label span{color:var(--muted);font-size:.72rem}.entry-menu select{min-height:34px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-soft);padding:0 8px;font-weight:900}.danger-menu-item,.entry-menu select{color:var(--foreground)}.entry-edit{display:grid;grid-gap:8px;gap:8px}.entry-edit div{display:flex;gap:8px}.cycle-calendar-panel,.cycle-day,.cycle-summary-card,.habit-cycle-card,.habit-summary-strip,.hero-panel,.panel,.stat,.status-card,.today-hero,.water-hero{border:1px solid var(--hairline);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.today-hero{display:grid;grid-gap:18px;gap:18px;min-height:260px;padding:26px;background:#111111;color:#ffffff}.today-state-hero{display:grid;grid-gap:8px;gap:8px;padding:22px 4px 4px}.today-state-hero h1{margin:0;font-size:clamp(2.35rem,12vw,4.8rem);line-height:.95}.today-state-list{display:grid;grid-gap:10px;gap:10px}.today-state-row{display:grid;grid-template-columns:28px 1fr auto;grid-gap:10px;gap:10px;align-items:center;min-height:66px;border:1px solid var(--hairline);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);padding:14px}.today-state-row svg{color:var(--accent)}.today-state-row span{color:var(--muted);font-weight:900}.today-state-row strong{justify-self:end;font-size:1.2rem}.today-state-row small{grid-column:2/-1;color:var(--muted);font-weight:800}.today-daybook-preview{display:grid;grid-gap:6px;gap:6px}.today-daybook-preview span{overflow:hidden;color:var(--foreground);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.compact-state-card{gap:10px}.hero-panel h1,.screen-heading h1,.today-hero h1{margin:0;font-size:clamp(2.8rem,14vw,5.6rem);line-height:.92;letter-spacing:0}.date-line,.eyebrow{margin:0;color:var(--muted);font-size:.82rem;font-weight:900}.today-hero .date-line,.today-hero .eyebrow{color:rgba(255,255,255,.68)}.hero-metrics{display:flex;flex-wrap:wrap;gap:8px}.amount-button,.hero-metrics span,.pill-action,.segmented-control button{border:0;border-radius:999px;font-weight:900}.hero-metrics span{padding:10px 12px;background:rgba(255,255,255,.12);color:#ffffff}.cycle-calendar-panel,.hero-panel,.panel,.status-card{display:grid;grid-gap:14px;gap:14px;padding:20px}.hero-panel h2,.panel h2,.record h2,.status-card h2{margin:0;font-size:1.25rem;line-height:1.15}.cycle-day p,.hero-panel p,.panel p,.record p,.status-card p{margin:0;color:var(--muted);line-height:1.45}.card-heading,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-heading{justify-content:flex-start;color:var(--muted);font-size:.82rem;font-weight:900}.card-heading svg,.card-link{color:var(--accent)}.card-link{display:inline-flex;align-items:center;gap:2px;font-weight:900}.content-grid,.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.compact-card strong{font-size:1.55rem}.screen-heading{display:grid;grid-gap:8px;gap:8px;padding:8px 4px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading-row h1{margin:0}.cycle-summary-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden}.cycle-summary-card div{display:grid;grid-gap:8px;gap:8px;min-height:104px;padding:16px;background:var(--surface)}.cycle-pill small,.cycle-pill span,.cycle-summary-card span,.habit-check-row small,.habit-grid-day small,.soft-row small,.stat span{color:var(--muted);font-size:.78rem;font-weight:800}.cycle-summary-card strong{align-self:end;font-size:1.7rem}.cycle-calendar-panel{box-shadow:none}.cycle-strip{display:grid;grid-auto-flow:column;grid-auto-columns:138px;grid-gap:10px;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.cycle-pill{display:grid;grid-gap:8px;gap:8px;min-height:154px;padding:16px;border:1px solid var(--hairline);border-radius:26px;background:var(--surface);scroll-snap-align:start}.cycle-pill[data-current=true]{background:var(--accent);color:#ffffff}.cycle-pill[data-current=true] small,.cycle-pill[data-current=true] span{color:rgba(255,255,255,.78)}.cycle-pill strong{align-self:center;font-size:3rem}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px;padding:6px;border-radius:999px;background:var(--surface-soft)}.segmented-control.three-way{grid-template-columns:repeat(3,1fr)}.segmented-control button{min-height:44px;background:transparent;color:var(--muted);cursor:pointer}.segmented-control button[data-active=true]{background:var(--surface);color:var(--foreground);box-shadow:0 8px 20px rgba(17,17,17,.08)}.habit-groups{display:grid;grid-gap:14px;gap:14px}.habit-check-row{display:grid;grid-template-columns:34px 1fr;grid-gap:12px;gap:12px;align-items:center;width:100%;min-height:58px;border:0;border-radius:18px;background:var(--surface-soft);color:var(--foreground);padding:10px;text-align:left;cursor:pointer}.habit-check-row span:last-child{display:grid;grid-gap:3px;gap:3px}.check-dot,.habit-grid-cell{display:grid;place-items:center;border-radius:999px}.check-dot{width:30px;height:30px;background:var(--surface);color:#ffffff}.habit-check-row[data-complete=true] .check-dot,.habit-grid-cell[data-complete=true]{background:var(--accent);color:#ffffff}.habit-cycle-card{overflow:hidden;padding:12px}.habit-grid-scroll{max-height:min(68vh,680px);overflow:auto;padding-bottom:6px;overscroll-behavior:contain}.habit-grid{display:grid;grid-template-columns:132px repeat(14,58px);grid-gap:6px;gap:6px;min-width:max-content}.habit-grid-cell,.habit-grid-corner,.habit-grid-day,.habit-grid-name{min-height:52px;border:0;border-radius:16px;background:var(--surface-soft);color:var(--foreground)}.habit-grid-corner,.habit-grid-name{display:flex;align-items:center;padding:0 12px;font-weight:900}.habit-grid-corner{top:0;z-index:5;box-shadow:8px 8px 18px rgba(17,17,17,.08)}.habit-grid-corner,.habit-grid-name{position:-webkit-sticky;position:sticky;left:0}.habit-grid-name{z-index:3;box-shadow:8px 0 18px rgba(17,17,17,.06)}.habit-grid-day{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:grid;place-items:center;grid-gap:0;gap:0;padding:8px 4px;box-shadow:0 8px 18px rgba(17,17,17,.06)}.habit-grid-cell{cursor:pointer}.water-hero{display:grid;justify-items:center;grid-gap:16px;gap:16px;padding:26px}.water-ring{place-items:center;width:min(78vw,280px);background:radial-gradient(circle at center,var(--surface) 0 61%,transparent 62%),conic-gradient(var(--accent) var(--progress),var(--surface-soft) 0)}.water-ring,.water-ring-center{display:grid;aspect-ratio:1;border-radius:999px}.water-ring-center{place-items:center;grid-gap:8px;gap:8px;width:72%;background:var(--surface);text-align:center;padding:18px}.water-ring-center strong{font-size:clamp(1.45rem,7vw,2.2rem);line-height:1.02}.water-ring-center span{color:var(--muted);font-size:.92rem;font-weight:900}.preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.water-quick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.water-quick-row .amount-button{min-height:42px}.water-stats-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;border:1px solid var(--hairline);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);padding:12px}.water-stats-strip div{display:grid;grid-gap:3px;gap:3px}.water-stats-strip span{color:var(--muted);font-size:.72rem;font-weight:900}.water-stats-strip strong{font-size:.96rem}.inline-control{justify-self:start}.quick-add-editor{display:grid;grid-gap:10px;gap:10px;border-radius:22px;background:var(--surface-soft);padding:12px}.amount-button,.pill-action,.primary-action,.theme-toggle{min-height:46px;background:var(--accent-soft);color:var(--accent);padding:0 14px;cursor:pointer}.amount-button:disabled,.pill-action:disabled,.primary-action:disabled{cursor:not-allowed;opacity:.45}.manual-form{display:grid;grid-gap:8px;gap:8px}.manual-form label{color:var(--muted);font-size:.82rem;font-weight:900}.input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack select,.form-stack textarea,.habit-actions select,.manual-form input,.record-row input{min-width:0;min-height:46px;border:0;border-radius:18px;background:var(--surface-soft);color:var(--foreground);padding:0 16px}.manual-form input{border-radius:999px}.form-stack label{display:grid;grid-gap:6px;gap:6px}.form-stack label span{color:var(--muted);font-size:.72rem;font-weight:900;padding-left:4px}.form-grid textarea,.form-stack textarea{min-height:92px;padding:14px 16px;resize:vertical}.form-stack{display:grid;grid-gap:10px;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.labeled-form-grid label{display:grid;grid-gap:6px;gap:6px}.labeled-form-grid span{color:var(--muted);font-size:.72rem;font-weight:900;padding-left:4px}.button-row,.habit-actions,.icon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ghost-button,.habit-actions button,.icon-actions button,.record-row>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--foreground);padding:0 12px;font-weight:900;cursor:pointer}.list,.soft-list{display:grid;grid-gap:8px;gap:8px}.record,.record-row,.row,.soft-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;border-radius:18px;background:var(--surface-soft);padding:12px}.record div,.record-row span,.shopping-check,.soft-row span{display:grid;grid-gap:3px;gap:3px}.record-row[data-complete=true]{opacity:.55}.shopping-check{flex:1 1;border:0;background:transparent;color:var(--foreground);padding:0;text-align:left}.quiet-pill{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:0 12px;font-size:.78rem;font-weight:900}.habit-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:14px}.habit-summary-strip div:not(.summary-progress){display:grid;grid-gap:3px;gap:3px}.habit-summary-strip strong{font-size:1.25rem}.habit-summary-strip span{color:var(--muted);font-size:.75rem;font-weight:900}.summary-progress{grid-column:1/-1;height:8px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.summary-progress span{display:block;height:100%;border-radius:999px;background:var(--accent)}.compact-form-card{gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.cycle-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.cycle-date-cell{display:grid;grid-gap:5px;gap:5px;min-height:86px;border-radius:20px;background:var(--surface-soft);padding:10px}.cycle-date-cell small,.cycle-date-cell span{color:var(--muted);font-size:.72rem;font-weight:900}.cycle-date-cell .calendar-date{color:var(--foreground);font-size:.84rem}.cycle-date-cell strong{align-self:center;font-size:1.7rem}.cycle-date-cell[data-current=true]{background:var(--accent);color:#ffffff}.cycle-date-cell[data-current=true] small,.cycle-date-cell[data-current=true] span{color:rgba(255,255,255,.78)}.food-calendar-page{position:relative}.food-calendar-hero{display:grid;grid-gap:4px;gap:4px;padding:4px 2px}.food-calendar-hero span{color:var(--muted);font-size:.78rem;font-weight:900}.food-calendar-hero strong{font-size:1.6rem}.food-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.food-day-card{display:grid;grid-gap:6px;gap:6px;min-height:152px;border:0;border-radius:26px;background:var(--surface);box-shadow:var(--shadow);color:var(--foreground);padding:14px;text-align:left}.food-day-card:before{display:block;width:34px;height:5px;border-radius:999px;background:var(--food-accent,var(--hairline));content:""}.food-day-card em,.food-day-card small,.food-day-card span{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:900}.food-day-card strong{font-size:2.2rem;line-height:1}.food-day-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-day-card em{justify-self:start;border-radius:999px;background:var(--surface-soft);padding:5px 9px}.food-day-card[data-status=Cook] em{background:color-mix(in srgb,var(--food-accent) 18%,var(--surface));color:var(--food-accent)}.food-day-card[data-status=Empty]{opacity:.72}.food-day-sheet,.food-session-sheet{max-height:min(88vh,760px);overflow-y:auto}.food-detail-session{display:grid;grid-gap:8px;gap:8px;border-radius:22px;background:var(--surface-soft);padding:14px}.food-detail-session p,.food-detail-session span{margin:0;color:var(--muted);font-size:.82rem;font-weight:800}.seasonal-market{gap:14px}.seasonal-region-select{display:grid;grid-gap:4px;gap:4px;justify-items:end}.seasonal-region-select span{color:var(--muted);font-size:.68rem;font-weight:900}.seasonal-region-select select{min-height:34px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--foreground);padding:0 10px;font-size:.78rem;font-weight:900}.seasonal-row{display:grid;grid-gap:8px;gap:8px}.seasonal-row>span{color:var(--muted);font-size:.78rem;font-weight:900}.seasonal-row div{display:flex;flex-wrap:wrap;gap:8px}.seasonal-chip{display:grid;grid-gap:3px;gap:3px;border:0;border-radius:18px;background:var(--surface-soft);color:var(--foreground);padding:8px 10px;text-align:left}.seasonal-chip b{font-size:.82rem}.seasonal-chip small,.seasonal-row small{color:var(--muted);font-size:.72rem;font-weight:900}.seasonal-row>div>small{border-radius:999px;background:var(--surface-soft);padding:8px 10px;font-size:.78rem}.seasonal-note{margin:0;color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.35}.seasonal-year-list{display:grid;grid-gap:10px;gap:10px}.seasonal-year-row{display:grid;grid-gap:8px;gap:8px;width:100%;border:0;border-radius:20px;background:var(--surface-soft);color:var(--foreground);padding:12px;text-align:left}.seasonal-year-row>span{font-weight:900}.seasonal-year-row small{color:var(--muted);font-size:.74rem;font-weight:900}.month-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:3px;gap:3px;width:100%}.month-strip span{display:grid;place-items:center;min-height:22px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.62rem;font-weight:900}.month-strip span[data-season=true]{background:var(--accent-soft);color:var(--accent)}.month-strip span[data-peak=true]{background:var(--accent);color:#ffffff}.seasonal-detail-sheet{gap:14px}.habit-edit-row{display:grid;grid-gap:8px;gap:8px}.habit-actions{padding-left:46px}.recipes-page{gap:12px}.recipe-list{display:grid;grid-gap:12px;gap:12px}.recipe-row-wrap{position:relative;display:grid;transition:padding-left .16s ease}.recipe-row-wrap[data-delete-mode=true]{padding-left:42px}.selection-dot{position:absolute;top:22px;left:0;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--hairline);border-radius:999px;background:var(--surface);color:#ffffff}.selection-dot[data-selected=true]{border-color:var(--accent);background:var(--accent)}.recipe-card{gap:0;overflow:hidden;transition:transform .16s ease}.recipe-card[data-expanded=true]{gap:14px}.recipe-card-main{display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-gap:10px;gap:10px;align-items:center;width:100%;border:0;background:transparent;color:var(--foreground);padding:0;text-align:left}.recipe-card-main span:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.recipe-card-main strong{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.recipe-card-main small,.recipe-expanded h3,.recipe-tags{color:var(--muted);font-size:.78rem;font-weight:900}.recipe-card-main span:last-child{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--surface-soft);font-weight:900}.recipe-expanded{display:grid;grid-gap:12px;gap:12px;padding-top:14px}.recipe-expanded h3,.recipe-expanded p,.recipe-tags{margin:0}.recipe-expanded p{line-height:1.45}.recipe-edit-card{gap:12px}.recipe-form-section{display:grid;grid-gap:10px;gap:10px;border-radius:22px;background:var(--surface-soft);padding:12px}.recipe-form-section summary{cursor:pointer;font-weight:900}.recipe-form-section[open] summary{margin-bottom:2px}.calculated-list{display:flex;flex-wrap:wrap;gap:8px}.calculated-list span{border-radius:999px;background:var(--surface);padding:9px 12px;color:var(--muted);font-size:.82rem;font-weight:900}.form-error{margin:-4px 0 0;color:var(--foreground);font-size:.82rem;font-weight:900}.soft-row b{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--accent);color:#ffffff}.ingredient-list{display:flex;flex-wrap:wrap;gap:8px}.ingredient-list span,code{border-radius:999px;background:var(--surface-soft);padding:9px 12px;color:var(--muted);font-weight:800}.cycle-grid,.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.cycle-day,.stat{display:grid;grid-gap:8px;gap:8px;min-height:108px;padding:16px}.cycle-day strong,.stat strong{align-self:end;font-size:1.5rem}.primary-action,.theme-toggle{border:0;border-radius:999px;font-weight:900}.backup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.primary-button,.secondary-button{min-height:48px;border:0;border-radius:999px;padding:0 16px;font-weight:900;cursor:pointer}.primary-button{background:var(--foreground);color:var(--surface)}.secondary-button{background:var(--surface-soft);color:var(--foreground)}.settings-note{margin:0;color:var(--muted);font-size:.86rem;font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.amount-button:focus-visible,.floating-action:focus-visible,.ghost-button:focus-visible,.habit-check-row:focus-visible,.habit-grid-cell:focus-visible,.icon-only:focus-visible,.manual-form input:focus-visible,.nav-link:focus-visible,.pill-action:focus-visible,.primary-action:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.segmented-control button:focus-visible,.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}@media (max-width:520px){.bottom-nav{border-radius:26px}.page{padding-bottom:calc(92px + var(--safe-bottom))}.floating-action{bottom:calc(104px + var(--safe-bottom))}.content-grid,.stats-grid,.status-grid{grid-template-columns:1fr}.countdown-event-card{grid-template-columns:46px minmax(0,1fr) auto 38px;gap:10px;padding:12px}.countdown-icon{width:46px;height:46px}.countdown-days b{font-size:1.75rem}.water-stats-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.cycle-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cycle-date-cell{min-height:76px;padding:9px}.habit-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:760px){.page{padding:22px 22px calc(104px + var(--safe-bottom))}.hero-panel,.panel,.status-card,.today-hero,.water-hero{padding:26px}.cycle-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}