.edit-recipe-button{width:100%;margin-top:24px}.recipe-edit-page{min-height:100dvh;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(110px + env(safe-area-inset-bottom))}.recipe-edit-header{position:sticky;top:0;z-index:20;min-height:60px;margin:-10px -20px 22px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:10px;background:#faf9f4f0;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.recipe-edit-header>div{display:grid;gap:1px;text-align:center}.recipe-edit-header>div .eyebrow{justify-content:center;font-size:.58rem}.recipe-edit-header>div strong{font-size:.92rem}.edit-text-button,.edit-save-button{min-height:44px;border:none;background:transparent;font-size:.79rem;font-weight:850;cursor:pointer}.edit-text-button{justify-self:start;color:var(--muted);padding:0 4px}.edit-save-button{justify-self:end;color:var(--green-deep);padding:0 4px}.edit-save-button:disabled{opacity:.5}.edit-form-section{margin-bottom:28px;padding:18px;border:1px solid var(--line);border-radius:22px;background:#ffffffad}.edit-form-section>.edit-field:first-child{margin-bottom:14px}.edit-field{display:grid;gap:7px;min-width:0}.edit-field>span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.02em}.edit-field input,.edit-field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;padding:11px 12px}.edit-field input{min-height:46px}.edit-field textarea{resize:vertical;line-height:1.5}.edit-field input:focus,.edit-field textarea:focus{outline:2px solid rgba(53,93,69,.16);border-color:#355d456b}.edit-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.edit-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.edit-section-heading>div{display:grid;gap:2px}.edit-section-heading h2{margin:0;font-size:1rem}.edit-section-heading .small-action{min-height:44px;display:inline-flex;align-items:center;gap:5px}.edit-section-heading .small-action svg{width:15px;height:15px}.ingredient-editor-list{display:grid;gap:10px}.ingredient-editor-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(68px,.65fr) minmax(74px,.8fr) 44px;gap:8px;align-items:end;padding-bottom:11px;border-bottom:1px solid var(--line)}.ingredient-editor-row:last-child{padding-bottom:0;border-bottom:none}.edit-row-delete{width:44px;height:46px;border:none;border-radius:12px;background:transparent;color:#9b9d95;display:grid;place-items:center;cursor:pointer}.edit-row-delete svg{width:18px;height:18px}.edit-row-delete:not(:disabled):hover,.edit-row-delete:not(:disabled):focus-visible{color:var(--danger);background:#a64b4614}.edit-row-delete:disabled{opacity:.25;cursor:default}.step-editor-list{display:grid;gap:13px}.step-editor-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 116px 44px;gap:9px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:17px;background:#faf9f4b3}.step-editor-number{align-self:start;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-deep);font-size:.74rem;font-weight:900;margin-top:19px}.step-text-field{align-self:stretch}.step-text-field textarea{min-height:122px}.edit-error{margin:-8px 0 18px;padding:12px 14px;border:1px solid rgba(166,75,70,.2);border-radius:14px;background:#a64b460f;color:var(--danger);font-size:.78rem;font-weight:750;line-height:1.4}.edit-bottom-actions{position:fixed;z-index:25;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%);display:grid;grid-template-columns:.85fr 1.15fr;gap:9px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#faf9f4f2;border-top:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}@media(max-width:430px){.edit-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-metric-grid .edit-field:last-child{grid-column:1 / -1}.ingredient-editor-row{grid-template-columns:minmax(0,1fr) 78px 44px}.ingredient-editor-row .ingredient-name-field{grid-column:1 / 3}.ingredient-editor-row .edit-row-delete{grid-column:3;grid-row:1 / span 2;align-self:end}.step-editor-card{grid-template-columns:34px minmax(0,1fr) 44px;align-items:start}.step-editor-number{grid-column:1;grid-row:1}.step-text-field{grid-column:2 / 4;grid-row:1}.step-duration-field{grid-column:2;grid-row:2}.step-editor-card .edit-row-delete{grid-column:3;grid-row:2;align-self:end}}@media(max-width:370px){.recipe-edit-header{margin-inline:-16px}}.backup-entry-card{position:fixed;z-index:31;left:max(18px,calc((100vw - 520px)/2 + 18px));bottom:calc(86px + env(safe-area-inset-bottom));min-height:46px;border:1px solid var(--line);border-radius:999px;background:#fffffff5;color:var(--ink);padding:0 15px;display:inline-flex;align-items:center;gap:8px;text-align:left;font:inherit;box-shadow:0 12px 28px #1c231d24;cursor:pointer}.backup-entry-icon{color:var(--green-deep);font-size:1rem;font-weight:900}.backup-entry-card>span:nth-child(2){display:grid;gap:1px}.backup-entry-card strong{font-size:.77rem}.backup-entry-card small{color:var(--muted);font-size:.6rem}.backup-entry-card>span:last-child{color:var(--muted)}.backup-overlay{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;background:#191c186b;display:flex;justify-content:center;align-items:flex-end}.backup-sheet{width:min(520px,100%);max-height:96dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-radius:28px 28px 0 0;padding:0 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #00000024}.backup-header{position:sticky;top:0;z-index:3;min-height:64px;margin:0 -20px 18px;padding:10px 18px;display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:8px;background:#f7f6f0f5;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.backup-header button{justify-self:start;min-height:44px;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.backup-header>div{display:grid;gap:2px;text-align:center}.backup-header>div span{color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.backup-header>div strong{font-size:.92rem}.backup-section{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#ffffffa8}.backup-section h2{margin:4px 0 7px;font-size:1.05rem}.backup-section p{margin:0 0 14px;color:var(--muted);font-size:.8rem;line-height:1.5}.backup-main-button,.backup-file-button{width:100%}.backup-file-button{display:flex;justify-content:center;cursor:pointer}.backup-file-button input{display:none}.backup-file-button[aria-disabled=true]{opacity:.55;cursor:default}.backup-transfer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.backup-transfer-actions>*{min-width:0;min-height:48px}.backup-privacy{margin:10px 0 0!important;font-size:.68rem!important}.transfer-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.backup-merge-notice,.backup-refresh-warning,.backup-transfer-note{padding:12px 13px;border-radius:14px;font-size:.76rem;line-height:1.45}.backup-merge-notice{display:grid;gap:3px;background:#31694914;border:1px solid rgba(49,105,73,.16);color:var(--green-deep)}.backup-transfer-note{background:#545b5412;color:var(--muted);font-weight:750}.backup-refresh-warning{background:#fff5df;color:#6f522f}.transfer-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.backup-summary{margin-top:14px;display:grid;gap:12px}.backup-summary-head{display:grid;gap:3px}.backup-summary-head strong{font-size:.82rem;overflow-wrap:anywhere}.backup-summary-head span{color:var(--muted);font-size:.68rem}.backup-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.backup-summary-grid div{min-width:0;padding:10px 6px;border-radius:13px;background:#f7f6f0e6;text-align:center}.backup-summary-grid strong{display:block;font-size:.95rem}.backup-summary-grid span{display:block;margin-top:2px;color:var(--muted);font-size:.6rem}.backup-warning,.backup-error{padding:12px 13px;border-radius:14px;font-size:.76rem;line-height:1.45}.backup-warning{display:grid;gap:3px;background:#fff5df;border:1px solid rgba(198,111,55,.2);color:#6f522f}.backup-error{margin-top:12px;background:#a64b4614;color:var(--danger);font-weight:750}.backup-restore-button{min-height:48px;border:1px solid rgba(166,75,70,.22);border-radius:15px;background:#a64b4614;color:var(--danger);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.backup-restore-button:disabled{opacity:.55}@media(max-width:430px){.backup-sheet{border-radius:24px 24px 0 0}.backup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:340px){.backup-transfer-actions{grid-template-columns:1fr}}.recipe-import-fab{position:fixed;z-index:31;right:max(18px,calc((100vw - 520px)/2 + 18px));bottom:calc(86px + env(safe-area-inset-bottom));min-height:46px;border:none;border-radius:999px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font:inherit;font-size:.8rem;font-weight:850;box-shadow:0 12px 28px #355d453d;cursor:pointer}.recipe-import-fab svg{width:17px;height:17px}.recipe-import-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#191c186b;display:flex;justify-content:center;align-items:flex-end}.recipe-import-sheet{width:min(520px,100%);max-height:96dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-radius:28px 28px 0 0;padding:0 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #00000024}.recipe-duplicate-overlay{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#191c188a}.recipe-duplicate-card{width:min(390px,100%);display:grid;gap:12px;padding:22px;border-radius:22px;background:var(--bg);box-shadow:0 20px 60px #0003}.recipe-duplicate-card h2{margin:0;font-size:1.15rem;line-height:1.35}.recipe-duplicate-card>strong{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.recipe-duplicate-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.recipe-duplicate-actions .recipe-import-text-button{grid-column:1 / -1;justify-self:center}.recipe-import-header{min-height:64px;margin:0 -20px 18px;padding:10px 18px;display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:8px;background:#f7f6f0f5;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.recipe-import-header.sticky{position:sticky;top:0;z-index:3}.recipe-import-header>div{display:grid;gap:2px;text-align:center}.recipe-import-header>div span{color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.recipe-import-header>div strong{font-size:.92rem}.recipe-import-text-button,.recipe-import-save{min-height:42px;border:none;background:transparent;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.recipe-import-text-button{justify-self:start;color:var(--muted);padding:0 4px}.recipe-import-save{justify-self:end;color:var(--green-deep);padding:0 4px}.recipe-import-copy>p{margin-bottom:14px;font-size:.9rem}.recipe-import-tip{display:grid;gap:4px;margin-bottom:16px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#ffffffb3;font-size:.79rem}.recipe-import-tip span{color:var(--muted);line-height:1.45}.recipe-import-paste-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px}.recipe-import-paste-button{width:100%;min-height:44px}.recipe-import-paste-row>span{color:var(--muted);font-size:.68rem;white-space:nowrap}.recipe-import-textarea{display:grid;gap:7px}.recipe-import-textarea>span,.recipe-import-field>span{color:var(--muted);font-size:.68rem;font-weight:800}.recipe-import-textarea textarea,.recipe-import-field input,.recipe-import-field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px}.recipe-import-textarea textarea{min-height:315px;resize:vertical;line-height:1.5;font-size:.9rem}.recipe-import-field{display:grid;gap:6px;min-width:0}.recipe-import-field input{min-height:44px;font-size:.88rem}.recipe-import-field textarea{resize:vertical;line-height:1.48;font-size:.88rem}.recipe-import-textarea textarea:focus,.recipe-import-field input:focus,.recipe-import-field textarea:focus{outline:2px solid rgba(53,93,69,.17);border-color:#355d4561}.recipe-import-main-button{width:100%;margin-top:14px}.recipe-import-privacy{margin:9px 12px 0;text-align:center;font-size:.7rem}.recipe-import-error,.recipe-import-warnings{margin:13px 0;padding:12px 14px;border-radius:14px;font-size:.78rem;line-height:1.45}.recipe-import-error{background:#a64b4614;color:var(--danger);font-weight:750}.recipe-import-warnings{background:#fff5df;border:1px solid rgba(198,111,55,.2);color:#6f522f}.recipe-import-warnings strong{display:block;margin-bottom:4px}.recipe-import-warnings ul{margin:0;padding-left:18px}.recipe-import-warnings li+li{margin-top:3px}.recipe-import-section{margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#ffffffa8}.recipe-import-section>.full{margin-bottom:13px}.recipe-import-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.recipe-import-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.recipe-import-section-heading>div{display:grid;gap:2px}.recipe-import-section-heading>div span{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.recipe-import-section-heading .small-action{display:inline-flex;align-items:center;gap:5px}.recipe-import-section-heading .small-action svg{width:15px}.recipe-import-ingredient-list,.recipe-import-step-list{display:grid;gap:10px}.recipe-import-ingredient{display:grid;grid-template-columns:minmax(0,1.65fr) 72px 78px 38px;gap:7px;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--line)}.recipe-import-ingredient:last-child{border-bottom:none;padding-bottom:0}.recipe-import-delete{width:38px;height:44px;border:none;border-radius:12px;background:transparent;color:#969990;display:grid;place-items:center;cursor:pointer}.recipe-import-delete svg{width:18px}.recipe-import-delete:disabled{opacity:.25}.recipe-import-step{display:grid;grid-template-columns:32px minmax(0,1fr) 105px 38px;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f7f6f0b8}.recipe-import-step-number{align-self:start;width:29px;height:29px;margin-top:18px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-deep);font-size:.72rem;font-weight:900}.recipe-import-step .step-copy textarea{min-height:105px}.recipe-import-bottom-actions{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin:0 -20px calc(-22px - env(safe-area-inset-bottom));padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#f7f6f0f5;border-top:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}@media(max-width:430px){.recipe-import-sheet{border-radius:24px 24px 0 0}.recipe-import-paste-row{grid-template-columns:1fr;gap:6px}.recipe-import-paste-row>span{text-align:center}.recipe-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-import-metrics .recipe-import-field:last-child{grid-column:1 / -1}.recipe-import-ingredient{grid-template-columns:minmax(0,1fr) 76px 38px}.recipe-import-ingredient .name{grid-column:1 / 3}.recipe-import-ingredient .recipe-import-delete{grid-column:3;grid-row:1 / span 2}.recipe-import-step{grid-template-columns:32px minmax(0,1fr) 38px;align-items:start}.recipe-import-step-number{grid-column:1;grid-row:1}.recipe-import-step .step-copy{grid-column:2 / 4;grid-row:1}.recipe-import-step .duration{grid-column:2;grid-row:2}.recipe-import-step .recipe-import-delete{grid-column:3;grid-row:2;align-self:end}}.recipe-card-summary{position:relative}.recipe-card-summary .recipe-card-main{padding-bottom:56px}.recipe-card-quick-actions{position:absolute;z-index:3;right:12px;bottom:10px;display:flex;align-items:center;gap:6px}.recipe-card-heart,.recipe-card-rating{min-height:44px;border:1px solid var(--line);background:#ffffffeb;color:var(--muted);cursor:pointer;touch-action:manipulation}.recipe-card-heart{width:44px;border-radius:50%;display:grid;place-items:center}.recipe-card-heart svg{width:18px}.recipe-card-heart.active{color:#c05d4b;background:#fff7f4}.recipe-card-rating-wrap{position:relative}.recipe-card-rating{min-width:58px;border-radius:999px;padding:0 11px;font:inherit;font-size:.7rem;font-weight:850;white-space:nowrap}.recipe-card-rating.rated{color:#9a6a19;background:#fff9eb}.recipe-card-heart:disabled,.recipe-card-rating:disabled,.recipe-card-rating-picker button:disabled{opacity:.55;cursor:wait}.recipe-card-rating-picker{position:absolute;z-index:6;right:0;bottom:calc(100% + 7px);display:flex;gap:1px;padding:7px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 14px 34px #23282129}.recipe-card-rating-picker button{width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:#c9cbc3;font-size:1.35rem;cursor:pointer;touch-action:manipulation}.recipe-card-rating-picker button.active{color:#d69d3a}.substitution-ready-badge{display:inline-flex;width:fit-content;margin:2px 0 8px;padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-size:.65rem;font-weight:850;letter-spacing:.02em}.substitution-block{margin:0 14px 10px;padding:12px 13px;border:1px solid rgba(53,93,69,.14);border-radius:15px;background:#dce9dc75}.substitution-block>.eyebrow{margin-bottom:8px;color:var(--green-deep)}.substitution-suggestion{display:grid;gap:5px}.substitution-suggestion+.substitution-suggestion{margin-top:10px;padding-top:10px;border-top:1px solid rgba(53,93,69,.12)}.substitution-suggestion>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px}.substitution-suggestion strong{color:var(--green-deep);font-size:.86rem}.substitution-suggestion span{color:var(--muted);font-size:.76rem;font-weight:700}.substitution-suggestion p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.4}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:#20231f;background:#f7f6f0;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f7f6f0;--surface: #ffffff;--surface-soft: #efefe8;--ink: #20231f;--muted: #74776e;--line: rgba(32, 35, 31, .1);--green: #355d45;--green-deep: #284937;--green-soft: #dce9dc;--sage: #98aa95;--warm: #c66f37;--danger: #a64b46;--shadow: 0 18px 50px rgba(55, 58, 50, .09);--radius-xl: 30px;--radius-lg: 22px;--radius-md: 16px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid rgba(53,93,69,.26);outline-offset:2px}button:disabled{opacity:.42;cursor:not-allowed}.app-shell{min-height:100vh;max-width:520px;margin:0 auto;position:relative;background:var(--bg)}.screen{min-height:100vh}.screen.with-nav{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.page{padding:calc(20px + env(safe-area-inset-top)) 20px 38px}.loading-shell{display:grid;place-items:center;align-content:center;gap:16px;color:var(--muted)}.brand-mark{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:28px;box-shadow:var(--shadow)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(2.45rem,11vw,3.35rem);line-height:.97;margin-bottom:14px}h2{font-size:1.35rem;margin-bottom:0}h3{font-size:1.06rem;line-height:1.15}p{line-height:1.55;color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.success-text{color:var(--green)}.warm-text{color:var(--warm)}.screen-header{margin-bottom:26px}.screen-header .header-topline{min-height:44px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.screen-header h1{margin-top:8px;max-width:440px}.screen-header p{font-size:.98rem;max-width:440px;margin-bottom:0}.icon-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#ffffffd1;display:grid;place-items:center;cursor:pointer}.home-page{padding-top:calc(28px + env(safe-area-inset-top))}.home-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:26px}.home-header h1{margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(2.7rem,13vw,4rem)}.local-badge{min-width:54px;height:34px;flex:0 0 auto;border-radius:999px;background:#242821;color:#fff;font-size:.68rem;font-weight:850;display:grid;place-items:center;padding:0 11px;letter-spacing:.03em}.hero-card{width:100%;border:none;border-radius:var(--radius-xl);background:linear-gradient(145deg,#294634,#3d654b);color:#fff;padding:26px;text-align:left;position:relative;overflow:hidden;min-height:255px;box-shadow:0 24px 50px #27433138;cursor:pointer}.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ffffff0f;right:-70px;top:-90px}.hero-copy{position:relative;z-index:2;max-width:72%}.hero-kicker{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#dfe9df}.hero-kicker svg{width:17px}.hero-card h2{font-family:Georgia,Times New Roman,serif;font-size:2.35rem;font-weight:500;margin:42px 0 10px;letter-spacing:-.04em}.hero-card p{color:#ffffffba;font-size:.91rem}.hero-action{display:inline-flex;align-items:center;gap:10px;margin-top:4px;font-weight:800;font-size:.92rem}.hero-action span{font-size:1.2rem}.hero-visual{position:absolute;right:16px;bottom:8px;width:130px;height:120px}.hero-visual span{position:absolute;font-size:2.7rem;filter:drop-shadow(0 8px 10px rgba(0,0,0,.16))}.hero-visual span:nth-child(1){right:4px;bottom:10px;transform:rotate(8deg)}.hero-visual span:nth-child(2){left:14px;bottom:4px;transform:rotate(-12deg)}.hero-visual span:nth-child(3){right:38px;top:2px;transform:rotate(15deg)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 30px}.quick-card{border:1px solid var(--line);background:#ffffffb3;border-radius:var(--radius-lg);padding:16px;min-height:116px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer}.quick-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);margin-bottom:13px}.quick-icon svg{width:20px}.quick-card strong{font-size:.98rem}.quick-card>span:last-child{color:var(--muted);font-size:.8rem;margin-top:2px}.section-block{margin-top:30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin-top:4px}.section-heading.compact{align-items:center;margin-bottom:12px}.section-heading.compact>span{color:var(--muted);font-size:.84rem}.count-badge{min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--surface-soft);display:grid;place-items:center;font-size:.82rem;font-weight:800;color:var(--muted)}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translate(-50%);width:min(520px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#faf9f4eb;border-top:1px solid rgba(32,35,31,.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nav-item{border:none;background:transparent;min-height:58px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8a8d84;cursor:pointer}.nav-item svg{width:22px;height:22px}.nav-item span{font-size:.68rem;font-weight:700}.nav-item.active{color:var(--green-deep);background:#355d4514}.add-panel{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px #32372f0d;margin-bottom:30px}.add-panel input{grid-column:1 / -1;border:none;background:transparent;font-size:1.08rem;font-weight:650;padding:5px 4px 9px;color:var(--ink);min-width:0}.add-panel input::placeholder,.pantry-add input::placeholder,.inline-add input::placeholder,.search-field input::placeholder{color:#aaa99f}.add-panel input:focus{outline:none}.segmented{display:inline-flex;padding:3px;border-radius:12px;background:var(--surface-soft)}.segmented button{min-height:44px;border:none;border-radius:9px;background:transparent;padding:7px 12px;color:var(--muted);font-size:.78rem;font-weight:800;cursor:pointer}.segmented button.active{background:var(--surface);color:var(--green-deep);box-shadow:0 2px 9px #262b2414}.round-add{width:44px;height:44px;border-radius:50%;border:none;background:var(--green);color:#fff;display:grid;place-items:center;cursor:pointer}.round-add svg{width:19px}.list-section{margin-top:22px}.item-list{display:flex;flex-direction:column;gap:8px}.shopping-row{width:100%;border:1px solid var(--line);border-radius:17px;background:#ffffffc7;padding:14px 13px;display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.check-circle{width:24px;height:24px;border:1.5px solid #b8bbb1;border-radius:50%;display:grid;place-items:center;color:#fff}.check-circle svg{width:15px}.shopping-name{font-weight:700}.type-pill{border-radius:999px;padding:5px 8px;background:#ecece7;color:#75786f;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.type-pill.food{background:var(--green-soft);color:var(--green-deep)}.shopping-row.purchased{opacity:.62;background:transparent}.shopping-row.purchased .shopping-name{text-decoration:line-through}.shopping-row.purchased .check-circle{background:var(--green);border-color:var(--green)}.muted-list{gap:6px}.purchased-section{margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}.text-button{min-height:44px;border:none;background:transparent;color:var(--green);padding:6px 8px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;cursor:pointer}.text-button.danger{color:var(--danger)}.pantry-add{border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 0 12px;margin-bottom:12px;color:var(--green)}.pantry-add input{min-width:0;border:none;background:transparent;padding:8px 0;color:var(--ink)}.pantry-add input:focus{outline:none}.small-action{min-height:44px;border:none;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green-deep);font-size:.75rem;font-weight:850;cursor:pointer}.pantry-list{display:flex;flex-direction:column}.pantry-row{min-height:56px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.pantry-row strong{font-size:.95rem}.ingredient-dot{width:9px;height:9px;border-radius:50%;background:var(--sage)}.selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.selection-toolbar>span{font-size:.79rem;font-weight:800;color:var(--muted)}.ingredient-cloud{display:flex;flex-wrap:wrap;gap:9px}.ingredient-chip{min-height:46px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#ffffffc2;display:inline-flex;align-items:center;gap:7px;font-weight:750;font-size:.9rem;cursor:pointer}.ingredient-chip svg{width:15px}.ingredient-chip.selected{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #355d452b}.ingredient-chip.add-chip{border-style:dashed;color:var(--green)}.inline-add{display:flex;gap:8px;margin-top:14px;padding:11px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.inline-add input{min-width:0;flex:1;border:none;background:transparent;padding-left:4px}.inline-add input:focus{outline:none}.cook-actions{margin-top:36px;display:grid;gap:10px}.cook-actions p{text-align:center;font-size:.72rem;margin:4px 16px 0}.primary-button,.secondary-button{min-height:54px;border-radius:17px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:850;cursor:pointer}.primary-button{border:none;background:var(--green);color:#fff;box-shadow:0 12px 24px #355d452e}.secondary-button{border:1px solid var(--line);background:#ffffffc2;color:var(--ink)}.primary-button svg,.secondary-button svg{width:20px}.recipe-stack{display:flex;flex-direction:column;gap:13px}.recipe-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffc7;overflow:hidden;box-shadow:0 8px 26px #2e322c0a}.recipe-card-main{width:100%;border:none;background:transparent;padding:12px;text-align:left;display:grid;grid-template-columns:94px 1fr;gap:13px;cursor:pointer}.recipe-art{min-height:106px;border-radius:16px;display:grid;place-items:center;overflow:hidden;font-size:3rem;background:linear-gradient(145deg,#e8eadf,#d8dfd2)}.recipe-art img{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover}.recipe-card-copy{min-width:0;padding:4px 2px}.recipe-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.recipe-card h3{margin-bottom:5px}.recipe-card p{font-size:.77rem;line-height:1.4;margin-bottom:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tiny-heart{width:16px;color:var(--warm);flex:0 0 auto}.recipe-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:.68rem;font-weight:700}.recipe-meta span{display:inline-flex;align-items:center;gap:3px}.recipe-meta svg{width:13px}.missing-row{border-top:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f6f0e8b3}.missing-row>div{display:grid;gap:2px}.missing-row .eyebrow{font-size:.6rem;color:var(--warm)}.missing-row strong{font-size:.75rem}.search-field{height:48px;border:1px solid var(--line);border-radius:15px;background:#ffffffc2;display:flex;align-items:center;gap:9px;padding:0 13px;margin-bottom:12px;color:var(--muted)}.search-field svg{width:19px}.search-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--ink)}.search-field input:focus{outline:none}.recipe-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding-bottom:14px}.filter-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-pill{min-height:44px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 13px;font-size:.76rem;font-weight:800;white-space:nowrap;cursor:pointer}.filter-pill.active{background:#252922;color:#fff;border-color:#252922}.recipe-sort{display:grid;gap:3px;color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.recipe-sort select{max-width:126px;height:44px;border:1px solid var(--line);border-radius:11px;background:#ffffffc2;color:var(--ink);padding:0 8px;font:inherit;font-size:.72rem;text-transform:none;letter-spacing:0}@media(max-width:430px){.recipe-controls{grid-template-columns:1fr;gap:9px}.recipe-sort{display:flex;align-items:center;justify-content:flex-end;gap:7px}}.recipe-detail-page{padding:0 0 34px}.recipe-hero{height:min(46vh,410px);min-height:310px;position:relative;overflow:hidden;background:linear-gradient(145deg,#dfe4d8,#ccd7c7)}.recipe-hero img{width:100%;height:100%;object-fit:cover;display:block}.recipe-hero-art{width:100%;height:100%;display:grid;place-items:center;font-size:8rem;background:radial-gradient(circle at 35% 35%,#f3efe2 0 15%,transparent 42%),linear-gradient(145deg,#d6dfcf,#b8c8b4)}.floating-back,.floating-heart{position:absolute;top:calc(16px + env(safe-area-inset-top));width:44px;height:44px;border:none;border-radius:50%;background:#fafaf6e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;box-shadow:0 7px 22px #1e231d1f}.floating-back{left:16px;font-size:1.25rem}.floating-heart{right:16px;color:var(--green-deep)}.floating-heart.active{color:#c05d4b}.recipe-body{margin-top:-24px;position:relative;background:var(--bg);border-radius:28px 28px 0 0;padding:28px 20px 0}.recipe-body h1{font-family:Georgia,Times New Roman,serif;font-weight:500;margin-top:7px;font-size:clamp(2.35rem,10vw,3.1rem)}.lead{font-size:.95rem}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#ffffffb3;border-radius:18px;overflow:hidden;margin:24px 0}.detail-metrics>div{padding:15px 7px;display:grid;place-items:center;text-align:center;border-right:1px solid var(--line)}.detail-metrics>div:last-child{border-right:none}.detail-metrics svg{width:18px;color:var(--green);margin-bottom:4px}.metric-symbol{color:var(--green);font-weight:900;margin-bottom:2px}.detail-metrics strong{font-size:1rem}.detail-metrics span:last-child{color:var(--muted);font-size:.58rem;margin-top:2px}.servings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.servings-row>div:first-child{display:grid;gap:3px}.stepper{display:grid;grid-template-columns:repeat(3,44px);align-items:center;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.stepper button{height:44px;border:none;background:transparent;font-size:1.2rem;cursor:pointer}.stepper span{text-align:center;font-weight:800}.recipe-section{margin-top:30px}.ingredient-list{display:flex;flex-direction:column}.ingredient-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.ingredient-list strong{text-align:right}.method-preview{list-style:none;padding:0;margin:0;display:grid;gap:15px}.method-preview li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:flex-start}.method-preview li>span{width:32px;height:32px;border-radius:50%;background:var(--green-soft);color:var(--green-deep);display:grid;place-items:center;font-weight:850;font-size:.78rem}.method-preview p{color:var(--ink);margin:3px 0 0;font-size:.9rem}.personal-section{margin-top:30px;padding:18px;border-radius:20px;background:#ebece5;display:flex;align-items:center;justify-content:space-between;gap:14px}.rating-row{display:flex;margin-top:5px}.star{width:44px;height:44px;border:none;background:transparent;padding:0;display:grid;place-items:center;font-size:1.35rem;color:#c9cbc3;cursor:pointer}.star.active{color:#d69d3a}.photo-button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 11px;display:inline-flex;align-items:center;justify-content:center;font-size:.73rem;font-weight:800;cursor:pointer;white-space:nowrap}.photo-button input,.finish-photo input{display:none}.sticky-cook-button{width:100%;margin-top:24px;position:sticky;bottom:calc(14px + env(safe-area-inset-bottom));z-index:3}.cooking-shell{min-height:100dvh;background:#1f241f;color:#f5f5ee;display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top)) 18px calc(16px + env(safe-area-inset-bottom))}.cooking-header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:44px}.cooking-header button{min-width:44px;min-height:44px;border:none;background:transparent;color:#d2d6ce;padding:8px 0;display:inline-flex;align-items:center;justify-content:flex-start;font-size:.78rem;font-weight:800;cursor:pointer}.cooking-header>span{color:#9ca29a;font-size:.76rem}.cooking-progress{height:3px;border-radius:999px;overflow:hidden;background:#ffffff1f}.cooking-progress span{display:block;height:100%;background:#c7d7c1;transition:width .3s ease}.timer-tray{display:flex;gap:8px;overflow-x:auto;padding:10px 0 0;scrollbar-width:none}.timer-tray::-webkit-scrollbar{display:none}.timer-chip{min-width:max-content;min-height:44px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:#ffffff0f;color:#e7e9e2;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;font-size:.68rem;cursor:pointer}.timer-chip svg{width:14px}.timer-chip strong{margin-left:3px}.timer-chip.done{background:#9fbe9b2b;color:#cde1c9}.cooking-step{flex:1;display:flex;flex-direction:column;justify-content:center;padding:34px 2px 26px}.cooking-step .eyebrow{color:#9fa69d}.cooking-step h1{color:#f7f5ed;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(2.45rem,11vw,3.65rem);line-height:1.05;margin:14px 0 26px}.step-ingredients{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:14px 0 9px;margin-bottom:17px}.step-ingredients>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0}.step-ingredients>div span{color:#aeb4ab;font-size:.85rem}.timer-button{align-self:flex-start;min-height:44px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#303a31;color:#eef2ea;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;font-size:.82rem;font-weight:800;cursor:pointer}.timer-button svg{width:18px}.cooking-footer{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.cooking-footer .secondary-button{background:#ffffff0f;border-color:#ffffff1f;color:#fff}.cooking-footer .primary-button{background:#dfe9da;color:#243326;box-shadow:none}.finish-shell{justify-content:center;text-align:center;padding-left:28px;padding-right:28px}.finish-icon{width:68px;height:68px;margin:0 auto 20px;border-radius:50%;background:#dfe9da;color:#2d4933;display:grid;place-items:center;font-size:1.9rem;font-weight:900}.finish-shell h1{font-family:Georgia,Times New Roman,serif;font-size:4rem;margin:8px 0}.finish-shell p{color:#aeb4ab;max-width:340px;margin:0 auto 22px}.finish-rating{display:flex;justify-content:center;margin-bottom:20px}.finish-rating button{border:none;background:transparent;color:#515950;font-size:2.2rem;cursor:pointer}.finish-rating button.active{color:#d8a84d}.finish-photo{width:100%;margin-bottom:10px;background:#ffffff0f;border-color:#ffffff1f;color:#fff}.finish-shell .primary-button{width:100%;background:#dfe9da;color:#243326}.empty-state{padding:40px 20px;text-align:center;border:1px dashed rgba(32,35,31,.15);border-radius:var(--radius-lg);background:#ffffff52}.empty-state>span{display:block;font-size:2.1rem;margin-bottom:10px}.empty-state strong{display:block;margin-bottom:4px}.empty-state p{font-size:.83rem;max-width:300px;margin:0 auto}.toast{position:fixed;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;width:min(calc(100% - 36px),420px);padding:12px 14px;border-radius:14px;background:#252922;color:#fff;box-shadow:0 12px 35px #0000002e;text-align:center;font-size:.8rem;font-weight:750}@media(min-width:521px){body{background:#e8e9e3}.app-shell{min-height:100vh;box-shadow:0 0 60px #2328211f}}@media(max-width:370px){.page{padding-left:16px;padding-right:16px}.hero-card{padding:22px}.hero-copy{max-width:78%}.recipe-card-main{grid-template-columns:82px 1fr}.recipe-art{min-height:98px}.detail-metrics strong{font-size:.9rem}.personal-section{align-items:flex-start;flex-direction:column}}.shopping-add-wrap{margin-bottom:18px;position:relative;z-index:6}.shopping-category-tabs{width:100%;max-width:100%;overflow-x:auto;display:flex;gap:7px;padding:2px 0 6px;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shopping-category-tabs::-webkit-scrollbar{display:none}.shopping-category-tab{flex:0 0 auto;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:#ffffffad;color:var(--muted);font:inherit;font-size:.76rem;font-weight:800;white-space:nowrap;cursor:pointer;touch-action:manipulation}.shopping-category-tab.active{border-color:#31694938;background:var(--green-soft);color:var(--green-deep)}.shopping-category-tab:focus-visible{outline:2px solid var(--green);outline-offset:2px}.shopping-sort-row{min-height:48px;margin-top:5px;display:flex;align-items:center;justify-content:space-between;gap:12px}.shopping-sort-row>span{color:var(--muted);font-size:.72rem;font-weight:800}.shopping-sort-row label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.7rem;font-weight:800}.shopping-sort-row select{min-height:44px;max-width:150px;border:1px solid var(--line);border-radius:13px;background:#ffffffc7;color:var(--ink);padding:7px 28px 7px 10px;font:inherit;font-size:.78rem;font-weight:800}.shopping-groups{display:grid;gap:20px}.shopping-groups.muted-list{gap:17px}.shopping-category-group{min-width:0}.shopping-group-heading{min-height:30px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted)}.shopping-group-heading h3{margin:0;font-size:.76rem;font-weight:850;letter-spacing:.02em}.shopping-group-heading span{font-size:.68rem;font-weight:800}.smart-add{position:relative;width:100%}.smart-add-field{min-height:58px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px #32372f0d;color:var(--muted)}.smart-add-field svg{width:20px;flex:0 0 auto;color:var(--green)}.smart-add-field input{width:100%;min-width:0;border:none;background:transparent;color:var(--ink);font-size:1rem;font-weight:650}.smart-add-field input:focus{outline:none}.smart-add-field input::placeholder{color:#aaa99f}.smart-add.compact .smart-add-field{min-height:48px;border-radius:15px;box-shadow:none;background:#ffffffc2}.suggestion-menu{position:absolute;z-index:40;top:calc(100% + 7px);left:0;right:0;max-height:min(330px,48vh);overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:17px;background:#fffffffa;box-shadow:0 18px 45px #272e2624;-webkit-overflow-scrolling:touch}.suggestion-row{width:100%;min-height:48px;border:none;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;text-align:left;cursor:pointer;touch-action:manipulation}.suggestion-row:hover,.suggestion-row:focus-visible{background:var(--surface-soft)}.suggestion-row>span:first-child{font-weight:750}.suggestion-row.custom{border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--green-deep)}.suggestion-type{flex:0 0 auto;border-radius:999px;padding:5px 8px;background:#ecece7;color:#75786f;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.suggestion-type.food{background:var(--green-soft);color:var(--green-deep)}.pantry-smart-add{margin-bottom:14px;position:relative;z-index:5}.cook-smart-add{margin-top:14px;position:relative;z-index:5}.shopping-row{cursor:default;grid-template-columns:28px minmax(0,1fr) auto 34px;padding:10px 10px 10px 12px}.shopping-check,.shopping-name-button,.row-delete{border:none;background:transparent;padding:0;cursor:pointer;touch-action:manipulation}.shopping-check{width:44px;min-height:44px;margin-inline:-8px;display:grid;place-items:center}.shopping-name-button{min-width:0;min-height:44px;text-align:left;display:flex;align-items:center}.shopping-name-cell{min-width:0;display:grid;justify-items:start}.shopping-name-cell .shopping-name-button{width:100%}.shopping-name{overflow-wrap:anywhere}.shopping-category-select{min-width:0;width:fit-content;max-width:100%;min-height:44px;margin-top:-5px;border:none;border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:6px 27px 6px 10px;font:inherit;font-size:.67rem;font-weight:800;cursor:pointer;text-overflow:ellipsis}.shopping-category-select:focus-visible{outline:2px solid var(--green);outline-offset:1px}.type-pill.editable{border:none;min-height:44px;cursor:pointer;touch-action:manipulation}.row-delete{width:44px;height:44px;margin-inline:-5px;display:grid;place-items:center;border-radius:11px;color:#999b92}.row-delete svg{width:18px;height:18px}.row-delete:hover,.row-delete:focus-visible{color:var(--danger);background:#a64b4614}@media(max-width:360px){.shopping-row{grid-template-columns:28px minmax(0,1fr) 34px}.shopping-row .type-pill{grid-column:2;justify-self:start}.shopping-row .row-delete{grid-column:3;grid-row:1 / span 2}.shopping-row .shopping-check{grid-row:1 / span 2}}.cooking-step h1{font-size:clamp(1.55rem,6.5vw,2.2rem);line-height:1.3;margin-bottom:22px}.method-preview p{line-height:1.55}.danger-zone{margin-top:34px;padding:18px;border:1px solid rgba(166,75,70,.18);border-radius:20px;background:#a64b460b;display:flex;align-items:center;justify-content:space-between;gap:18px}.danger-zone>div{min-width:0}.danger-zone strong{display:block;margin:5px 0 4px;font-size:.95rem}.danger-zone p{margin:0;font-size:.78rem;line-height:1.45}.delete-recipe-button{flex:0 0 auto;min-height:44px;border:1px solid rgba(166,75,70,.23);border-radius:13px;background:#fff;color:var(--danger);padding:9px 11px;display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:850;cursor:pointer}.delete-recipe-button svg{width:17px;height:17px}.alarm-banner{margin-top:10px;border:1px solid rgba(246,198,97,.4);border-radius:16px;background:#423923;color:#fff7df;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 28px #0000002e;animation:alarmPulse 1.25s ease-in-out infinite}.alarm-banner>div{min-width:0;display:grid;grid-template-columns:18px 1fr;column-gap:8px;align-items:center}.alarm-banner svg{width:18px;grid-row:1 / span 2}.alarm-banner span{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#e8d7aa}.alarm-banner strong{font-size:.84rem;overflow-wrap:anywhere}.alarm-banner button{flex:0 0 auto;min-height:44px;border:none;border-radius:11px;background:#fff1c6;color:#3b321f;padding:8px 11px;font-size:.72rem;font-weight:900;cursor:pointer}.timer-chip.alarm{background:#5a4825;border-color:#f6c6616b;color:#fff2c8}.finish-alarm{position:absolute;top:calc(14px + env(safe-area-inset-top));left:18px;right:18px;text-align:left}@keyframes alarmPulse{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}@media(max-width:390px){.danger-zone{align-items:stretch;flex-direction:column}.delete-recipe-button{justify-content:center;width:100%}}@media(max-width:430px){.personal-section{flex-wrap:wrap}}@media(max-width:360px){.photo-button{width:100%}}@media(prefers-reduced-motion:reduce){.alarm-banner{animation:none}}
