@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500&family=Newsreader:opsz,ital,wght@6..72,300;6..72,400;6..72,500&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500&family=Newsreader:opsz,ital,wght@6..72,300;6..72,400;6..72,500&display=swap";html,body,#root{min-height:100%}body{margin:0}.um-theme{background:var(--um-paper);min-height:100svh;color:var(--um-ink);font:400 15px/1.5 var(--um-font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.um-theme *{box-sizing:border-box}.um-theme button,.um-theme input,.um-theme select{font:inherit}.um-theme button{color:inherit}.um-theme button:focus-visible,.um-theme input:focus-visible,.um-theme select:focus-visible{outline:3px solid color-mix(in srgb,var(--um-accent) 35%,transparent);outline-offset:3px}.um-theme h1,.um-theme h2,.um-theme p{margin-top:0}.um-eyebrow,.um-brand,.um-field>span,.um-list-heading>span,.um-status,.um-complete,.um-role-pill,.um-topbar small{font-family:var(--um-font-utility);letter-spacing:.08em;text-transform:uppercase}.um-eyebrow{color:var(--um-muted);margin:0 0 8px;font-size:10px}.um-brand{letter-spacing:.13em;font-size:12px;font-weight:700}.um-button,.um-text-button{cursor:pointer;background:0 0;border:0}.um-button{border:1px solid var(--um-ink);background:var(--um-surface);min-height:44px;font:600 11px/1 var(--um-font-utility);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:30px;padding:10px 15px;transition:background .16s,color .16s,transform .16s;display:inline-flex}.um-button:hover{background:var(--um-wash)}.um-button:active{transform:translateY(1px)}.um-button:disabled,.um-text-button:disabled{opacity:.42;cursor:not-allowed}.um-button-primary{border-color:var(--um-accent);background:var(--um-accent);color:var(--um-accent-ink)}.um-button-primary:hover{border-color:var(--um-ink);background:var(--um-ink)}.um-button-small{min-height:36px;padding:8px 11px;font-size:9px}.um-wide{width:100%}.um-text-button{font:600 10px/1.2 var(--um-font-utility);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid;padding:5px 0}.um-danger{color:var(--um-danger)}.um-field{gap:7px;min-width:0;display:grid}.um-field>span:first-child{color:var(--um-muted);justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.um-field>span small{font-size:7px}.um-field input,.um-field select{border:0;border-bottom:1px solid var(--um-line);width:100%;min-height:44px;color:var(--um-ink);background:0 0;border-radius:0;outline:none;padding:8px 0}.um-field input:focus,.um-field select:focus{border-color:var(--um-accent)}.um-password-wrap{position:relative;display:block!important}.um-password-wrap input{padding-right:52px}.um-password-wrap button{color:var(--um-muted);font:600 8px/1 var(--um-font-utility);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:2px;position:absolute;bottom:12px;right:0}.um-error{border-left:3px solid var(--um-danger);background:color-mix(in srgb,var(--um-danger) 7%,var(--um-surface));color:var(--um-danger);margin:12px 0;padding:11px 13px;font-size:12px}.um-notice{border-left:3px solid var(--um-accent);background:var(--um-wash);color:var(--um-accent);margin:0 0 28px;padding:11px 13px;font-size:12px}.um-login{background:var(--um-surface);grid-template-columns:minmax(150px,.58fr) minmax(420px,1fr);min-height:100svh;display:grid}.um-login-mark{background:var(--um-accent);color:var(--um-accent-ink);justify-content:center;align-items:flex-end;padding:48px 20px;display:flex;position:relative;overflow:hidden}.um-login-mark:before{background:repeating-linear-gradient(90deg,transparent 0 19.7%,color-mix(in srgb,var(--um-accent-ink) 13%,transparent) 20%);content:"";position:absolute;inset:0}.um-login-mark:after{aspect-ratio:1;border:1px solid color-mix(in srgb,var(--um-accent-ink) 45%,transparent);content:"";border-radius:50%;width:min(28vw,380px);position:absolute}.um-login-mark span{z-index:1;font:500 9px/1 var(--um-font-utility);letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl}.um-login-mark i{z-index:1;background:var(--um-accent-ink);width:9px;height:9px;box-shadow:0 0 0 8px color-mix(in srgb,var(--um-accent-ink) 15%,transparent);border-radius:50%;position:absolute;top:50%}.um-login-panel{flex-direction:column;justify-content:center;width:min(620px,100%);padding:8vh clamp(44px,8vw,120px);display:flex}.um-login-panel h1{font:400 clamp(48px,6vw,78px)/.92 var(--um-font-display);letter-spacing:-.055em;margin:42px 0 50px}.um-login-panel h1 em{color:var(--um-accent);font-weight:400}.um-login-panel form{gap:20px;max-width:390px;display:grid}.um-login-note{border-left:3px solid var(--um-accent);background:var(--um-wash);gap:4px;max-width:390px;margin-top:25px;padding:14px 16px;display:grid}.um-login-note strong{font:600 9px/1.3 var(--um-font-utility);letter-spacing:.06em;text-transform:uppercase}.um-login-note span{color:var(--um-muted);font-size:11px}.um-shell{min-height:100svh}.um-topbar{border-bottom:1px solid var(--um-line);background:var(--um-surface);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px clamp(20px,5vw,72px);display:flex}.um-topbar>div{align-items:center;gap:18px;display:flex}.um-topbar small{color:var(--um-muted);font-size:8px}.um-topbar>div:last-child{justify-content:flex-end}.um-role-pill{border:1px solid var(--um-line);padding:6px 9px;font-size:8px}.um-role-pill.is-admin{border-color:var(--um-role-admin);color:var(--um-role-admin)}.um-role-pill.is-user{border-color:var(--um-role-user);color:var(--um-role-user)}.um-role-pill.is-guest{border-color:var(--um-role-guest);color:var(--um-role-guest)}.um-request-badge{border:1px solid var(--um-warning);background:var(--um-ink);min-height:38px;color:var(--um-surface);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:5px 8px;display:inline-flex}.um-request-badge>span{border:1px solid;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.um-request-badge strong,.um-request-badge small{font:600 8px/1 var(--um-font-utility);letter-spacing:.06em;text-transform:uppercase}.um-request-badge small{background:var(--um-warning);min-width:20px;height:20px;color:var(--um-surface);border-radius:10px;place-items:center;padding:0 5px;display:grid}.um-role-rail{z-index:2;gap:0;display:grid;position:fixed;top:50%;left:clamp(10px,2vw,28px);transform:translateY(-50%)}.um-role-rail>div{height:76px;color:var(--um-muted);place-items:center;display:grid;position:relative}.um-role-rail>div:not(:last-child):after{background:var(--um-line);content:"";width:1px;height:49px;position:absolute;top:44px}.um-role-rail i{background:var(--um-paper);border:1px solid;border-radius:50%;width:8px;height:8px;display:block}.um-role-rail span{font:500 7px/1 var(--um-font-utility);letter-spacing:.08em;text-transform:uppercase;transform-origin:0;opacity:0;position:absolute;left:19px;transform:rotate(-90deg)}.um-role-rail .is-active.is-role-admin{color:var(--um-role-admin)}.um-role-rail .is-active.is-role-user{color:var(--um-role-user)}.um-role-rail .is-active.is-role-guest{color:var(--um-role-guest)}.um-role-rail .is-active i{box-shadow:0 0 0 6px color-mix(in srgb,currentColor 18%,transparent);background:currentColor}.um-role-rail .is-active span{opacity:1}.um-content{width:min(1020px,100% - 100px);margin:0 auto;padding:clamp(52px,8vw,100px) 0 90px}.um-welcome{max-width:680px}.um-welcome h1{font:400 clamp(48px,7vw,86px)/.94 var(--um-font-display);letter-spacing:-.05em;margin:12px 0 20px}.um-welcome>p:last-child{max-width:500px;color:var(--um-muted)}.um-card{border:1px solid var(--um-line);background:var(--um-surface)}.um-request-card{max-width:680px;margin-top:55px;padding:clamp(22px,4vw,38px)}.um-request-card h2,.um-request-success h2{font:400 32px/1.05 var(--um-font-display);letter-spacing:-.03em}.um-request-card>p:not(.um-eyebrow){max-width:540px;color:var(--um-muted)}.um-form-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:25px;display:grid}.um-form-grid .um-error,.um-form-grid .um-button{grid-column:1/-1}.um-request-success{border:1px solid var(--um-accent);background:var(--um-wash);grid-template-columns:auto 1fr;gap:24px;max-width:680px;margin-top:55px;padding:32px;display:grid}.um-request-success>span{background:var(--um-accent);width:42px;height:42px;color:var(--um-accent-ink);border-radius:50%;place-items:center;display:grid}.um-request-success p:last-child{color:var(--um-muted);margin:0}.um-admin{width:100%}.um-section-heading{border-bottom:1px solid var(--um-ink);justify-content:space-between;align-items:flex-end;gap:25px;padding-bottom:24px;display:flex}.um-section-heading h1{font:400 clamp(44px,6vw,72px)/.94 var(--um-font-display);letter-spacing:-.05em;margin:0}.um-intro{max-width:660px;color:var(--um-muted);margin:24px 0 35px}.um-backup-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.um-role-key{background:var(--um-line);border:1px solid var(--um-line);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:44px;display:grid}.um-role-key>div{background:var(--um-surface);color:var(--um-muted);grid-template-columns:10px 1fr;gap:11px;padding:16px;font-size:10px;display:grid}.um-role-key i{background:var(--um-role-guest);border-radius:50%;width:8px;height:8px;margin-top:4px}.um-role-key i.is-user{background:var(--um-role-user)}.um-role-key i.is-admin{background:var(--um-role-admin)}.um-role-key strong{color:var(--um-ink);font:600 9px/1.4 var(--um-font-utility);letter-spacing:.05em;text-transform:uppercase;display:block}.um-list-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:5px;display:flex}.um-list-heading h2{font:400 22px/1.1 var(--um-font-display);margin:0}.um-list-heading>span{color:var(--um-muted);font-size:8px}.um-requests,.um-create-user{margin-bottom:28px;padding:24px}.um-requests{border-left:4px solid var(--um-accent);background:color-mix(in srgb,var(--um-accent) 4%,var(--um-surface))}.um-request-row{border-top:1px solid var(--um-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:17px 0;display:grid}.um-request-row:first-of-type{margin-top:14px}.um-request-row>div:first-child{justify-items:start;gap:4px;min-width:0;display:grid}.um-request-row strong{max-width:100%;font:400 18px/1.2 var(--um-font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.um-request-row small{color:var(--um-muted);font-size:10px}.um-request-row>div:last-child{align-items:center;gap:14px;display:flex}.um-status{border:1px solid var(--um-warning);color:var(--um-warning);padding:4px 6px;font-size:7px}.um-empty{border:1px dashed var(--um-line);color:var(--um-muted);text-align:center;margin:16px 0 0;padding:26px;font-size:12px}.um-create-fields{grid-template-columns:1fr 1fr 160px;gap:20px;margin:22px 0;display:grid}.um-create-user>.um-button{min-width:190px}.um-users{margin-top:48px}.um-users-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:5px;display:flex}.um-users-toolbar .um-list-heading{flex:1;margin-bottom:0}.um-search-field{gap:6px;min-width:min(280px,42%);display:grid}.um-search-field>span{color:var(--um-muted);font:600 9px/1 var(--um-font-utility);letter-spacing:.08em;text-transform:uppercase}.um-search-field input{border:1px solid var(--um-line);background:var(--um-surface);width:100%;min-height:38px;color:var(--um-ink);border-radius:0;outline:none;padding:7px 10px}.um-search-field input:focus{border-color:var(--um-accent)}.um-search-field input::placeholder{color:var(--um-muted);opacity:.75}.um-user-row{--um-account-accent:var(--um-role-user);border-top:1px solid var(--um-line);display:block}.um-user-row.um-role-guest{--um-account-accent:var(--um-role-guest)}.um-user-row.um-role-user{--um-account-accent:var(--um-role-user)}.um-user-row.um-role-admin{--um-account-accent:var(--um-role-admin)}.um-user-row:first-of-type{margin-top:14px}.um-user-summary{cursor:pointer;grid-template-columns:12px minmax(0,1fr) auto 18px;align-items:center;gap:11px;min-height:58px;padding:9px 0;list-style:none;display:grid}.um-user-summary::-webkit-details-marker{display:none}.um-user-summary::marker{display:none}.um-user-summary:focus-visible{outline:3px solid color-mix(in srgb,var(--um-account-accent) 40%,transparent);outline-offset:4px}.um-account-dot{background:var(--um-account-accent);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb,var(--um-account-accent) 12%,transparent);border-radius:50%;display:block}.um-user-identity{align-items:baseline;gap:10px;min-width:0;display:flex}.um-user-identity strong{font:500 13px/1.3 var(--um-font-utility);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.um-user-identity small{color:var(--um-muted);font:500 8px/1 var(--um-font-utility);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.um-role-tag{border:1px solid color-mix(in srgb,var(--um-account-accent) 70%,transparent);background:color-mix(in srgb,var(--um-account-accent) 10%,transparent);color:var(--um-account-accent);font:600 8px/1 var(--um-font-utility);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px}.um-role-tag.is-guest{--um-account-accent:var(--um-role-guest)}.um-role-tag.is-user{--um-account-accent:var(--um-role-user)}.um-role-tag.is-admin{--um-account-accent:var(--um-role-admin)}.um-disclosure{border:1px solid var(--um-line);width:18px;height:18px;color:var(--um-muted);border-radius:50%;place-items:center;font-size:14px;line-height:1;transition:transform .16s,border-color .16s,color .16s;display:grid}.um-user-row[open] .um-disclosure{border-color:var(--um-account-accent);color:var(--um-account-accent);transform:rotate(45deg)}.um-user-summary:hover .um-disclosure{border-color:var(--um-account-accent);color:var(--um-account-accent)}.um-user-details{border-top:1px dashed color-mix(in srgb,var(--um-account-accent) 45%,var(--um-line));padding:3px 0 20px 23px}.um-user-fields{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:22px;margin-top:16px;display:grid}.um-user-row footer{gap:20px;margin-top:17px;display:flex}.um-theme-still,.um-theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.um-theme-still .um-login-mark,.um-theme-dark .um-login-mark{background:radial-gradient(circle at 30% 28%,#647169,#0000 25%),linear-gradient(145deg,#29312c,#0d100e 70%)}.um-theme-still .um-login-panel h1 em,.um-theme-dark .um-login-panel h1 em{font-family:var(--dpo-font-display)}.um-login-stage{min-height:100svh;position:relative}.um-theme-toggle{border:1px solid color-mix(in srgb,var(--um-ink) 45%,transparent);min-height:34px;color:var(--um-muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 8px;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.um-theme-toggle:hover,.um-theme-toggle:focus-visible{border-color:var(--um-accent);background:var(--um-wash);color:var(--um-ink)}.um-theme-symbol{font-size:11px;line-height:1}.um-theme-toggle-track{border:1px solid;border-radius:9px;width:27px;height:15px;padding:2px;display:block}.um-theme-toggle-track i{background:var(--um-accent);border-radius:50%;width:9px;height:9px;transition:transform .16s;display:block}.um-theme-toggle.is-dark .um-theme-toggle-track i{transform:translate(12px)}.um-login-stage>.um-theme-toggle{z-index:3;position:absolute;top:20px;right:clamp(20px,5vw,72px)}@media (width<=760px){.um-login{grid-template-columns:24px minmax(0,1fr)}.um-login-mark{padding:0}.um-login-mark span{display:none}.um-login-mark i{width:6px;height:6px}.um-login-panel{justify-content:flex-start;width:100%;padding:34px 22px 42px}.um-login-panel h1{margin:25px 0 30px;font-size:clamp(44px,13vw,62px)}.um-login-panel form,.um-login-note{max-width:none}.um-field input,.um-field select{font-size:16px}.um-topbar{padding:13px 18px}.um-topbar small{display:none}.um-topbar>div{gap:11px}.um-role-pill{display:none}.um-content{width:calc(100% - 44px);padding:48px 0 70px}.um-role-rail{display:none}.um-section-heading{flex-direction:column;align-items:flex-start}.um-section-heading .um-text-button{white-space:nowrap}.um-section-heading h1{font-size:44px}.um-backup-actions{flex-wrap:wrap;justify-content:flex-start}.um-role-key{grid-template-columns:1fr}.um-role-key>div{padding:13px 15px}.um-form-grid,.um-create-fields,.um-user-fields{grid-template-columns:1fr}.um-request-row{grid-template-columns:1fr;gap:12px}.um-request-row>div:last-child{flex-wrap:wrap;justify-content:flex-start}.um-user-row footer{justify-content:space-between}.um-request-success{grid-template-columns:1fr}.um-card{padding:20px}.um-list-heading{align-items:flex-start}.um-list-heading>span{text-align:right}.um-login-stage>.um-theme-toggle{top:14px;right:18px}.um-users-toolbar{flex-direction:column;align-items:stretch;gap:16px}.um-search-field{min-width:0}.um-user-summary{grid-template-columns:12px minmax(0,1fr) auto 18px;gap:9px}.um-user-identity{gap:3px;display:grid}.um-user-details{padding-left:0}.um-role-tag{font-size:7px}.um-request-badge strong{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.um-theme *{scroll-behavior:auto!important;transition:none!important}}@media (width<=600px){input,select,textarea{font-size:16px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.topbar,.mobile-menu,.dpo-theme-selector{display:none!important}body{color:#000;background:#fff}main{padding-top:0!important}}@media (width<=600px){.app-shell .menu-feature-row>button{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:7px}.app-shell .menu-feature-row>button>i,.app-shell .menu-feature-row>button>.ui-icon{display:none}.app-shell .menu-feature-row :is(.menu-planner-mark,.map-button-media,.pantry-button-media){max-width:40px}.app-shell .menu-feature-row .menu-calendar-toggle{grid-template-columns:30px minmax(0,1fr) 22px}.app-shell .menu-feature-row .menu-calendar-icon{width:30px}.app-shell .menu-feature-row .menu-calendar-chevron{width:22px}.app-shell .menu-feature-row .menu-calendar-toggle>span:nth-child(2){padding-inline:7px}.app-shell .menu-control-row{flex-wrap:wrap}.app-shell .menu-recipe-filter button{min-height:38px;padding-inline:6px}.app-shell .menu-backup-options{grid-template-columns:1fr}.app-shell .mobile-menu-footer .menu-backup-option+.menu-backup-option{border-top:1px solid var(--line);border-left:0}}html[data-theme] .app-shell :is(.header-calendar,.header-calendar-panel) button,html[data-theme] .app-shell button.menu-pantry-button{border-radius:0!important}@media (width<=600px){html[data-theme] .app-shell .home-menu-link{gap:16px;min-height:62px;padding:18px 12px;font-size:14px}html[data-theme] .app-shell .home-menu-link:hover,html[data-theme] .app-shell .home-menu-link:focus-visible{padding-inline:12px}html[data-theme] .app-shell .menu-feature-row{gap:8px}html[data-theme] .app-shell .menu-account-actions{gap:6px}html[data-theme] .app-shell .mobile-menu-footer :is(button,a){min-height:44px;padding-inline:10px}html[data-theme] .um-theme .um-topbar{flex-wrap:wrap;gap:12px}html[data-theme] .um-theme .um-topbar>div:last-child{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}html[data-theme] .um-theme .um-topbar button{min-height:44px}}@media (width<=600px){html[data-theme] .app-shell :is(.header-todo,.header-add-food,.header-add-photos){justify-content:center;width:auto;min-width:44px;min-height:44px;padding-inline:8px}}@container menu-account (width<=260px){html[data-theme] .app-shell .menu-account-actions:has(.menu-username){grid-template-columns:1fr 1fr;gap:10px 16px}.app-shell .menu-account-actions .menu-username{grid-area:2/1/auto/-1}html[data-theme] .app-shell .menu-account-actions:has(.menu-username) .menu-account-request{grid-row:3}}@media (width<=380px){.app-shell .topbar .wordmark{font-size:0}}@media (display-mode:standalone),(display-mode:fullscreen){.dpo-launch-screen img{display:none}}:root{--dpo-font-display:"Newsreader",Georgia,serif;--dpo-font-body:"DM Sans",sans-serif;--dpo-font-utility:"DM Mono",monospace}:root,html[data-theme=dark]{--dpo-paper:#101312;--dpo-surface:#151916;--dpo-wash:#1a1f1c;--dpo-ink:#f1f3ef;--dpo-muted:#b3bab5;--dpo-line:#414844;--dpo-accent:#cedbc9;--dpo-accent-ink:#111511;--dpo-danger:#e4a99b;--dpo-danger-ink:#211412;--dpo-warning:#e7bd7f;--dpo-selected-bg:#e5ebe2;--dpo-selected-ink:#111511;--dpo-disabled-bg:#4b554e;--dpo-disabled-ink:#f1f3ef;--dpo-scroll-track:#101412;--dpo-scroll-thumb:#657069;--dpo-scroll-hover:#9aa69e;--dpo-role-admin:#d6a4f3;--dpo-role-user:#71d1d7;--dpo-role-guest:#e7bd7f;--dpo-sun:#e7a54d;--dpo-sun-soft:#f4c881;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--dpo-paper:#f4f5f0;--dpo-surface:#f7f8f4;--dpo-wash:#e7ece4;--dpo-ink:#20251f;--dpo-muted:#566156;--dpo-line:#bec8bc;--dpo-accent:#4f6952;--dpo-accent-ink:#f7f8f4;--dpo-danger:#963d30;--dpo-danger-ink:#fff;--dpo-warning:#86601b;--dpo-selected-bg:#334535;--dpo-selected-ink:#f7f8f4;--dpo-disabled-bg:#606b61;--dpo-disabled-ink:#fff;--dpo-scroll-track:#e3e5df;--dpo-scroll-thumb:#727970;--dpo-scroll-hover:#4d554d;--dpo-role-admin:#7855a5;--dpo-role-user:#236b7e;--dpo-role-guest:#86601b;--dpo-sun:#a95416;--dpo-sun-soft:#7c3d0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,.theme-still,.theme-still.theme-archive,.um-theme,.um-theme-still,.um-theme-archive,.um-theme-dark,.um-food-user-theme,.um-photo-user-theme{--paper:var(--dpo-paper);--um-paper:var(--dpo-paper);--surface:var(--dpo-surface);--um-surface:var(--dpo-surface);--wash:var(--dpo-wash);--um-wash:var(--dpo-wash);--ink:var(--dpo-ink);--um-ink:var(--dpo-ink);--muted:var(--dpo-muted);--um-muted:var(--dpo-muted);--line:var(--dpo-line);--um-line:var(--dpo-line);--accent:var(--dpo-accent);--um-accent:var(--dpo-accent);--accent-ink:var(--dpo-accent-ink);--um-accent-ink:var(--dpo-accent-ink);--danger:var(--dpo-danger);--um-danger:var(--dpo-danger);--danger-ink:var(--dpo-danger-ink);--um-danger-ink:var(--dpo-danger-ink);--warning:var(--dpo-warning);--um-warning:var(--dpo-warning);--selected-bg:var(--dpo-selected-bg);--um-selected-bg:var(--dpo-selected-bg);--selected-ink:var(--dpo-selected-ink);--um-selected-ink:var(--dpo-selected-ink);--disabled-bg:var(--dpo-disabled-bg);--um-disabled-bg:var(--dpo-disabled-bg);--disabled-ink:var(--dpo-disabled-ink);--um-disabled-ink:var(--dpo-disabled-ink);--scroll-track:var(--dpo-scroll-track);--um-scroll-track:var(--dpo-scroll-track);--scroll-thumb:var(--dpo-scroll-thumb);--um-scroll-thumb:var(--dpo-scroll-thumb);--scroll-hover:var(--dpo-scroll-hover);--um-scroll-hover:var(--dpo-scroll-hover);--role-admin:var(--dpo-role-admin);--um-role-admin:var(--dpo-role-admin);--role-user:var(--dpo-role-user);--um-role-user:var(--dpo-role-user);--role-guest:var(--dpo-role-guest);--um-role-guest:var(--dpo-role-guest);--sun:var(--dpo-sun);--um-sun:var(--dpo-sun);--sun-soft:var(--dpo-sun-soft);--um-sun-soft:var(--dpo-sun-soft);--card:var(--dpo-surface);--selected:var(--dpo-selected-bg);--um-font-display:var(--dpo-font-display);--um-font-body:var(--dpo-font-body);--um-font-utility:var(--dpo-font-utility)}html,body{background:var(--paper);color:var(--ink);font-family:var(--dpo-font-body)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scroll-padding-top:78px}html::-webkit-scrollbar{width:10px;height:10px}.modal::-webkit-scrollbar{width:10px;height:10px}.download-grid::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track{background:var(--scroll-track)}.modal::-webkit-scrollbar-track{background:var(--scroll-track)}.download-grid::-webkit-scrollbar-track{background:var(--scroll-track)}html::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:10px}.modal::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:10px}.download-grid::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:10px}html::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.modal::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.download-grid::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}body{background:var(--paper);color:var(--ink);font-family:var(--dpo-font-body);margin:0;font-size:15px;line-height:1.4}body.menu-is-open,body.food-modal-is-open{overflow:hidden}button,input,textarea,select{font:inherit;margin:0;line-height:1.25}input[type=search]{appearance:textfield}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}button{color:inherit;cursor:pointer;appearance:none;vertical-align:middle;background:0 0;border:0;border-radius:0}button::-moz-focus-inner{border:0;padding:0}button:disabled{cursor:not-allowed;filter:saturate(.7);opacity:.78}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform-origin:50%;flex:none;align-self:center;width:1em;height:1em;display:block;overflow:visible}.button,.danger-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button>.ui-icon,.danger-button>.ui-icon,.control-icon{width:16px;height:16px}.app-shell{--header-height:64px;min-height:100vh}.app-shell main{padding-top:calc(var(--header-height) + 42px)}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f4eff2;justify-content:space-between;align-items:center;height:64px;padding:0 clamp(22px,5vw,72px);display:flex;position:fixed;inset:0 0 auto}.wordmark{letter-spacing:.16em;align-items:center;gap:9px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.wordmark img{flex:none;width:45px;height:45px}.topbar-account{justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}.um-food-user-theme{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.um-food-user-theme .um-login-mark{background:radial-gradient(circle at 30% 28%,#647169,#0000 25%),linear-gradient(145deg,#29312c,#0d100e 70%)}.um-food-user-theme .um-login-panel h1 em{font-family:var(--dpo-font-display)}.theme-still.theme-archive.um-food-user-theme{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.um-food-user-theme .um-button-primary{color:var(--um-accent-ink)}.um-food-user-theme .um-button-primary:disabled{border-color:var(--um-disabled-bg);background:var(--um-disabled-bg);color:var(--um-disabled-ink);filter:none;opacity:1}.um-food-user-theme .um-button>span[aria-hidden=true]{flex:none;width:16px;height:16px;font-size:0;display:block;position:relative}.um-food-user-theme .um-button>span[aria-hidden=true]:before{content:"";background:currentColor;width:13px;height:1.5px;position:absolute;top:7px;right:1px}.um-food-user-theme .um-button>span[aria-hidden=true]:after{content:"";border:1.5px solid;border-width:1.5px 1.5px 0 0;width:7px;height:7px;position:absolute;top:4px;right:1px;transform:rotate(45deg)}.theme-still.theme-archive.um-food-user-theme .um-login-mark{background:radial-gradient(circle at 30% 28%,#f0f4ed,#0000 26%),linear-gradient(145deg,#dbe4d8,#9ead9c 72%)}.theme-still:not(.theme-archive) .um-request-badge{color:#101411;border-color:var(--dpo-warning);background:#f0eee5;box-shadow:0 4px 16px #0003}.theme-still:not(.theme-archive) .um-request-badge strong{color:#101411;text-shadow:none}.theme-still:not(.theme-archive) .um-request-badge small{background:var(--dpo-warning);color:#101411}.topbar-account .username{text-overflow:ellipsis;white-space:nowrap;max-width:min(28vw,220px);overflow:hidden}.header-add-menu{flex:none;position:relative}.header-add-food{min-height:34px;font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;opacity:.82;border:1px solid;border-radius:18px;align-items:center;gap:6px;padding:5px 10px;font-size:9px;transition:opacity .2s,background .2s,color .2s;display:inline-flex}.header-add-food:hover,.header-add-food:focus-visible{color:#111411;opacity:1;background:#eef1ed}.header-add-food>span:first-child{font-size:13px;line-height:1}.header-add-food>.ui-icon:first-child{width:14px;height:14px}.header-add-chevron{font-size:13px;font-style:normal;line-height:1;transition:transform .2s}.header-add-food[aria-expanded=true]{color:#111411;opacity:1;background:#eef1ed}.header-add-food[aria-expanded=true] .header-add-chevron{transform:rotate(180deg)}.header-todo{border:1px solid color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 9%,transparent);min-height:36px;font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:18px;align-items:center;gap:7px;padding:4px 8px 4px 6px;font-size:9px;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex;position:relative}.header-todo:hover,.header-todo:focus-visible{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink);transform:translateY(-1px)}.header-todo-icon{border:1px solid;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:grid}.header-todo-icon .ui-icon{width:13px;height:13px}.header-todo small{background:var(--selected-bg);min-width:20px;height:20px;color:var(--selected-ink);border-radius:10px;place-items:center;padding:0 5px;font-size:8px;line-height:1;display:grid}.header-todo:hover small,.header-todo:focus-visible small{background:var(--selected-ink);color:var(--selected-bg)}.header-calendar{flex:none;position:relative}.header-calendar-trigger{border:1px solid color-mix(in srgb,currentColor 52%,transparent);width:36px;height:36px;color:inherit;border-radius:50%;place-items:center;transition:border-color .2s,background .2s,transform .2s;display:grid;position:relative}.header-calendar-trigger:hover,.header-calendar-trigger:focus-visible,.header-calendar-trigger[aria-expanded=true]{background:#ffffff1a;border-color:currentColor;transform:translateY(-1px)}.header-calendar-trigger svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.header-calendar-trigger>small{border:2px solid var(--dpo-paper);color:#152017;min-width:18px;height:18px;font:500 7px/1 var(--dpo-font-utility);letter-spacing:0;background:#dce8d7;border-radius:10px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-5px;right:-5px}.header-calendar-panel{z-index:30;border:1px solid var(--line);background:var(--paper);width:min(420px,100vw - 24px);max-height:calc(100svh - 82px);color:var(--ink);position:absolute;top:calc(100% + 11px);right:0;overflow-y:auto;box-shadow:0 24px 60px #03070461}.header-calendar-panel>header{border-bottom:1px solid var(--line);background:var(--wash);justify-content:space-between;align-items:center;min-height:68px;padding:12px 14px 11px 17px;display:flex}.header-calendar-panel>header .eyebrow{margin:0 0 3px;font-size:7px}.header-calendar-panel>header h2{font:300 25px/1 var(--dpo-font-display);letter-spacing:-.025em;margin:0}.header-calendar-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);place-items:center;display:grid}.header-calendar-close .ui-icon{width:17px;height:17px}.header-calendar-close:hover,.header-calendar-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.header-calendar-view{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:7px;display:grid}.header-calendar-view button{min-height:34px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;font-size:9px}.header-calendar-view button.active{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink)}.header-calendar-navigation{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto 36px;align-items:stretch;min-height:48px;display:grid}.header-calendar-navigation>button{min-width:38px;color:var(--accent);font-family:var(--dpo-font-utility);place-items:center;font-size:9px;display:grid}.header-calendar-navigation>button .ui-icon{width:16px;height:16px}.header-calendar-navigation>button:first-child{border-right:1px solid var(--line)}.header-calendar-navigation>button:last-child{border-left:1px solid var(--line)}.header-calendar-navigation>button:nth-last-child(2){border-left:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding-inline:9px;font-size:9px}.header-calendar-navigation>button:hover,.header-calendar-navigation>button:focus-visible{background:var(--accent);color:var(--selected-ink)}.header-calendar-navigation strong{min-width:0;font:400 15px/1.1 var(--dpo-font-display);text-overflow:ellipsis;white-space:nowrap;align-self:center;padding:0 11px;overflow:hidden}.header-calendar-weekdays,.header-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.header-calendar-weekdays{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 70%,var(--paper));min-height:25px}.header-calendar-weekdays span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;place-items:center;font-size:6px;display:grid}.header-calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:51px;color:var(--ink);text-align:left;justify-content:space-between;align-items:flex-start;padding:7px;transition:background .18s,color .18s;display:flex;position:relative}.header-calendar-grid .header-calendar-day:nth-child(7n){border-right:0}.header-calendar-day>span{font:400 13px/1 var(--dpo-font-display)}.header-calendar-day>small{background:var(--accent);min-width:18px;height:18px;color:var(--selected-ink);letter-spacing:0;border-radius:9px;place-items:center;padding:0 4px;font-size:6px;display:grid}.header-calendar-day>small i{display:none}.header-calendar-day.outside-month{color:color-mix(in srgb,var(--muted) 82%,var(--paper));background:color-mix(in srgb,var(--wash) 35%,var(--paper))}.header-calendar-day.is-past{color:color-mix(in srgb,var(--muted) 70%,transparent);background:color-mix(in srgb,var(--wash) 68%,var(--paper));filter:saturate(.45)}.header-calendar-day.is-past>small{background:color-mix(in srgb,var(--muted) 70%,var(--paper))}.header-calendar-day.is-past.has-plan:after{background:var(--muted)}.header-calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.header-calendar-day.is-today>span{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.header-calendar-day.has-plan:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:6px;left:7px;right:7px}.header-calendar-day:hover,.header-calendar-day:focus-visible{z-index:1;background:var(--selected-bg);color:var(--selected-ink)}.header-calendar-grid.week-view .header-calendar-day{flex-direction:column;min-height:92px}.header-calendar-grid.week-view .header-calendar-day>small{align-self:flex-end}.header-calendar-single-day{padding:13px}.header-calendar-day.day-view{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 8%,var(--paper));grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;min-height:174px;padding:24px;display:grid}.header-calendar-day.day-view>span{color:var(--accent);font:500 8px/1 var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase}.header-calendar-day.day-view>strong{font:300 76px/.9 var(--dpo-font-display);letter-spacing:-.06em;grid-row:2}.header-calendar-day.day-view>em{color:var(--muted);grid-row:3;font-size:11px;font-style:normal}.header-calendar-day.day-view>small{min-width:76px;height:76px;font:400 25px/1 var(--dpo-font-display);border-radius:50%;flex-direction:column;grid-area:1/2/4;justify-content:center;align-self:center;align-items:center;display:flex}.header-calendar-day.day-view>small i{font:500 6px/1 var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;margin-top:5px;display:block}.header-calendar-day-detail{background:color-mix(in srgb,var(--accent) 5%,var(--paper));padding:13px}.header-calendar-day-detail.is-past{background:var(--wash);filter:saturate(.48)}.header-calendar-day-summary{border:1px solid var(--line);width:100%;min-height:148px;color:var(--ink);text-align:left;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) auto;padding:20px;display:grid}.header-calendar-day-summary:hover,.header-calendar-day-summary:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.header-calendar-day-summary>span{color:var(--accent);font:500 8px/1 var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase}.header-calendar-day-summary>strong{font:300 72px/.9 var(--dpo-font-display);letter-spacing:-.06em;grid-row:2/4}.header-calendar-day-summary>em{color:var(--muted);grid-row:4;font-size:11px;font-style:normal}.header-calendar-day-summary>i{color:var(--accent);font:500 7px/1.4 var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;grid-area:1/2/5;align-self:center;font-style:normal}.header-calendar-day-menus{gap:8px;margin-top:9px;display:grid}.header-calendar-day-menus article{border:1px solid var(--line);background:var(--paper)}.header-calendar-day-menus article>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.header-calendar-day-menus article>header strong{font:400 18px/1 var(--dpo-font-display)}.header-calendar-day-menus article>header small{color:var(--muted);font-size:6px}.header-calendar-day-menus article>div{display:grid}.header-calendar-day-menus article a{border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);min-height:50px;color:var(--ink);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 11px 5px 5px;font-size:10px;text-decoration:none;display:grid}.header-calendar-day-menus article a>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.header-calendar-recipe-photo{border-right:1px solid var(--line);background:var(--wash);object-fit:cover;width:42px;height:42px;color:var(--muted);font:18px/1 var(--dpo-font-display);place-items:center;display:grid}.header-calendar-day-menus article a:hover,.header-calendar-day-menus article a:focus-visible{background:var(--wash);color:var(--accent)}.header-calendar-day-menus article>button{width:100%;min-height:38px;color:var(--accent);font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:7px 11px;display:flex}.header-calendar-day-menus article>button:hover,.header-calendar-day-menus article>button:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.header-calendar-day-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;margin:9px 0 0;padding:22px;font-size:10px}.header-calendar-panel>footer{border-top:1px solid var(--line);min-height:48px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;padding:7px 12px;font-size:9px;display:flex}.header-calendar-panel>footer>span{align-items:center;gap:7px;display:flex}.header-calendar-panel>footer i{background:var(--accent);border-radius:50%;width:7px;height:7px}.header-calendar-panel>footer button{min-height:34px;color:var(--accent);text-transform:uppercase;align-items:center;gap:7px;font-size:9px;display:inline-flex}.header-calendar-panel>footer button .ui-icon{width:14px;height:14px}.menu-calendar{flex:none;margin:0 0 10px;position:relative}.menu-calendar-toggle{border:1px solid var(--line);background:var(--wash);width:100%;min-height:58px;color:var(--ink);text-align:left;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;display:grid}.menu-calendar-toggle:hover,.menu-calendar-toggle:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--paper))}.menu-calendar-toggle>span:nth-child(2){min-width:0;padding:7px 10px}.menu-calendar-toggle b,.menu-calendar-toggle small{display:block}.menu-calendar-toggle b{font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase}.menu-calendar-toggle small{color:var(--muted);font:400 10px/1.25 var(--dpo-font-body);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;text-transform:none;margin-top:4px;overflow:hidden}.menu-calendar-icon{border-right:1px solid var(--line);width:38px;height:100%;color:var(--accent);place-items:center;display:grid}.menu-calendar-icon .ui-icon{width:18px;height:18px}.menu-calendar-chevron{border-left:1px solid var(--line);place-items:center;width:34px;height:100%;display:grid}.menu-calendar-chevron .ui-icon{width:16px;height:16px;transition:transform .2s}.menu-calendar-toggle[aria-expanded=true] .menu-calendar-chevron .ui-icon{transform:rotate(180deg)}.app-shell .header-calendar-panel.embedded{width:100%;max-height:none;box-shadow:none;border-top:0;position:static;overflow:visible}.menu-calendar .header-calendar-day-detail{padding:8px}.menu-calendar .header-calendar-day-summary{border-color:color-mix(in srgb,var(--selected-ink) 28%,var(--line));background:var(--selected-bg);min-height:88px;color:var(--selected-ink);box-shadow:inset 3px 0 var(--accent);padding:12px 13px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.menu-calendar .header-calendar-day-summary:hover,.menu-calendar .header-calendar-day-summary:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);box-shadow:inset 5px 0 var(--selected-ink);transform:translateY(-1px)}.menu-calendar .header-calendar-day-summary>span,.menu-calendar .header-calendar-day-summary>em{color:color-mix(in srgb,var(--selected-ink) 72%,transparent)}.menu-calendar .header-calendar-day-summary>strong{font-size:44px}.menu-calendar .header-calendar-day-summary>i{border:1px solid color-mix(in srgb,var(--selected-ink) 38%,transparent);color:var(--selected-ink);white-space:nowrap;padding:7px 9px}.header-calendar-day-menus article>footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.header-calendar-day-menus article>footer button{min-height:40px;color:var(--accent);font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;padding:6px;display:flex}.header-calendar-day-menus article>footer .ui-icon{width:14px;height:14px}.header-calendar-day-menus article>footer button+button{border-left:1px solid var(--line)}.header-calendar-day-menus article>footer button:hover,.header-calendar-day-menus article>footer button:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.header-calendar-notice{border-left:3px solid var(--accent);background:var(--paper);color:var(--muted);margin:9px 0 0;padding:9px 10px;font-size:9px;line-height:1.4}.header-add-options{z-index:24;border:1px solid var(--line);background:var(--paper);width:min(280px,100vw - 24px);padding:6px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 42px #04080652}.header-add-options>button{width:100%;min-height:64px;color:var(--ink);text-align:left;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 10px;transition:background .2s,color .2s;display:grid}.header-add-options>button+button{border-top:1px solid var(--line)}.header-add-options>button:hover,.header-add-options>button:focus-visible{background:var(--wash)}.header-add-option-icon{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 14%,var(--wash));width:30px;height:30px;color:var(--ink);font:15px/1 var(--dpo-font-utility);place-items:center;display:grid}.header-add-option-icon .ui-icon{width:16px;height:16px}.header-add-options>button>.ui-icon{width:16px;height:16px;color:var(--accent)}.header-add-options>button>span:nth-child(2){min-width:0}.header-add-options b,.header-add-options small{display:block}.header-add-options b{font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500}.header-add-options small{color:var(--muted);font-family:var(--dpo-font-body);letter-spacing:0;text-transform:none;margin-top:4px;font-size:11px;line-height:1.35}.header-add-options>button>i{color:var(--accent);font-size:16px;font-style:normal}.page-location{z-index:18;top:var(--header-height);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);height:42px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;scrollbar-width:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:8px;padding:0 clamp(22px,5vw,72px);font-size:9px;display:flex;position:fixed;left:0;right:0;overflow-x:auto}.page-location::-webkit-scrollbar{display:none}.page-location>span{color:var(--line)}.page-location button{min-height:32px;color:inherit;text-transform:inherit;flex:none;padding:4px 6px;position:relative}.page-location button:hover{color:var(--ink)}.page-location button[aria-current=page]{color:var(--ink);font-weight:500}.page-location button[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:1px;left:6px;right:6px}.photo-site-link{font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:9px;text-decoration:none;display:inline-flex}.photo-site-link img{border-radius:50%;flex:none;width:18px;height:18px}.photo-site-link:hover{color:var(--ink)}.username,.role,.eyebrow,.stats,small,.gallery-heading>span,.file-label{font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:10px}.username{color:var(--ink)}.guest-badge{border:1px solid color-mix(in srgb,var(--muted) 60%,transparent);color:var(--muted);font:500 7px/1 var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;padding:4px 7px}.role,.eyebrow,.storage-status,.file-label{color:var(--muted)}.logout,.text-button{text-underline-offset:4px;font-size:12px;text-decoration:underline}.button{letter-spacing:.02em;min-height:44px;padding:11px 15px}.button.dark{background:var(--ink);color:#fff}.button.wide{justify-content:space-between;align-items:center;width:100%;display:flex}.mobile-collection-nav{display:none}.menu-toggle{z-index:22;flex-direction:column;flex:0 0 48px;justify-content:center;align-items:flex-end;gap:5px;width:48px;height:48px;display:flex;position:relative}.menu-toggle span{background:var(--ink);width:23px;height:2px;transition:transform .2s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.home-hero-media{display:none}.theme-selector{flex:none;align-items:center;display:flex}.theme-toggle{min-width:62px;min-height:34px;color:var(--muted);border-radius:18px;justify-content:center;align-items:center;gap:5px;padding:4px 6px;transition:color .2s,background .2s;display:flex}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--ink);background:var(--wash)}.theme-symbol{text-align:center;place-items:center;width:16px;height:16px;font-size:12px;line-height:1;display:grid}.theme-symbol .ui-icon{width:14px;height:14px}.theme-toggle-track{opacity:.8;border:1px solid;border-radius:10px;width:24px;height:12px;position:relative}.theme-toggle-track i{background:currentColor;border-radius:50%;width:6px;height:6px;transition:transform .28s cubic-bezier(.16,1,.3,1);position:absolute;top:2px;left:2px}.theme-toggle[data-theme=still] .theme-toggle-track i{transform:translate(12px)}.theme-toggle[data-theme=archive] .sun,.theme-toggle[data-theme=still] .moon{color:var(--ink)}.mobile-theme-selector{justify-content:flex-end;align-items:center;width:auto;height:44px;display:flex;margin:0!important;padding:0!important}.mobile-theme-selector .theme-toggle{min-width:72px;min-height:44px;padding-inline:5px}.home-hero{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:end;gap:56px;max-width:1280px;margin:0 auto;padding:92px clamp(22px,6vw,88px) 72px;display:grid}.home-hero>.eyebrow{grid-column:1/-1;margin:0 0 -8px}.home-hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(58px,8vw,112px);font-weight:400;line-height:.88}.home-hero h1 em{font-family:var(--dpo-font-display);font-weight:500}.intro-copy{max-width:350px;color:var(--muted);margin:0 0 6px;font-size:16px;line-height:1.55}.home-search{max-width:920px;margin:0 auto;padding:34px clamp(22px,6vw,88px) 30px}.home-search>.eyebrow{border-top:1px solid var(--line);margin:0 0 18px;padding-top:20px}.home-search-form{width:100%;display:block}.home-menu{max-width:920px;margin:0 auto;padding:0 clamp(22px,6vw,88px) 100px}.home-menu>.eyebrow{border-top:1px solid var(--line);margin:0;padding:20px 0 9px}.home-menu-link{border-bottom:1px solid var(--line);text-align:left;letter-spacing:-.025em;justify-content:space-between;align-items:center;width:100%;min-height:70px;padding:16px 0;font-size:20px;transition:color .2s;display:flex}.home-menu-link:hover{color:var(--accent)}.home-menu-link.primary{font-size:28px}.home-menu-link small{color:var(--muted);align-items:center;gap:16px;display:flex}.home-menu-link b{color:var(--ink);font-size:22px;font-weight:400}.category-tree.home{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 34px}.category-tree.home>.all-dishes{grid-column:1/-1}.category-tree.home .all-dishes-filter{grid-template-columns:minmax(0,1fr) auto 42px;min-height:60px;padding-inline:12px;font-size:21px}.category-tree.home .all-dishes-filter:hover,.category-tree.home .all-dishes-filter:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--paper));color:var(--ink)}.category-tree.home .all-dishes-filter.active:hover,.category-tree.home .all-dishes-filter.active:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.category-tree.home .all-dishes-filter small{font-size:9px}.category-tree.home .all-dishes-filter b{font-family:var(--dpo-font-body);text-align:right;font-size:20px;font-weight:400}.category-tree.home>.category-tree-branch>.category-tree-row>.tree-filter{min-height:60px;font-size:21px}.category-tree.home>.category-tree-branch>.category-tree-row>.tree-random,.category-tree.home>.category-tree-branch>.category-tree-row>.tree-expand{min-height:60px}.category-tree.home>.category-tree-branch>.category-tree-row>.tree-random{padding-inline:10px;font-size:9px}.category-tree.home .category-tree-children{margin:2px 0 14px 11px;padding:6px 0 6px 15px}.category-tree.home .tree-filter.child{min-height:40px;font-size:12px}.home-pantry{max-width:920px;margin:0 auto;padding:0 clamp(22px,6vw,88px) 16px}.home-pantry>button{border:1px solid color-mix(in srgb,var(--accent) 86%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 30%,var(--paper)),color-mix(in srgb,var(--accent) 11%,var(--paper)) 68%,var(--paper));width:100%;min-height:68px;box-shadow:inset 4px 0 var(--accent),0 7px 22px color-mix(in srgb,var(--accent) 17%,transparent);color:var(--ink);text-align:left;grid-template-columns:78px minmax(0,1fr) auto 24px;align-items:center;gap:14px;padding:7px 13px 7px 7px;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:grid}.home-pantry>button:hover,.home-pantry>button:focus-visible{border-color:var(--accent);background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 38%,var(--paper)),color-mix(in srgb,var(--accent) 16%,var(--paper)) 68%,var(--paper));box-shadow:inset 4px 0 var(--accent),0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent);transform:translateY(-1px)}.pantry-button-media{border:1px solid color-mix(in srgb,var(--accent) 76%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,var(--selected-bg)),var(--selected-bg));width:56px;height:42px;color:var(--selected-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--paper) 18%,transparent);place-items:center;display:grid;position:relative;overflow:hidden}.pantry-button-media.home{width:74px;height:52px}.pantry-button-media>svg{z-index:1;fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:38px;height:29px;position:relative}.pantry-button-media.home>svg{width:46px;height:35px}.pantry-button-media:before{content:"";border:1px solid color-mix(in srgb,var(--selected-ink) 18%,transparent);pointer-events:none;position:absolute;inset:4px}.pantry-button-media:after{content:"";border:1px solid color-mix(in srgb,var(--selected-ink) 10%,transparent);pointer-events:none;border-radius:50%;width:38px;height:38px;position:absolute;transform:translate(20px,-17px)}.pantry-icon-frame{stroke-width:1.65px}.home-pantry-copy b,.home-pantry-copy small{display:block}.home-pantry-copy b{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:500}.home-pantry-copy small{color:var(--muted);font-family:var(--dpo-font-body);letter-spacing:0;text-transform:none;margin-top:3px;font-size:12px}.home-pantry-status{border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--paper) 72%,transparent);color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;font-size:8px}.home-pantry>button>.ui-icon{width:17px;height:17px;color:var(--accent)}.menu-pantry-button{border:1px solid color-mix(in srgb,var(--accent) 82%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 29%,var(--paper)),color-mix(in srgb,var(--accent) 10%,var(--paper)));width:100%;min-height:62px;box-shadow:inset 4px 0 var(--accent),0 6px 18px color-mix(in srgb,var(--accent) 13%,transparent);color:var(--ink);text-align:left;flex:none;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 11px;padding:7px 11px 7px 7px;transition:background .2s,border-color .2s,box-shadow .2s;display:grid}.menu-pantry-button:hover,.menu-pantry-button:focus-visible{border-color:var(--accent);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 33%,var(--paper)),color-mix(in srgb,var(--accent) 16%,var(--paper)))}.menu-pantry-button b,.menu-pantry-button small{display:block}.menu-pantry-button b{font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:500}.menu-pantry-button small{color:var(--muted);font-family:var(--dpo-font-body);letter-spacing:0;text-transform:none;margin-top:4px;font-size:11px;line-height:1.25}.menu-pantry-button>.ui-icon{width:17px;height:17px;color:var(--accent)}.pantry-screen{background:var(--paper);min-height:calc(100vh - 64px)}.pantry-page{width:min(1240px,100%);color:var(--ink);margin:0 auto;padding:42px clamp(22px,5vw,64px) 96px}.pantry-kicker{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:8px;font-weight:500;display:block}.pantry-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:40px;padding:12px 0 26px;display:flex}.pantry-header>div{min-width:0}.pantry-header h2{font:300 clamp(38px,5.2vw,64px)/.96 var(--dpo-font-display);letter-spacing:-.045em;margin:0}.pantry-header h2 em{font-weight:300}.pantry-header p{max-width:650px;color:var(--muted);margin:11px 0 0;font-size:11px;line-height:1.55}.pantry-header-count{border-left:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:7px 0 4px 18px;display:flex}.pantry-header-count strong{font:300 31px/1 var(--dpo-font-display)}.pantry-header-count span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:7px;line-height:1.4}.pantry-tabs{border:1px solid var(--line);border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;display:grid}.pantry-tabs>button{min-height:66px;color:var(--muted);text-align:left;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;padding:10px 16px;transition:background .2s,color .2s;display:grid;position:relative}.pantry-tabs>button+button{border-left:1px solid var(--line)}.pantry-tabs>button:after{content:"";background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.pantry-tabs>button:hover,.pantry-tabs>button:focus-visible{background:color-mix(in srgb,var(--accent) 8%,var(--paper));color:var(--ink)}.pantry-tabs>button[aria-selected=true]{background:var(--wash);color:var(--ink)}.pantry-tabs>button:disabled{background:var(--wash);color:var(--muted);cursor:not-allowed;filter:saturate(.55);opacity:.78}.pantry-tabs>button[aria-disabled=true]{background:var(--wash);color:var(--muted);cursor:pointer;filter:saturate(.55);opacity:.78}.pantry-tabs>button[aria-selected=true]:after{background:var(--accent)}.pantry-tabs>button>span:first-child{border:1px solid color-mix(in srgb,var(--accent) 60%,var(--line));width:30px;height:30px;color:var(--accent);font:18px/1 var(--dpo-font-display);place-items:center;display:grid}.pantry-tabs>button span strong,.pantry-tabs>button span small{display:block}.pantry-tabs>button span strong{font:400 17px/1 var(--dpo-font-display)}.pantry-tabs>button span small{font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;margin-top:4px;font-size:8px}.pantry-layout{border:1px solid var(--line);background:var(--paper);grid-template-columns:310px minmax(0,1fr);display:grid}.pantry-stock{border-right:1px solid var(--line);background:var(--wash);align-self:start;min-height:560px;padding:23px}.pantry-stock-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:14px;padding-bottom:13px;display:flex}.pantry-stock-heading>div{align-items:baseline;gap:8px;display:flex}.pantry-stock-heading span,.pantry-score span,.pantry-recipe-section>header span{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.pantry-stock-heading strong{font:300 28px/1 var(--dpo-font-display)}.pantry-stock-heading button{min-height:34px;color:var(--danger);font-family:var(--dpo-font-utility);text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.pantry-add{margin-top:18px}.pantry-add label{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px;font-size:8px;display:block}.pantry-add-control{border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(0,1fr) 42px;display:grid;position:relative}.pantry-add input{min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 11px}.pantry-add input::placeholder{color:var(--muted)}.pantry-add-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.pantry-add-control>button{border-left:1px solid var(--line);background:color-mix(in srgb,var(--accent) 14%,var(--paper));color:var(--accent);place-items:center;font-size:0;display:grid;position:relative}.pantry-add-control>button:before,.pantry-add-control>button:after{content:"";background:currentColor;width:15px;height:1.7px;position:absolute}.pantry-add-control>button:after{transform:rotate(90deg)}.pantry-add-control>button:hover,.pantry-add-control>button:focus-visible{background:var(--accent);color:var(--selected-ink)}.pantry-add>small{color:var(--muted);text-transform:none;margin-top:6px;font-size:8px;line-height:1.4;display:block}.pantry-suggestions{z-index:12;border:1px solid var(--line);background:var(--paper);max-height:248px;padding:4px;position:absolute;top:calc(100% + 4px);left:-1px;right:-1px;overflow-y:auto;box-shadow:0 14px 30px #0408063d}.pantry-suggestions button{width:100%;min-height:40px;color:var(--ink);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 9px;display:grid}.pantry-suggestions button+button{border-top:1px solid var(--line)}.pantry-suggestions button:hover,.pantry-suggestions button:focus-visible,.pantry-suggestions button.active{background:var(--wash);outline:0}.pantry-suggestions button.active{box-shadow:inset 3px 0 var(--accent)}.pantry-suggestions span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pantry-suggestions small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-align:right;text-transform:uppercase;margin:0;font-size:7px}.pantry-root-filter{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;display:block}.pantry-root-filter>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px;font-size:8px;display:block}.pantry-root-filter select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:42px;color:var(--ink);font-family:var(--dpo-font-body);border-radius:0;outline:0;padding:0 34px 0 10px;font-size:11px;display:block}.pantry-root-filter select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.pantry-chips{flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.pantry-chips li{border:1px solid var(--line);background:var(--paper);min-height:32px;font-family:var(--dpo-font-utility);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:5px;padding:3px 4px 3px 10px;font-size:8px;display:flex}.pantry-chips button{width:24px;height:24px;color:var(--muted);place-items:center;font-size:15px;display:grid}.pantry-chips button:hover,.pantry-chips button:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.pantry-empty-stock{text-align:center;color:var(--muted);padding:52px 10px}.pantry-empty-stock>span{font:300 32px/1 var(--dpo-font-display)}.pantry-empty-stock p{color:var(--ink);font:300 22px/1 var(--dpo-font-display);margin:12px 0 5px}.pantry-empty-stock small{text-transform:none;font-size:9px;line-height:1.5}.pantry-results{background:var(--paper);min-width:0;min-height:560px;padding:23px 26px 48px}.pantry-score{border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--paper));min-height:62px;box-shadow:inset 3px 0 var(--accent);justify-content:space-between;align-items:center;gap:22px;padding:10px 14px;display:flex}.pantry-score>div{align-items:center;gap:11px;display:flex}.pantry-score span{max-width:105px;color:var(--muted);line-height:1.35}.pantry-score strong{background:var(--selected-bg);min-width:38px;height:38px;color:var(--selected-ink);font:400 16px/1 var(--dpo-font-utility);border-radius:50%;place-items:center;display:grid}.pantry-score p{max-width:370px;color:var(--muted);text-align:right;margin:0;font-size:11px;line-height:1.4}.pantry-recipe-section{margin-top:28px}.pantry-recipe-section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:10px;padding-bottom:9px;display:flex}.pantry-recipe-section>header h3{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:3px 0 0}.pantry-recipe-section>header small{color:var(--muted);font-size:8px}.pantry-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pantry-recipe-card{border:1px solid var(--line);background:var(--paper);min-height:84px;color:var(--ink);text-align:left;grid-template-columns:66px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:8px 11px 8px 8px;transition:background .2s,border-color .2s,transform .2s;display:grid}.pantry-recipe-card:hover,.pantry-recipe-card:focus-visible{border-color:var(--accent);background:var(--wash);transform:translateY(-1px)}.pantry-recipe-card.is-match{box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 72%,var(--line))}.pantry-recipe-card img,.pantry-recipe-placeholder{background:var(--wash);object-fit:cover;width:66px;height:66px;color:var(--muted);font:24px/1 var(--dpo-font-display);place-items:center;display:grid}.pantry-recipe-copy{min-width:0;display:block}.pantry-recipe-copy small,.pantry-recipe-copy strong,.pantry-recipe-copy em{display:block}.pantry-recipe-copy small{color:var(--accent);font-size:7px}.pantry-recipe-copy strong{font:400 17px/1.08 var(--dpo-font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 4px;overflow:hidden}.pantry-recipe-copy em{color:var(--muted);font-size:9px;font-style:normal;line-height:1.35}.pantry-recipe-card>i{color:var(--accent);font-size:16px;font-style:normal}.pantry-results-empty{text-align:center;place-items:center;min-height:300px;padding:40px;display:grid}.pantry-results-empty>span{color:var(--accent);font:300 38px/1 var(--dpo-font-display)}.pantry-results-empty h3{font:300 30px/1 var(--dpo-font-display);margin:14px 0 7px}.pantry-results-empty p{max-width:450px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.meal-planner{border:1px solid var(--line);background:var(--paper)}.meal-planner.is-past-day{filter:saturate(.52)}.meal-planner.is-past-day .meal-planner-datebar{background:var(--wash)}.meal-planner-datebar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 12%,var(--paper));min-height:76px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 34%,transparent);grid-template-columns:42px minmax(190px,230px) minmax(0,1fr) auto 42px;align-items:stretch;display:grid}.meal-planner-datebar>button{color:var(--accent);place-items:center;font-size:0;transition:background .2s,color .2s;display:grid}.meal-planner-datebar>button:before{content:"";border:0 solid;border-width:0 0 1.8px 1.8px;width:9px;height:9px;display:block;transform:translate(2px)rotate(45deg)}.meal-planner-datebar>button:last-child:before{transform:translate(-2px)rotate(225deg)}.meal-planner-datebar>button:first-child{border-right:1px solid var(--line)}.meal-planner-datebar>button:last-child{border-left:1px solid var(--line)}.meal-planner-datebar>button:hover,.meal-planner-datebar>button:focus-visible{background:var(--accent);color:var(--selected-ink)}.meal-planner-datebar label{border-right:1px solid var(--line);cursor:pointer;align-content:center;padding:8px 16px;display:grid}.meal-planner-datebar label span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:7px}.meal-planner-datebar input{width:100%;min-height:36px;color:var(--ink);font:500 13px/1.3 var(--dpo-font-utility);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;background:0 0;border:0;outline:0;margin-top:2px;padding:3px 0}.theme-archive .meal-planner-datebar input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.meal-planner-datebar>strong{font:300 25px/1 var(--dpo-font-display);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;align-self:center;padding:0 20px;overflow:hidden}.meal-planner-datebar .meal-planner-today{border-left:1px solid var(--line);min-width:70px;font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;padding:0 13px;font-size:8px}.meal-planner-menu-switcher{border-bottom:1px solid var(--line);background:var(--wash);justify-content:space-between;align-items:stretch;gap:8px;padding:8px;display:flex}.meal-planner-menu-switcher>div{gap:6px;min-width:0;display:flex;overflow-x:auto}.meal-planner-menu-switcher button{border:1px solid var(--line);background:var(--paper);min-width:112px;min-height:48px;color:var(--muted);text-align:left;align-content:center;padding:7px 10px;display:grid}.meal-planner-menu-switcher button strong,.meal-planner-menu-switcher button small{display:block}.meal-planner-menu-switcher button strong{font:400 16px/1.1 var(--dpo-font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-planner-menu-switcher button small{margin-top:4px;font-size:8px}.meal-planner-menu-switcher button.active,.meal-planner-menu-switcher button:hover,.meal-planner-menu-switcher button:focus-visible{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink)}.meal-planner-menu-switcher>button.new-menu{min-width:104px;font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.06em;text-align:center;text-transform:uppercase;flex:none;display:block}.meal-planner-grid{grid-template-columns:310px minmax(0,1fr);min-height:540px;display:grid}.meal-planner-compose{border-right:1px solid var(--line);background:var(--wash);padding:24px 23px}.meal-planner-compose h3{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.03em;margin:0}.meal-planner-compose>p{color:var(--muted);margin:8px 0 21px;font-size:10px;line-height:1.5}.meal-planner-menu-name{gap:6px;margin:0 0 14px;display:grid}.meal-planner-menu-name span{color:var(--muted);font:500 7px/1 var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase}.meal-planner-menu-name input{border:1px solid var(--accent);background:var(--paper);min-height:42px;color:var(--ink);border-radius:0;outline:0;padding:0 11px;font-size:13px}.meal-planner-menu-name input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.meal-planner-recipe-picker{position:relative}.meal-planner-recipe-picker .collection-search{width:100%}.meal-planner-recipe-picker .dish-search>span{font-size:8px}.meal-planner-recipe-picker .dish-search input{min-height:42px;font-size:13px}.meal-planner-search-results{z-index:7;border:1px solid var(--line);background:var(--paper);max-height:270px;padding:5px;position:absolute;top:72px;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #04080633}.meal-planner-search-results button{width:100%;min-height:58px;color:var(--ink);text-align:left;border:1px solid #0000;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:6px;display:grid}.meal-planner-search-results button+button{border-top-color:var(--line)}.meal-planner-search-results button:hover,.meal-planner-search-results button:focus-visible{border-color:var(--accent);background:var(--wash)}.meal-planner-recipe-media{border:1px solid var(--line);background:var(--wash);object-fit:cover;width:44px;height:44px;display:block}.meal-planner-recipe-media.is-untested{color:var(--muted);font:500 6px/1.2 var(--dpo-font-utility);letter-spacing:.04em;text-align:center;text-transform:uppercase;place-items:center;padding:4px;display:grid}.meal-planner-recipe-media.is-untested b{font-weight:500}.meal-planner-recipe-result-copy{min-width:0;display:block}.meal-planner-recipe-result-copy strong,.meal-planner-recipe-result-copy small{display:block}.meal-planner-recipe-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.meal-planner-recipe-result-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:7px;overflow:hidden}.meal-planner-search-results p{color:var(--muted);margin:0;padding:15px 10px;font-size:10px}.meal-planner-selected-recipe{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper));grid-template-columns:44px minmax(0,1fr) 30px;align-items:center;gap:10px;margin-top:10px;padding:7px;display:grid}.meal-planner-selected-copy{min-width:0}.meal-planner-selected-copy small,.meal-planner-selected-copy strong{display:block}.meal-planner-selected-recipe small{color:var(--muted);margin-bottom:3px;font-size:7px}.meal-planner-selected-recipe strong{font:400 16px/1.1 var(--dpo-font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-planner-selected-recipe button{width:30px;height:30px;color:var(--muted);place-items:center;font-size:17px;display:grid}.meal-planner-add{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--paper));width:100%;min-height:42px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:8px;padding:0 12px;font-size:8px;display:flex}.meal-planner-add:hover,.meal-planner-add:focus-visible{background:var(--accent);color:var(--selected-ink)}.meal-planner-add:disabled{border-color:var(--line);background:var(--paper);color:var(--muted)}.meal-planner-compose form label>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px;font-size:8px;display:block}.meal-planner-compose select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--ink);border-radius:0;outline:0;padding:0 34px 0 10px;font-size:11px;display:block}.meal-planner-compose select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.meal-planner-compose form>button{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--paper));width:100%;min-height:42px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:8px;padding:0 12px;font-size:9px;display:flex}.meal-planner-compose form>button:hover,.meal-planner-compose form>button:focus-visible{background:var(--accent);color:var(--selected-ink)}.meal-planner-compose form>button:disabled{border-color:var(--line);background:var(--paper);color:var(--muted)}.meal-planner-saved-days{border-top:1px solid var(--line);margin-top:28px;padding-top:17px}.meal-planner-saved-days>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px;font-size:8px;display:block}.meal-planner-saved-days>div{gap:5px;padding-bottom:4px;display:flex;overflow-x:auto}.meal-planner-saved-days button{border:1px solid var(--line);background:var(--paper);height:48px;color:var(--muted);text-align:center;flex:0 0 44px;place-content:center;display:grid}.meal-planner-saved-days button.active,.meal-planner-saved-days button:hover,.meal-planner-saved-days button:focus-visible{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink)}.meal-planner-saved-days strong,.meal-planner-saved-days small{display:block}.meal-planner-saved-days strong{font:400 15px/1 var(--dpo-font-display)}.meal-planner-saved-days small{font-family:var(--dpo-font-utility);text-transform:uppercase;margin-top:3px;font-size:6px}.meal-planner-agenda{min-width:0;padding:24px 26px 42px}.meal-planner-agenda>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:12px;display:flex}.meal-planner-agenda>header>div>span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;font-size:7px}.meal-planner-agenda>header h3{font:300 29px/1 var(--dpo-font-display);letter-spacing:-.03em;margin:4px 0 0}.meal-planner-agenda-title>div{align-items:center;gap:9px;display:flex}.meal-planner-agenda-title>div>button{color:var(--accent);font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.05em;text-underline-offset:3px;text-transform:uppercase;align-self:end;margin-bottom:2px;text-decoration:underline}.meal-planner-agenda-title>small{color:var(--muted);margin-top:5px;font-size:7px;display:block}.meal-planner-agenda-title>form{align-items:stretch;gap:5px;margin-top:5px;display:flex}.meal-planner-agenda-title>form input{border:1px solid var(--accent);background:var(--paper);width:min(210px,40vw);min-height:36px;color:var(--ink);font:400 15px/1 var(--dpo-font-display);border-radius:0;outline:0;padding:0 9px}.meal-planner-agenda-title>form button{border:1px solid var(--line);min-height:36px;color:var(--muted);font:500 9px/1.2 var(--dpo-font-utility);text-transform:uppercase;padding:0 8px}.meal-planner-agenda-title>form button[type=submit]{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.meal-planner-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.meal-planner-actions button,.meal-planner-actions>a,.meal-planner-action-disabled{border:1px solid var(--line);min-height:38px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:9px;text-decoration:none;display:inline-flex}.meal-planner-actions button:hover,.meal-planner-actions button:focus-visible,.meal-planner-actions>a:hover,.meal-planner-actions>a:focus-visible{border-color:var(--accent);background:var(--wash);color:var(--ink)}.meal-planner-actions button:disabled,.meal-planner-action-disabled{opacity:.78}.meal-planner-actions .meal-planner-delete-menu{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger)}.meal-planner-actions .meal-planner-delete-menu:hover,.meal-planner-actions .meal-planner-delete-menu:focus-visible{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.meal-planner-progress{align-items:center;gap:12px;margin:13px 0 17px;display:flex}.meal-planner-progress>span{background:var(--line);flex:1;height:2px;display:block;position:relative}.meal-planner-progress i{background:var(--accent);transition:width .25s;position:absolute;inset:0 auto 0 0}.meal-planner-progress small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:7px}.meal-planner-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.meal-planner-list li{border:1px solid var(--line);background:var(--paper);grid-template-columns:44px minmax(0,1fr) 58px;align-items:stretch;min-height:84px;transition:border-color .2s,background .2s;display:grid}.meal-planner-list li:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:var(--wash)}.meal-plan-check{border-right:1px solid var(--line);place-items:center;display:grid}.meal-plan-check>span{border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line));width:22px;height:22px;color:var(--selected-ink);place-items:center;font-size:0;display:grid}.meal-planner-list li.done .meal-plan-check>span{background:var(--accent)}.meal-planner-list li.done .meal-plan-check>span:before{content:"";border:0 solid;border-width:0 0 1.7px 1.7px;width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.meal-plan-recipe{min-width:0;color:var(--ink);text-align:left;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:8px 13px;display:grid}.meal-plan-recipe>.meal-planner-recipe-media{width:52px;height:52px}.meal-plan-recipe-copy{min-width:0}.meal-plan-recipe small,.meal-plan-recipe strong,.meal-plan-recipe em{display:block}.meal-plan-recipe small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:7px;overflow:hidden}.meal-plan-recipe strong{font:400 19px/1 var(--dpo-font-display);letter-spacing:-.02em;margin:6px 0 4px}.meal-plan-recipe em{color:var(--muted);font-size:9px;font-style:normal}.meal-planner-list li.done .meal-plan-recipe strong{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1px}.meal-planner-list li.done .meal-plan-recipe{opacity:.78}.meal-plan-remove{color:var(--muted);place-content:center;gap:2px;display:grid}.meal-plan-remove>span{width:16px;height:16px;font-size:0;display:block;position:relative}.meal-plan-remove>span:before,.meal-plan-remove>span:after{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;top:7px;left:1px}.meal-plan-remove>span:before{transform:rotate(45deg)}.meal-plan-remove>span:after{transform:rotate(-45deg)}.meal-plan-remove>small{letter-spacing:.04em;font-size:6px}.meal-plan-remove:hover,.meal-plan-remove:focus-visible{background:color-mix(in srgb,var(--danger) 10%,var(--paper));color:var(--danger)}.meal-planner-empty{text-align:center;align-content:center;place-items:center;min-height:300px;display:grid}.meal-planner-empty>span{color:var(--accent);font:300 38px/1 var(--dpo-font-display)}.meal-planner-empty h3{font:300 29px/1 var(--dpo-font-display);margin:14px 0 6px}.meal-planner-empty p{color:var(--muted);margin:0;font-size:10px}.meal-planner-message{color:var(--accent);margin:14px 0 0;font-size:10px}.meal-planner-message.error{color:var(--danger)}.archive-screen{min-height:calc(100vh - 64px)}.library-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;max-width:1280px;margin:0 auto;padding:34px clamp(22px,5vw,72px) 22px;display:flex}.library-head .eyebrow{margin:0 0 8px}.stats{color:var(--ink);margin:0}.storage-status{font-size:10px}.storage-status.warning,.error,.archive-error{color:var(--danger)}.archive-error{max-width:1280px;margin:18px auto 0;padding:0 clamp(22px,5vw,72px);font-size:13px}.collection-toolbar{border-bottom:1px solid var(--line);max-width:1280px;margin:0 auto;padding:28px clamp(22px,5vw,72px) 24px}.collection-search{width:min(760px,100%)}.dish-search{width:100%;display:block}.dish-search>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:9px;display:block}.dish-search>div{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 40px;align-items:center;transition:border-color .2s;display:grid}.dish-search>div:focus-within{border-color:var(--accent)}.dish-search>div>.dish-search-icon{width:28px;height:48px;color:var(--muted);place-items:center;display:grid}.dish-search-icon .ui-icon{width:19px;height:19px}.dish-search-entry{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px 0;display:flex}.dish-search input{width:100%;min-width:120px;min-height:38px;color:var(--ink);background:0 0;border:0;outline:none;flex:180px;padding:5px 0;font-size:16px}.dish-search input::placeholder{color:var(--muted)}.dish-search button{min-width:40px;min-height:40px;color:var(--muted);place-items:center;font-size:20px;display:grid}.dish-search button>.ui-icon{width:18px;height:18px}.dish-search-terms{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.dish-search .dish-search-term{border:1px solid color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--paper));min-height:28px;color:var(--ink);font:500 9px/1.2 var(--dpo-font-utility);letter-spacing:.02em;border-radius:16px;align-items:center;gap:5px;padding:3px 4px 3px 9px;display:inline-flex;transform:none}.dish-search .dish-search-term button{width:22px;min-width:22px;height:22px;min-height:22px;color:var(--muted);font:400 15px/1 var(--dpo-font-body);border-radius:50%;place-items:center;display:grid}.dish-search .dish-search-term button:hover,.dish-search .dish-search-term button:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.recipe-download{border:1px solid var(--line);min-height:44px;font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;padding:8px 13px;font-size:9px;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.recipe-download:hover,.recipe-download:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.content-grid{grid-template-columns:170px minmax(0,1fr);gap:56px;max-width:1280px;margin:0 auto;padding:26px clamp(22px,5vw,72px) 110px;display:grid}.content-grid.collection-only{display:block}.filters{padding-top:5px}.filters .eyebrow{margin-bottom:14px}.filter{text-align:left;width:100%;min-height:36px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:3px 0;font-size:10px;display:flex}.filter.active{color:var(--ink)}.filter.active:before{content:"—";margin-right:6px}.filter span{font-size:9px}.category-tree{gap:7px;display:grid}.category-tree-branch{min-width:0}.category-tree-row{border-bottom:1px solid var(--line);align-items:stretch;min-width:0;display:flex}.tree-filter{text-align:left;width:100%;min-height:44px;color:var(--muted);font-family:var(--dpo-font-display);letter-spacing:-.015em;border:1px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:4px 10px;font-size:18px;transition:color .2s,background .2s,border-color .2s,box-shadow .2s;display:flex}.category-tree-row .tree-filter{flex:auto;min-width:0}.tree-filter>span{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.tree-filter small{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--wash) 70%,transparent);min-width:27px;height:24px;color:inherit;font-family:var(--dpo-font-utility);letter-spacing:.04em;border-radius:12px;flex:none;place-items:center;padding:0 6px;font-size:8px;display:grid}.tree-expand{width:42px;min-height:44px;color:var(--muted);background:0 0;flex:0 0 42px;place-items:center;margin-left:2px;transition:color .2s;display:grid;position:relative}.tree-expand:before{content:"";border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--wash));border-radius:3px;width:30px;height:30px;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;position:absolute}.tree-expand:hover,.tree-expand:focus-visible,.tree-expand[aria-expanded=true]{color:var(--selected-ink);background:0 0}.tree-expand:hover:before,.tree-expand[aria-expanded=true]:before{border-color:var(--accent);background:var(--accent);transform:scale(1.04)}.tree-expand:focus-visible{outline:none}.tree-expand:focus-visible:before{border-color:var(--accent);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}.tree-random{min-height:44px;color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:6px;margin-left:2px;padding:3px 9px;font-size:8px;transition:color .2s,background .2s,border-color .2s;display:flex}.tree-random i{font-family:var(--dpo-font-body);font-size:14px;font-style:normal;line-height:1}.tree-random>.ui-icon{width:15px;height:15px}.tree-random:hover,.tree-random:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--paper));color:var(--ink)}.tree-chevron{z-index:1;flex:none;width:16px;height:16px;font-size:15px;font-style:normal;line-height:1;transition:transform .2s;position:relative}.tree-expand[aria-expanded=true] .tree-chevron{transform:rotate(180deg)}.tree-filter:hover{color:var(--ink);background:color-mix(in srgb,var(--wash) 72%,transparent)}.category-tree-branch.in-active-path>.category-tree-row>.tree-filter:not(.active){background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink);box-shadow:inset 3px 0 var(--accent)}.category-tree-branch.in-active-path>.category-tree-row>.tree-expand:not([aria-expanded=true]):not(:hover):not(:focus-visible){color:var(--accent)}.tree-filter.active{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink);box-shadow:inset 4px 0 color-mix(in srgb,var(--accent) 62%,var(--selected-ink))}.tree-filter.active small{border-color:color-mix(in srgb,var(--selected-ink) 38%,transparent);background:color-mix(in srgb,var(--selected-ink) 12%,transparent);color:inherit}.all-dishes-filter{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--paper));color:var(--ink);box-shadow:inset 3px 0 var(--accent);grid-template-columns:minmax(0,1fr) auto 32px;display:grid}.all-dishes-filter>.ui-icon{width:17px;height:17px;color:var(--accent);justify-self:end}.all-dishes-filter.active>.ui-icon{color:inherit}.category-tree-children{border-left:1px solid var(--line);margin:2px 0 8px 10px;padding:4px 0 4px 13px;animation:.18s ease-out category-branch-reveal}.category-tree-branch.in-active-path>.category-tree-children{border-left-color:var(--accent)}.tree-filter.child{min-height:36px;font-family:var(--dpo-font-body);letter-spacing:0;font-size:12px}.tree-filter.child:before{content:"";background:color-mix(in srgb,var(--accent) 68%,var(--line));border-radius:50%;flex:none;width:5px;height:5px;margin-right:3px}.tree-filter.child.active:before{background:var(--selected-ink)}@keyframes category-branch-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gallery-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;padding-bottom:12px;display:flex}.gallery-heading>div{align-items:baseline;gap:10px;display:flex}.gallery-heading h2{letter-spacing:-.04em;margin:0;font-size:28px;font-weight:400}.gallery-heading span{font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10px}.download-trigger{flex:none;min-height:44px}.photo-grid{columns:3 220px;column-gap:26px}.photo-card{vertical-align:top;break-inside:avoid;width:100%;margin:0 0 48px;display:inline-block}.photo-open{text-align:left;width:100%;padding:0;display:block}.photo-frame{background:var(--wash);touch-action:pan-y pinch-zoom;width:100%;position:relative;overflow:hidden}.photo-frame.is-empty{aspect-ratio:4/3;min-height:190px}.photo-frame.is-empty .photo-open{height:100%}.untested-photo-placeholder{background:linear-gradient(145deg,var(--wash),color-mix(in srgb,var(--wash) 74%,var(--paper)));width:100%;height:100%;min-height:190px;color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:28px;display:flex}.untested-photo-placeholder b{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.035em}.untested-photo-placeholder small{max-width:230px;color:var(--muted);font-size:9px;line-height:1.5}.photo-frame.is-loading,.photo-frame.has-error{min-height:clamp(150px,24vw,260px)}.photo-frame picture{width:100%;height:auto;display:block}.photo-frame img{opacity:0;object-fit:contain;width:100%;height:auto;transition:opacity .35s,transform .5s;display:block}.photo-frame img.loaded{opacity:1}.photo-load-status{z-index:1;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;font-size:9px;display:flex;position:absolute;inset:0}.photo-load-status.failed{color:var(--danger)}.photo-spinner{border:1.5px solid #b5bbb1;border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.75s linear infinite photo-spin}@keyframes photo-spin{to{transform:rotate(360deg)}}.photo-open:hover img{transform:scale(1.012)}.card-photo-count{z-index:4;color:#fff;font-family:var(--dpo-font-utility);letter-spacing:.07em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#070a089e;border:1px solid #ffffff4d;padding:7px 9px;font-size:8px;position:absolute;top:11px;left:11px}.card-photo-nav{z-index:4;gap:4px;display:flex;position:absolute;top:10px;right:10px}.card-photo-nav button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e130fb8;border:1px solid #ffffff85;border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .2s,background .2s,border-color .2s;display:grid;box-shadow:0 10px 26px #0000004d}.card-photo-nav .ui-icon{width:20px;height:20px}.card-photo-nav button:hover:not(:disabled),.card-photo-nav button:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-2px)}.card-photo-nav button:focus-visible{outline-offset:3px;outline:2px solid #fff}.card-photo-nav button:disabled{opacity:.72}.photo-meta{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:11px;display:flex}.food-card-copy{min-width:0;color:inherit;text-align:left;flex:auto;padding:0;display:block}.food-card-copy:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.food-card-copy:hover .food-card-title{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.photo-meta small{max-width:100%;color:var(--muted);font-size:9px;line-height:1.45;display:block}.recipe-status{border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);width:max-content;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;border-radius:20px;align-items:center;gap:7px;margin:0 0 8px;padding:5px 9px;font-size:8px;line-height:1;display:inline-flex}.recipe-status i{width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent);background:currentColor;border-radius:50%}.recipe-status.is-tested{color:var(--accent)}.recipe-status.is-untested{color:var(--danger)}.recipe-status.compact{margin:7px 0 0;padding:4px 8px;font-size:7px}.ingredient-match{border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);width:max-content;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;border-radius:20px;margin:7px 0 0;padding:5px 9px;font-size:7px;line-height:1;display:flex}.ingredient-match.is-complete{border-color:color-mix(in srgb,var(--accent) 65%,transparent);color:var(--accent)}.food-card-title{letter-spacing:-.025em;margin:5px 0 0;font-size:18px;font-weight:400;line-height:1.15;display:block}.food-card-description{max-width:480px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.shot-info{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.03em;text-transform:uppercase;flex-wrap:wrap;gap:5px 10px;margin-top:7px;font-size:9px;display:flex}.shot-info span+span:before{content:"·";color:#a7aca4;margin-right:10px}.shot-info.muted{color:#9a9e97;display:block}.card-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.card-action,.edit-lightbox,.delete{min-width:44px;min-height:44px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;font-size:9px;text-decoration:none;display:inline-flex}.card-actions .card-action{border:1px solid var(--line);background:var(--wash);min-width:72px;color:var(--ink);padding:0 13px;transition:background .2s,border-color .2s,color .2s,transform .2s}.card-actions .card-action:hover,.card-actions .card-action:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-1px)}.card-actions .card-action.remove{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--wash));color:var(--danger)}.card-actions .card-action.remove:hover,.card-actions .card-action.remove:focus-visible{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.card-action.remove,.delete{color:var(--danger)}.card-action.feature{min-width:auto;padding-inline:9px}.card-action.feature.active{color:var(--accent);opacity:1;text-decoration:none}.empty-state{text-align:center;border-top:1px solid var(--line);padding:90px 0}.empty-state h3{letter-spacing:-.04em;margin:0 0 10px;font-size:32px;font-weight:400}.empty-help{color:var(--muted);margin:0 0 20px}.mobile-collection-nav{z-index:8;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);isolation:isolate;background:#f3f4eff5;align-items:center;gap:16px;min-height:56px;padding:6px 22px;position:sticky;top:56px}.mobile-collection-label{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:10px}.mobile-collection-nav>div{scrollbar-width:none;gap:20px;min-width:0;display:flex;overflow-x:auto}.mobile-collection-nav>div::-webkit-scrollbar{display:none}.mobile-collection-filter{white-space:nowrap;min-height:44px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:0;font-size:10px;display:flex;position:relative}.mobile-collection-filter small{color:inherit;font-size:9px}.mobile-collection-filter.active{color:var(--ink)}.mobile-collection-filter.active:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:2px;left:0;right:0}.app-shell:has(.mobile-menu.open):after{content:"";z-index:17;inset:var(--header-height) 0 0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04080647;position:fixed}.mobile-menu{z-index:19;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;border-top:0;flex-direction:column;width:min(600px,100vw - 32px);max-height:min(100svh - 78px,900px);padding:22px;transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1),visibility 0s linear .25s;display:flex;position:fixed;top:64px;left:auto;right:clamp(12px,3vw,44px);overflow:hidden auto;transform:translateY(-14px)scale(.985);box-shadow:0 22px 54px #060a073d}.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.mobile-menu-heading{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px;padding-bottom:10px;display:flex}.mobile-menu-heading .eyebrow{margin:0}.mobile-menu-heading>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;font-size:8px}.mobile-menu nav{flex:none;min-height:0;padding-right:5px;display:block}.category-tree-tools{border-bottom:1px solid var(--line);background:var(--paper);font-family:var(--dpo-font-utility);text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;margin:0 0 8px;padding:7px 0 9px;display:flex;position:static}.category-tree-tools>div{min-width:0}.category-tree-tools span{color:var(--muted);letter-spacing:.07em;margin-bottom:3px;font-size:7px;display:block}.category-tree-tools strong{color:var(--ink);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:500;display:block;overflow:hidden}.category-tree-tools button{min-height:34px;color:var(--ink);letter-spacing:.04em;text-underline-offset:4px;text-transform:uppercase;flex:none;padding:4px 0;font-size:9px;text-decoration:underline}.category-tree.menu{grid-template-columns:minmax(0,1fr);gap:3px}.category-tree.menu>.all-dishes{background:var(--paper);position:static}.category-tree.menu>.all-dishes .tree-filter,.category-tree.menu>.category-tree-branch>.category-tree-row>.tree-filter{min-height:42px;font-size:16px}.category-tree.menu .category-tree-children{margin-bottom:7px}.category-tree.menu .tree-filter.child{min-height:36px;font-size:11px}.category-tree.menu .tree-random{width:38px;min-height:42px;padding:0;font-size:7px}.category-tree.menu .tree-random span{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.category-tree.menu .tree-random i{font-size:17px}.category-tree.menu .tree-expand{min-height:42px}.menu-control-row{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;padding-top:11px;display:flex}.menu-recipe-filter{min-width:0}.menu-recipe-filter .eyebrow{margin:0 0 4px;font-size:8px}.menu-recipe-filter>div{background:var(--wash);border-radius:18px;align-items:center;min-height:34px;padding:3px;display:flex}.menu-recipe-filter button{min-height:30px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;border-radius:15px;align-items:center;gap:5px;padding:4px 8px;font-size:9px;transition:color .2s,background .2s;display:flex}.menu-recipe-filter button:before{content:"";opacity:.6;background:currentColor;border-radius:50%;width:5px;height:5px}.menu-recipe-filter button:nth-child(2):before{background:var(--accent);opacity:1}.menu-recipe-filter button:nth-child(3):before{background:var(--danger);opacity:1}.menu-recipe-filter button small{color:inherit;font-size:8px}.menu-recipe-filter button:hover{color:var(--ink)}.menu-recipe-filter button.active{background:var(--selected-bg);color:var(--selected-ink)}.mobile-filter{border-bottom:1px solid var(--line);text-align:left;min-height:44px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:7px 0;font-size:10px;display:flex}.mobile-filter.active{color:var(--ink)}.mobile-menu-footer{border-top:1px solid var(--line);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;flex:none;align-items:center;gap:7px;margin-top:12px;padding-top:11px;font-size:8px;display:flex}.mobile-menu-footer>span{color:var(--muted);margin-right:auto}.mobile-menu-footer button,.mobile-menu-footer a{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 9px;text-decoration:none;transition:border-color .2s,background .2s,color .2s,transform .2s;display:flex}.mobile-menu-footer .ui-icon{width:14px;height:14px}.mobile-menu-footer .photo-site-link{color:var(--ink);font-size:inherit}.mobile-menu-footer button:hover,.mobile-menu-footer button:focus-visible,.mobile-menu-footer a:hover,.mobile-menu-footer a:focus-visible{border-color:var(--accent);background:var(--wash);color:var(--ink);transform:translateY(-1px)}.mobile-menu-footer .menu-logout{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink);margin-left:auto;font-weight:600}.mobile-menu-footer .menu-logout:hover,.mobile-menu-footer .menu-logout:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.modal label{margin:0 0 20px;font-size:13px;display:block}.modal input,.modal textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #b8bcb3;outline:none;padding:11px 0;display:block}.modal textarea{resize:vertical;margin-top:7px;line-height:1.5}.modal input:focus,.modal textarea:focus{border-color:var(--ink)}.modal select{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #b8bcb3;outline:none;margin-top:8px;padding:10px 0;display:block}.modal select:focus{border-color:var(--ink)}.todo-modal{width:min(760px,100%);height:min(760px,100svh - 40px)}.todo-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;margin:-8px 0 24px;padding:0 0 18px;display:flex}.todo-summary .eyebrow{margin:0 0 5px}.todo-summary strong{font:300 clamp(27px,4vw,40px)/1 var(--dpo-font-display);letter-spacing:-.04em}.todo-summary-actions{align-items:flex-end;gap:12px;display:flex}.todo-summary-actions>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;padding-bottom:4px;font-size:9px}.todo-summary-actions .text-button{min-height:34px;font-size:9px}.todo-summary-actions .shopping-empty-cart{color:var(--danger)}.todo-summary-actions .shopping-empty-cart:hover,.todo-summary-actions .shopping-empty-cart:focus-visible{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--paper));color:var(--danger)}.todo-add{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--paper));box-shadow:inset 3px 0 0 var(--accent);margin:0 0 24px;padding:18px}.todo-add label{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px;font-size:8px;display:block}.todo-add>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.todo-add input{border:1px solid var(--line);background:var(--paper);min-height:46px;padding:0 12px;font-size:14px}.todo-add input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.todo-add .button{min-height:46px;padding:0 14px}.todo-list,.todo-completed{border-top:1px solid var(--line)}.todo-list ul,.todo-completed ul{margin:0;padding:0;list-style:none}.todo-item{border-bottom:1px solid var(--line);min-width:0;padding:0}.todo-item-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:10px 0;display:grid}.modal .todo-check{cursor:pointer;align-items:center;gap:13px;min-width:0;display:flex;margin:0!important}.modal .todo-check input{width:21px;height:21px;accent-color:var(--accent);cursor:pointer;background:0 0;border:0;flex:none;margin:0;padding:0}.todo-check span{overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.4}.todo-item.is-complete .todo-check span{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.todo-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.todo-edit,.todo-subitem,.todo-remove{min-height:34px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;padding:0 8px;font-size:8px}.todo-edit:hover,.todo-edit:focus-visible,.todo-subitem:hover,.todo-subitem:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--paper));color:var(--accent)}.todo-remove:hover,.todo-remove:focus-visible{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--paper));color:var(--danger)}.todo-edit:disabled,.todo-subitem:disabled,.todo-remove:disabled,.todo-add button:disabled,.todo-subtask-form button:disabled,.todo-edit-form button:disabled{cursor:not-allowed;opacity:.78}.todo-children{border-left:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));margin:0;padding:0 0 0 22px;list-style:none}.todo-edit-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;display:grid}.todo-edit-form input{border:1px solid var(--accent);background:var(--paper);min-height:42px;padding:0 11px;font-size:14px}.todo-edit-form .button{min-height:40px;padding:0 12px;font-size:9px}.todo-edit-form .text-button{min-height:36px;padding-inline:5px;font-size:9px}.todo-subtask-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 0 12px 34px;display:grid}.todo-subtask-form input{border:1px solid var(--line)!important;background:var(--paper)!important;min-height:38px!important;padding:0 10px!important;font-size:12px!important}.todo-subtask-form input:focus{border-color:var(--accent)!important}.todo-subtask-form .button{min-height:38px;padding:0 11px;font-size:9px}.todo-subtask-form .text-button{min-height:34px;padding-inline:5px;font-size:9px}.todo-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;margin:0;padding:32px 16px;font-size:13px;line-height:1.5}.todo-completed{margin-top:30px}.todo-completed>header{justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0 7px;display:flex}.todo-completed h3{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.todo-completed .text-button{min-height:34px;font-size:9px}.shopping-list-modal{border-top:4px solid var(--accent)}.shopping-summary{box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 72%,transparent);padding-left:15px}.shopping-summary .todo-summary-actions{flex-wrap:wrap;justify-content:flex-end;position:relative}.shopping-copy-list{border:1px solid var(--accent);color:var(--ink);padding-inline:10px!important;text-decoration:none!important}.shopping-copy-list:hover,.shopping-copy-list:focus-visible{background:var(--selected-bg);color:var(--selected-ink)}.shopping-share-status{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.03em;margin:-14px 0 18px;padding-left:18px;font-size:9px}.shopping-item-row{grid-template-columns:auto minmax(0,1fr);gap:12px}.shopping-item-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;display:grid}.shopping-item-content>.todo-edit-form{grid-column:1/-1}.shopping-item{transition:opacity .16s,background .16s;position:relative}.shopping-item.is-dragging{opacity:.48}.shopping-item.is-drop-target:before,.shopping-item.is-drop-target:after{content:"";z-index:2;background:var(--accent);height:3px;box-shadow:0 0 0 1px var(--paper);pointer-events:none;position:absolute;left:0;right:0}.shopping-item.is-drop-target.drop-before:before{top:-2px}.shopping-item.is-drop-target.drop-after:after{bottom:-2px}.shopping-drag-handle{border:1px solid var(--line);background:var(--wash);width:38px;height:42px;color:var(--muted);font:500 20px/1 var(--dpo-font-utility);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;transition:border-color .18s,background .18s,color .18s;display:grid}.shopping-drag-handle:hover,.shopping-drag-handle:focus-visible{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink)}.shopping-drag-handle:active{cursor:grabbing}.shopping-drag-handle:disabled{cursor:not-allowed;opacity:.55}.shopping-item .todo-check span{font-family:var(--dpo-font-utility);letter-spacing:.01em;font-size:11px}.guest-invite-backdrop{z-index:85}.guest-invite-modal{border-top:4px solid var(--accent);width:min(480px,100%);padding:48px 46px 42px;position:relative;overflow:visible}.guest-invite-mark{border:1px solid var(--accent);width:52px;height:52px;color:var(--accent);font:300 27px/1 var(--dpo-font-display);border-radius:50%;place-items:center;margin-bottom:28px;display:grid}.guest-invite-modal>.eyebrow{margin:0 0 9px}.guest-invite-modal h2{max-width:360px;font:300 38px/.98 var(--dpo-font-display);letter-spacing:-.045em;margin:0}.guest-invite-modal>p:not(.eyebrow):not(.error){color:var(--muted);margin:22px 0 28px;font-size:13px;line-height:1.62}.guest-invite-intro>p:last-child{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.62}.um-request-dialog .um-request-card,.um-request-dialog .um-request-success{border:0;border-top:1px solid var(--line);background:0 0;max-width:none;margin:24px 0 18px;padding:22px 0 0}.um-request-dialog .um-request-card h2,.um-request-dialog .um-request-success h2{font-size:28px}.um-request-dialog .um-form-grid{grid-template-columns:1fr;gap:15px}.guest-invite-dismiss{margin-top:4px}.guest-invite-actions{gap:13px;display:grid}.guest-invite-actions .text-button{justify-self:start}.category-modal{grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);height:min(820px,100svh - 40px)}.category-list{border-top:1px solid var(--line)}.category-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:9px 0;display:flex}.category-row>div{align-items:baseline;gap:12px;min-width:0;display:flex}.category-row strong{text-overflow:ellipsis;font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500;overflow:hidden}.category-row span{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;flex:none;font-size:9px}.category-empty{color:var(--muted);padding:28px 0}.category-notice{border-left:3px solid var(--accent);background:var(--wash);color:var(--ink);margin:0 0 18px;padding:12px 14px;font-size:13px}.category-hierarchy-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:22px;margin:-10px 0 20px;padding:13px 0;display:flex}.category-hierarchy-note strong{font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:9px;font-weight:500}.category-hierarchy-note span{max-width:390px;color:var(--muted);text-align:right;font-size:11px;line-height:1.45}.category-create{border:1px solid color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--paper));box-shadow:inset 4px 0 0 color-mix(in srgb,var(--accent) 72%,var(--line));grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);align-items:end;gap:14px 20px;margin:0 0 26px;padding:18px;display:grid}.category-create label{margin:0}.category-row-wrap{border-bottom:1px solid var(--line)}.category-row-wrap.is-root{box-shadow:inset 3px 0 0 var(--accent)}.category-row-wrap.is-root .category-row{padding-left:13px}.category-row-wrap .category-row{border-bottom:0}.category-draft-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:18px;padding:14px 0 5px;display:grid}.category-row-wrap.is-root .category-draft-heading,.category-row-wrap.is-root .category-hierarchy-editor{padding-left:13px}.category-draft-heading label{margin:0;font-size:11px}.category-draft-heading input{font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.category-draft-heading>span{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;padding-bottom:12px;font-size:9px}.category-draft-heading>button{min-height:40px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1px;font-size:9px}.category-row-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.category-row-actions button{min-height:40px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.category-hierarchy-editor{grid-template-columns:minmax(155px,.55fr) minmax(180px,1fr);align-items:end;gap:14px;padding:0 0 14px;display:grid}.category-hierarchy-editor>label{margin:0}.parent-category-picker{min-width:0;display:block;position:relative;margin:0!important}.parent-category-label{font-size:13px;display:block}.parent-category-control{border-bottom:1px solid #b8bcb3;grid-template-columns:27px minmax(0,1fr) 38px;align-items:center;min-height:42px;margin-top:8px;transition:border-color .2s;display:grid}.parent-category-control:focus-within{border-color:var(--ink)}.parent-category-control>span{color:var(--muted);font:20px/1 var(--dpo-font-display);transform:rotate(-15deg)}.modal .parent-category-control input{background:0 0;grid-column:2;min-width:0;margin:0;padding:8px 2px;font-size:12px;border:0!important}.parent-category-control:not(:has(button)) input{grid-column:2/4}.parent-category-control input::-webkit-search-cancel-button{display:none}.parent-category-control button{width:38px;height:38px;color:var(--muted);place-items:center;font-size:17px;display:grid}.parent-category-control button:hover{color:var(--ink)}.parent-category-results{z-index:12;border:1px solid var(--line);background:var(--paper);max-height:190px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #070a0833}.parent-category-results button{width:100%;min-height:38px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-align:left;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;font-size:9px;display:flex}.parent-category-results button:hover,.parent-category-results button:focus-visible{background:var(--wash);color:var(--ink)}.parent-category-results button.selected{background:var(--selected-bg);color:var(--selected-ink)}.parent-category-results button i{font-style:normal}.parent-category-results p{color:var(--muted);margin:0;padding:11px 9px;font-size:11px;line-height:1.4}.parent-category-selections{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.parent-category-selections>span{border:1px solid var(--line);background:var(--wash);min-height:28px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;padding:4px 5px 4px 9px;font-size:8px;display:flex}.parent-category-selections button{width:20px;height:20px;color:var(--muted);place-items:center;font-size:14px;line-height:1;display:grid}.parent-category-selections button:hover,.parent-category-selections button:focus-visible{background:var(--ink);color:var(--paper)}.category-root-choice{cursor:pointer;grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:10px;margin:0!important;display:grid!important}.category-root-choice>input{clip:rect(0,0,0,0);white-space:nowrap;border:0;overflow:hidden;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important}.category-root-choice>span{border:1px solid var(--line);background:var(--paper);border-radius:15px;grid-row:1/3;width:38px;height:22px;transition:background .2s,border-color .2s;position:relative}.category-root-choice>span i{background:var(--muted);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:4px;left:4px}.category-root-choice>input:checked+span{border-color:var(--accent);background:var(--accent)}.category-root-choice>input:checked+span i{background:var(--paper);transform:translate(16px)}.category-root-choice>input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.category-root-choice strong{font-size:11px;font-weight:500}.category-root-choice small{color:var(--muted);font-size:9px;line-height:1.2}.category-rename{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px;padding:0 0 14px;display:grid}.category-rename label{margin:0}.category-search{z-index:2;background:var(--paper);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;position:sticky;top:-42px;margin:0!important;padding:13px 0 11px!important;font-size:9px!important}.category-search input{font-family:var(--dpo-font-body);letter-spacing:0;text-transform:none;font-size:14px}.category-pending-note{color:var(--muted);margin:-14px 0 18px;font-size:11px}.category-save-bar{z-index:14;border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;min-height:82px;margin:0;padding:14px 42px;display:flex;position:relative;box-shadow:0 -10px 24px #1d211e14}.category-save-bar>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.category-save-bar .button{flex:none;min-width:178px}.category-save-bar b{font-size:16px;font-weight:400}.category-removal{border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));background:var(--wash);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--danger) 70%,var(--line));margin:8px 0 20px;padding:22px}.category-removal-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.category-removal-heading .eyebrow{margin:0 0 5px}.category-removal h3{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.category-removal>p{color:var(--muted);margin:16px 0;font-size:13px}.category-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.category-choice{border:1px solid var(--line);text-align:left;flex-direction:column;align-items:flex-start;gap:5px;min-height:94px;padding:14px;display:flex}.category-choice strong{font-size:13px;font-weight:500}.category-choice span{color:var(--muted);font-size:11px;line-height:1.45}.category-choice.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--paper));box-shadow:inset 4px 0 0 var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.category-choice.danger.selected{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--paper));box-shadow:inset 4px 0 0 var(--danger),0 0 0 2px color-mix(in srgb,var(--danger) 16%,transparent)}.category-destination{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:14px;margin-top:18px;display:grid}.category-destination label{margin:0}.category-destination>span{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;padding-bottom:12px;font-size:9px}.danger-button{background:var(--danger);color:var(--danger-ink)}.modal-backdrop{z-index:40;background:#1d211e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}.modal{background:var(--paper);width:100%;height:calc(100svh - 40px);max-height:none;padding:42px;position:relative;overflow-y:auto}.modal,.download-grid{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.modal h2{letter-spacing:-.04em;margin:0 0 12px;font-size:36px;font-weight:400}.modal-copy{color:var(--muted);margin:0 0 30px;line-height:1.5}.overlay-shell{grid-template-rows:auto minmax(0,1fr);height:calc(100svh - 40px);max-height:none;padding:0;display:grid;overflow:hidden}.overlay-shell-header{z-index:12;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:16px 20px 16px 42px;display:flex;position:relative}.overlay-shell-header .eyebrow{margin:0 0 3px;font-size:8px}.overlay-shell-header h2{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.overlay-shell-close{border:1px solid var(--line);background:var(--wash);width:44px;min-width:44px;min-height:44px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;padding:0;font-size:8px;display:flex}.overlay-shell-close b,.recipe-import-close b{width:16px;height:16px;font-size:0;display:block;position:relative}.overlay-shell-close b:before,.overlay-shell-close b:after,.recipe-import-close b:before,.recipe-import-close b:after{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;top:7px;left:1px}.overlay-shell-close b:before,.recipe-import-close b:before{transform:rotate(45deg)}.overlay-shell-close b:after,.recipe-import-close b:after{transform:rotate(-45deg)}.overlay-shell-close:hover,.overlay-shell-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.overlay-shell-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);min-height:0;padding:28px 42px 42px;overflow-y:auto}.modal.category-modal{width:100%}.recipe-import-modal{grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:calc(100svh - 40px);max-height:none;padding:0;display:grid;overflow:hidden}.recipe-import-shell-header{z-index:22;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:16px 20px 16px 42px;display:flex;position:relative}.recipe-import-shell-header .eyebrow{margin:0 0 3px;font-size:8px}.recipe-import-shell-header h2{font:300 28px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.recipe-import-close{border:1px solid var(--line);background:var(--wash);width:44px;min-width:44px;min-height:44px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;padding:0;font-size:8px;display:flex}.recipe-import-close:hover,.recipe-import-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.recipe-import-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);min-height:0;padding:22px 42px 42px;overflow-y:auto}.recipe-json-picker{display:block;margin:0 0 22px!important}.backup-restore-modal{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.backup-restore-warning{border:1px solid color-mix(in srgb,var(--danger) 65%,var(--line));border-left:4px solid var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--paper));margin:0 0 28px;padding:22px 24px}.backup-restore-warning .eyebrow{color:var(--danger);margin:0 0 8px}.backup-restore-warning h3{font:300 clamp(28px,4vw,42px)/1 var(--dpo-font-display);letter-spacing:-.04em;margin:0 0 9px}.backup-restore-warning p:last-child{max-width:650px;color:var(--ink);margin:0;font-size:13px;line-height:1.55}.backup-restore-picker{display:block;margin:0!important}.backup-restore-picker.has-file .file-button{border-color:var(--accent);color:var(--accent)}.backup-restore-footer{border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:14px 42px;display:flex;box-shadow:0 -10px 24px #070a081f}.backup-restore-footer>span{color:var(--muted);font-size:11px}.backup-restore-footer .danger-button{min-height:46px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-size:9px;display:flex}.backup-restore-footer .danger-button:disabled{cursor:not-allowed;opacity:.78}.backup-restore-success{text-align:center;max-width:520px;margin:30px auto}.backup-restore-success>span{border:1px solid var(--accent);width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 17px;font-size:21px;display:grid}.backup-restore-success h3{font:300 30px/1.05 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.backup-restore-success p{color:var(--muted);margin:12px 0 25px;font-size:13px;line-height:1.55}.recipe-import-steps{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto minmax(14px,1fr) auto;align-items:center;gap:8px;margin:18px 0 28px;font-size:8px;display:grid}.recipe-import-steps span{white-space:nowrap;align-items:center;gap:8px;display:flex}.recipe-import-steps b{border:1px solid var(--line);border-radius:50%;place-items:center;width:29px;height:29px;font-size:8px;font-weight:500;display:grid}.recipe-import-steps i{background:var(--line);height:1px}.recipe-import-steps .complete,.recipe-import-steps .active{color:var(--ink)}.recipe-import-steps .complete b,.recipe-import-steps .active b{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.recipe-import-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin:0 0 22px;padding:15px 0;display:flex}.recipe-import-guide>div{flex-direction:column;gap:4px;display:flex}.recipe-import-guide strong{font-size:12px;font-weight:500}.recipe-import-guide span{max-width:330px;color:var(--muted);font-size:11px;line-height:1.45}.recipe-import-guide a{min-height:44px;color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;text-underline-offset:4px;flex:none;align-items:center;font-size:9px;display:flex}.recipe-import-footnote{color:var(--muted);text-align:center;margin:12px 0 0;font-size:10px;line-height:1.5}.recipe-import-success{text-align:center;padding-top:12px}.recipe-import-success>span{border:1px solid var(--accent);width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 17px;font-size:21px;display:grid}.recipe-import-success h3{font:300 30px/1.05 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.recipe-import-success p{max-width:430px;color:var(--muted);margin:12px auto 25px;font-size:13px;line-height:1.55}.recipe-import-success b{font-size:16px;font-weight:400}.recipe-import-review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:0 0 14px;padding-bottom:12px;display:flex}.recipe-import-review-heading>div{align-items:baseline;gap:12px;display:flex}.recipe-import-review-heading strong{font-size:13px;font-weight:500}.recipe-import-review-heading span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:8px}.recipe-import-category-list{gap:10px;display:grid}.recipe-import-category{border:1px solid var(--line);background:var(--wash)}.recipe-import-category.existing{box-shadow:inset 3px 0 0 var(--accent)}.recipe-import-category>header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:14px;min-height:38px;padding:6px 12px;display:flex}.recipe-import-category>header>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:8px;overflow:hidden}.recipe-import-category>header>button{min-height:34px;color:var(--danger);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.recipe-import-category-fields{grid-template-columns:minmax(150px,1fr) minmax(130px,.55fr) minmax(170px,.8fr);align-items:end;gap:14px;padding:12px;display:grid}.recipe-import-category-fields>label{margin:0}.recipe-import-category-fields select{margin-top:8px}.recipe-import-category-name-picker{border-bottom:1px solid #b8bcb3;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;margin-top:8px;display:grid;position:relative}.recipe-import-category-name-picker:focus-within{border-color:var(--accent)}.recipe-import-category-name-picker>span{color:var(--muted);font:18px/1 var(--dpo-font-display);transform:rotate(-15deg)}.modal .recipe-import-category-name-picker>input{grid-column:2;margin:0;padding:10px 2px;border:0!important}.recipe-import-category-name-picker:not(:has(>button[aria-label="Clear category name"]))>input{grid-column:2/4}.recipe-import-category-name-picker>button[aria-label="Clear category name"]{width:34px;height:34px;color:var(--muted);place-items:center;font-size:17px;display:grid}.recipe-import-category-name-options{z-index:12;border:1px solid var(--line);background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);max-height:176px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 28px #0609073d}.recipe-import-category-name-options>small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;padding:6px 9px;font-size:7px}.recipe-import-category-name-options button{min-height:40px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-align:left;text-transform:uppercase;border:1px solid #0000;padding:7px 9px;font-size:9px}.recipe-import-category-name-options button+button{border-top-color:var(--line)}.recipe-import-category-name-options button:hover,.recipe-import-category-name-options button:focus-visible{background:var(--wash)}.recipe-import-category-name-options button.selected{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink)}.recipe-import-category-name-options button.create{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--paper));color:var(--accent);align-items:center;gap:9px;margin-top:5px;display:flex}.recipe-import-category-name-options button.create b{font-size:15px;font-weight:400}.recipe-import-category-name-options button.create span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-import-category-name-options>p{color:var(--muted);margin:0;padding:7px 9px;font-size:9px;line-height:1.4}.recipe-import-category-name-hint{min-height:27px;color:var(--muted);padding-top:6px;font-size:9px;line-height:1.35;display:block}.recipe-import-category-name-hint.new{color:var(--accent)}.recipe-import-category-existing{border:1px solid var(--line);background:var(--paper);grid-column:2/4;justify-content:space-between;align-items:center;gap:14px;min-height:44px;margin:0;padding:8px 10px;display:flex}.recipe-import-category-existing strong{font-size:11px;font-weight:500}.recipe-import-category-existing span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-align:right;text-transform:uppercase;font-size:8px}.recipe-import-recipe-category-groups{gap:18px;display:grid}.recipe-import-recipe-category-group{border:1px solid var(--line);background:color-mix(in srgb,var(--wash) 80%,var(--paper));padding:0 12px 12px}.recipe-import-recipe-category-group>header{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;margin:0 -12px 12px;padding:11px 12px;display:grid}.recipe-import-recipe-category-group>header>span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.06em;font-size:9px}.recipe-import-recipe-category-group h3{margin:0 0 2px;font-size:14px;font-weight:500}.recipe-import-recipe-category-group header small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;font-size:8px}.recipe-import-recipe-category-group .recipe-import-add-category{background:var(--paper);margin-top:10px}.recipe-import-recipe-category-empty{border:1px dashed color-mix(in srgb,var(--danger) 52%,var(--line));color:var(--danger);text-align:center;margin:0;padding:18px;font-size:11px}.recipe-import-add-category{border:1px dashed var(--accent);width:100%;min-height:52px;color:var(--ink);text-align:left;align-items:center;gap:12px;margin-top:10px;padding:8px 12px;transition:border-color .2s,background .2s;display:flex}.recipe-import-add-category:hover,.recipe-import-add-category:focus-visible{background:color-mix(in srgb,var(--accent) 9%,var(--paper));border-style:solid}.recipe-import-add-category>span:first-child{border:1px solid var(--accent);width:30px;height:30px;color:var(--accent);flex:none;place-items:center;font-size:18px;display:grid}.recipe-import-add-category>span:last-child{flex-direction:column;gap:2px;display:flex}.recipe-import-add-category strong{font-size:11px;font-weight:500}.recipe-import-add-category small{color:var(--muted);font-size:9px;line-height:1.35}.recipe-import-list{gap:10px;display:grid}.recipe-import-item{border:1px solid var(--line);background:var(--wash);transition:border-color .2s,box-shadow .2s}.recipe-import-item.has-images{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.recipe-import-item>header{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.recipe-import-item>header>span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.06em;font-size:9px}.recipe-import-item h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:14px;font-weight:500;overflow:hidden}.recipe-import-item header small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:8px;display:block;overflow:hidden}.recipe-import-item header em{border:1px solid var(--line);color:var(--danger);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:7px;font-style:normal}.recipe-import-item.has-images header em{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent)}.recipe-import-image-picker{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:9px 14px;margin:0!important;display:flex!important}.recipe-import-image-picker:hover{background:color-mix(in srgb,var(--accent) 8%,var(--wash))}.recipe-import-image-picker span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.recipe-import-image-picker b{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:8px;font-weight:500}.recipe-import-image-picker.has-file span{color:var(--ink);font-weight:500}.recipe-import-file-list{flex-wrap:wrap;gap:6px;padding:0 14px 12px;display:flex}.recipe-import-file-list>span{border:1px solid var(--line);background:var(--paper);max-width:100%;min-height:30px;font-family:var(--dpo-font-utility);align-items:center;gap:6px;padding:4px 5px 4px 9px;font-size:8px;display:flex}.recipe-import-file-list button{width:22px;height:22px;color:var(--danger);place-items:center;font-size:14px;display:grid}.recipe-import-preview{border:1px solid var(--line);background:var(--wash);touch-action:pan-y pinch-zoom;grid-template-columns:0 minmax(0,1fr) 0;display:grid;position:relative}.recipe-import-preview:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.recipe-import-preview-page{grid-area:1/2;min-width:0}.recipe-import-preview-side{z-index:6;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--paper) 91%,transparent);width:58px;height:58px;color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:50%;grid-row:1;align-self:start;place-items:center;transition:transform .2s,background .2s,color .2s,border-color .2s;display:grid;position:sticky;top:calc(50% - 29px);box-shadow:0 10px 28px #0307043d}.recipe-import-preview-side.previous{grid-column:1}.recipe-import-preview-side.next{grid-column:3}.recipe-import-preview-side.previous{justify-self:start;transform:translate(14px)}.recipe-import-preview-side.next{justify-self:end;transform:translate(-14px)}.recipe-import-preview-side span{font:300 38px/.7 var(--dpo-font-display);transform:translateY(-1px)}.recipe-import-preview-side:hover,.recipe-import-preview-side:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.recipe-import-preview-side.previous:hover,.recipe-import-preview-side.previous:focus-visible{transform:translate(11px)scale(1.04)}.recipe-import-preview-side.next:hover,.recipe-import-preview-side.next:focus-visible{transform:translate(-11px)scale(1.04)}.recipe-import-preview-side:disabled{border-color:var(--line);background:color-mix(in srgb,var(--paper) 82%,transparent);color:var(--muted);box-shadow:none;opacity:.78}.recipe-import-preview-media{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 76%,var(--ink));place-items:center;min-height:210px;max-height:330px;display:grid;position:relative;overflow:hidden}.recipe-import-preview-media>img{object-fit:cover;width:100%;height:clamp(210px,35vw,330px);display:block}.recipe-import-preview-media>span{color:#fff;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;background:#141815c7;padding:6px 9px;font-size:8px;position:absolute;bottom:12px;right:12px}.recipe-import-preview-media>div{color:var(--muted);flex-direction:column;align-items:center;gap:5px;display:flex}.recipe-import-preview-media>div b{font:300 26px/1 var(--dpo-font-display)}.recipe-import-preview-media>div small{font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;font-size:8px}.recipe-import-preview-copy{padding:22px}.recipe-import-preview-copy>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:15px;display:flex}.recipe-import-preview-copy>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:8px;display:block}.recipe-import-preview-copy h3{font:300 clamp(27px,5vw,40px)/1 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.recipe-import-preview-copy>header em{border:1px solid var(--accent);color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;flex:none;padding:5px 8px;font-size:7px;font-style:normal}.recipe-import-preview-copy>p{color:var(--muted);margin:16px 0;font-size:13px;line-height:1.6}.recipe-import-preview-meta{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;font-size:8px;display:flex}.recipe-import-preview-parts{border-top:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(160px,.72fr) minmax(0,1.28fr);margin:20px -22px -22px;display:grid}.recipe-import-preview-parts .recipe-part{padding:20px 22px}.recipe-import-preview-parts .recipe-part>header{margin-bottom:12px}.recipe-import-preview-parts .recipe-part-ingredients li{font-size:11px}.recipe-import-preview-parts .recipe-part-method p{font-size:12px}.recipe-import-preview>nav{z-index:5;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--paper) 91%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;grid-area:1/2;justify-content:center;place-self:start center;align-items:center;gap:10px;width:max-content;min-height:34px;margin-top:12px;padding:0 11px;display:flex;position:sticky;top:12px;box-shadow:0 6px 18px #03070429}.recipe-import-preview>nav strong{font-family:var(--dpo-font-utility);letter-spacing:.05em;font-size:8px;font-weight:400}.recipe-import-preview>nav strong span{color:var(--accent)}.recipe-import-preview>nav small{color:var(--muted);font-size:8px}.recipe-import-submit{z-index:24;border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;min-height:82px;margin:0;padding:14px 42px;display:flex;position:relative;box-shadow:0 -10px 24px #070a081f}.recipe-import-submit>div{flex-direction:column;gap:3px;display:flex}.recipe-import-submit strong{font-size:12px;font-weight:500}.recipe-import-submit>div span{color:var(--muted);font-size:10px}.recipe-import-submit .button{flex:none}.recipe-import-submit-actions{flex:none;justify-content:flex-end;align-items:center;flex-direction:row!important;gap:8px!important;display:flex!important}.recipe-import-back{border:1px solid var(--line);background:var(--wash);min-height:44px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:8px;display:flex}.recipe-import-back>span{font:300 20px/.7 var(--dpo-font-display);transform:translateY(-1px)}.recipe-import-back:hover,.recipe-import-back:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper));color:var(--accent)}.recipe-import-back:disabled{opacity:.78;cursor:not-allowed}.download-modal{width:100%}.download-controls{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:-8px 0 18px;font-size:10px;display:flex}.download-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;max-height:min(54vh,520px);margin:0 0 24px;padding:2px;display:grid;overflow-y:auto}.download-photo{border:1px solid var(--line);text-align:left;min-width:0;padding:0;position:relative;overflow:hidden}.download-photo img{aspect-ratio:1.2;object-fit:cover;background:var(--wash);width:100%;display:block}.download-photo>span:last-child{white-space:nowrap;text-overflow:ellipsis;font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;padding:8px 9px;font-size:9px;display:block;overflow:hidden}.download-photo.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.download-check{color:#fff;background:#1d211ec7;border:1px solid #ffffffd9;place-items:center;width:24px;height:24px;font-size:14px;display:grid;position:absolute;top:7px;right:7px}.close{min-width:44px;min-height:44px;font-size:22px;position:absolute;top:17px;right:17px}.modal>.close{z-index:18;float:right;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;margin:-25px -25px -19px 12px;font-size:0;display:grid;position:sticky;top:8px;box-shadow:0 6px 18px #070a081f}.modal>.close:before,.modal>.close:after{content:"";background:currentColor;width:17px;height:1.7px;position:absolute}.modal>.close:before{transform:rotate(45deg)}.modal>.close:after{transform:rotate(-45deg)}.hint{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;font-size:10px}.required{color:var(--danger);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.food-modal{grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:calc(100svh - 40px);max-height:none;padding:0;display:grid;overflow:hidden}.food-editor-header{z-index:6;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:10px 14px 10px 24px;display:flex;position:relative;box-shadow:0 8px 24px #070a0817}.food-editor-header>div:first-child{min-width:0}.food-editor-header .eyebrow{margin:0 0 3px;font-size:8px}.food-editor-header h2{font:300 25px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:0}.food-editor-actions{flex:none;align-items:center;gap:6px;display:flex}.food-editor-close,.food-editor-save{min-height:42px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:9px;display:flex}.food-editor-close{width:44px;min-height:44px;padding:0;font-size:0;position:relative}.food-editor-close:before,.food-editor-close:after{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;right:calc(50% - 7px)}.food-editor-close:before{transform:rotate(45deg)}.food-editor-close:after{transform:rotate(-45deg)}.food-editor-close{border:1px solid var(--line);background:var(--wash);min-width:44px;color:var(--ink)}.food-editor-close:hover,.food-editor-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.food-editor-header .food-editor-save{border:1px solid var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink)}.food-editor-save:hover{background:var(--accent);border-color:var(--accent)}.food-editor-preview-toggle{border:1px solid var(--line);min-height:42px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;padding:0 11px;font-size:8px}.food-editor-preview-toggle:hover,.food-editor-preview-toggle:focus-visible{border-color:var(--accent);color:var(--accent)}.food-editor-error{z-index:5;background:var(--danger);color:var(--danger-ink);margin:-28px -42px 20px;padding:9px 24px;font-size:12px;line-height:1.4;position:sticky;top:-28px}.modal label.field-invalid{color:var(--danger)}.modal label.field-invalid>input,.modal label.field-invalid>textarea{border-color:var(--danger);box-shadow:inset 0 -1px var(--danger)}.tag-picker.field-invalid .tag-search,.food-image-field.field-invalid .file-picker,.recipe-fields.field-invalid,.recipe-sources-editor.field-invalid{border-color:var(--danger);box-shadow:inset 3px 0 var(--danger)}.food-editor-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);min-height:0;padding:28px 42px 42px;overflow-y:auto}.food-editor-body.previewing{padding-bottom:42px}.food-editor-footer{z-index:6;border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;min-height:64px;margin:0;padding:9px 42px;display:flex;position:relative;box-shadow:0 -9px 22px #070a081a}.food-editor-footer.preview-footer{justify-content:flex-end}.food-editor-footer.preview-footer>.button.dark{background:var(--selected-bg);color:var(--selected-ink)}.food-editor-footer>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;font-size:8px}.food-editor-footer>button:not(.button){min-height:42px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.food-editor-preview{border:1px solid var(--line);background:var(--wash)}.food-editor-preview-media{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 76%,var(--ink));place-items:center;min-height:240px;max-height:390px;display:grid;position:relative;overflow:hidden}.food-editor-preview-media>img{object-fit:cover;width:100%;height:clamp(240px,44vw,390px);display:block}.food-editor-preview-media>span{color:#fff;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;background:#141815c7;padding:6px 9px;font-size:8px;position:absolute;bottom:12px;right:12px}.food-editor-preview-media>div{color:var(--muted);flex-direction:column;align-items:center;gap:5px;display:flex}.food-editor-preview-media>div b{font:300 28px/1 var(--dpo-font-display)}.food-editor-preview-media>div small{font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:8px}.food-editor-preview-content{padding:24px}.food-editor-preview-content>header{border-bottom:1px solid var(--line);padding-bottom:18px}.food-editor-preview-content>header>div>span:not(.recipe-status){color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;margin:7px 0 5px;font-size:8px;display:block}.food-editor-preview-content h3{font:300 clamp(34px,7vw,52px)/.95 var(--dpo-font-display);letter-spacing:-.045em;margin:0}.food-editor-preview-content>p{color:var(--muted);margin:18px 0;font-size:14px;line-height:1.62}.food-editor-preview-recipe{border-top:1px solid var(--line);background:var(--paper);margin:28px -24px -24px}.food-editor-preview-recipe-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;padding:20px 24px;display:flex}.food-editor-preview-recipe-heading>div:first-child>span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:8px}.food-editor-preview-recipe-heading h4{font:300 24px/1 var(--dpo-font-display);margin:5px 0 0}.food-editor-preview-recipe-heading>div:last-child{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;font-size:8px;display:flex}.selected-category{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;gap:7px;margin:11px 0 0;font-size:9px;display:grid}.selected-category strong{color:var(--ink);font-weight:500}.selected-category .food-category-selections{margin-top:0}.selected-category.new-category{border-left:3px solid var(--accent);background:var(--wash);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 13px;display:flex}.selected-category.new-category strong{font-weight:500}.selected-category.new-category span{border:1px solid var(--accent);color:var(--ink);padding:4px 7px}.recipe-toggle-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:4px 0 20px;padding:15px 0;display:flex}.recipe-toggle-row>div{flex-direction:column;gap:3px;display:flex}.recipe-toggle-row strong{font-size:13px;font-weight:500}.recipe-toggle-row>div span{color:var(--muted);font-size:11px}.recipe-tested-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding:0 0 15px;display:flex}.recipe-tested-row>div{flex-direction:column;gap:3px;display:flex}.recipe-tested-row strong{font-size:13px;font-weight:500}.recipe-tested-row>div span{color:var(--muted);font-size:11px}.switch{cursor:pointer;flex:none;width:46px;height:26px;position:relative;margin:0!important;display:block!important}.switch input{clip:rect(0,0,0,0);white-space:nowrap;border:0;overflow:hidden;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important}.switch>span{border:1px solid var(--line);background:var(--wash);border-radius:20px;transition:background .2s,border-color .2s;position:absolute;inset:0}.switch>span:after{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s;position:absolute;top:4px;left:4px}.switch input:checked+span{border-color:var(--accent);background:var(--accent)}.switch input:checked+span:after{background:var(--paper);transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.recipe-fields{border:1px solid var(--line);background:var(--wash);border-top:0;margin:-20px 0 24px;padding:20px 18px 2px}.recipe-facts-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.recipe-editor-part{border:1px solid var(--line);background:var(--paper);margin:8px 0 20px;padding:16px}.recipe-editor-part>header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 70%,var(--paper));justify-content:space-between;align-items:flex-start;gap:20px;margin:-16px -16px 16px;padding:13px 15px;display:flex}.recipe-editor-part>header>div{align-items:baseline;gap:10px;display:flex}.recipe-editor-part>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;font-size:9px}.recipe-editor-part>header h3{margin:0;font-size:15px;font-weight:500}.recipe-editor-part>header p{max-width:280px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.4}.recipe-group-list{gap:12px;display:grid}.recipe-group-editor{border-left:3px solid var(--line);background:var(--wash);padding:14px}.recipe-group-editor>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.recipe-group-editor>header>div{align-items:center;gap:9px;display:flex}.recipe-group-editor>header span{color:var(--accent);font-family:var(--dpo-font-utility);font-size:9px}.recipe-group-editor>header strong{font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:500}.recipe-group-editor>header button{min-height:32px;color:var(--danger);font-family:var(--dpo-font-utility);text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.recipe-group-editor label{margin-bottom:13px}.recipe-group-editor label:last-child{margin-bottom:0}.recipe-section-list{gap:14px;display:grid}.recipe-section-editor{border:1px solid var(--line);background:var(--paper);padding:15px}.recipe-section-editor>header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 70%,var(--paper));justify-content:space-between;align-items:center;gap:16px;margin:-15px -15px 16px;padding:10px 12px;display:flex}.recipe-section-editor>header>div{align-items:center;gap:10px;display:flex}.recipe-section-editor>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;font-size:9px}.recipe-section-editor>header strong{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.recipe-section-editor>header button{min-height:36px;color:var(--danger);font-family:var(--dpo-font-utility);text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.recipe-section-editor>label{margin-bottom:16px}.recipe-section-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recipe-section-fields label{margin-bottom:0}.add-recipe-section{border:1px dashed var(--accent);width:100%;min-height:48px;color:var(--ink);justify-content:center;align-items:center;gap:9px;margin-top:14px;font-size:12px;display:flex}.add-recipe-section span{color:var(--accent);font-size:18px}.recipe-sources-editor{border:1px solid var(--line);background:var(--wash);margin:0 0 24px;padding:16px}.recipe-sources-editor>header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 70%,var(--paper));justify-content:space-between;align-items:flex-start;gap:20px;margin:-16px -16px 16px;padding:13px 15px;display:flex}.recipe-sources-editor>header>div{align-items:baseline;gap:10px;display:flex}.recipe-sources-editor>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;font-size:9px}.recipe-sources-editor>header h3{margin:0;font-size:15px;font-weight:500}.recipe-sources-editor>header p{max-width:300px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.4}.recipe-source-rows{gap:10px;display:grid}.recipe-source-row{border-left:3px solid var(--accent);background:var(--paper);grid-template-columns:minmax(130px,.7fr) minmax(0,1.5fr) auto;align-items:end;gap:14px;padding:13px;display:grid}.recipe-source-row label{margin:0}.recipe-source-row button{min-height:44px;color:var(--danger);font-family:var(--dpo-font-utility);text-underline-offset:4px;text-transform:uppercase;font-size:9px;text-decoration:underline}.recipe-related-editor{border:1px solid var(--line);background:var(--paper);margin:0 0 20px;padding:0 12px 12px}.recipe-related-editor>header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 70%,var(--paper));justify-content:space-between;align-items:flex-start;gap:20px;margin:0 -12px;padding:13px 15px;display:flex}.recipe-related-editor>header>div{align-items:baseline;gap:10px;display:flex}.recipe-related-editor>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;font-size:9px}.recipe-related-editor>header h3{margin:0;font-size:15px;font-weight:500}.recipe-related-editor>header p{max-width:300px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.4}.related-recipe-search{border-bottom:1px solid #0000;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;min-height:46px;display:grid}.recipe-related-editor:has(.related-recipe-options,.related-recipe-empty) .related-recipe-search{border-color:var(--line)}.related-recipe-search:focus-within{border-color:var(--accent)}.related-recipe-search>span{color:var(--muted);font:22px/1 var(--dpo-font-display);transform:rotate(-15deg)}.modal .related-recipe-search input{background:0 0;min-width:0;margin:0;padding:8px 4px;font-size:13px;border:0!important}.related-recipe-search:not(:has(button)) input{grid-column:2/4}.related-recipe-search input::-webkit-search-cancel-button{display:none}.related-recipe-search button{width:38px;height:38px;color:var(--muted);place-items:center;font-size:18px;display:grid}.related-recipe-options{max-height:168px;padding:6px 0;display:grid;overflow-y:auto}.related-recipe-options button{border-bottom:1px solid var(--line);background:var(--paper);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:7px 9px;display:grid}.related-recipe-options button:last-child{border-bottom:0}.related-recipe-options button.selected{border-color:var(--selected-bg);background:color-mix(in srgb,var(--selected-bg) 11%,var(--paper));box-shadow:inset 3px 0 var(--selected-bg)}.related-recipe-options button>span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.related-recipe-options button>b{color:var(--accent);font-size:15px;font-weight:400}.related-recipe-empty{color:var(--muted);margin:0;padding:11px 4px;font-size:11px}.selected-related-recipes{border-top:1px solid var(--line);padding:11px 4px 12px}.selected-related-recipes>strong{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:8px;font-weight:500;display:flex}.selected-related-recipes>strong small{color:var(--accent);font-size:8px}.selected-related-recipes .parent-category-selections>span{overflow-wrap:anywhere;max-width:100%}.recipe-section-help{color:var(--muted);text-align:center;margin:8px 0 14px;font-size:10px}.tag-picker{margin:-8px 0 25px;position:relative}.tag-search-wrap{z-index:8;position:relative}.tag-search{border:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) 38px;align-items:center;min-height:48px;margin:0;padding-left:8px;transition:border-color .2s;display:grid}.tag-search:focus-within{border-color:var(--accent)}.tag-search>span{color:var(--muted);font:22px/1 var(--dpo-font-display);transform:rotate(-15deg)}.modal .tag-search input{background:0 0;min-width:0;margin:0;padding:10px 4px;font-size:14px;border:0!important}.tag-search:not(:has(button)) input{grid-column:2/4}.tag-search input::-webkit-search-cancel-button{display:none}.tag-search button{width:38px;height:38px;color:var(--muted);place-items:center;font-size:18px;display:grid}.tag-search button:hover{color:var(--ink)}:is(.dish-search>div,.pantry-add-control,.parent-category-control,.recipe-import-category-name-picker,.related-recipe-search,.tag-search):focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}:is(.dish-search>div,.pantry-add-control,.parent-category-control,.recipe-import-category-name-picker,.related-recipe-search,.tag-search) input:focus-visible{outline:0}.tag-picker.field-invalid .tag-search:focus-within{border-color:var(--danger);outline-color:var(--danger)}.tag-chips{flex-wrap:wrap;gap:7px;display:flex}.tag-options{z-index:8;border:1px solid var(--line);background:var(--wash);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;max-height:174px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #0609073d}.tag-chip{border:1px solid var(--line);min-height:44px;font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;padding:7px 9px;font-size:10px}.tag-options .tag-chip{background:var(--paper);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-chip span{letter-spacing:.07em;margin-left:7px;font-size:8px}.tag-chip.selected{background:var(--selected-bg);border-color:var(--selected-bg);color:var(--selected-ink);box-shadow:0 0 0 2px var(--paper),0 0 0 4px color-mix(in srgb,var(--selected-bg) 60%,transparent)}.tag-chip.newly-created{border-width:2px;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.tag-create{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:12px;padding-top:10px;display:flex}.tag-create input{padding:7px 0;border:0!important}.tag-picker-empty{z-index:8;border:1px solid var(--line);background:var(--wash);color:var(--muted);margin:0;padding:11px 10px;font-size:11px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 16px 32px #0609072e}.tag-manage-row{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:11px;font-size:11px;display:flex}.tag-manage-row button{flex:none}.category-manager-backdrop{z-index:45}.file-row{grid-template-columns:1fr 1fr;gap:12px;margin:29px 0;display:grid}.file-label{margin-bottom:9px;display:block}.file-button{border:1px solid var(--line);text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;min-height:48px;padding:14px 11px;font-size:12px;display:block;overflow:hidden}.file-picker{cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;margin:0!important}.file-drop-picker{transition:border-color .2s,background .2s,box-shadow .2s,outline-color .2s}.file-drop-picker:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.file-drop-picker.is-dragging{outline:2px dashed var(--accent);outline-offset:3px;background:color-mix(in srgb,var(--accent) 13%,var(--paper));box-shadow:inset 3px 0 0 var(--accent)}.file-drop-picker.is-dragging .file-button{border-color:var(--accent);color:var(--ink)}.recipe-import-image-picker.file-drop-picker.is-dragging{background:color-mix(in srgb,var(--accent) 15%,var(--wash));box-shadow:inset 3px 0 0 var(--accent)}.modal input[type=file],.file-picker input[type=file]{display:none!important}.file-picker.has-file{border-color:var(--accent);background:var(--dpo-wash);box-shadow:inset 3px 0 0 var(--accent)}.image-manager{border:1px solid var(--line);background:var(--wash);margin:2px 0 18px;padding:14px}.image-manager>.file-label{margin:0 0 10px}.existing-image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.existing-image{background:#171c18;flex-direction:column;display:flex;position:relative;overflow:hidden}.existing-image img{aspect-ratio:1.25;object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.existing-image.is-dragging{opacity:.48}.existing-image.is-drop-target:before,.existing-image.is-drop-target:after{content:"";z-index:3;background:var(--accent);height:4px;box-shadow:0 0 0 1px var(--paper);pointer-events:none;position:absolute;left:0;right:0}.existing-image.is-drop-target.drop-before:before{top:0}.existing-image.is-drop-target.drop-after:after{bottom:0}.existing-image button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b09b8;border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:grid;position:absolute;top:5px;right:5px}.image-order-controls{background:var(--paper);min-height:37px;color:var(--ink);justify-content:center;align-items:center;gap:5px;padding:4px;display:flex}.image-order-controls>span{min-width:22px;color:var(--muted);font:9px/1 var(--dpo-font-utility);text-align:center}.image-order-controls>button{border:1px solid var(--line);background:var(--wash);width:28px;height:28px;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;place-items:center;font-size:14px;line-height:1;display:grid;position:static}.image-order-controls>.photo-drag-handle{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.image-order-controls>.photo-drag-handle:active{cursor:grabbing}.image-order-controls>button:hover:not(:disabled),.image-order-controls>button:focus-visible{border-color:var(--accent);background:var(--selected-bg);color:var(--selected-ink)}.image-order-controls>button:disabled{opacity:.38}.image-order-controls>.image-remove{border-color:color-mix(in srgb,var(--danger) 50%,var(--line));width:auto;color:var(--danger);font:9px/1 var(--dpo-font-utility);text-transform:uppercase;background:0 0;margin-left:auto;padding:0 7px}.image-order-controls>.image-remove:hover,.image-order-controls>.image-remove:focus-visible{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.image-manager-empty{color:var(--muted);margin:11px 0 0;font-size:11px;line-height:1.45}.new-image-list{border:1px solid var(--line);background:var(--wash);border-top:0;gap:4px;margin:-12px 0 18px;padding:9px 12px;display:grid}.new-image-list>div{color:var(--muted);font-family:var(--dpo-font-utility);justify-content:space-between;align-items:center;gap:10px;font-size:9px;line-height:1.3;display:flex}.new-image-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.new-image-list button{color:var(--muted);background:0 0;border:0;flex:none;padding:0 3px;font-size:16px;line-height:1}.new-image-list button:hover{color:var(--danger)}:is(.pantry-chips li,.parent-category-selections>span,.related-recipe-search,.tag-search,.recipe-import-category-name-picker,.recipe-import-file-list>span,.existing-image,.new-image-list>div,.meal-planner-selected-recipe)>button{font-size:0;line-height:0;position:relative}:is(.pantry-chips li,.parent-category-selections>span,.related-recipe-search,.tag-search,.recipe-import-category-name-picker,.recipe-import-file-list>span,.existing-image,.new-image-list>div,.meal-planner-selected-recipe)>button:before,:is(.pantry-chips li,.parent-category-selections>span,.related-recipe-search,.tag-search,.recipe-import-category-name-picker,.recipe-import-file-list>span,.existing-image,.new-image-list>div,.meal-planner-selected-recipe)>button:after{content:"";background:currentColor;width:12px;height:1.5px;position:absolute;top:50%;left:50%}:is(.pantry-chips li,.parent-category-selections>span,.related-recipe-search,.tag-search,.recipe-import-category-name-picker,.recipe-import-file-list>span,.existing-image,.new-image-list>div,.meal-planner-selected-recipe)>button:before{transform:translate(-50%,-50%)rotate(45deg)}:is(.pantry-chips li,.parent-category-selections>span,.related-recipe-search,.tag-search,.recipe-import-category-name-picker,.recipe-import-file-list>span,.existing-image,.new-image-list>div,.meal-planner-selected-recipe)>button:after{transform:translate(-50%,-50%)rotate(-45deg)}.batch-file-list{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.batch-file-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:end;gap:12px;display:grid}.batch-row-actions{justify-content:center;align-items:stretch;gap:6px;height:48px;display:flex}.batch-row-add,.batch-row-remove{width:44px;height:44px}.batch-row-add{border:2px solid var(--ink);background:var(--ink);color:#fff;font-size:30px;line-height:1}.batch-row-remove{color:var(--muted);font-size:12px}.batch-summary{border-top:1px solid var(--line);margin:0 0 25px;padding-top:12px}.batch-summary p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.food-detail-backdrop{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040705d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}.food-detail-card{background:var(--paper);width:100%;height:calc(100svh - 40px);max-height:none;color:var(--ink);grid-template-rows:auto minmax(0,1fr);animation:.42s cubic-bezier(.16,1,.3,1) both food-card-open;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000006b}.food-detail-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);min-height:0;overflow-y:auto}@keyframes food-card-open{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.food-detail-topbar{z-index:7;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:7px 12px 7px 20px;display:flex;position:relative;box-shadow:0 8px 24px #070a081a}.food-detail-topbar>.page-location{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex:auto;width:auto;min-width:0;height:42px;padding:0;position:static}.food-detail-topbar>div{flex:none;align-items:center;gap:8px;display:flex}.food-detail-topbar .edit-lightbox,.food-detail-topbar .delete{min-width:auto;padding:0 8px}.food-detail-close{border:1px solid var(--line);background:var(--wash);width:44px;min-width:44px;min-height:44px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex;position:static}.food-detail-close .ui-icon{width:16px;height:16px}.food-detail-close:hover,.food-detail-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.food-detail-media{touch-action:pan-y pinch-zoom;background:#080b09;place-items:center;width:100%;height:min(64vh,620px);min-height:360px;display:grid;position:relative;overflow:hidden}.food-detail-media .untested-photo-placeholder{color:#f2f4ee;background:linear-gradient(145deg,#151b17,#090d0b);min-height:100%}.food-detail-media .untested-photo-placeholder small{color:#aab3ac}.food-detail-image-stage{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.food-detail-image-stage>img{opacity:0;transition:opacity .4s;display:block}.food-detail-image-stage>img.loaded{opacity:1}.food-detail-media-actions{z-index:4;align-items:center;gap:8px;display:flex;position:absolute;bottom:18px;right:18px}.food-detail-intro-action{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:50px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;background:#0e130fb8;border:1px solid #ffffff85;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:9px;transition:transform .2s,background .2s,border-color .2s;display:inline-flex;box-shadow:0 10px 26px #0000004d}.food-detail-intro-action span{font-size:13px}.food-detail-intro-action:hover,.food-detail-intro-action:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-2px)}.food-detail-intro-action:focus-visible{outline-offset:3px;outline:2px solid #fff}.food-detail-intro-action.active{border-color:var(--accent);color:var(--accent);cursor:default}.food-detail-intro-action:disabled{opacity:.75;background:#0e130fb8;transform:none}.food-detail-nav{gap:8px;display:flex;position:static}.food-detail-nav button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e130fb8;border:1px solid #ffffff85;border-radius:50%;place-items:center;width:50px;height:50px;transition:transform .2s,background .2s,border-color .2s;display:grid;box-shadow:0 10px 26px #0000004d}.food-detail-nav .ui-icon{width:23px;height:23px}.food-detail-nav button span{font:300 34px/.7 var(--dpo-font-display);transform:translateY(-1px)}.food-detail-nav button:hover,.food-detail-nav button:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-2px)}.food-detail-nav button:focus-visible{outline-offset:3px;outline:2px solid #fff}.food-detail-nav button:disabled{box-shadow:none;opacity:.72;cursor:not-allowed;transform:none}.food-photo-selector-row{background:#111612;align-items:center;gap:14px;min-height:76px;padding-right:16px;display:flex}.food-photo-strip{scrollbar-width:thin;scrollbar-color:#69736b #111612;background:#111612;flex:auto;gap:8px;min-width:0;padding:12px 16px;display:flex;overflow-x:auto}.food-share-tools{flex:none;align-items:center;gap:7px;margin-left:auto;display:flex}.recipe-menu-add{color:#f3f5ef;border:1px solid #ffffff73;grid-template-columns:126px 138px 112px;width:376px;min-height:44px;display:grid;position:relative}.recipe-menu-add label{cursor:pointer;border-right:1px solid #ffffff4d;align-content:center;min-width:0;padding:4px 9px;display:grid;position:relative}.recipe-menu-add label span{font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;opacity:.72;grid-column:1/-1;font-size:6px}.recipe-menu-add input,.recipe-menu-add select{color:#f3f5ef;width:100%;min-width:0;font:500 9px/1.3 var(--dpo-font-utility);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;background:0 0;border:0;border-radius:0;outline:0;padding:0}.recipe-menu-add select{text-overflow:ellipsis;white-space:nowrap;padding-right:15px;overflow:hidden}.recipe-menu-add select option{color:#f3f5ef;background:#111612}.recipe-menu-date{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 15px;column-gap:5px}.recipe-menu-date-display{min-width:0;font:500 9px/1.3 var(--dpo-font-utility);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-menu-date>.ui-icon{color:#f3f5ef;width:13px;height:13px}.recipe-menu-date>input[type=date]{z-index:2;opacity:.01;appearance:none;cursor:pointer;width:100%;height:100%;min-height:100%;padding:0;position:absolute;inset:0}.recipe-menu-date>input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.recipe-menu-date:focus-within{outline:2px solid var(--accent);outline-offset:-3px}.recipe-menu-destination{border-right:1px solid #ffffff4d;align-content:center;min-width:0;padding:4px 8px;display:grid;position:static}.recipe-menu-destination>span{font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;opacity:.72;font-size:6px}.recipe-menu-destination>button{color:#f3f5ef;text-align:left;justify-content:space-between;align-items:center;gap:5px;min-width:0;display:flex}.recipe-menu-destination>button strong{min-width:0;font:500 9px/1.3 var(--dpo-font-utility);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-menu-destination-short{display:none}.recipe-menu-destination>button i{font-style:normal;transition:transform .18s}.recipe-menu-destination.open>button i{transform:rotate(180deg)}.recipe-menu-options{z-index:60;background:#111612;border:1px solid #ffffff85;width:220px;max-width:calc(100vw - 24px);max-height:230px;padding:5px;display:grid;position:absolute;bottom:calc(100% + 7px);right:0;overflow-y:auto;box-shadow:0 18px 38px #00000073}.recipe-menu-options>button{color:#f3f5ef;width:100%;min-height:40px;font:500 9px/1.3 var(--dpo-font-utility);text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.recipe-menu-options>button+button{border-top:1px solid #ffffff2e}.recipe-menu-options>button:hover,.recipe-menu-options>button:focus-visible,.recipe-menu-options>button[aria-selected=true]{color:#111612;background:#f3f5ef}.recipe-menu-options>button i{font-style:normal}.recipe-menu-add>button{color:#f3f5ef;min-width:105px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:0 10px;font-size:9px}.recipe-menu-add>button:hover,.recipe-menu-add>button:focus-visible{color:#111612;background:#f3f5ef}.recipe-menu-add>button:disabled{opacity:.78}.recipe-menu-add .recipe-menu-action-short{display:none}.recipe-menu-add.is-creating{grid-template-columns:126px 138px 134px 112px;width:510px}.recipe-menu-add.is-creating>button{grid-area:1/4;min-width:0}.recipe-menu-add.is-creating .recipe-menu-new-name{grid-area:1/3;min-height:44px}.recipe-menu-add .recipe-menu-new-name input{font-size:10px}.recipe-menu-add>small{color:#f3f5ef;letter-spacing:.03em;text-transform:none;white-space:nowrap;font-size:7px;position:absolute;bottom:-18px;right:0}.recipe-menu-guest-action{color:#f3f5ef;min-height:44px;font:500 8px/1 var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:1px solid #ffffff73;padding:0 13px}.recipe-menu-guest-action:hover,.recipe-menu-guest-action:focus-visible{color:#111612;background:#f3f5ef}.food-photo-selector-row .recipe-download,.recipe-share{color:#f3f5ef;white-space:nowrap;border:1px solid #ffffff73;flex:none}.recipe-share{min-height:44px;font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:9px;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.recipe-share span{font-size:13px}.food-photo-selector-row .recipe-download:hover,.recipe-share:hover{color:#111612;background:#f3f5ef;border-color:#f3f5ef}.food-photo-thumb{opacity:.62;background:#202721;border:1px solid #ffffff38;flex:0 0 68px;width:68px;height:52px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;overflow:hidden}.food-photo-thumb:hover,.food-photo-thumb.active{opacity:1;border-color:#f3f5ef}.food-photo-thumb.active{transform:translateY(-1px);box-shadow:0 0 0 2px #111612,0 0 0 4px #f3f5ef}.food-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.food-detail-content{padding:clamp(24px,5vw,58px)}.food-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:22px;display:flex}.food-detail-heading .recipe-status{margin-bottom:12px}.food-detail-heading .eyebrow{margin:0 0 8px}.food-detail-heading h2{font:300 clamp(38px,6vw,66px)/.94 var(--dpo-font-display);letter-spacing:-.05em;margin:0}.food-detail-heading>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.08em;padding-bottom:5px;font-size:9px}.food-detail-description{max-width:760px;color:var(--muted);margin:26px 0 0;font-size:clamp(15px,2vw,18px);line-height:1.65}.recipe-sheet{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--wash);margin-top:42px}.recipe-sheet-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;padding:24px 26px;display:flex}.recipe-sheet-heading .eyebrow{margin:0}.recipe-sheet-heading h3{font:300 32px/1 var(--dpo-font-display);letter-spacing:-.035em;margin:6px 0 0}.recipe-sheet-tools{justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.recipe-meta{max-width:330px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-transform:uppercase;text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:6px 14px;font-size:9px;display:flex}.recipe-download{border-color:var(--accent);color:var(--ink);flex:none}.recipe-parts{grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);display:grid}.recipe-part{padding:28px 26px}.recipe-part+.recipe-part{border-left:1px solid var(--line)}.recipe-part>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding-bottom:12px;display:flex}.recipe-part>header h4{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.recipe-ingredient-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.recipe-add-ingredients,.recipe-uncheck-all{border:1px solid var(--line);width:36px;height:36px;min-height:36px;color:var(--muted);place-items:center;padding:0;transition:border-color .2s,background .2s,color .2s;display:grid;position:relative}.recipe-add-ingredients .ui-icon,.recipe-uncheck-all .ui-icon{width:18px;height:18px}.recipe-add-ingredients{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));color:var(--accent)}.recipe-action-icon{font-size:17px;line-height:1}.recipe-uncheck-all .recipe-action-icon{font-size:21px}.recipe-action-feedback{max-width:150px;color:var(--accent);font:500 7px/1.35 var(--dpo-font-utility);letter-spacing:.02em;text-align:right}.recipe-action-feedback:empty{display:none}.recipe-add-ingredients:hover,.recipe-add-ingredients:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink)}.recipe-uncheck-all:hover,.recipe-uncheck-all:focus-visible{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--paper));color:var(--danger)}.recipe-viewer-group+.recipe-viewer-group{margin-top:24px}.recipe-viewer-group>h5{color:var(--accent);margin:0 0 9px;font-size:13px;font-weight:500}.recipe-viewer-group ul,.recipe-viewer-group ol{margin:0;padding:0;list-style:none}.recipe-part-ingredients li{border-top:1px solid var(--line);padding:9px 0;font-size:13px;line-height:1.45;position:relative}.recipe-ingredient-check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.recipe-ingredient-check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0}.recipe-ingredient-check span{min-width:0}.recipe-part-ingredients li.is-checked .recipe-ingredient-check span{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.recipe-part-ingredients li:not(:has(.recipe-ingredient-check)){padding-left:17px}.recipe-part-ingredients li:not(:has(.recipe-ingredient-check)):before{content:"·";color:var(--accent);font-weight:500;position:absolute;left:1px}.recipe-part-method li{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.recipe-part-method li>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;padding-top:3px;font-size:9px}.recipe-part-method p{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.recipe-source-links{border-top:1px solid var(--line);padding:24px 26px 28px}.recipe-source-links>header{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.recipe-source-links .eyebrow{margin:0}.recipe-source-links h4{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.recipe-source-links>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recipe-source-links a{border:1px solid var(--line);background:var(--paper);min-height:58px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:11px 13px;text-decoration:none;transition:border-color .2s,background .2s,box-shadow .2s;display:grid}.recipe-source-links a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--paper));box-shadow:inset 3px 0 0 var(--accent)}.recipe-source-links a>span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.recipe-source-links a>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;text-transform:none;grid-column:1;font-size:8px;overflow:hidden}.recipe-source-links a>b{color:var(--accent);grid-area:1/2/3;align-self:center;font-size:17px;font-weight:400}.recipe-related-links{border-top:1px solid var(--line);padding:24px 26px 28px}.recipe-related-links>header{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.recipe-related-links .eyebrow{margin:0}.recipe-related-links h4{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.recipe-related-links>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recipe-related-links a{border:1px solid var(--line);background:var(--paper);min-height:58px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:11px 13px;text-decoration:none;transition:border-color .2s,background .2s,box-shadow .2s;display:grid}.recipe-related-links a:hover,.recipe-related-links a:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--paper));box-shadow:inset 3px 0 0 var(--accent)}.recipe-related-links a>span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.recipe-related-links a>small{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;grid-column:1;font-size:8px;overflow:hidden}.recipe-related-links a>b{color:var(--accent);grid-area:1/2/3;align-self:center;font-size:17px;font-weight:400}.recipe-categories{display:grid}.recipe-category+.recipe-category{border-top:1px solid var(--line)}.recipe-category>header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--wash) 72%,var(--paper));align-items:baseline;gap:13px;padding:16px 26px;display:flex}.recipe-category>header span{color:var(--accent);font-family:var(--dpo-font-utility);letter-spacing:.08em;font-size:9px}.recipe-category>header h4{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:500}.recipe-layout{grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);display:grid}.recipe-layout h5{font-family:var(--dpo-font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:10px;font-weight:500}.recipe-ingredients,.recipe-method{padding:28px 26px}.recipe-ingredients{border-right:1px solid var(--line)}.recipe-ingredients:only-child,.recipe-method:only-child{border-right:0;grid-column:1/-1}.recipe-ingredients ul,.recipe-method ol{margin:0;padding:0;list-style:none}.recipe-ingredients li{border-top:1px solid var(--line);padding:9px 0 9px 17px;font-size:13px;line-height:1.45;position:relative}.recipe-ingredients li:before{content:"·";color:var(--accent);font-weight:500;position:absolute;left:1px}.recipe-method li{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.recipe-method li>span{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;padding-top:3px;font-size:9px}.recipe-method p{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.food-detail-actions{align-items:center;gap:18px;min-height:48px;margin-top:24px;display:flex}.food-detail-actions.top-actions{border-bottom:1px solid var(--line);justify-content:flex-end;min-height:44px;margin:-12px 0 12px;padding-bottom:10px}.edit-lightbox,.delete{min-height:44px;font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.edit-lightbox{color:var(--accent)}.delete{color:var(--danger)}.food-detail-topbar .edit-lightbox,.food-detail-topbar .delete{border:1px solid var(--line);background:var(--wash);color:var(--ink);justify-content:center;align-items:center;padding:0 13px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.food-detail-topbar .edit-lightbox:hover,.food-detail-topbar .edit-lightbox:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-1px)}.food-detail-topbar .delete{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--wash));color:var(--danger)}.food-detail-topbar .delete:hover,.food-detail-topbar .delete:focus-visible{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.back-to-top{z-index:60;color:#29342a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#f4f6f1f0;border:1px solid #c5cec3;border-radius:50%;place-items:center;width:42px;height:42px;min-height:42px;padding:0;font-size:18px;line-height:1;transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1),background .2s;display:grid;position:fixed;bottom:clamp(14px,3vw,30px);right:clamp(14px,3vw,30px);transform:translateY(10px);box-shadow:0 8px 24px #0000003d}.back-to-top .ui-icon{width:20px;height:20px}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--ink);color:var(--paper)}@media (width<=1024px){.app-shell{--header-height:60px}html{scroll-padding-top:60px}body{font-size:16px}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f4eff2;height:60px;padding:0 20px;position:fixed;inset:0 0 auto}.wordmark{font-size:12px}.mobile-menu{top:60px;left:auto;right:20px}.app-shell main{padding-top:calc(var(--header-height) + 42px)}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:28px;padding:54px 22px 46px}.home-hero h1{font-size:clamp(48px,8vw,76px)}.home-search{padding:30px 22px 26px}.home-menu{padding:0 22px 70px}.content-grid{width:100%;padding:24px 20px 80px;display:block}.filters{display:none}.gallery{width:100%;min-width:0}.mobile-collection-nav{min-height:60px;padding:8px 20px;display:flex;top:60px}.mobile-collection-label{font-size:11px}.mobile-collection-filter{min-height:46px;font-size:12px}.mobile-collection-filter small{font-size:10px}.photo-grid{columns:2 160px;column-gap:16px}.photo-card{margin-bottom:38px}.photo-meta small,.shot-info{font-size:10px}}@media (width<=600px){.app-shell{--header-height:64px}html{scroll-padding-top:64px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{font-size:16px!important}.app-shell main{padding-top:calc(var(--header-height) + 42px)}.topbar{height:64px;padding:0 18px}.wordmark{letter-spacing:.12em;font-size:13px}.topbar-account{gap:8px}.header-todo{justify-content:center;gap:0;width:36px;min-width:36px;padding:0}.header-todo-label{display:none}.header-todo-icon{width:20px;height:20px;font-size:11px}.header-todo small{min-width:17px;height:17px;padding:0 4px;font-size:7px;position:absolute;top:-4px;right:-4px}.header-calendar-panel{top:calc(var(--header-height) - 1px);width:auto;max-height:calc(100svh - var(--header-height) - 8px);position:fixed;left:8px;right:8px}.header-calendar-day{min-height:48px;padding:6px}.header-calendar-day.has-plan:after{bottom:5px;left:6px;right:6px}.header-calendar-panel>footer{flex-direction:column;align-items:flex-start;gap:1px;padding-block:7px}.page-location{padding-inline:12px}.menu-toggle{width:48px;height:48px}.menu-toggle span{width:24px}.header-add-options{top:calc(var(--header-height) - 1px);width:auto;position:fixed;left:12px;right:12px}.mobile-menu{width:calc(100vw - 16px);max-height:min(100svh - 76px,760px);padding:16px;top:64px;left:auto;right:8px}.mobile-menu-heading .eyebrow{font-size:10px}.category-tree.menu{grid-template-columns:1fr;gap:2px}.mobile-menu nav{max-height:none}.category-tree.menu>.all-dishes .tree-filter,.category-tree.menu>.category-tree-branch>.category-tree-row>.tree-filter{min-height:46px}.category-tree.menu .tree-filter.child{min-height:44px;font-size:12px}.category-tree.menu .tree-random,.category-tree.menu .tree-expand{min-height:46px}.category-tree.home{grid-template-columns:1fr;gap:8px}.menu-control-row{align-items:flex-end;gap:10px}.menu-recipe-filter button{padding-inline:7px}.mobile-filter{min-height:50px;font-family:var(--dpo-font-body);letter-spacing:0;font-size:14px}.mobile-menu-footer{font-size:9px}.mobile-menu-footer button,.mobile-menu-footer a{min-height:44px}.mobile-collection-nav{gap:14px;min-height:62px;padding:6px 18px;top:64px}.mobile-collection-label{font-size:11px}.mobile-collection-nav>div{gap:20px}.mobile-collection-filter{min-height:50px;font-family:var(--dpo-font-body);letter-spacing:0;font-size:14px}.mobile-collection-filter small{font-family:var(--dpo-font-utility);font-size:10px}.home-hero{padding:30px 18px 34px;display:block}.home-hero>.eyebrow{margin-bottom:14px}.home-hero h1{font-size:clamp(44px,14vw,62px)}.intro-copy{max-width:300px;margin:18px 0 0;font-size:16px;line-height:1.45}.home-search{padding:25px 18px 22px}.home-menu{padding:0 18px 60px}.home-menu-link{min-height:64px;font-size:18px}.home-menu-link.primary{font-size:22px}.library-head{align-items:flex-start;gap:14px;padding:28px 20px 20px}.library-head .eyebrow,.library-head .stats,.storage-status{font-size:11px}.storage-status{text-align:right}.collection-toolbar{padding:20px 18px 18px}.dish-search>span{font-size:10px}.content-grid{padding:22px 18px 64px}.gallery-heading{margin-bottom:18px;padding:0 2px 12px}.gallery-heading h2{font-size:28px}.gallery-heading span{font-size:11px}.download-trigger{font-size:13px}.photo-grid{columns:1;column-gap:0}.photo-card{margin-bottom:34px}.photo-meta{margin-top:8px;display:block}.photo-meta small,.shot-info{font-size:10px;line-height:1.4}.card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-top:14px;display:grid}.card-action,.card-action.feature{border:1px solid color-mix(in srgb,currentColor 42%,transparent);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b09a3;min-width:0;min-height:48px;padding:8px 6px;font-size:9px;line-height:1.25;text-decoration:none}.card-action:focus-visible{outline-offset:2px;outline:2px solid}.file-row{grid-template-columns:1fr;gap:16px}.modal{max-height:calc(100vh - 24px);padding:34px 22px}.food-modal-backdrop{padding:6px}.overlay-shell{width:100%;height:calc(100svh - 12px);max-height:none;padding:0}.overlay-shell-header{min-height:72px;padding:10px 10px 10px 18px}.overlay-shell-header h2{font-size:24px}.overlay-shell-close{width:44px;min-width:44px;min-height:44px;padding:0;font-size:18px}.overlay-shell-body{padding:24px 20px 30px}.todo-modal-body{padding:24px 18px 30px}.todo-summary{flex-direction:column;align-items:flex-start;gap:6px;margin:-8px 0 20px;padding-bottom:14px}.todo-summary-actions{flex-direction:column;align-items:flex-start;gap:7px}.todo-summary-actions>span{padding-bottom:0}.todo-add{margin-bottom:20px;padding:14px}.todo-add>div{grid-template-columns:1fr;gap:8px}.todo-add .button{justify-content:space-between;width:100%}.todo-item{gap:8px;min-height:62px}.todo-item-row{grid-template-columns:minmax(0,1fr);gap:5px;min-height:62px}.shopping-item-row{grid-template-columns:auto minmax(0,1fr);gap:9px}.shopping-item-content{grid-template-columns:minmax(0,1fr);gap:4px}.shopping-item-content .todo-actions{padding-left:31px}.shopping-drag-handle{align-self:start;width:42px;height:46px}.shopping-share-status{margin-top:-8px;padding-left:0}.modal .todo-check{gap:10px}.todo-check span{font-size:14px}.todo-actions{justify-content:flex-start;padding-left:31px}.todo-edit,.todo-subitem,.todo-remove{padding-inline:6px}.todo-edit-form{grid-template-columns:minmax(0,1fr) auto}.todo-edit-form .text-button{grid-column:2}.todo-subtask-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding-left:31px}.todo-subtask-form .text-button{grid-column:2}.modal.food-modal{width:100%;height:calc(100svh - 12px);max-height:none;padding:0}.food-editor-header{gap:10px;min-height:68px;padding:8px 8px 8px 16px}.food-editor-header h2{font-size:22px}.food-editor-header .eyebrow{font-size:7px}.food-editor-actions{gap:2px}.food-editor-header.previewing>div:first-child{display:none}.food-editor-header.previewing .food-editor-actions{width:100%}.food-editor-header.previewing .food-editor-preview-toggle,.food-editor-header.previewing .food-editor-save{flex:1}.food-editor-close,.food-editor-save{min-height:42px;padding-inline:9px;font-size:8px}.food-editor-close{border:1px solid var(--line);background:var(--wash);width:44px;min-width:44px;min-height:44px;color:var(--ink);padding:0;font-size:18px;line-height:1}.food-editor-close:hover,.food-editor-close:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}.food-editor-error{margin:-24px -20px 18px;padding-inline:16px;top:-24px}.food-editor-body{padding:24px 20px 30px}.food-editor-body.previewing{padding-bottom:30px}.food-editor-footer{flex-direction:column;align-items:stretch;min-height:68px;margin:0;padding:8px 20px}.food-editor-footer.preview-footer{justify-content:center}.food-editor-footer>span{display:none}.food-editor-footer .button{justify-content:space-between;align-items:center;width:100%;display:flex}.food-editor-preview-content{padding:18px}.food-editor-preview-recipe{margin:24px -18px -18px}.food-editor-preview-recipe-heading{flex-direction:column;align-items:flex-start;padding:18px}.food-editor-preview-recipe-heading>div:last-child{justify-content:flex-start}.food-detail-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#040705e6;padding:6px;overflow:hidden}.food-detail-card{width:100%;height:calc(100svh - 12px);min-height:0;max-height:none;box-shadow:none;overflow:hidden}.food-detail-scroll{min-height:0;overflow-y:auto}.food-detail-topbar{gap:6px;min-height:58px;padding:7px 8px 7px 12px}.food-detail-topbar.has-admin-actions{grid-template-columns:minmax(0,1fr);padding:7px 8px 8px 12px;display:grid}.food-detail-topbar.has-admin-actions>.page-location{width:100%;height:36px}.food-detail-topbar .food-detail-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr)) 48px;gap:7px;width:100%;display:grid}.food-detail-topbar .food-detail-admin-actions .edit-lightbox,.food-detail-topbar .food-detail-admin-actions .delete{border:1px solid var(--line);background:var(--wash);min-height:48px;padding:8px;font-size:9px;text-decoration:none}.food-detail-topbar .food-detail-admin-actions .delete{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--wash))}.food-detail-topbar>.page-location{padding:0}.food-detail-topbar>div{gap:2px}.food-detail-topbar .edit-lightbox,.food-detail-topbar .delete{padding-inline:5px;font-size:8px}.food-detail-close{justify-content:center;width:44px;min-width:44px;padding:0}.food-detail-admin-actions .food-detail-close{width:48px;min-width:48px;min-height:48px}.food-detail-media{height:min(50svh,440px);min-height:280px}.food-detail-media-actions{gap:6px;bottom:12px;right:12px}.food-detail-intro-action{min-height:42px;padding-inline:9px;font-size:8px}.food-photo-selector-row{flex-wrap:wrap;gap:8px;min-height:70px;padding:10px 12px}.food-photo-strip{padding:10px 12px}.food-photo-selector-row .food-photo-strip{flex-basis:100%;margin:-10px -12px 0;padding:10px 12px}.food-share-tools{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;display:grid}.recipe-menu-add{grid-column:1/-1;grid-template-columns:90px 94px 92px;justify-self:end;width:276px;max-width:100%;margin-left:auto}.recipe-menu-add label{padding-inline:7px}.recipe-menu-add>button{min-width:0;padding-inline:6px;font-size:8px}.recipe-menu-add>small{grid-column:1/-1;align-items:center;width:100%;min-height:26px;padding:0 8px;display:flex;position:static}.food-share-tools .recipe-share,.food-share-tools .recipe-download{flex:1 1 0;min-height:42px;padding-inline:8px}.food-detail-content{padding:28px 20px 38px}.food-detail-heading{align-items:end;padding-bottom:18px}.food-detail-heading h2{font-size:clamp(38px,12vw,52px)}.food-detail-description{margin-top:21px;font-size:16px;line-height:1.58}.recipe-sheet{margin-top:32px}.recipe-sheet-heading{flex-direction:column;align-items:start;gap:7px;padding:20px}.recipe-sheet-heading h3{font-size:30px}.recipe-sheet-tools{justify-content:space-between;align-items:flex-start;gap:10px;width:100%}.recipe-meta{text-align:left;justify-content:flex-start;max-width:none}.recipe-download{font-size:9px}.recipe-category>header{padding:15px 20px}.recipe-layout,.recipe-parts{grid-template-columns:1fr}.recipe-part{padding:24px 20px}.recipe-part+.recipe-part{border-left:0;border-top:1px solid var(--line)}.recipe-part-ingredients>header{flex-wrap:wrap;align-items:flex-start}.recipe-ingredient-actions{flex:auto}.recipe-ingredients,.recipe-method{padding:24px 20px}.recipe-ingredients{border-right:0;border-bottom:1px solid var(--line)}.recipe-method li{grid-template-columns:28px minmax(0,1fr);gap:10px}.recipe-toggle-row{margin-top:0}.recipe-fields{padding-inline:14px}.recipe-facts-fields{grid-template-columns:1fr;gap:0}.recipe-editor-part{padding:13px}.recipe-editor-part>header{margin:-13px -13px 14px;padding:12px;display:block}.recipe-editor-part>header p{text-align:left;margin-top:5px}.recipe-sources-editor>header,.recipe-related-editor>header{display:block}.recipe-sources-editor>header p,.recipe-related-editor>header p{text-align:left;margin-top:5px}.recipe-source-row{grid-template-columns:1fr;gap:10px}.recipe-source-row button{justify-self:start}.recipe-section-fields{grid-template-columns:1fr;gap:16px}.category-create,.category-rename,.category-hierarchy-editor{grid-template-columns:1fr}.category-draft-heading{grid-template-columns:minmax(0,1fr) auto;gap:6px 14px}.category-draft-heading label{grid-column:1/-1}.category-row-wrap.is-root .category-draft-heading,.category-row-wrap.is-root .category-hierarchy-editor{padding-left:10px}.category-search{top:-34px}.category-modal-body{padding-bottom:30px}.category-save-bar{min-height:92px;margin:0;padding:12px 20px}.category-save-bar>span{display:none}.category-save-bar .button{width:100%;min-width:0}.category-hierarchy-note{gap:6px;display:grid}.category-hierarchy-note span{text-align:left}.category-create .button,.category-rename .button{width:100%}.category-row{align-items:flex-start}.category-row-actions{flex-direction:column;align-items:flex-end;gap:0}.tag-manage-row{flex-direction:column;align-items:flex-start;gap:8px}.category-removal{padding:18px 14px}.category-choices,.category-destination{grid-template-columns:1fr}.category-choice{min-height:82px}.category-destination>span{text-align:center;padding:0}.recipe-source-links{padding:21px 20px 24px}.recipe-source-links>div{grid-template-columns:1fr}.recipe-related-links{padding:21px 20px 24px}.recipe-related-links>div{grid-template-columns:1fr}.download-modal{padding:32px 18px}.download-modal h2{font-size:30px}.download-modal .modal-copy{margin-bottom:24px;font-size:14px}.download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:50vh;margin-bottom:18px}.download-photo>span:last-child{padding:7px;font-size:8px}.recipe-import-modal,.backup-restore-modal{width:100%;height:calc(100svh - 12px);padding:0}.recipe-import-shell-header{min-height:72px;padding:10px 10px 10px 18px}.recipe-import-shell-header h2{font-size:24px}.recipe-import-close{width:44px;min-width:44px;min-height:44px;padding:0;font-size:18px}.recipe-import-scroll{padding:18px 20px 28px}.backup-restore-warning{margin-bottom:22px;padding:18px}.backup-restore-footer{flex-direction:column;align-items:stretch;gap:11px;min-height:0;padding:14px 20px}.backup-restore-footer .danger-button{width:100%}.recipe-import-steps{letter-spacing:.02em;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-block:16px 23px;font-size:7px}.recipe-import-steps i{display:none}.recipe-import-steps span{text-align:center;flex-direction:column;justify-content:center;gap:4px}.recipe-import-steps b{width:25px;height:25px}.recipe-import-guide{flex-direction:column;align-items:flex-start;gap:8px}.recipe-import-guide a{min-height:40px}.recipe-import-review-heading{flex-direction:column;align-items:flex-start;gap:7px}.recipe-import-review-heading>div{justify-content:space-between;width:100%}.recipe-import-category-fields{grid-template-columns:1fr;gap:12px;padding:11px}.recipe-import-category-existing{flex-direction:column;grid-column:auto;align-items:flex-start;gap:3px}.recipe-import-category-existing span{text-align:left}.recipe-import-preview-copy{padding:18px}.recipe-import-preview-copy>header{flex-direction:column;align-items:flex-start;gap:10px}.recipe-import-preview-parts{grid-template-columns:1fr;margin:18px -18px -18px}.recipe-import-preview-parts .recipe-part{padding:18px}.recipe-import-preview-parts .recipe-part+.recipe-part{border-left:0;border-top:1px solid var(--line)}.recipe-import-preview{grid-template-columns:0 minmax(0,1fr) 0}.recipe-import-preview-side{width:50px;height:50px;top:calc(50% - 25px)}.recipe-import-preview-side.previous{transform:translate(9px)}.recipe-import-preview-side.next{transform:translate(-9px)}.recipe-import-preview-side.previous:hover,.recipe-import-preview-side.previous:focus-visible{transform:translate(7px)scale(1.03)}.recipe-import-preview-side.next:hover,.recipe-import-preview-side.next:focus-visible{transform:translate(-7px)scale(1.03)}.recipe-import-preview-side span{font-size:34px}.recipe-import-preview>nav small{display:none}.recipe-import-item>header{grid-template-columns:24px minmax(0,1fr);gap:9px;padding:12px}.recipe-import-item header em{grid-column:2;width:max-content;margin-top:2px}.recipe-import-image-picker,.recipe-import-file-list{padding-inline:12px}.recipe-import-submit{flex-direction:column;align-items:stretch;min-height:132px;margin:0;padding:12px 20px}.recipe-import-submit-actions{grid-template-columns:minmax(88px,.65fr) minmax(0,1.35fr);width:100%;gap:8px!important;display:grid!important}.recipe-import-submit-actions:has(>button:only-child){grid-template-columns:1fr}.recipe-import-submit .button,.recipe-import-back{justify-content:space-between;align-items:center;width:100%;display:flex}.guest-invite-modal{padding:42px 24px 32px}.guest-invite-modal h2{font-size:34px}}@media (width<=340px){.photo-grid{columns:1}}@media (width<=460px){.header-add-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-add-food{justify-content:center;width:34px;padding:0}.header-add-chevron{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-theme=dark] body{background:var(--dpo-paper);color:#eeeae2}.theme-still{--header-height:58px;background:var(--paper);color:var(--ink);font-family:var(--dpo-font-body)}:is(.theme-still .topbar,.theme-still:has(.home-screen) .topbar){color:#f2f3ef;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101312f0;border-color:#fff3;height:58px;padding:0 clamp(18px,4vw,58px);position:fixed;inset:0 0 auto}.theme-still main{padding-top:calc(var(--header-height) + 42px)}.theme-still .menu-toggle span{background:#eef0ec}.theme-still .mobile-menu{width:min(600px,100vw - 32px);max-height:min(100svh - 72px,900px);top:58px;left:auto;right:clamp(12px,3vw,44px)}.theme-still .wordmark{letter-spacing:.13em;font-size:11px}.theme-still .wordmark img{border-radius:50%;width:38px;height:38px;box-shadow:0 0 0 1px #ffffff29}.theme-still .theme-toggle{color:#aeb5b0}.theme-still .theme-toggle:hover,.theme-still .theme-toggle:focus-visible{color:#f0f2ee;background:#202622}.theme-still .theme-toggle[data-theme=still] .moon{color:#eef1ed}.theme-still .button.dark{background:var(--dpo-ink);color:#111411}.theme-still .text-button,.theme-still .logout{text-decoration-color:#707772}.theme-still .home-hero{isolation:isolate;color:#fff;max-width:none;min-height:min(72vh,720px);padding:clamp(115px,15vh,155px) clamp(22px,6vw,88px) clamp(45px,7vh,72px);position:relative;overflow:hidden}.theme-still .home-hero-media{z-index:-2;background:#151a17;display:block;position:absolute;inset:0;overflow:hidden}.theme-still .home-hero-media:after{content:"";background:linear-gradient(#04080652,#04080652),linear-gradient(#0000 32%,#040806e0),linear-gradient(90deg,#0408067a,#0000 60%);position:absolute;inset:0}.theme-still .home-hero-media img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s,transform 1.6s cubic-bezier(.16,1,.3,1);transform:scale(1.07)}.theme-still .home-hero-media.loaded img{opacity:1;transform:scale(1)}.theme-still .home-hero-media .photo-load-status{z-index:2;color:#c8ceca}.theme-still .home-hero>.eyebrow,.theme-still .home-hero h1,.theme-still .intro-copy{z-index:1;position:relative}.theme-still .home-hero>.eyebrow{color:#d6dbd7;align-self:start}.theme-still .home-hero h1{font:300 clamp(64px,9vw,128px)/.82 var(--dpo-font-display);letter-spacing:-.058em;text-shadow:0 2px 24px #0000003d}.theme-still .home-hero h1 em{font-family:var(--dpo-font-display);font-weight:300}.theme-still .intro-copy{color:#e0e3df;text-shadow:0 1px 12px #0006;align-self:end;font-size:14px}.theme-still .home-search,.theme-still .home-pantry{max-width:1100px}.theme-still .home-menu{max-width:1100px;padding-top:34px}.theme-still .home-menu>.eyebrow{border-color:var(--line)}.theme-still .home-menu-link{border-color:var(--line);color:#b7bdb9;transition:color .25s,padding-left .35s cubic-bezier(.16,1,.3,1)}.theme-still .home-menu-link:hover,.theme-still .home-menu-link:focus-visible{color:#fff;padding-left:10px}.theme-still .home-menu-link b{color:#e9ece8}.theme-still .archive-screen,.theme-still .pantry-screen{background:var(--dpo-paper)}.theme-still .collection-toolbar{max-width:none;padding:24px clamp(20px,4vw,58px) 22px}.theme-still .library-head{border-color:var(--line);max-width:none;padding:25px clamp(20px,4vw,58px) 18px}.theme-still .content-grid{max-width:none;padding:22px clamp(20px,4vw,58px) 80px;display:block}.theme-still .filters{border-bottom:1px solid var(--line);margin-bottom:28px;padding:0 0 22px;display:block}.theme-still .filters::-webkit-scrollbar{display:none}.theme-still .filters .eyebrow{margin:0 0 12px}.theme-still .filters .category-tree{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px 28px}.theme-still .filters .category-tree-children{margin-bottom:0}.theme-still .filter{width:100%;min-height:38px;color:var(--dpo-muted);gap:7px}.theme-still .tree-filter:not(.active){color:var(--dpo-muted)}.theme-still .all-dishes-filter:not(.active){color:var(--accent)}.theme-still .filter.active,.theme-still .tree-filter.active{color:var(--selected-ink)}.theme-still .filter.active:before,.theme-still .tree-filter.active:not(.child):before{display:none}.theme-still .gallery{max-width:1380px;margin:auto}.theme-still .gallery-heading{border-color:var(--line);margin-bottom:42px}.theme-still .gallery-heading h2{font:300 clamp(31px,4vw,54px) var(--dpo-font-display);letter-spacing:-.045em}.theme-still .photo-grid{columns:unset;gap:clamp(28px,4vw,56px);column-gap:unset;grid-template-columns:minmax(0,1fr);display:grid}.theme-still .photo-card,.theme-still .photo-card:nth-child(2n),.theme-still .photo-card:nth-child(3n){opacity:0;filter:blur(4px);width:100%;transition:opacity .5s,filter .55s,transform .65s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);margin:0;display:block;position:relative;transform:translateY(24px)scale(.985)}.theme-still .photo-card.in-view{opacity:1;filter:blur();transform:translateY(0)scale(1)}.theme-still .photo-open{cursor:zoom-in;height:100%}.theme-still .photo-frame{background:#181d1a;height:min(73vh,760px);min-height:520px}.theme-still .photo-frame:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000,#050806b8);position:absolute;inset:42% 0 0}.theme-still .photo-frame picture{height:100%}.theme-still .photo-frame img{object-fit:cover;width:100%;height:100%;transition:opacity .5s,transform 1.5s cubic-bezier(.16,1,.3,1),filter .65s;transform:scale(1.045)}.theme-still .photo-frame img.loaded{opacity:1;transform:scale(1.01)}.theme-still .photo-open:hover img,.theme-still .photo-open:focus-visible img{filter:brightness(.91);transform:scale(1.035)}.theme-still .photo-card.has-multiple-photos .photo-frame img{object-fit:contain;transform:scale(.98)}.theme-still .photo-card.has-multiple-photos .photo-frame img.loaded{transform:scale(.98)}.theme-still .photo-card.has-multiple-photos .photo-open:hover img,.theme-still .photo-card.has-multiple-photos .photo-open:focus-visible img{filter:brightness(.96);transform:scale(1)}.theme-still .photo-meta{z-index:2;color:#fff;text-shadow:0 2px 15px #000000a6;pointer-events:none;border-top:1px solid #ffffff94;margin:0;padding-top:14px;position:absolute;bottom:clamp(18px,3vw,36px);left:clamp(18px,3vw,42px);right:clamp(18px,3vw,42px)}.theme-still .photo-meta>div,.theme-still .food-card-copy{pointer-events:auto}.theme-still .photo-meta small,.theme-still .photo-meta .shot-info{color:#f2f4f0}.theme-still .photo-meta .recipe-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060907b3;border-color:#ffffff8c;box-shadow:0 2px 12px #00000040}.theme-still .photo-meta .recipe-status.is-tested{color:#dcebd8}.theme-still .photo-meta .recipe-status.is-untested{color:#ffd0c4}.theme-still .photo-meta .ingredient-match{color:#f2f4f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060907b3;border-color:#ffffff8c;box-shadow:0 2px 12px #00000040}.theme-still .photo-meta .ingredient-match.is-complete{color:#dcebd8}.theme-still .food-card-title{font:300 clamp(24px,2.5vw,36px) var(--dpo-font-display);letter-spacing:-.035em}.theme-still .food-card-description{color:#e2e5e1;text-shadow:0 2px 15px #000000a6}.theme-still .photo-meta .card-actions{pointer-events:auto}.theme-still .photo-meta .card-actions .card-action{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070a08b8;border-color:#ffffff8c;box-shadow:0 2px 12px #00000040}.theme-still .photo-meta .card-actions .card-action:hover,.theme-still .photo-meta .card-actions .card-action:focus-visible{color:var(--dpo-selected-ink);background:#dcebd8;border-color:#dcebd8}.theme-still .photo-meta .card-actions .card-action.remove{color:#f0b1a2;background:#301512c7;border-color:#f0b1a2bf}.theme-still .photo-meta .card-actions .card-action.remove:hover,.theme-still .photo-meta .card-actions .card-action.remove:focus-visible{color:#211412;background:#f0b1a2;border-color:#f0b1a2}.theme-still .photo-load-status{color:#aab1ac}.theme-still .photo-spinner{border-color:#dce1dd #4a514d #4a514d}.theme-still .mobile-collection-nav{border-color:var(--line);background:#101312f0}.theme-still .mobile-collection-filter{color:#aeb5b0}.theme-still .mobile-collection-filter.active{color:#f0f2ed}.theme-still .mobile-menu{background:var(--dpo-paper);border-color:var(--line);box-shadow:0 18px 35px #0000004d}.theme-still .modal{background:var(--dpo-surface)}.theme-still .modal input,.theme-still .modal textarea,.theme-still .modal select{color:#f0f2ed;border-color:#555b57}.theme-still .modal select option{background:var(--dpo-surface)}.theme-still .tag-chip.selected{background:var(--selected-bg);border-color:var(--selected-bg);color:var(--selected-ink)}.theme-still .file-picker.has-file{border-color:var(--dpo-accent);color:#f4f7f3;box-shadow:inset 3px 0 0 var(--dpo-accent);background:#263129}.theme-still .batch-row-add{color:#101411;background:#dfe5df;border-color:#dfe5df;box-shadow:0 7px 18px #00000038}.theme-still .batch-row-add:hover,.theme-still .batch-row-add:focus-visible{background:#bfcdbf;border-color:#bfcdbf}.theme-still .download-photo{border-color:#414743}.theme-still .download-photo.selected{border-color:#edf0eb;box-shadow:inset 0 0 0 1px #edf0eb}html[data-theme=dark] .back-to-top{color:#f0f3ef;background:#111512eb;border-color:#59635d;box-shadow:0 8px 26px #00000052}html[data-theme=dark] .back-to-top:hover{color:#111411;background:#e8ece8}.theme-still.theme-archive{background:var(--paper);color:var(--ink)}.theme-still.theme-archive .topbar{color:#f2f3ef;background:#101312f0;border-color:#fff3}.theme-still.theme-archive:has(.home-screen) .topbar{background:#101312f0;border-color:#fff3}.theme-still.theme-archive .wordmark img{box-shadow:0 0 0 1px #2a372b2e}.theme-still.theme-archive .topbar .username,.theme-still.theme-archive .topbar .logout,.theme-still.theme-archive .topbar .text-button{color:#f0f2ee}.theme-still.theme-archive .topbar .role,.theme-still.theme-archive .topbar .photo-site-link{color:#aeb8ad}.theme-still.theme-archive .theme-toggle{color:var(--dpo-muted)}.theme-still.theme-archive .theme-toggle:hover,.theme-still.theme-archive .theme-toggle:focus-visible{color:#263027;background:#e4e9e1}.theme-still.theme-archive .theme-toggle[data-theme=archive] .sun{color:#263027}.theme-still.theme-archive .topbar .theme-toggle{color:#aeb5b0}.theme-still.theme-archive .topbar .theme-toggle:hover,.theme-still.theme-archive .topbar .theme-toggle:focus-visible{color:#f0f2ee;background:#202622}.theme-still.theme-archive .topbar .theme-toggle[data-theme=archive] .sun{color:#eef1ed}.theme-still.theme-archive .button.dark{color:var(--dpo-surface);background:#29342a}.theme-still.theme-archive .topbar .button.dark{color:#111411;background:#eef1ed}.theme-still.theme-archive .text-button,.theme-still.theme-archive .logout{text-decoration-color:#929b91}.theme-still.theme-archive .home-hero{color:#1d241e}.theme-still.theme-archive .home-hero-media{background:#dce3da}.theme-still.theme-archive .home-hero-media:after{background:linear-gradient(#f4f7f261,#f4f7f261),linear-gradient(#ebf0e92e 30%,#ebf0e9eb),linear-gradient(90deg,#eff3edc7,#eff3ed1f 68%)}.theme-still.theme-archive .home-hero-media .photo-load-status{color:#566456}.theme-still.theme-archive .home-hero>.eyebrow{color:#354136}.theme-still.theme-archive .home-hero h1{text-shadow:0 2px 24px #f4f7f280}.theme-still.theme-archive .intro-copy{color:#354136;text-shadow:0 1px 12px #f4f7f2b3}.theme-still.theme-archive .home-menu-link{color:var(--dpo-muted)}.theme-still.theme-archive .home-menu-link:hover,.theme-still.theme-archive .home-menu-link:focus-visible{color:#3f5e43}.theme-still.theme-archive .home-menu-link b{color:#354136}.theme-still.theme-archive .archive-screen{background:var(--paper)}.theme-still.theme-archive .filter{color:var(--dpo-muted)}.theme-still.theme-archive .filter.active{color:#273128}.theme-still.theme-archive .photo-frame{background:#e1e7de}.theme-still.theme-archive .photo-load-status{color:#596459}.theme-still.theme-archive .photo-spinner{border-color:#526a55 #b8c1b6 #b8c1b6}.theme-still.theme-archive .mobile-collection-nav{background:#f4f5f0f0}.theme-still.theme-archive .mobile-collection-filter{color:var(--dpo-muted)}.theme-still.theme-archive .mobile-collection-filter.active{color:#273128}.theme-still.theme-archive .mobile-menu{background:var(--dpo-paper);box-shadow:0 18px 35px #2b362b1f}.theme-still.theme-archive .mobile-menu-footer{font-weight:500}.theme-still.theme-archive .modal{background:var(--dpo-surface)}.theme-still.theme-archive .modal input,.theme-still.theme-archive .modal textarea,.theme-still.theme-archive .modal select{color:var(--dpo-ink);border-color:#aeb7ac}.theme-still.theme-archive .modal select option{background:var(--dpo-surface)}.theme-still.theme-archive .tag-chip.selected{background:var(--dpo-selected-bg);border-color:var(--dpo-selected-bg);color:var(--dpo-surface)}.theme-still.theme-archive .file-picker.has-file{color:#263228;background:#e0e8dd;border-color:#718a72;box-shadow:inset 3px 0 #718a72}.theme-still.theme-archive .batch-row-add{border-color:var(--dpo-selected-bg);background:var(--dpo-selected-bg);color:var(--dpo-surface);box-shadow:0 7px 18px #2d3b2e29}.theme-still.theme-archive .batch-row-add:hover,.theme-still.theme-archive .batch-row-add:focus-visible{background:#536b55;border-color:#536b55}.theme-still.theme-archive .download-photo{border-color:#c8d0c6}.theme-still.theme-archive .download-photo.selected{border-color:var(--dpo-selected-bg);box-shadow:inset 0 0 0 1px var(--dpo-selected-bg)}html[data-theme=archive] .back-to-top{color:#29342a;background:#f4f6f1f0;border-color:#aeb9ac;box-shadow:0 8px 26px #2b362b33}html[data-theme=archive] .back-to-top:hover{background:var(--dpo-selected-bg);color:var(--dpo-surface)}.theme-still.theme-archive .edit-lightbox{color:#405d43}@media (width<=1200px){.theme-still .role{display:none}}@media (width<=1024px){.theme-still{--header-height:60px}:is(.theme-still .topbar,.theme-still:has(.home-screen) .topbar){border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101312f0;height:60px;padding:0 18px;position:fixed;inset:0 0 auto}.theme-still .mobile-menu{width:min(600px,100vw - 32px);top:60px;left:auto;right:20px}.theme-still main{padding-top:calc(var(--header-height) + 42px)}.theme-still .home-hero{min-height:min(68vh,640px);padding:105px 22px 48px}.theme-still .home-hero h1{font-size:clamp(58px,10vw,90px)}.theme-still .content-grid{padding:20px 18px 70px}.theme-still .filters{display:none}.theme-still .gallery-heading{margin-bottom:28px}.theme-still .photo-frame{height:min(60vh,600px);min-height:360px}}@media (width<=600px){.theme-still{--header-height:64px}:is(.theme-still .topbar,.theme-still:has(.home-screen) .topbar){height:64px}.theme-still .mobile-menu{width:calc(100vw - 16px);max-height:min(100svh - 76px,900px);top:64px;left:auto;right:8px}.theme-still main{padding-top:calc(var(--header-height) + 42px)}.theme-still .wordmark img{width:36px;height:36px}.theme-still .collection-toolbar{padding:20px 18px 18px}.theme-still .home-hero{min-height:min(58svh,530px);padding:96px 18px 34px}.theme-still .home-hero h1{font-size:clamp(50px,14vw,70px)}.theme-still .intro-copy{max-width:280px;font-size:13px}.theme-still .home-menu{padding:26px 18px 55px}.theme-still .library-head{padding:24px 18px 17px}.theme-still .content-grid{padding:20px 12px 55px}.theme-still .photo-grid{gap:24px}.theme-still .photo-frame{height:min(48svh,480px);min-height:290px}.theme-still .photo-meta{padding-top:10px;bottom:15px;left:16px;right:16px}.theme-still .photo-meta .shot-info{font-size:9px}.theme-still .photo-card.has-no-image{border:1px solid var(--line);background:var(--wash)}.theme-still .photo-card.has-no-image .photo-frame{aspect-ratio:auto;border-bottom:1px solid var(--line);background:0 0;height:156px;min-height:156px}.theme-still .photo-card.has-no-image .photo-frame:after{display:none}.theme-still .photo-card.has-no-image .untested-photo-placeholder{background:0 0;min-height:156px;padding:24px}.theme-still .photo-card.has-no-image .untested-photo-placeholder b{font-size:27px}.theme-still .photo-card.has-no-image .photo-meta{color:var(--ink);text-shadow:none;border:0;margin:0;padding:18px 18px 16px;position:static}.theme-still .photo-card.has-no-image .photo-meta small,.theme-still .photo-card.has-no-image .photo-meta .shot-info{color:var(--muted)}.theme-still .photo-card.has-no-image .photo-meta .recipe-status{border-color:var(--line);background:var(--paper);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-still .photo-card.has-no-image .photo-meta .recipe-status.is-untested{color:var(--danger)}.theme-still .photo-card.has-no-image .photo-meta .ingredient-match{border-color:var(--line);background:var(--paper);color:var(--muted);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-still .photo-card.has-no-image .photo-meta .ingredient-match.is-complete{color:var(--accent)}.theme-still .photo-card.has-no-image .food-card-description{color:var(--muted);text-shadow:none}.theme-still .photo-card.has-no-image .card-action{border-color:var(--line);background:var(--paper);color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}.theme-still .photo-card.has-no-image .card-action.remove{color:var(--danger)}}@media (width<=420px){.topbar-account{gap:5px}}@media (width<=380px){.wordmark{font-size:0}.wordmark img{width:38px;height:38px}}@media (width<=1024px){.home-pantry{margin:0 auto;padding:0 22px 16px}.pantry-page{padding-inline:28px}.pantry-layout,.meal-planner-grid{grid-template-columns:285px minmax(0,1fr)}.pantry-stock{padding:22px}.pantry-results{padding:22px 24px 40px}.pantry-recipe-grid{grid-template-columns:1fr}}@media (width<=700px){.pantry-page{padding:30px 18px 68px}.pantry-header{align-items:flex-start;gap:18px;padding:5px 0 22px}.pantry-header h2{font-size:38px}.pantry-header p{font-size:10px}.pantry-header-count{padding-left:12px}.pantry-header-count span{display:none}.pantry-tabs{margin-top:18px}.pantry-tabs>button{min-height:60px;padding:8px 10px}.pantry-layout{grid-template-columns:1fr}.pantry-stock{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:18px}.pantry-chips{margin-top:14px}.pantry-results{padding:18px 18px 34px}.pantry-score{align-items:center;padding:12px 14px}.pantry-score strong{font-size:16px}.pantry-score p{max-width:210px;font-size:10px}.pantry-recipe-section{margin-top:29px}.meal-planner-datebar{grid-template-columns:40px minmax(150px,1fr) auto 40px}.meal-planner-datebar>strong{display:none}.meal-planner-datebar label{border-right:0}.meal-planner-grid{grid-template-columns:1fr}.meal-planner-compose{border-right:0;border-bottom:1px solid var(--line);padding:20px 18px}.meal-planner-agenda{padding:20px 18px 36px}}@media (width<=600px){.home-pantry{margin:0 auto;padding:0 18px 14px}.home-pantry>button{grid-template-columns:58px minmax(0,1fr) 20px;min-height:62px;padding-block:6px}.pantry-button-media.home{width:54px;height:46px}.home-pantry-status{display:none}.home-pantry-copy small{font-size:11px}.menu-pantry-button{min-height:62px}.pantry-tabs>button{grid-template-columns:26px minmax(0,1fr);gap:8px;padding-inline:8px}.pantry-tabs>button>span:first-child{width:25px;height:25px;font-size:15px}.pantry-tabs>button span strong{font-size:15px}.pantry-tabs>button span small{font-size:8px}.meal-planner-agenda>header{display:block}.meal-planner-actions{margin-top:12px}.meal-planner-actions button,.meal-planner-actions>a,.meal-planner-action-disabled{flex:130px}}@media (width<=420px){.pantry-header .pantry-kicker{font-size:7px}.pantry-header h2{font-size:34px}.pantry-score{display:block}.pantry-score p{text-align:left;max-width:none;margin-top:13px}.pantry-recipe-card{grid-template-columns:58px minmax(0,1fr) 18px;min-height:78px}.pantry-recipe-card img,.pantry-recipe-placeholder{width:58px;height:58px}.meal-planner-list li{grid-template-columns:40px minmax(0,1fr) 52px}}@media (width>=601px){.theme-still .photo-card.has-no-image{aspect-ratio:3/2;border:1px solid var(--line);background:var(--wash);grid-template-rows:minmax(92px,.55fr) auto;display:grid;overflow:hidden}.theme-still .photo-card.has-no-image .photo-frame{aspect-ratio:auto;border-bottom:1px solid var(--line);background:0 0;height:auto;min-height:0}.theme-still .photo-card.has-no-image .photo-frame:after{display:none}.theme-still .photo-card.has-no-image .untested-photo-placeholder{background:0 0;height:100%;min-height:0;padding:24px}.theme-still .photo-card.has-no-image .photo-meta{color:var(--ink);text-shadow:none;border:0;margin:0;padding:18px 20px 17px;display:block;position:static}.theme-still .photo-card.has-no-image .photo-meta small,.theme-still .photo-card.has-no-image .photo-meta .shot-info{color:var(--muted)}.theme-still .photo-card.has-no-image .photo-meta .recipe-status{border-color:var(--line);background:var(--paper);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-still .photo-card.has-no-image .photo-meta .recipe-status.is-untested{color:var(--danger)}.theme-still .photo-card.has-no-image .photo-meta .ingredient-match{border-color:var(--line);background:var(--paper);color:var(--muted);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-still .photo-card.has-no-image .photo-meta .ingredient-match.is-complete{color:var(--accent)}.theme-still .photo-card.has-no-image .food-card-description{color:var(--muted);text-shadow:none}.theme-still .photo-card.has-no-image .card-actions{justify-content:flex-start;margin-top:5px}.theme-still .photo-card.has-no-image .card-action{color:var(--ink)}.theme-still .photo-card.has-no-image .card-action.remove{color:var(--danger)}}@media (width>=900px){.theme-still .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,46px)}.theme-still .photo-frame{aspect-ratio:3/2;height:auto;min-height:0}}@media (width>=900px) and (width<=1180px){.theme-still .photo-meta{display:block}.theme-still .photo-meta .card-actions{justify-content:flex-start;margin-top:5px}}@media (prefers-reduced-motion:reduce){.theme-still .photo-card,.theme-still .photo-frame img,.theme-still .home-hero-media img{opacity:1!important;filter:none!important;transform:none!important}}.theme-still .collection-toolbar{justify-content:space-between;align-items:flex-end;gap:clamp(24px,5vw,72px);display:flex}.theme-still .collection-toolbar>.collection-search{flex:760px;min-width:0}.collection-context{border-block:1px solid var(--line);background:var(--wash);align-items:center;gap:14px;min-height:52px;padding:8px clamp(20px,4vw,58px);display:flex}.collection-context-summary{color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:baseline;gap:7px;font-size:8px;display:flex}.collection-context-summary strong{color:var(--ink);font-size:9px;font-weight:500}.collection-context-filters{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.collection-context-filters button{border:1px solid var(--line);background:var(--paper);min-width:0;max-width:min(360px,100%);min-height:36px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:7px;padding:0 9px;font-size:9px;display:flex}.collection-context-filters button:hover,.collection-context-filters button:focus-visible{border-color:var(--accent)}.collection-context-filters button>span{color:var(--muted);flex:none;font-size:8px}.collection-context-filters button>em{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.collection-context-filters button>b{width:14px;height:14px;color:var(--muted);flex:none;font-size:0;display:block;position:relative}.collection-context-filters button>b:before,.collection-context-filters button>b:after{content:"";background:currentColor;width:12px;height:1.5px;position:absolute;top:6px;left:1px}.collection-context-filters button>b:before{transform:rotate(45deg)}.collection-context-filters button>b:after{transform:rotate(-45deg)}.collection-context-clear{min-height:38px;color:var(--ink);font-family:var(--dpo-font-utility);text-underline-offset:4px;text-transform:uppercase;flex:none;padding:0 5px;font-size:8px;text-decoration:underline}.collection-context-clear:hover,.collection-context-clear:focus-visible{color:var(--accent)}.collection-display-tools{flex:none;align-items:flex-end;gap:10px;display:flex}.collection-sort{width:170px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:500;position:relative}.collection-sort-trigger{border:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--ink);font-family:var(--dpo-font-utility);text-align:left;text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;margin-top:7px;padding:0 12px;font-size:9px;display:flex}.collection-sort-mobile-icon{display:none}.collection-sort-trigger i{color:var(--muted);font-size:15px;font-style:normal;line-height:1;transition:transform .18s}.collection-sort.open .collection-sort-trigger i{transform:rotate(180deg)}.collection-sort-trigger:hover,.collection-sort-trigger:focus-visible{border-color:var(--accent)}.collection-sort-options{z-index:30;border:1px solid var(--line);background:var(--paper);width:100%;max-height:min(260px,50vh);position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 12px 28px #00000038}.collection-sort-options button{width:100%;min-height:40px;color:var(--ink);font-family:var(--dpo-font-utility);text-align:left;text-transform:uppercase;padding:0 12px;font-size:9px;display:block}.collection-sort-options button:hover,.collection-sort-options button:focus-visible{background:var(--wash);outline:0}.collection-sort-options button.active{background:var(--selected-bg);color:var(--selected-ink)}.collection-view-toggle{display:flex}.collection-view-toggle button{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);place-items:center;font-size:17px;transition:background .2s,color .2s,border-color .2s;display:grid}.collection-view-toggle .ui-icon{width:18px;height:18px}.collection-view-toggle button+button{border-left:0}.collection-view-toggle button:hover,.collection-view-toggle button:focus-visible{border-color:var(--accent);color:var(--ink)}.collection-view-toggle button.active{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink)}.theme-still .content-grid.list-display{max-width:none;padding-top:22px}.theme-still .content-grid.list-display .gallery{max-width:none}.food-list-layout{border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(680px,1fr) minmax(280px,340px);display:grid}.food-list-register{border-right:1px solid var(--line);min-width:0}.food-list-register>header,.food-list-row{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(260px,1.25fr) minmax(150px,.7fr) 100px 82px 24px;align-items:center;gap:13px;min-height:68px;padding:0 13px;display:grid}.food-list-register>header{min-height:40px;color:var(--muted);font-family:var(--dpo-font-utility);letter-spacing:.06em;text-transform:uppercase;font-size:7px;font-weight:500}.food-list-row{text-align:left;width:100%;transition:background .18s,box-shadow .18s}.food-list-row:hover,.food-list-row.selected{background:var(--wash)}.food-list-row.selected{box-shadow:inset 3px 0 var(--accent)}.food-list-index,.food-list-categories,.food-list-time{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;font-size:7px;font-weight:500;line-height:1.4}.food-list-dish{align-items:center;gap:13px;min-width:0;display:flex}.food-list-dish>img,.food-list-no-photo{background:var(--wash);object-fit:cover;width:56px;height:56px;color:var(--muted);flex:none;place-items:center;font-style:normal;display:grid}.food-list-dish>span{min-width:0}.food-list-dish strong,.food-list-dish small{display:block}.food-list-dish strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.food-list-dish small{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:4px;font-size:9px;line-height:1.35;display:-webkit-box;overflow:hidden}.food-list-status .recipe-status.compact{margin:0}.food-list-status>small{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;font-size:7px}.food-list-row>i{color:var(--accent);font-style:normal}.food-list-preview{background:var(--paper);align-self:start;min-height:590px;padding:18px;position:sticky;top:126px}.food-list-preview>header{justify-content:space-between;align-items:center;min-height:28px;display:flex}.food-list-preview>header button{width:32px;height:32px;color:var(--muted);font-size:19px}.food-list-preview-image{background:var(--wash);width:100%;height:230px;margin-top:10px;display:block;overflow:hidden}.food-list-preview-image>img{object-fit:cover;width:100%;height:100%;display:block}.food-list-preview-image.empty .untested-photo-placeholder{height:100%;min-height:0}.food-list-preview-copy{padding:17px 3px 3px}.food-list-preview-status{color:var(--muted);font-family:var(--dpo-font-utility);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:7px;display:flex}.food-list-preview-status .recipe-status{margin:0}.food-list-preview h3{font:300 31px/.95 var(--dpo-font-display);letter-spacing:-.04em;margin:18px 0 9px}.food-list-preview-copy>p{color:var(--muted);font-size:11px;line-height:1.5}.food-list-preview dl{border-top:1px solid var(--line);margin:20px 0}.food-list-preview dl>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 0;display:flex}.food-list-preview dt,.food-list-preview dd{font-family:var(--dpo-font-utility);text-transform:uppercase;margin:0;font-size:7px;line-height:1.45}.food-list-preview dt{color:var(--muted)}.food-list-preview dd{text-align:right;max-width:68%}.food-list-preview-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.food-list-preview-actions .button{min-height:42px;font-family:var(--dpo-font-utility);text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;margin-right:5px;font-size:9px;display:flex}.food-list-preview-actions .text-button{border:1px solid var(--line);background:var(--wash);min-height:42px;color:var(--ink);font-family:var(--dpo-font-utility);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 13px;font-size:9px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.food-list-preview-actions .text-button:hover,.food-list-preview-actions .text-button:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--selected-ink);transform:translateY(-1px)}.food-list-preview-actions .text-button.delete{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--wash));color:var(--danger)}.food-list-preview-actions .text-button.delete:hover,.food-list-preview-actions .text-button.delete:focus-visible{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.food-list-preview.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.food-list-preview.empty>span{color:var(--accent);font:300 30px/1 var(--dpo-font-display)}.food-list-preview.empty h3{margin:15px 0 7px;font-size:27px}.food-list-preview.empty p{max-width:210px;color:var(--muted);margin:0;font-size:11px}@media (width<=1120px){.theme-still .collection-toolbar{flex-direction:column;align-items:stretch;gap:20px}.theme-still .collection-toolbar>.collection-search{flex-basis:auto;width:100%}.collection-display-tools{align-self:flex-end}.food-list-layout{grid-template-columns:minmax(580px,1fr) 290px}.food-list-register>header,.food-list-row{grid-template-columns:35px minmax(220px,1fr) 105px 86px 64px 20px;gap:9px}}@media (width<=820px){.food-list-layout{background:0 0;border:0;display:block}.food-list-register{border:1px solid var(--line)}.food-list-register>header{display:none}.food-list-row{grid-template-columns:32px minmax(0,1fr) 24px;min-height:78px;padding:7px 10px}.food-list-row.selected{box-shadow:none;background:0 0}.food-list-row>.food-list-categories,.food-list-row>.food-list-status,.food-list-row>.food-list-time,.food-list-preview{display:none}}@media (width<=600px){.collection-display-tools{justify-content:space-between;width:100%}.collection-sort{width:155px;max-width:calc(100vw - 124px)}.collection-sort-options button{min-height:44px}.collection-context{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;padding:10px 18px}.collection-context-summary{align-items:center;min-height:34px}.collection-context-filters{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;width:100%;padding-bottom:2px;overflow-x:auto}.collection-context-filters::-webkit-scrollbar{display:none}.collection-context-filters button{flex:none;max-width:82vw;min-height:42px}.collection-context-clear{min-height:34px;margin-left:auto}.theme-still .content-grid.list-display{padding-inline:10px}.food-list-row{grid-template-columns:28px minmax(0,1fr) 20px}.archive-screen .collection-toolbar{z-index:14;top:calc(var(--header-height) + 42px);background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;box-shadow:0 10px 24px #0408061f}}@supports (padding:max(0px)){:root{--ios-safe-top:env(safe-area-inset-top,0px);--ios-safe-right:env(safe-area-inset-right,0px);--ios-safe-bottom:env(safe-area-inset-bottom,0px);--ios-safe-left:env(safe-area-inset-left,0px)}body{padding-right:var(--ios-safe-right);padding-bottom:var(--ios-safe-bottom);padding-left:var(--ios-safe-left)}.topbar{height:calc(64px + var(--ios-safe-top));padding-top:var(--ios-safe-top)}.app-shell{--header-height:calc(64px + var(--ios-safe-top))}.app-shell.theme-still{--header-height:calc(58px + var(--ios-safe-top))}:is(.theme-still .topbar,.theme-still:has(.home-screen) .topbar){height:calc(58px + var(--ios-safe-top));padding-top:var(--ios-safe-top)}.app-shell .mobile-menu{top:calc(var(--header-height) + 8px);max-height:min(calc(100svh - var(--header-height) - 8px),900px)}.app-shell .header-calendar-panel{top:calc(var(--header-height) - 1px);max-height:calc(100svh - var(--header-height) - 8px)}.modal-backdrop,.food-detail-backdrop{padding:max(20px,var(--ios-safe-top)) max(20px,var(--ios-safe-right)) max(20px,var(--ios-safe-bottom)) max(20px,var(--ios-safe-left))}.modal-backdrop>.modal,.food-detail-backdrop>.food-detail-card{height:calc(100svh - max(20px,var(--ios-safe-top)) - max(20px,var(--ios-safe-bottom)))}}@media (width<=600px){@supports (padding:max(0px)){.modal-backdrop,.food-detail-backdrop{padding:max(12px,var(--ios-safe-top)) max(12px,var(--ios-safe-right)) max(12px,var(--ios-safe-bottom)) max(12px,var(--ios-safe-left))}.modal-backdrop>.modal,.food-detail-backdrop>.food-detail-card{height:calc(100svh - max(12px,var(--ios-safe-top)) - max(12px,var(--ios-safe-bottom)))}}.archive-screen .collection-toolbar,.theme-still .archive-screen .collection-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:9px 12px 10px;display:grid}.archive-screen .collection-toolbar>.collection-search{width:100%;min-width:0}.archive-screen .dish-search>span{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.archive-screen .dish-search>div{border:1px solid var(--line);background:var(--paper);grid-template-columns:22px minmax(0,1fr) 32px;min-height:42px;padding-inline:7px}.archive-screen .dish-search>div>span{font-size:18px}.archive-screen .dish-search-entry{scrollbar-width:none;flex-wrap:nowrap;min-height:40px;padding:2px 0;overflow-x:auto}.archive-screen .dish-search-entry::-webkit-scrollbar{display:none}.archive-screen .dish-search input{min-width:82px;min-height:36px;font-size:14px}.archive-screen .dish-search button{width:32px;min-width:32px;min-height:32px}.archive-screen .dish-search-terms{flex-wrap:nowrap;flex:none}.archive-screen .collection-display-tools{justify-content:flex-end;align-self:auto;gap:6px;width:auto}.archive-screen .collection-sort{width:42px}.archive-screen .collection-sort>span{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.archive-screen .collection-sort-trigger{place-content:center;place-items:center;width:42px;height:42px;min-height:42px;margin:0;padding:0;display:grid}.archive-screen .collection-sort-trigger>span{display:none}.archive-screen .collection-sort-trigger>.collection-sort-mobile-icon{grid-area:1/1;width:20px;height:20px;display:block}.archive-screen .collection-sort-trigger>i{display:none}.archive-screen .collection-sort-options{width:180px;left:auto;right:0}.archive-screen .collection-view-toggle button{width:42px;height:42px}.menu-calendar .header-calendar-day-summary{min-height:82px;padding:10px 11px}.menu-calendar .header-calendar-day-summary>strong{font-size:40px}.menu-calendar .header-calendar-day-summary>i{text-align:right;padding:6px 7px}}@media (width<=1024px){.food-photo-selector-row{background:#111612;flex-wrap:wrap;align-items:stretch;gap:10px;padding:12px}.food-photo-selector-row .food-photo-strip{flex:1 0 100%;width:100%;margin:0;padding:0;overflow-x:auto}.food-share-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;display:grid}.recipe-menu-add{grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr);width:100%;min-width:0;margin:0}.recipe-menu-add.is-creating{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.85fr);width:100%}.recipe-menu-add label{padding-inline:8px}.recipe-menu-add .recipe-menu-new-name{border-right:1px solid #ffffff4d;grid-area:1/3;min-height:48px}.recipe-menu-add.is-creating>button{grid-area:1/4;min-width:0;padding-inline:7px}.recipe-menu-add>button{min-width:0;padding-inline:7px}.recipe-menu-add>small{white-space:normal;grid-column:1/-1;width:100%;padding:0 8px 5px;position:static}.food-share-tools .recipe-share,.food-share-tools .recipe-download{justify-content:center;width:100%;min-width:0;min-height:46px;padding-inline:10px}}@media (width<=600px){.recipe-menu-add{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr);min-height:50px}.recipe-menu-add.is-creating{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1.15fr) minmax(0,.8fr)}.recipe-menu-add label{min-height:50px;padding-inline:7px}.recipe-menu-add>button{letter-spacing:0;min-height:50px;padding-inline:3px;font-size:7.5px}.recipe-menu-date{grid-template-columns:minmax(0,1fr)}.recipe-menu-date>.ui-icon{display:none}.recipe-menu-date-display{font-size:9px}.recipe-menu-destination{padding-inline:5px}.recipe-menu-destination>button{gap:2px}.recipe-menu-destination>button strong{font-size:8px}.recipe-menu-destination-full{display:none}.recipe-menu-destination-short{display:inline}.recipe-menu-add .recipe-menu-action-full{display:none}.recipe-menu-add .recipe-menu-action-short{display:inline}.recipe-menu-add .recipe-menu-new-name{min-height:50px}.recipe-menu-add .recipe-menu-new-name input{font-size:16px!important}.recipe-menu-add>small{align-items:center;min-height:28px;padding:0 8px;display:flex}.food-share-tools .recipe-share,.food-share-tools .recipe-download{min-height:46px;padding-inline:8px}}.meal-planner-menu-date{flex-wrap:wrap;align-items:center;gap:9px;margin-top:6px;display:flex}.meal-planner-menu-date>small{color:var(--muted);font:9px var(--dpo-font-utility)}.meal-planner-menu-date>button{min-height:32px;color:var(--accent);font:9px var(--dpo-font-utility);text-underline-offset:3px;text-transform:uppercase;text-decoration:underline}.meal-planner-agenda-title>.meal-planner-date-form{flex-wrap:wrap}.meal-planner-agenda-title>.meal-planner-date-form input{font:12px var(--dpo-font-utility)}.food-detail-photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:flex}.food-photo-viewer{z-index:120;color:#fff;background:#090c0a;outline:none;height:100dvh;position:fixed;inset:0;overflow:hidden}.food-photo-image{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .22s,transform .24s;display:flex;overflow:hidden}.food-photo-image img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:transform .18s;display:block}.food-photo-viewer.is-dragging img{transition:none}.food-photo-image:is(.leaving-left,.leaving-right,.entering-left,.entering-right){opacity:0}.food-photo-viewer>button,.food-photo-count{z-index:2;opacity:0;visibility:hidden;transition:opacity .2s;position:absolute}.food-photo-viewer>button{color:#fff;cursor:pointer;background:#263329;border:1px solid #728676;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;font-size:22px;display:flex}.food-photo-viewer.controls-visible>button,.food-photo-viewer.controls-visible .food-photo-count{opacity:1;visibility:visible}.food-photo-viewer>button:disabled{opacity:.45;cursor:default}.food-photo-close{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}.food-photo-previous,.food-photo-next{top:50%;transform:translateY(-50%)}.food-photo-previous{left:max(12px,env(safe-area-inset-left,0px))}.food-photo-next{right:max(12px,env(safe-area-inset-right,0px))}.food-photo-count{bottom:max(12px,env(safe-area-inset-bottom,0px));color:#fff;font:12px var(--dpo-font-utility);background:#263329;padding:6px 10px;left:50%;transform:translate(-50%)}.food-photo-status{pointer-events:none;color:#fff;background:#263329;padding:12px;position:absolute}.dpo-theme-selector{align-items:center;display:flex}.dpo-theme-toggle{border:1px solid var(--line);background:var(--surface);min-width:88px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:9px;padding:8px 10px;display:inline-flex}.dpo-theme-toggle:hover{background:var(--wash)}.dpo-theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dpo-theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.dpo-theme-track{border:1px solid;border-radius:10px;width:26px;height:14px;position:relative}.dpo-theme-track i{background:currentColor;border-radius:50%;width:8px;height:8px;transition:transform .2s;position:absolute;top:2px;left:2px}.dpo-theme-toggle[data-theme=dark] .dpo-theme-track i{transform:translate(12px)}:where(button,input,select,textarea){font-family:var(--dpo-font-body)}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=600px){input,select,textarea{font-size:16px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.topbar,.mobile-menu,.dpo-theme-selector{display:none!important}body{color:#000;background:#fff}main{padding-top:0!important}}.theme-root>.dpo-theme-selector,.um-login-stage>.dpo-theme-selector{z-index:5;position:absolute;top:20px;right:20px}html[data-theme] .app-shell.theme-still .topbar,html[data-theme] .um-theme .um-topbar{background:color-mix(in srgb,var(--paper) 96%,transparent);border-color:var(--line);color:var(--ink)}html[data-theme] .app-shell.theme-still .topbar :is(.username,.logout,.text-button,.wordmark){color:var(--ink)}html[data-theme] .app-shell.theme-still .topbar :is(.role,.photo-site-link,.food-site-link){color:var(--muted)}html[data-theme] .app-shell.theme-still .menu-toggle span{background:var(--ink)}html[data-theme] :is(.theme-still,.um-theme) :is(.button.dark,.um-button-primary,.psp-primary,.psp-save,.psp-load,.psp-export):not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}html[data-theme] :is(.theme-still,.um-theme) :is(.button.dark,.um-button-primary,.psp-primary,.psp-save,.psp-load,.psp-export):not(:disabled):hover{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-ink)}html[data-theme] :is(.theme-still,.um-theme) :is(.button,.um-button,.psp-primary,.psp-save,.psp-load,.psp-export):disabled{border-color:var(--disabled-bg);background:var(--disabled-bg);color:var(--disabled-ink);filter:none;opacity:1}html[data-theme] :is(.theme-still,.um-theme) :is(input,select,textarea){color:var(--ink);font-family:var(--dpo-font-body)}html[data-theme] :is(.theme-still,.um-theme) .um-login-mark{background:radial-gradient(circle at 30% 28%,color-mix(in srgb,var(--accent) 40%,var(--wash)),transparent 25%),linear-gradient(145deg,var(--wash),var(--paper) 70%)}html[data-theme] .app-shell.theme-still :is(.menu-planner-link,.map-title-card){border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme] .app-shell.theme-still .menu-planner-link :is(small,i){color:var(--accent)}html[data-theme] :is(.map-canvas,.psp-map) :is(.leaflet-control-zoom a,.leaflet-control-attribution){border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme] :is(.map-canvas,.psp-map) .leaflet-control-attribution a{color:var(--accent)}html[data-theme] .photo-shot-planner .psp-map-style-control{border-color:var(--line);background:var(--surface)}html[data-theme] .photo-shot-planner .psp-map-style-control button{border-color:var(--line);color:var(--ink)}html[data-theme] .photo-shot-planner .psp-map-style-control button.selected{background:var(--selected-bg);color:var(--selected-ink)}html[data-theme] .photo-shot-planner .psp-subject-search button:not(:disabled){background:var(--ink);color:var(--paper)}.menu-backup-control{border:1px solid var(--line);background:color-mix(in srgb,var(--wash) 42%,transparent);flex:100%;width:100%}.menu-backup-control summary{cursor:pointer;min-height:42px;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-weight:500;list-style:none;display:flex}.menu-backup-control summary::-webkit-details-marker{display:none}.menu-backup-control summary b{font-size:16px;font-weight:400;line-height:1;transition:transform .2s}.menu-backup-control[open] summary b{transform:rotate(180deg)}.menu-backup-options{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mobile-menu-footer .menu-backup-option{text-align:left;text-transform:none;border:0;justify-content:space-between;min-height:58px;padding:9px 12px}.mobile-menu-footer .menu-backup-option+.menu-backup-option{border-left:1px solid var(--line)}.menu-backup-option>span{gap:3px;min-width:0;display:grid}.menu-backup-option b{letter-spacing:.04em;text-transform:uppercase;font-size:9px}.menu-backup-option small{color:var(--muted);font-family:var(--dpo-font-body);letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-size:10px;overflow:hidden}.menu-backup-option i{font-size:18px;font-style:normal;font-weight:400}.menu-backup-error{border-top:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger);font-family:var(--dpo-font-body);letter-spacing:0;text-transform:none;grid-column:1/-1;margin:0;padding:9px 12px;font-size:11px;line-height:1.45}.app-shell .mobile-menu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block;overflow:hidden auto}.app-shell .menu-feature-row{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin-bottom:10px;display:grid}.app-shell .menu-feature-row>:is(button,.menu-calendar){min-width:0;margin:0}.app-shell .menu-feature-row>button{appearance:none;align-self:stretch;height:auto}.app-shell .menu-feature-row .menu-calendar-toggle{align-self:stretch;height:auto;min-height:62px}.app-shell .menu-feature-row :is(.menu-calendar-icon,.menu-calendar-chevron){align-self:stretch;height:auto}.app-shell .menu-feature-row :is(.menu-map-copy small,.menu-calendar-toggle small){white-space:normal;text-overflow:clip;overflow:visible}.app-shell .menu-feature-row .menu-calendar{display:contents}.app-shell .menu-feature-row .menu-calendar-toggle{grid-area:1/2}.app-shell .menu-feature-row .header-calendar-panel.embedded{border:1px solid var(--line);width:100%;max-height:none;box-shadow:none;grid-area:2/1/auto/-1;position:static;overflow:visible}.app-shell .mobile-menu>nav{flex:none;min-height:0;max-height:none;overflow:visible}.app-shell .menu-control-row{align-items:center;gap:8px;margin-top:8px;padding-top:8px}.app-shell .mobile-menu-footer{gap:7px;margin-top:8px;padding-top:8px;display:grid}.app-shell .menu-account-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.app-shell .menu-account-actions .menu-logout{margin-left:auto}.app-shell .topbar-account .header-todo-label{display:none}@media (width<=600px){.app-shell .menu-feature-row>button{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:7px}.app-shell .menu-feature-row>button>i,.app-shell .menu-feature-row>button>.ui-icon{display:none}.app-shell .menu-feature-row :is(.menu-planner-mark,.map-button-media,.pantry-button-media){max-width:40px}.app-shell .menu-feature-row .menu-calendar-toggle{grid-template-columns:30px minmax(0,1fr) 22px}.app-shell .menu-feature-row .menu-calendar-icon{width:30px}.app-shell .menu-feature-row .menu-calendar-chevron{width:22px}.app-shell .menu-feature-row .menu-calendar-toggle>span:nth-child(2){padding-inline:7px}.app-shell .menu-control-row{flex-wrap:wrap}.app-shell .menu-recipe-filter button{min-height:38px;padding-inline:6px}.app-shell .menu-backup-options{grid-template-columns:1fr}.app-shell .mobile-menu-footer .menu-backup-option+.menu-backup-option{border-top:1px solid var(--line);border-left:0}}html[data-theme] :is(.app-shell,.um-theme,.theme-root) :is(button,.button){border-radius:6px!important}html[data-theme] :is(.app-shell,.um-theme,.theme-root) :is(a,summary){border-radius:0}html[data-theme] :is(.app-shell,.um-theme,.theme-root) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border-radius:6px!important}html[data-theme] :is(.app-shell,.um-theme) :is(.dish-search>div,.um-search-field input){border-radius:6px;padding-inline:14px}html[data-theme] :is(.app-shell,.um-theme) :is(.text-button,.card-action,.edit-lightbox,.delete,.um-text-button){border:1px solid var(--line);background:0 0;min-height:38px;padding:8px 12px;text-decoration:none}html[data-theme] :is(.app-shell,.um-theme) :is(.text-button,.card-action,.edit-lightbox,.delete,.um-text-button):hover{background:var(--wash);border-color:currentColor}html[data-theme] .app-shell :is(.menu-pantry-button,.menu-planner-link,.menu-map-link,.home-map-feature){box-shadow:inset 3px 0 var(--accent);background:var(--surface);border-color:var(--line)}html[data-theme] .app-shell .menu-planner-link{box-shadow:inset 3px 0 var(--sun)}html[data-theme] .app-shell :is(.menu-pantry-button,.menu-planner-link,.menu-map-link).active{background:var(--wash);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}html[data-theme] .app-shell :is(.menu-pantry-button,.menu-planner-link,.menu-map-link,.home-map-feature):hover{background:var(--wash);border-color:var(--accent)}html[data-theme] .app-shell .menu-backup-control{background:var(--surface);border-radius:6px;overflow:hidden}html[data-theme] .app-shell .menu-backup-control summary{min-height:44px;padding-inline:14px}html[data-theme] :is(.app-shell,.um-theme) :is(.menu-toggle,.close,.lightbox-share,.lightbox-fullscreen,.arrow,.back-to-top,.um-disclosure){border-radius:50%!important}html[data-theme] .app-shell .back-to-top{justify-content:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%!important}html[data-theme] .app-shell .back-to-top b{font-size:22px}html[data-theme] .app-shell .dpo-theme-toggle{border-radius:6px!important}html[data-theme] .app-shell :is(.photo-card,.food-card) button:not(.card-action){border-radius:0!important}html[data-theme] .app-shell .tree-filter{border-radius:4px!important}html[data-theme] .app-shell .menu-feature-row{gap:12px;margin-bottom:16px}html[data-theme] .app-shell .menu-control-row{margin-top:16px;padding-top:12px}html[data-theme] .app-shell .mobile-menu-footer{gap:10px;margin-top:12px;padding-top:12px}html[data-theme] .app-shell .menu-account-actions{gap:8px}html[data-theme] .app-shell .mobile-menu-footer :is(button,a){border-radius:6px;min-height:40px;padding-inline:12px}html[data-theme] .app-shell .mobile-menu-footer .menu-backup-option{justify-content:space-between;min-height:64px;padding:12px 14px}html[data-theme] .app-shell .category-tree-row{padding-block:3px}html[data-theme] .app-shell .tree-filter.active{box-shadow:inset 3px 0 var(--accent);font-weight:500}html[data-theme] .um-theme :is(.um-field input,.um-field select){border:1px solid var(--line);background:var(--surface);padding:10px 12px}html[data-theme] .um-theme .um-password-wrap input{padding-right:60px}html[data-theme] .um-theme .um-password-wrap button{right:12px}html[data-theme] .um-theme .um-text-button{font-weight:500}html[data-theme] .um-theme .um-user-summary{padding-block:18px}html[data-theme] .um-theme .um-role-pill{border-radius:4px}.app-shell .viewer-status{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell .lightbox-share{justify-content:center;width:44px;height:44px;padding:0;display:flex}.app-shell .lightbox-fullscreen{z-index:4;top:max(17px,env(safe-area-inset-top,0px));background:var(--surface);width:44px;height:44px;color:var(--ink);border:1px solid;place-items:center;display:grid;position:absolute;left:72px}.app-shell .lightbox-fullscreen svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.app-shell .lightbox-close{background:var(--surface);color:var(--ink);border:1px solid;padding:8px 12px}.app-shell .lightbox.is-fullscreen{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100dvh;padding:0}.app-shell .lightbox.is-fullscreen .lightbox-caption{display:none}.app-shell .lightbox.is-fullscreen .lightbox-image{grid-area:1/1;width:100%;height:100%}.app-shell .lightbox.is-fullscreen .lightbox-photo img{object-fit:contain;width:100%;height:100%}.app-shell .lightbox.is-fullscreen .arrow{z-index:3;background:var(--surface);width:44px;height:44px;color:var(--ink);position:absolute;top:50%;transform:translateY(-50%)}.app-shell .lightbox.is-fullscreen .arrow.left{left:max(12px,env(safe-area-inset-left,0px))}.app-shell .lightbox.is-fullscreen .arrow.right{right:max(12px,env(safe-area-inset-right,0px))}html[data-theme] .app-shell :is(.header-calendar,.header-calendar-panel) button,html[data-theme] .app-shell button.menu-pantry-button{border-radius:0!important}html[data-theme] .app-shell .home-menu-link{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;gap:20px;padding:20px 16px;font-size:16px;transition:background .18s,color .18s;border-radius:0!important}html[data-theme] .app-shell .home-menu-link:hover,html[data-theme] .app-shell .home-menu-link:focus-visible{background:var(--wash);color:var(--ink);padding-inline:16px}html[data-theme] .app-shell .home-menu-link>span{overflow-wrap:anywhere;min-width:0}html[data-theme] .app-shell .home-menu-link>small{white-space:nowrap;letter-spacing:.06em;flex-shrink:0}html[data-theme] .app-shell .home-menu-link.all-photos-link{border:1px solid var(--selected-bg);background:var(--selected-bg);min-height:64px;color:var(--selected-ink);font:500 15px/1.3 var(--dpo-font-utility);letter-spacing:.06em;box-shadow:none;margin:12px 0 6px;padding:18px 20px;border-radius:6px!important}html[data-theme] .app-shell .home-menu-link.all-photos-link:hover,html[data-theme] .app-shell .home-menu-link.all-photos-link:focus-visible{background:var(--selected-bg);color:var(--selected-ink);border-color:var(--accent)}html[data-theme] .app-shell .home-menu-link.all-photos-link small{color:inherit}@media (width<=600px){html[data-theme] .app-shell .home-menu-link{gap:16px;min-height:62px;padding:18px 12px;font-size:14px}html[data-theme] .app-shell .home-menu-link:hover,html[data-theme] .app-shell .home-menu-link:focus-visible{padding-inline:12px}html[data-theme] .app-shell .menu-feature-row{gap:8px}html[data-theme] .app-shell .menu-account-actions{gap:6px}html[data-theme] .app-shell .mobile-menu-footer :is(button,a){min-height:44px;padding-inline:10px}html[data-theme] .um-theme .um-topbar{flex-wrap:wrap;gap:12px}html[data-theme] .um-theme .um-topbar>div:last-child{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}html[data-theme] .um-theme .um-topbar button{min-height:44px}}html[data-theme] .app-shell .menu-account-header{border-top:0;border-bottom:1px solid var(--line);margin:0 0 16px;padding:0 0 12px;container:menu-account/inline-size}html[data-theme] .app-shell .menu-account-actions{flex-wrap:nowrap}html[data-theme] .app-shell .menu-account-actions>:is(button,a){white-space:nowrap}html[data-theme] .app-shell .menu-account-request{white-space:normal;min-width:0}html[data-theme] .app-shell .menu-management-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}html[data-theme] .app-shell .menu-management-actions>:is(button,a){width:100%;min-width:0}html[data-theme] .app-shell .header-todo{min-height:34px;color:var(--ink);opacity:.82;background:0 0;border:1px solid;gap:6px;padding:5px 10px;transform:none}html[data-theme] .app-shell .header-todo-icon{border:0;border-radius:0;width:14px;height:14px}html[data-theme] .app-shell .header-todo small{min-width:0;height:auto;color:inherit;font:inherit;background:0 0;padding:0;position:static}html[data-theme] .app-shell .header-todo:is(:hover,:focus-visible){background:var(--selected-bg);color:var(--selected-ink);opacity:1;transform:none}html[data-theme] .app-shell .filters .all-photos-filter.active,html[data-theme] .app-shell .mobile-collection-filter.all-photos-filter.active{background:var(--selected-bg);color:var(--selected-ink);border-color:var(--selected-bg)}html[data-theme] .app-shell .all-photos-filter.active :is(span,small){color:inherit}html[data-theme] .app-shell .lightbox-fullscreen{transition:background .2s,color .2s,border-color .2s}html[data-theme] .app-shell .lightbox-fullscreen:is(:hover,:focus-visible){background:var(--selected-bg);color:var(--selected-ink);border-color:var(--selected-bg)}@media (width<=600px){html[data-theme] .app-shell :is(.header-todo,.header-add-food,.header-add-photos){justify-content:center;width:auto;min-width:44px;min-height:44px;padding-inline:8px}}html.pwa-standalone,html.pwa-standalone body{touch-action:pan-x pan-y}html.pwa-standalone :is(input,select,textarea){font-size:16px!important}.app-shell .topbar .wordmark,.app-shell .topbar-account{flex-shrink:0}.app-shell .topbar .wordmark{white-space:nowrap}.app-shell .topbar-account .username{flex:none;max-width:none}.app-shell .topbar.username-in-menu .username{visibility:hidden;pointer-events:none;width:max-content;max-width:100%;position:absolute;top:0;left:0}html[data-theme] .app-shell .menu-account-actions:has(.menu-username){grid-template-columns:max-content minmax(0,1fr) max-content;gap:12px;width:100%;display:grid}.app-shell .menu-username{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;color:var(--ink);font:10px var(--dpo-font-utility);letter-spacing:.04em;overflow:hidden}html[data-theme] .app-shell .menu-account-actions:has(.menu-username) .menu-account-request{grid-area:2/1/auto/-1}@container menu-account (width<=260px){html[data-theme] .app-shell .menu-account-actions:has(.menu-username){grid-template-columns:1fr 1fr;gap:10px 16px}.app-shell .menu-account-actions .menu-username{grid-area:2/1/auto/-1}html[data-theme] .app-shell .menu-account-actions:has(.menu-username) .menu-account-request{grid-row:3}}@media (width<=380px){.app-shell .topbar .wordmark{font-size:0}}html:not([data-theme]),html:not([data-theme]) body{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;margin:0}.dpo-launch-screen{z-index:10000;color:#fff;background:#000;place-items:center;margin:0;display:grid;position:fixed;inset:0}.dpo-launch-screen img{aspect-ratio:1;width:min(70vw,70dvh,512px);height:auto;display:block}@media (display-mode:standalone),(display-mode:fullscreen){.dpo-launch-screen img{display:none}}
