.today-page{--ink:#150e1f;--ground:#2a1147;--ground-deep:#190a2c;--surface:#4c2b74;--surface-raised:#5e3888;--line:#d8ab546b;--line-soft:#f4eadc1f;--gold:#d9a94a;--gold-bright:#f2cc7c;--link:#4fae7a;--link-bright:#7ad6a6;--champagne:#e8d9b8;--nudge:#dd9a76;--lavender:#9c82ab;--lavender-soft:#6f5c7c;--cream:#f2e9db;--cream-dim:#b3a6c9;--shadow:0 1px 0 #f4eadc0d inset, 0 16px 32px -18px #08050abf;--gold-deep:#7a5414;--link-deep:#1f5a3c;--nudge-deep:#833f22;--lavender-deep:#55406a;--blue-deep:#37438f;--panel-bg:#faf3e5;--card-ink:var(--ink);--card-ink-dim:#150e1f9e;--card-border:var(--gold);--card-shadow:0 14px 30px -18px #140a2680;--well-bg:#9c82ab1f;--well-border:var(--gold);background:var(--ground);color:var(--cream);font-family:var(--font-work-sans), ui-sans-serif, system-ui, sans-serif;min-height:100vh;font-size:18px;line-height:1.5}.today-page *{box-sizing:border-box}.today-page h1,.today-page h2,.today-page h3{font-family:var(--font-cormorant), Georgia, serif;color:var(--cream);margin:0;font-weight:600}.today-page .mono{font-family:var(--font-plex-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}.today-page a,.today-page button.link-btn{color:var(--champagne);border:1px solid var(--link);font-family:var(--font-plex-mono), monospace;cursor:pointer;background:#4fae7a29;border-radius:8px;align-items:center;min-height:40px;padding:8px 14px;font-size:.9rem;text-decoration:none;display:inline-flex}.today-page .panel a,.today-page .trow a,.today-page .meal-card a,.today-page .panel button.link-btn,.today-page .trow button.link-btn{color:var(--link-deep);border-color:var(--link);background:#4fae7a29}.today-page .eyebrow{font-family:var(--font-plex-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:.82rem;font-weight:600}.today-page .panel .eyebrow,.today-page .ops-next .eyebrow,.today-page .planning-week-box .eyebrow,.today-page .estimate-box .eyebrow{color:var(--gold-deep)}.today-page .shell{flex-direction:column;gap:18px;max-width:1040px;margin:0 auto;padding:26px clamp(18px,3.4vw,36px) 60px;display:flex}.today-page .app-layout{flex-direction:column;align-items:stretch;gap:8px;max-width:1280px;margin:0 auto;display:flex}.today-page .app-layout .shell{flex:1;min-width:0;margin:0}.today-page .app-nav{flex:none;width:100%;padding:26px clamp(18px,3.4vw,36px) 0}.today-page .app-nav-list{flex-direction:column;gap:3px;display:flex}.today-page .app-nav-divider{background:var(--line-soft);height:1px;margin:8px 4px}.today-page .app-nav-list a,.today-page .app-nav-list .app-nav-soon{font-family:var(--font-work-sans), sans-serif;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;font-size:.92rem;text-decoration:none;display:flex}.today-page .app-nav-list a{color:var(--link-bright)}.today-page .app-nav-list a:hover{color:var(--cream);background:#f4eadc0f}.today-page .app-nav-list a.active{color:var(--gold-bright);background:#d9a94a24;border-color:#d9a94a59;font-weight:600}.today-page .app-nav-list .app-nav-soon{color:var(--cream-dim);opacity:.5}.today-page .app-nav-list .app-nav-soon em{font-style:normal;font-family:var(--font-plex-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--lavender);background:#9c82ab29;border-radius:100px;padding:2px 7px;font-size:.64rem}@media (min-width:900px){.today-page .app-layout{flex-direction:row;align-items:flex-start}.today-page .app-nav{width:220px;padding-top:26px;position:sticky;top:20px}}.today-page .crown-mark{background:linear-gradient(155deg, var(--gold-bright), var(--gold) 55%, #9c7326);border-radius:16px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 5px 14px -6px #d3a44e8c}.today-page .crown-mark svg{width:58%;height:58%}.today-page header{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;display:flex}.today-page header .brand{align-items:center;gap:16px;display:flex}.today-page header h1{letter-spacing:.01em;font-size:1.85rem}.today-page header .tag{color:var(--cream-dim);font-size:.95rem;font-family:var(--font-plex-mono), monospace;letter-spacing:.02em;margin-top:2px}.today-page .avatar{background:linear-gradient(160deg, var(--lavender), var(--lavender-soft));width:38px;height:38px;color:var(--cream);font-family:var(--font-plex-mono), monospace;border:1px solid #f6ead640;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.today-page .profile-menu{position:relative}.today-page .profile-menu summary.avatar{cursor:pointer;list-style:none}.today-page .profile-menu summary.avatar::-webkit-details-marker{display:none}.today-page .profile-menu[open] summary.avatar{border-color:var(--gold)}.today-page .profile-menu-panel{z-index:20;background:var(--surface-raised);border:1.5px solid var(--line);min-width:220px;box-shadow:var(--shadow);border-radius:12px;margin-top:10px;padding:12px;position:absolute;top:100%;right:0}.today-page .profile-menu-email{font-family:var(--font-plex-mono), monospace;color:var(--cream-dim);border-bottom:1px solid var(--line-soft);word-break:break-all;margin-bottom:8px;padding:2px 8px 10px;font-size:.78rem}.today-page .profile-menu-signout{text-align:left;width:100%;font-family:var(--font-plex-mono), monospace;color:var(--champagne);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:.85rem}.today-page .profile-menu-signout:hover{background:#f4eadc0f}.today-page .profile-menu-photo-form{padding:0 8px 8px}.today-page .profile-menu-photo-label{font-family:var(--font-plex-mono), monospace;color:var(--link-bright);cursor:pointer;font-size:.78rem;text-decoration:underline}.today-page .household-switch select{font-family:var(--font-plex-mono), monospace;color:var(--cream);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem}.today-page .glance{background:linear-gradient(155deg, var(--surface-raised), var(--surface) 65%, var(--ground-deep));border:2.5px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:22px clamp(20px,3.2vw,32px);position:relative;overflow:hidden}.today-page .glance:after{content:"";pointer-events:none;background:radial-gradient(380px 220px at 92% -20%,#d3a44e2e,#0000 65%);position:absolute;inset:0}.today-page .glance h2{max-width:22ch;margin-top:8px;font-size:clamp(1.7rem,3.6vw,2.3rem);font-weight:700;line-height:1.08;position:relative}.today-page .right-now-card{background:var(--cream);color:var(--ink);border-radius:14px;max-width:30rem;margin-top:18px;padding:22px clamp(18px,2.6vw,26px);position:relative;box-shadow:0 14px 30px -14px #08050a8c}.today-page .rn-eyebrow{font-family:var(--font-plex-mono), monospace;letter-spacing:.04em;color:#150e1f8c;margin-bottom:6px;font-size:.78rem}.today-page .rn-title{font-family:var(--font-cormorant), serif;color:var(--ink);font-size:1.55rem;font-weight:700;line-height:1.18}.today-page .rn-title-sm{font-size:1.2rem}.today-page .rn-meta{color:#150e1f9e;margin-top:4px;font-size:.92rem}.today-page .rn-divider{background:#150e1f24;height:1px;margin:14px 0}.today-page .rn-dinner{font-family:var(--font-plex-mono), monospace;color:#150e1fb8;border-top:1px solid #150e1f24;margin-top:14px;padding-top:12px;font-size:.85rem}.today-page .rn-empty{color:#150e1f99;font-size:.95rem}.today-page .panel{background:var(--panel-bg);border:2.5px solid var(--card-border);box-shadow:var(--card-shadow);color:var(--card-ink);border-radius:16px;padding:14px 20px}.today-page .panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 10px;display:flex}.today-page .panel-head h3{color:var(--card-ink);font-size:1.25rem}.today-page .panel-head-note{color:var(--card-ink-dim);flex:240px;min-width:0;font-size:.88rem}.today-page .scope-toggle{background:var(--cream);border:1.5px solid var(--card-border);border-radius:100px;flex:none;gap:3px;padding:3px;display:inline-flex}.today-page .scope-toggle a{min-height:0;font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);background:0 0;border:none;border-radius:100px;align-items:center;gap:7px;padding:7px 15px;font-size:.8rem;text-decoration:none;display:inline-flex}.today-page .scope-toggle a:hover{color:var(--gold-deep);background:#d9a94a2e}.today-page .scope-toggle a.active{background:var(--ground);color:var(--cream);font-weight:600}.today-page .scope-toggle .scope-count{color:inherit;font-variant-numeric:tabular-nums;background:#150e1f24;border-radius:100px;padding:1px 7px;font-size:.72rem;font-weight:600}.today-page .scope-toggle a.active .scope-count{background:#f4eadc38}.today-page .empty{color:var(--card-ink-dim);padding:20px 0;font-size:.95rem}.today-page .trow{background:var(--cream);border:1.5px solid var(--card-border);border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;display:flex;box-shadow:0 6px 16px -12px #140a2666}.today-page .trow:last-child{margin-bottom:0}.today-page .trow .time{width:68px;font-family:var(--font-plex-mono), monospace;color:var(--gold-deep);text-align:right;flex:none;font-size:.85rem}.today-page .trow.done .time{color:var(--card-ink-dim)}.today-page .trow .who{width:30px;height:30px;font-family:var(--font-plex-mono), monospace;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:flex}.today-page .trow .who.you{color:var(--gold-deep);background:#d9a94a38;border-color:#d9a94a80}.today-page .trow .who.other{color:var(--blue-deep);background:#93a8f738;border-color:#93a8f773}.today-page .trow .who.house{color:var(--lavender-deep);background:#9c82ab3d;border-color:#9c82ab73}.today-page .trow .body{flex:260px;min-width:0}.today-page .trow .title{color:var(--card-ink);font-size:1.05rem;font-weight:600}.today-page .trow.done .title{color:var(--card-ink-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--lavender-deep);text-decoration-color:var(--lavender-deep)}.today-page .trow .meta{color:var(--card-ink-dim);margin-top:2px;font-size:.9rem}.today-page .trow .pts{font-family:var(--font-plex-mono), monospace;color:var(--gold-deep);white-space:nowrap;border:1px solid var(--gold);background:#d3a44e52;border-radius:100px;flex:none;padding:2px 9px;font-size:.8rem;font-weight:600}.today-page .trow form{flex:none;gap:8px;display:flex}.today-page .trow button{font-family:var(--font-plex-mono), monospace;cursor:pointer;border-radius:8px;min-height:44px;padding:11px 18px;font-size:.95rem;font-weight:600}.today-page .trow button:disabled{opacity:.45;cursor:not-allowed}.today-page .btn-complete,.today-page .submit,.today-page .task-def-form .submit,.today-page a.btn-view-recipe{background:var(--ground);border:1.5px solid var(--ground);color:var(--cream)}.today-page .btn-complete:hover,.today-page .submit:hover,.today-page a.btn-view-recipe:hover{background:var(--ground-deep);color:var(--cream)}.today-page .btn-verify,.today-page .catalog-toggle{background:var(--gold);border:1.5px solid var(--gold);color:var(--ink)}.today-page .btn-verify:hover,.today-page .catalog-toggle:hover{background:var(--gold-bright)}.today-page .btn-danger{font-family:var(--font-plex-mono), monospace;cursor:pointer;border:1.5px solid var(--nudge);color:var(--nudge-deep);background:#dd9a764d;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:600}.today-page .step-add{font-family:var(--font-plex-mono), monospace;border:1.5px solid var(--link);color:var(--link-deep);cursor:pointer;background:#4fae7a38;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600}.today-page .step-remove{border:1.5px solid var(--nudge);width:30px;height:34px;color:var(--nudge-deep);cursor:pointer;background:#dd9a762e;border-radius:8px;flex:none;font-size:.85rem}.today-page .step-remove:disabled{opacity:.35;cursor:not-allowed}.today-page .status-pill{font-family:var(--font-plex-mono), monospace;border-radius:100px;flex:none;padding:3px 10px;font-size:.76rem;font-weight:600}.today-page .status-pill.submitted{color:var(--gold-deep);background:#d9a94a52;border:1px solid #d9a94a99}.today-page .status-pill.verified{color:var(--link-deep);background:#4fae7a4d;border:1px solid #4fae7a8c}.today-page .error-banner{border:1.5px solid var(--nudge);color:var(--nudge-deep);background:#fbeae0;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:600}.today-page .success-banner{border:1.5px solid var(--link);color:var(--link-deep);background:#e7f3ec;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:600}.today-page .invite-code{color:var(--ground);background:var(--well-bg);border:1px solid var(--gold);letter-spacing:.08em;border-radius:8px;padding:4px 10px;font-size:1.05rem;font-weight:700;display:inline-block}.today-page .add-forms{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:720px){.today-page .add-forms{grid-template-columns:1fr}}.today-page .add-forms form{flex-direction:column;gap:8px;margin-top:10px;display:flex}.today-page .add-forms .row{gap:8px;display:flex}.today-page .add-forms input,.today-page .add-forms select{font-family:var(--font-work-sans), sans-serif;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;width:100%;padding:9px 11px;font-size:.95rem}.today-page .add-forms input::placeholder{color:var(--card-ink-dim)}.today-page .add-forms input[type=date],.today-page .add-forms input[type=time],.today-page .add-forms input[type=number]{font-family:var(--font-plex-mono), monospace}.today-page .submit{font-family:var(--font-plex-mono), monospace;cursor:pointer;border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;min-height:44px;padding:11px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.today-page .task-def-form,.today-page .recipe-form{flex-direction:column;gap:10px;margin-top:4px;display:flex}.today-page .task-def-form input[type=text],.today-page .task-def-form input[type=date],.today-page .task-def-form input[type=time],.today-page .task-def-form input[type=number],.today-page .task-def-form textarea,.today-page .task-def-form select,.today-page .recipe-form input[type=text],.today-page .recipe-form input[type=date],.today-page .recipe-form input[type=time],.today-page .recipe-form input[type=number],.today-page .recipe-form textarea,.today-page .recipe-form select{font-family:var(--font-work-sans), sans-serif;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;width:100%;padding:9px 11px;font-size:.95rem}.today-page .task-def-form input[type=date],.today-page .task-def-form input[type=time],.today-page .recipe-form input[type=date],.today-page .recipe-form input[type=time]{font-family:var(--font-plex-mono), monospace}.today-page .task-def-form textarea,.today-page .recipe-form textarea{resize:vertical;font-family:var(--font-work-sans), sans-serif}.today-page .task-def-form .row,.today-page .recipe-form .row{gap:12px;display:flex}.today-page .task-def-form .row>*,.today-page .recipe-form .row>*{flex:1;min-width:0}@media (max-width:720px){.today-page .task-def-form .row,.today-page .recipe-form .row{flex-direction:column}}.today-page .field-label{color:var(--card-ink-dim);flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;display:flex}.today-page .catalog-picker{margin-bottom:4px}.today-page .catalog-panel{border:1.5px solid var(--line);background:#d9a94a14;border-radius:10px;margin-top:10px;padding:10px}.today-page .catalog-panel input[type=text]{margin-bottom:8px}.today-page .catalog-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:hidden auto}.today-page .catalog-item{border:1px solid var(--line);background:var(--cream);width:100%;color:var(--card-ink);text-align:left;cursor:pointer;font-family:var(--font-work-sans), sans-serif;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;font-size:.9rem;display:flex}.today-page .catalog-item:hover{border-color:var(--gold);background:#d9a94a24}.today-page .catalog-item-name{font-weight:600}.today-page .catalog-item-meta{font-family:var(--font-plex-mono), monospace;color:var(--gold-deep);background:#d9a94a2e;border-radius:100px;padding:1px 8px;font-size:.74rem}.today-page .steps-builder{border-top:1px solid #150e1f24;margin-top:4px;padding-top:12px}.today-page .steps-builder-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.today-page .steps-builder-head h4{font-family:var(--font-cormorant), Georgia, serif;color:var(--card-ink);margin:0;font-size:1.1rem}.today-page .steps-total{color:var(--gold-deep);font-size:.85rem;font-weight:600}.today-page .step-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.today-page .step-row input{flex:1;min-width:0}.today-page .step-row select{flex:none;width:68px;padding-left:6px;padding-right:6px}.today-page .task-steps{color:var(--card-ink);margin:4px 0 2px;padding-left:22px;font-size:.92rem}.today-page .task-steps li{margin-bottom:3px}.today-page .ops-bar{background:var(--panel-bg);border:2.5px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:12px;flex-wrap:wrap;align-items:center;gap:22px;padding:14px 20px;display:flex}.today-page .ops-stat{flex-direction:column;flex:none;align-items:center;display:flex}.today-page .ops-stat .n{font-family:var(--font-cormorant), serif;color:var(--gold-deep);font-size:1.6rem;font-weight:700;line-height:1}.today-page .ops-stat .l{font-family:var(--font-plex-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--card-ink-dim);white-space:nowrap;margin-top:3px;font-size:.85rem}.today-page .ops-next{border-left:1.5px solid #150e1f24;flex:1;min-width:200px;padding-left:18px}.today-page .ops-next strong{color:var(--card-ink);font-size:.98rem}.today-page .ops-next .meta{color:var(--card-ink-dim);font-size:.85rem}.today-page .nav-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.today-page .view-toggle{background:var(--panel-bg);border:1.5px solid var(--card-border);border-radius:100px;align-self:flex-start;gap:3px;padding:3px;display:inline-flex}.today-page .view-toggle a{font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);background:0 0;border:none;border-radius:100px;padding:6px 16px;font-size:.8rem;text-decoration:none}.today-page .view-toggle a.active{background:var(--ground);color:var(--cream);font-weight:600}.today-page .jump-pills{background:var(--panel-bg);border:1.5px solid var(--card-border);border-radius:100px;flex-wrap:wrap;gap:4px;padding:3px;display:flex}.today-page .jump-pills a{font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);background:0 0;border:none;border-radius:100px;padding:6px 12px;font-size:.78rem;text-decoration:none}.today-page .jump-pills a:hover{color:var(--gold-deep);background:#d9a94a2e}.today-page .month-view{flex-direction:column;gap:12px;display:flex}.today-page .month-cycle-select{justify-content:center;display:flex}.today-page .month-cycle-dropdown{font-family:var(--font-plex-mono), monospace;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:100px;padding:7px 16px;font-size:.8rem}.today-page .month-sublabel{font-family:var(--font-cormorant), serif;color:var(--gold-deep);padding:0 4px;font-size:1.05rem}.today-page .month-grid-wrap{background:var(--panel-bg);border:2.5px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:14px;padding:14px 16px}.today-page .month-nav{font-family:var(--font-cormorant), serif;color:var(--card-ink);justify-content:center;align-items:center;gap:14px;margin-bottom:10px;font-size:1.2rem;display:flex}.today-page .month-nav .wk-nav{font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);font-size:1rem}.today-page .month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.today-page .month-dow{text-align:center;font-family:var(--font-plex-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--card-ink-dim);padding-bottom:4px;font-size:.68rem}.today-page .month-cell{aspect-ratio:1;color:var(--card-ink);background:var(--well-bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex;position:relative}.today-page .month-cell .num{font-family:var(--font-plex-mono), monospace;font-size:.85rem}.today-page .month-cell.outside{opacity:.4}.today-page .month-cell.today{border-color:var(--gold);background:#d9a94a47}.today-page .month-cell.today .num{color:var(--gold-deep);font-weight:700}.today-page .month-cell .dinner-dot{background:var(--gold-deep);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:6px}.today-page .month-cell .item-count{font-family:var(--font-plex-mono), monospace;color:var(--link-deep);background:#4fae7a38;border-radius:100px;padding:0 5px;font-size:.8rem}.today-page .week{background:var(--panel-bg);border:2.5px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:4px;padding:10px 12px;display:flex}.today-page .week .wk-nav{color:var(--card-ink-dim);background:0 0;border:none;flex:none;padding:6px 8px;font-size:1rem}.today-page .week .wk-nav:hover{color:var(--gold-deep);background:0 0}.today-page .week .wk-day{text-align:center;color:inherit;background:0 0;border:none;border-radius:8px;flex:1;padding:6px 2px;text-decoration:none}.today-page .week .wk-day .d{font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);text-transform:uppercase;font-size:.8rem}.today-page .week .wk-day .mark{justify-content:center;height:6px;margin-top:5px;display:flex}.today-page .week .wk-day .mark span.dinner{background:var(--gold-deep);border-radius:50%;width:5px;height:5px;display:inline-block}.today-page .week .wk-day.today .d{color:var(--gold-deep);font-weight:700}.today-page .week .wk-day.selected{background:#d9a94a3d;border:1px solid #d9a94a8c}.today-page .week-view{flex-direction:column;gap:12px;display:flex}.today-page .week-cycle-select{justify-content:center;display:flex}.today-page .week-cycle-dropdown{font-family:var(--font-plex-mono), monospace;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:100px;padding:7px 16px;font-size:.8rem}.today-page .week-cycle-nav{font-family:var(--font-cormorant), serif;color:var(--cream);justify-content:center;align-items:center;gap:14px;font-size:1.2rem;display:flex}.today-page .week-cycle-nav .wk-nav{font-family:var(--font-plex-mono), monospace;font-size:1rem}.today-page .week-cycle-block{flex-direction:column;gap:6px;display:flex}.today-page .week-sublabel{font-family:var(--font-plex-mono), monospace;color:var(--cream-dim);padding:0 4px;font-size:.78rem}.today-page .week-progress{color:var(--gold-bright)}.today-page .trow.dinner-note{background:#d9a94a38}.today-page .trow.dinner-note .who.house{color:var(--gold-deep);background:#d9a94a47;border-color:#d9a94a80}.today-page .month-pill-select{background:var(--panel-bg);border:1.5px solid var(--card-border);border-radius:100px;align-self:flex-start;gap:3px;padding:3px;display:inline-flex}.today-page .month-pill-select a{font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);background:0 0;border:none;border-radius:100px;padding:6px 16px;font-size:.8rem;text-decoration:none}.today-page .month-pill-select a.active{background:var(--ground);color:var(--cream);font-weight:600}.today-page .meal-plan-toolbar{flex-wrap:wrap;gap:12px;display:flex}.today-page .planning-week-box,.today-page .estimate-box{background:var(--panel-bg);border:1.5px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;justify-content:center;gap:6px;padding:10px 16px;display:flex}.today-page .estimate-box{flex-direction:row;align-items:baseline;gap:10px}.today-page .estimate-amount{font-family:var(--font-cormorant), serif;color:var(--gold-deep);font-size:1.5rem;font-weight:700}.today-page .week-chip-row{flex-wrap:wrap;gap:6px;display:flex}.today-page .week-chip-row a{border:1.5px solid var(--card-border);background:var(--cream);color:var(--card-ink-dim);font-family:var(--font-plex-mono), monospace;border-radius:100px;padding:6px 14px;font-size:.8rem;text-decoration:none}.today-page .week-chip-row a.active{background:var(--ground);border-color:var(--ground);color:var(--cream)}.today-page .meal-month-stack{flex-direction:column;gap:18px;display:flex}.today-page .meal-card-row{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}@media (max-width:900px){.today-page .meal-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.today-page .meal-card{background:var(--cream);border:2.5px solid var(--card-border);border-top:4px solid var(--gold);min-width:0;box-shadow:var(--card-shadow);color:var(--card-ink);border-radius:14px;flex-direction:column;gap:8px;padding:14px 14px 16px;display:flex}.today-page .meal-card.today{border-color:var(--gold);border-top-color:var(--ground)}.today-page .meal-card-day{align-items:baseline;gap:6px;display:flex}.today-page .meal-card-day .mc-dow{font-family:var(--font-plex-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--card-ink-dim);font-size:.72rem}.today-page .meal-card-day .mc-date{font-family:var(--font-cormorant), serif;color:var(--card-ink);font-size:1.05rem;font-weight:700}.today-page .meal-card.today .mc-date{color:var(--gold-deep)}.today-page .meal-card-body{flex-direction:column;flex:1;gap:6px;display:flex}.today-page .meal-card-body.empty{justify-content:center;align-items:center}.today-page .meal-cuisine{font-family:var(--font-plex-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--lavender-deep);background:#9c82ab38;border-radius:100px;align-self:flex-start;padding:2px 9px;font-size:.64rem}.today-page .meal-card-title{font-family:var(--font-cormorant), serif;color:var(--card-ink);font-size:1.1rem;font-weight:700;line-height:1.2;display:block}.today-page .meal-rating{font-family:var(--font-plex-mono), monospace;color:var(--link-deep);background:#4fae7a33;border:1px solid #4fae7a80;border-radius:100px;align-self:flex-start;padding:2px 9px;font-size:.64rem}.today-page .meal-meta{color:var(--card-ink-dim);font-size:.82rem}.today-page .meal-facts{font-family:var(--font-plex-mono), monospace;color:var(--gold-deep);flex-direction:column;gap:2px;font-size:.76rem;display:flex}.today-page .meal-card-actions{flex-direction:column;align-items:flex-start;gap:6px;margin-top:auto;padding-top:6px;display:flex}.today-page .meal-card-actions a{align-self:flex-start}.today-page .meal-served-check{cursor:pointer;font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);align-items:center;gap:6px;font-size:.78rem;display:flex}.today-page .meal-served-check input{width:24px;height:24px;accent-color:var(--gold);cursor:pointer}.today-page .task-assign{align-items:center;gap:8px;margin:6px 0;display:flex}.today-page .task-assign-label{font-family:var(--font-plex-mono), monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--card-ink-dim);flex:none;font-size:.72rem}.today-page .task-assign select{font-family:var(--font-work-sans), sans-serif;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:100px;padding:5px 12px;font-size:.88rem}.today-page .task-badges{flex-wrap:wrap;gap:6px;margin:4px 0 2px;display:flex}.today-page .badge-soft{font-family:var(--font-plex-mono), monospace;color:var(--lavender-deep);white-space:nowrap;background:#9c82ab29;border:1px solid #9c82ab66;border-radius:100px;padding:3px 9px;font-size:.72rem}.today-page .recipe-view-meta{flex-wrap:wrap;gap:8px;padding:4px 0 14px;display:flex}.today-page .recipe-view-meta span{font-family:var(--font-work-sans), sans-serif;color:var(--gold-deep);background:#d9a94a24;border:1px solid #d9a94a59;border-radius:100px;padding:5px 12px;font-size:.82rem;font-weight:600}.today-page .recipe-toolbar{background:var(--well-bg);border:1.5px solid var(--well-border);border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px;margin:4px 0 20px;padding:14px 18px;display:flex;box-shadow:0 6px 18px -12px #140a2659}.today-page .recipe-serving-stepper{align-items:center;gap:10px;display:flex}.today-page .recipe-serving-label{color:var(--card-ink-dim);font-size:.85rem;font-weight:600}.today-page .recipe-serving-stepper button{background:var(--ground);width:32px;height:32px;color:var(--cream);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;transition:transform .12s,background .12s;display:flex;box-shadow:0 3px 8px -3px #2a11478c}.today-page .recipe-serving-stepper button:hover{background:var(--ground-deep);transform:scale(1.08)}.today-page .recipe-serving-count{color:var(--card-ink);text-align:center;min-width:1.4em;font-size:1.2rem;font-weight:700}.today-page .recipe-toolbar-hint{color:var(--card-ink-dim);flex:1;min-width:180px;font-size:.88rem}.today-page .recipe-toolbar .btn-danger{border-radius:100px;flex:none}.today-page .recipe-callout{border-left:4px solid var(--gold);background:#d9a94a1f;border-radius:4px 14px 14px 4px;margin:14px 0;padding:16px 18px;box-shadow:0 8px 20px -14px #97691a80}.today-page .recipe-callout-label{font-family:var(--font-work-sans), sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:5px;font-size:.76rem;font-weight:700}.today-page .recipe-next-meal{color:var(--link-deep);background:#4fae7a24;border:1px solid #4fae7a59;border-radius:14px;margin-top:16px;padding:14px 18px;font-size:.95rem;line-height:1.6;box-shadow:0 8px 20px -16px #2f744e80}.today-page .recipe-next-meal strong{color:var(--link-deep)}.today-page .recipe-next-meal>div+div{margin-top:4px}.today-page .recipe-view-columns{grid-template-columns:1fr 1.3fr;gap:32px;margin-top:10px;display:grid}@media (max-width:720px){.today-page .recipe-view-columns{grid-template-columns:1fr}}.today-page .recipe-view-columns h3{color:var(--card-ink);margin-bottom:10px;font-size:1.15rem}.today-page .recipe-ingredients,.today-page .recipe-steps{margin:0;padding:0;list-style:none}.today-page .recipe-ingredients li,.today-page .recipe-steps li{margin-bottom:12px}.today-page .recipe-steps{counter-reset:step}.today-page .recipe-steps li{counter-increment:step}.today-page .recipe-steps.checklist li{counter-increment:none}.today-page .checklist label{cursor:pointer;color:var(--card-ink);align-items:flex-start;gap:12px;font-size:1rem;line-height:1.55;display:flex}.today-page .recipe-steps.checklist label{font-size:1.05rem}.today-page .checklist input[type=checkbox]{opacity:0;cursor:pointer;width:22px;height:22px;margin:0;position:absolute}.today-page .recipe-check{border:2px solid var(--gold);background:var(--cream);border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.today-page .checklist input[type=checkbox]:checked+.recipe-check{background:var(--link);border-color:var(--link)}.today-page .recipe-check:after{content:"";border:solid var(--cream);border-width:0 2.5px 2.5px 0;width:6px;height:11px;margin-top:-2px;transition:transform .15s;transform:rotate(45deg)scale(0)}.today-page .checklist input[type=checkbox]:checked+.recipe-check:after{transform:rotate(45deg)scale(1)}.today-page .checklist input[type=checkbox]:focus-visible+.recipe-check{box-shadow:0 0 0 3px #d9a94a66}.today-page .checklist li:hover .recipe-check{border-color:var(--link);transform:scale(1.05)}.today-page .checklist li.checked label{color:var(--card-ink-dim);-webkit-text-decoration:line-through #150e1f59;text-decoration:line-through #150e1f59}.today-page .grocery-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.today-page .grocery-actions form{margin:0}.today-page .submit.btn-secondary{background:var(--panel-bg);color:var(--ground);border:1.5px solid var(--ground)}.today-page .planning-note{border:1.5px solid var(--gold);color:var(--card-ink);background:#fdf6e3;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:14px;padding:14px 18px;font-size:.92rem;line-height:1.5;display:flex}.today-page .planning-note strong{color:var(--gold-deep);white-space:nowrap}.today-page .planning-note span{flex:340px;min-width:0}.today-page .store-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding-bottom:14px;display:grid}.today-page .store-card{background:var(--cream);border:1.5px solid #150e1f24;border-radius:12px;flex-direction:column;gap:4px;padding:15px 17px;display:flex}.today-page .store-card.best{border-color:var(--link);background:#e7f3ec}.today-page .store-name{color:var(--card-ink);font-size:1.02rem;font-weight:600}.today-page .store-total{font-family:var(--font-cormorant), serif;color:var(--gold-deep);font-size:1.7rem;font-weight:700;line-height:1.1}.today-page .store-card.best .store-total{color:var(--link-deep)}.today-page .grocery-check{flex:none;align-items:center;display:flex}.today-page .grocery-check .meal-served-check{gap:0}.today-page .grocery-qty{background:var(--well-bg);border:1px solid var(--gold);color:var(--gold-deep);border-radius:100px;margin-right:8px;padding:2px 9px;font-size:.85rem;font-weight:600;display:inline-block}.today-page .price-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.today-page .trow form.price-cell{flex:0 auto;margin:0}.today-page .price-label{font-family:var(--font-plex-mono), monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--card-ink-dim);flex-direction:column;gap:3px;font-size:.72rem;display:flex}.today-page .price-label.best{color:var(--link-deep);font-weight:700}.today-page .price-label.paid{color:var(--gold-deep);font-weight:700}.today-page .price-input-wrap{background:var(--well-bg);border:1.5px solid var(--well-border);color:var(--card-ink);border-radius:8px;align-items:center;gap:3px;padding:4px 9px;font-size:.95rem;display:flex}.today-page .price-label.best .price-input-wrap{border-color:var(--link);background:#4fae7a24}.today-page .price-input-wrap input{width:68px;color:var(--card-ink);font-family:var(--font-plex-mono), monospace;background:0 0;border:none;padding:2px 0;font-size:.95rem}.today-page .price-input-wrap input:focus{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.today-page .station-toggle{flex-wrap:wrap}.today-page .unit-tag{font-style:normal;font-family:var(--font-plex-mono), monospace;color:var(--card-ink-dim);white-space:nowrap;font-size:.72rem}.today-page .buy-chip-wrap{flex-direction:column;justify-content:flex-start;gap:3px;display:flex}.today-page .buy-chip{min-height:38px;font-family:var(--font-plex-mono), monospace;border-radius:8px;align-items:center;padding:4px 14px;font-size:.95rem;font-weight:600;display:inline-flex}.today-page .buy-chip.low{background:var(--ground);color:var(--cream)}.today-page .buy-chip.ok{color:var(--link-deep);border:1px solid var(--link);background:#4fae7a2e}.today-page .budget-bar{background:#150e1f1a;border:1px solid #150e1f24;border-radius:100px;height:16px;margin-top:8px;overflow:hidden}.today-page .budget-bar.goal{height:10px;margin-top:7px}.today-page .budget-bar span{height:100%;display:block}.today-page .budget-bar .used{background:var(--link)}.today-page .budget-bar .over{background:var(--nudge)}.today-page .panel.savings-callout{border-color:var(--link);background:#eef7f1}.today-page .savings-callout h3{color:var(--link-deep)}.today-page .transfer-form{flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:14px;display:flex}.today-page .transfer-form select{font-family:var(--font-work-sans), sans-serif;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;min-height:44px;padding:10px 12px;font-size:1rem}.today-page .meal-card.prep-day{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.today-page .prep-badge{font-family:var(--font-plex-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--gold);background:#d9a94a3d;border-radius:100px;align-self:flex-start;margin:6px 0 2px;padding:2px 9px;font-size:.66rem;font-weight:700;display:inline-block}.today-page .panel.prep-panel{border-color:var(--gold);background:#fdf6e3}.today-page .prep-panel h3{color:var(--gold-deep)}.today-page .prep-links{flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.today-page .panel.bridge-panel{border-color:var(--link)}.today-page .bridge-panel h3{color:var(--link-deep)}.today-page .bridge-chips{flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.today-page .bridge-chip{background:var(--cream);border:1.5px solid var(--link);color:var(--card-ink);border-radius:100px;align-items:baseline;gap:7px;padding:7px 15px;font-size:1rem;font-weight:600;display:inline-flex}.today-page .bridge-chip em{font-style:normal;font-family:var(--font-plex-mono), monospace;color:var(--link-deep);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.today-page .bridge-moves,.today-page .bridge-rhythm{padding-bottom:14px}.today-page .bridge-moves ul{flex-direction:column;gap:7px;margin:8px 0 0;padding-left:20px;display:flex}.today-page .bridge-moves li{color:var(--card-ink);font-size:.97rem;line-height:1.5}.today-page .bridge-rhythm ol{flex-direction:column;gap:5px;margin:8px 0 0;padding-left:22px;list-style:decimal;display:flex}.today-page .bridge-rhythm li::marker{color:var(--gold-deep);font-weight:700}.today-page .bridge-rhythm li{color:var(--card-ink-dim);font-size:.93rem;font-family:var(--font-plex-mono), monospace}.today-page .lunch-number{color:var(--gold-deep);background:var(--well-bg);border:1px solid var(--gold);font-variant-numeric:tabular-nums;border-radius:8px;flex:none;align-self:flex-start;margin-top:2px;padding:4px 10px;font-size:1.15rem;font-weight:700}.today-page .trow.lunch-row.next-up{border-color:var(--link);box-shadow:0 0 0 1px var(--link) inset}.today-page .lunch-main{color:var(--card-ink);margin-top:2px;font-size:1rem}.today-page .lunch-note{color:var(--nudge-deep);border:1px solid var(--nudge);background:#dd9a7624;border-radius:8px;margin-top:6px;padding:6px 11px;font-size:.9rem}.today-page .format-badge{font-family:var(--font-plex-mono), monospace;letter-spacing:.04em;text-transform:uppercase;border-radius:100px;padding:3px 10px;font-size:.72rem;font-weight:700}.today-page .fmt-cold{color:var(--blue-deep);border:1px solid var(--blue-deep);background:#37438f29}.today-page .fmt-hot_thermos{color:var(--nudge-deep);border:1px solid var(--nudge);background:#dd9a7633}.today-page .fmt-hot_or_cold,.today-page .fmt-cold_or_warm{color:var(--lavender-deep);border:1px solid var(--lavender);background:#9c82ab33}.today-page .packing-tip{color:var(--card-ink);background:var(--panel-bg);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;margin-top:7px;padding:7px 12px;font-size:.94rem}.today-page .packing-tip .eyebrow{margin-bottom:2px;display:block}.today-page .lunch-controls{flex-wrap:wrap;gap:12px;margin-top:9px;display:flex}.today-page .trow form.lunch-control{flex:0 auto;align-items:center;gap:7px;display:flex}.today-page .lunch-actions{flex-direction:column;flex:none;gap:7px;display:flex}@media print{.today-page .no-print,.today-page .app-nav,.today-page .lunch-controls,.today-page .lunch-actions{display:none!important}.today-page,.today-page .panel,.today-page .trow{color:#000!important;box-shadow:none!important;background:#fff!important;min-height:0!important}.today-page .app-layout,.today-page .shell{max-width:none;padding:0;display:block}.today-page .panel{border:none;padding:0}.today-page .trow{page-break-inside:avoid;break-inside:avoid;border-radius:6px;margin-bottom:8px;border:1px solid #999!important}.today-page .trow .title{font-size:1.15rem}.today-page .lunch-main{font-size:1.05rem}.today-page .lunch-number{color:#000!important;background:0 0!important;border-color:#000!important}.today-page .format-badge,.today-page .badge-soft{color:#000!important;background:0 0!important;border:1px solid #666!important}.today-page .packing-tip{border-left:3px solid #000;background:0 0!important}.today-page .lunch-note{border:1px solid #000;color:#000!important;background:0 0!important}.today-page .eyebrow{color:#000!important}}.today-page .panel.cycle-active{border-color:var(--link)}.today-page .cycle-active h3{color:var(--link-deep)}.today-page .cycle-progress{padding-bottom:8px}.today-page .cycle-badge{font-family:var(--font-plex-mono), monospace;letter-spacing:.04em;white-space:nowrap;color:var(--cream);background:var(--ground);border-radius:8px;flex:none;align-self:flex-start;margin-top:2px;padding:6px 12px;font-size:.78rem;font-weight:700}.today-page .cycle-badge.future{color:var(--gold-deep);border:1.5px solid var(--gold);background:0 0}.today-page .cycle-reflection{color:var(--card-ink);background:var(--panel-bg);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;margin-top:8px;padding:8px 13px;font-size:.95rem;line-height:1.5}.today-page .cycle-archive-form{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.today-page .cycle-archive-form textarea{width:100%;font-family:var(--font-work-sans), sans-serif;color:var(--card-ink);background:var(--well-bg);border:1.5px solid var(--well-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;resize:vertical;border-radius:8px;padding:10px 12px;font-size:1rem}.today-page .panel.prep-steps-panel{border-color:var(--nudge)}.today-page .prep-steps-panel h3{color:var(--nudge-deep)}.today-page .prep-for{font-family:var(--font-plex-mono), monospace;letter-spacing:.03em;color:var(--gold-deep);border:1px solid var(--gold);background:#d9a94a33;border-radius:100px;padding:3px 10px;font-size:.74rem;font-weight:600}.today-page .trow.prep-late{border-color:var(--nudge);box-shadow:0 0 0 1px var(--nudge) inset}.today-page .prep-late-badge{font-family:var(--font-plex-mono), monospace;background:var(--nudge-deep);color:var(--cream);border-radius:100px;padding:3px 10px;font-size:.74rem;font-weight:700}.today-page .prep-upcoming{padding:10px 0 14px}.today-page .prep-upcoming-row{color:var(--card-ink);padding:4px 0;font-size:.95rem}
