@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-italic-BHALq22K.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-italic-B8-t4Nou.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-italic-D2JnYqd-.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--panna:#fff3ec;--cherry:#33121f;--tomato:#e23a11;--butter:#ffc531;--basil:#1e7a4a;--sorbet:#ffaec9;--surface:#fff;--surface-2:#ffe9de;--muted:#7d5a67;--line:#33121f;--shadow:#33121f;--font-display:"Fraunces Variable", serif;--font-body:"Outfit Variable", sans-serif;--radius-card:28px;--radius-row:18px;--content-max-width:1280px;--grid-gutter:24px;--spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.2s;--duration-slow:.32s}@media (prefers-color-scheme:dark){:root{--panna:#260a14;--cherry:#ffe9e0;--tomato:#ff6a3d;--butter:#ffc531;--basil:#46b578;--sorbet:#ff9dbe;--surface:#38121f;--surface-2:#451a2a;--muted:#c99aa8;--line:#ffe9e0;--shadow:#140308}}*,:before,:after{box-sizing:border-box}body{background:var(--panna);color:var(--cherry);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:380;line-height:1.6}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0}h1{font-variation-settings:"opsz" 144, "SOFT" 0, "WONK" 1;letter-spacing:-.015em;font-size:clamp(38px,6vw,62px);font-weight:780;line-height:.98}h2{font-variation-settings:"opsz" 80, "SOFT" 0, "WONK" 1;font-size:clamp(26px,4vw,32px);font-weight:720;line-height:1.08}h3{font-variation-settings:"opsz" 40, "SOFT" 0, "WONK" 1;font-size:24px;font-weight:700;line-height:1.15}h1 em,h2 em,h3 em{font-variation-settings:"opsz" 144, "SOFT" 30, "WONK" 1;color:var(--tomato);font-style:italic;font-weight:640}.body-lead{color:var(--muted);font-size:20px;font-weight:420;line-height:1.6}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--tomato);font-size:13px;font-weight:640}a{color:var(--tomato)}strong{font-weight:620}button{font-family:var(--font-body);border:2px solid var(--line);cursor:pointer;background:var(--surface);color:var(--cherry);box-shadow:3px 3px 0 var(--shadow);transition:transform var(--duration-fast) var(--spring), box-shadow var(--duration-fast) var(--spring);border-radius:999px;padding:.55em 1.5em;font-size:16px;font-weight:620}button:hover{box-shadow:5px 5px 0 var(--shadow);transform:translate(-2px,-2px)}button:active{box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)}button:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}button.accent{background:var(--tomato);color:#fff3ec}button.butter{background:var(--butter);color:#33121f}button.ghost{box-shadow:none;background:0 0;border-color:#0000}button:disabled{opacity:.45;cursor:default}button:disabled:hover{box-shadow:3px 3px 0 var(--shadow);transform:none}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-card);box-shadow:5px 5px 0 var(--shadow);padding:var(--grid-gutter)}.sticker{background:var(--surface);border:2px solid var(--line);box-shadow:3px 3px 0 var(--shadow);color:var(--cherry);border-radius:999px;padding:4px 14px;font-size:14px;font-weight:560;display:inline-block}.sticker.tomato{background:var(--tomato);color:#fff3ec}.sticker.butter{background:var(--butter);color:#33121f}.sticker.sorbet{background:var(--sorbet);color:#33121f}.sticker.basil{background:var(--basil);color:#fff3ec}input:not([type]),input[type=text],input[type=email],input[type=number],input[type=search],textarea,select{font-family:var(--font-body);color:var(--cherry);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-row);padding:10px 16px;font-size:16px;font-weight:420}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--tomato);outline-offset:2px}::placeholder{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app-frame{max-width:var(--content-max-width);padding:0 var(--grid-gutter);margin:0 auto}.app-header{justify-content:space-between;align-items:center;padding:22px 0;display:flex;position:relative}.wordmark{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "WONK" 1;letter-spacing:-.03em;color:var(--tomato);-webkit-user-select:none;user-select:none;font-size:30px;font-weight:860}.menu-toggle{background:var(--surface);flex-direction:column;justify-content:center;gap:5px;padding:10px;display:none}.menu-toggle span{background:var(--cherry);border-radius:2px;width:20px;height:2px;display:block}.app-header nav{align-items:center;gap:22px;display:flex}.app-header nav a{color:var(--muted);transition:color var(--duration-fast) var(--spring);font-size:16px;font-weight:540;text-decoration:none}.app-header nav a:hover{color:var(--cherry)}.app-header nav a.active{color:var(--cherry);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='6' viewBox='0 0 24 6'%3E%3Cpath d='M0 3 Q3 0 6 3 T12 3 T18 3 T24 3' fill='none' stroke='%23e23a11' stroke-width='2'/%3E%3C/svg%3E");background-position:0 100%;background-repeat:repeat-x;background-size:24px 6px;padding-bottom:6px}.app-header nav a:focus-visible{outline:3px solid var(--tomato);outline-offset:3px;border-radius:4px}.app-header nav .signout{box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:0;font-size:16px;font-weight:540}.app-header nav .signout:hover{box-shadow:none;color:var(--cherry);transform:none}@media (prefers-color-scheme:dark){.app-header nav a.active{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='6' viewBox='0 0 24 6'%3E%3Cpath d='M0 3 Q3 0 6 3 T12 3 T18 3 T24 3' fill='none' stroke='%23ff6a3d' stroke-width='2'/%3E%3C/svg%3E")}}@media (width<=640px){.menu-toggle{display:flex}.app-header nav{padding:22px var(--grid-gutter) 26px;background:var(--surface);border:2px solid var(--line);border-radius:0 0 var(--radius-card) var(--radius-card);box-shadow:5px 5px 0 var(--shadow);z-index:10;flex-direction:column;align-items:flex-start;gap:18px;display:none;position:absolute;top:100%;left:0;right:0}.app-header nav.open{display:flex}}.review-form{flex-direction:column;gap:16px;max-width:720px;padding-bottom:96px;display:flex}.review-form label{flex-direction:column;gap:4px;display:flex}.review-form input,.review-form select,.review-form textarea{padding:9px 12px;font-size:15px}.review-row{align-items:flex-end;gap:8px;display:flex}.review-row .grow{flex:1}.ingredient-row .amount{width:72px}.ingredient-row .unit{width:88px}.step-number{font-family:var(--font-body);color:var(--tomato);font-variant-numeric:tabular-nums;padding-bottom:12px;font-weight:640}.review-form .secondary{background:var(--surface-2);color:var(--cherry)}.review-form .add-row{align-self:flex-start}.review-form .remove{box-shadow:none;color:var(--muted);background:0 0;border:none;padding:8px;font-size:18px}.review-form .remove:hover{box-shadow:none;color:var(--tomato);transform:none}.attestation{background:var(--butter);color:#33121f;border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);align-items:flex-start;padding:16px 20px;font-size:15px;font-weight:480;flex-direction:row!important;gap:10px!important}.attestation input{width:18px;height:18px;accent-color:var(--tomato)}.duplicate-warning{background:var(--surface-2);border:2px solid var(--tomato);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);flex-direction:column;gap:10px;padding:16px 20px;font-size:15px;display:flex}.duplicate-warning p{margin:0}.duplicate-warning a{color:var(--tomato)}.duplicate-warning label{align-items:flex-start;flex-direction:row!important;gap:10px!important}.duplicate-warning input{width:18px;height:18px;accent-color:var(--tomato)}.review-error{color:var(--tomato);font-weight:480}.review-actions{gap:16px;display:flex}.capture-page{flex-direction:column;gap:16px;max-width:640px;display:flex}.capture-actions{gap:16px;margin-top:8px;display:flex}.capture-actions .secondary{background:var(--surface-2);color:var(--cherry)}.capture-error{color:var(--tomato);font-weight:480}.page-strip{flex-wrap:wrap;gap:12px;display:flex}.page-thumb{border:2px solid var(--line);background:var(--surface-2);width:96px;height:128px;box-shadow:3px 3px 0 var(--shadow);border-radius:12px;position:relative;overflow:hidden}.page-thumb img{object-fit:cover;width:100%;height:100%}.page-number{color:var(--panna);background:var(--cherry);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:620;position:absolute;bottom:6px;left:8px}.page-remove{background:var(--surface);color:var(--cherry);box-shadow:none;border-width:2px;border-radius:999px;padding:4px 8px;font-size:14px;line-height:1;position:absolute;top:4px;right:4px}.page-remove:hover{box-shadow:none;color:var(--tomato);transform:none}.mode-toggle{border:2px solid var(--line);box-shadow:3px 3px 0 var(--shadow);background:var(--surface);border-radius:999px;align-self:flex-start;gap:0;display:flex;overflow:hidden}.mode-toggle button{background:var(--surface);color:var(--cherry);box-shadow:none;border:none;border-radius:0;padding:8px 18px;font-size:14px;font-weight:560}.mode-toggle button:hover{box-shadow:none;transform:none}.mode-toggle button.selected{background:var(--tomato);color:#fff3ec}.paste-area{resize:vertical;font-size:15px}.capture-actions .library-link{align-self:center;font-weight:540}.fridge-page{flex-direction:column;gap:20px;max-width:720px;display:flex}.fridge-input{gap:12px;display:flex}.fridge-input input{flex:1;font-size:15px}.chip:hover{color:var(--tomato)}.fridge-chips{flex-wrap:wrap;gap:10px;display:flex}.fridge-matches{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.fridge-match-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-card);box-shadow:4px 4px 0 var(--shadow);color:var(--cherry);transition:transform var(--duration-fast) var(--spring), box-shadow var(--duration-fast) var(--spring);flex-direction:column;gap:4px;padding:20px 24px;text-decoration:none;display:flex}.fridge-match-card:hover{box-shadow:6px 6px 0 var(--shadow);transform:translate(-2px,-2px)}.fridge-match-card:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.match-title{font-family:var(--font-display);font-variation-settings:"opsz" 40, "SOFT" 0, "WONK" 1;font-size:21px;font-weight:720}.match-uses{color:var(--basil);font-size:14px;font-weight:480}.household-page{flex-direction:column;gap:24px;max-width:640px;display:flex}.household-page .card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.household-members ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.member-meta{color:var(--muted);font-size:14px}.invite-code-row{align-items:center;gap:16px;display:flex}.invite-code{font-family:var(--font-body);letter-spacing:.12em;background:var(--butter);color:#33121f;border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);font-variant-numeric:tabular-nums;padding:10px 18px;font-size:22px;font-weight:640}.join-form{gap:12px;width:100%;display:flex}.join-form input{letter-spacing:.08em;flex:1;font-size:15px}.hint{color:var(--muted);margin:0;font-size:14px}.household-message{color:var(--basil);font-weight:480}.household-error{color:var(--tomato);font-weight:480}.rating-picker{flex-wrap:wrap;gap:10px;display:flex}.rating-picker button{font-family:var(--font-display);font-variation-settings:"opsz" 20, "SOFT" 0, "WONK" 1;background:var(--surface);color:var(--cherry);transition:transform .18s var(--spring);padding:8px 18px;font-size:17px;font-weight:740}.rating-picker button:hover{box-shadow:3px 3px 0 var(--shadow);transform:translateY(-2px)rotate(-1deg)}.rating-picker button.selected{background:var(--tomato);color:#fff3ec}.library-page{flex-direction:column;gap:24px;display:flex}.library-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.library-controls input[type=search]{flex:1;min-width:220px}.library-controls input[type=search],.library-controls select{padding:9px 14px;font-size:15px}.fav-filter{align-items:center;gap:6px;font-size:15px;font-weight:480;display:flex}.fav-filter input{accent-color:var(--tomato);width:16px;height:16px}.recipe-grid{gap:var(--grid-gutter);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.recipe-card-wrap{position:relative}.recipe-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-card);box-shadow:5px 5px 0 var(--shadow);color:var(--cherry);height:100%;transition:transform var(--duration-slow) var(--spring), box-shadow var(--duration-slow) var(--spring);flex-direction:column;gap:8px;padding:22px;text-decoration:none;display:flex}.recipe-card:hover{box-shadow:8px 8px 0 var(--shadow);transform:translate(-3px,-3px)rotate(-.5deg)}.recipe-card:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.card-delete{box-shadow:none;color:var(--muted);opacity:0;transition:opacity var(--duration-fast) var(--spring);background:0 0;border:none;padding:6px 10px;font-size:18px;line-height:1;position:absolute;top:12px;right:12px}.recipe-card-wrap:hover .card-delete,.recipe-card-wrap:focus-within .card-delete{opacity:1}@media (hover:none){.card-delete{opacity:1}}.card-delete:hover{box-shadow:none;color:var(--tomato);transform:none}.card-delete-confirm{background:var(--surface-2);border:2px solid var(--line);border-radius:var(--radius-row);z-index:1;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex;position:absolute;top:10px;left:10px;right:10px}.card-delete-confirm .danger{background:var(--tomato);color:#fff3ec;box-shadow:none;padding:4px 12px;font-size:13px}.card-delete-confirm .secondary{background:var(--surface);color:var(--cherry);box-shadow:none;padding:4px 12px;font-size:13px}.recipe-card-title{font-family:var(--font-display);font-variation-settings:"opsz" 50, "SOFT" 0, "WONK" 1;font-size:23px;font-weight:740;line-height:1.1}.fav-mark{color:var(--tomato);margin-left:8px}.recipe-card-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:#33121f;background:var(--butter);border:2px solid var(--line);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:560}.source-tag{color:var(--muted);font-size:13px}.recipe-card-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.login-page{min-height:100vh;padding:var(--grid-gutter);flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex;position:relative;overflow:hidden}.login-page .wordmark{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "WONK" 1;letter-spacing:-.03em;color:var(--tomato);-webkit-user-select:none;user-select:none;font-size:clamp(56px,12vw,84px);font-weight:860;line-height:1}.login-page .spark{color:var(--butter);position:absolute}.login-page .spark.s1{top:16%;left:16%;rotate:-14deg}.login-page .spark.s2{top:22%;right:15%;rotate:18deg}.login-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-card);box-shadow:6px 6px 0 var(--shadow);flex-direction:column;gap:16px;width:100%;max-width:460px;padding:40px;display:flex}.login-card form{flex-direction:column;gap:8px;display:flex}.login-card button{align-self:flex-start;margin-top:10px}.login-error{color:var(--tomato);margin:0;font-size:15px;font-weight:480}.plan-page{flex-direction:column;gap:24px;max-width:720px;padding-bottom:96px;display:flex}.plan-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.plan-controls label{flex-direction:column;gap:4px;display:flex}.plan-controls input[type=number]{width:110px;padding:9px 12px;font-size:15px}.veg-filter{align-items:center;padding-bottom:12px;font-size:15px;font-weight:480;flex-direction:row!important;gap:8px!important}.veg-filter input{accent-color:var(--tomato);width:16px;height:16px}.plan-result{flex-direction:column;gap:16px;display:flex}.plan-list{counter-reset:meal;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-list li{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);align-items:center;gap:14px;padding:14px 20px;display:flex}.plan-list li:before{counter-increment:meal;content:counter(meal);background:var(--butter);border:2px solid var(--line);color:#33121f;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:640;display:grid}.plan-list a{font-family:var(--font-display);font-variation-settings:"opsz" 40, "SOFT" 0, "WONK" 1;color:var(--cherry);flex:1;font-size:19px;font-weight:720;text-decoration:none}.plan-list a:hover{color:var(--tomato)}.plan-list .sticker{text-transform:uppercase;letter-spacing:.06em;flex:none;padding:3px 10px;font-size:12px}.plan-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.plan-list .secondary,.plan-page .secondary{background:var(--surface-2);color:var(--cherry);box-shadow:2px 2px 0 var(--shadow);padding:5px 14px;font-size:14px}.plan-list .remove{box-shadow:none;color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:16px}.plan-list .remove:hover{box-shadow:none;color:var(--tomato);transform:none}.regen-confirm{align-items:center;gap:10px;font-size:15px;display:flex}.regen-confirm .danger{background:var(--tomato);color:#fff3ec}.add-extra{position:relative}.add-extra input{width:100%;font-size:15px}.add-extra-matches{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);flex-direction:column;margin:8px 0 0;padding:6px;list-style:none;display:flex}.add-extra-matches button{box-shadow:none;color:var(--cherry);text-align:left;background:0 0;border:none;border-radius:10px;width:100%;padding:8px 10px;font-weight:480}.add-extra-matches button:hover{box-shadow:none;background:var(--surface-2);transform:none}.recipe-detail{flex-direction:column;gap:20px;max-width:720px;padding-bottom:96px;display:flex}.back-link{color:var(--muted);font-size:15px;font-weight:540;text-decoration:none}.back-link:hover{color:var(--cherry)}.detail-header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.fav-toggle{box-shadow:none;color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:26px}@media (hover:hover){.fav-toggle:hover{box-shadow:none;color:var(--tomato);transform:none}}.fav-toggle.active{color:var(--tomato)}.detail-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:15px}.linked-recipes{flex-direction:column;gap:10px;display:flex}.linked-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.linked-list li{align-items:center;gap:8px;display:flex}.linked-list a{color:var(--tomato)}.link-remove{box-shadow:none;color:var(--muted);background:0 0;border:none;padding:2px 6px;font-size:14px}.link-remove:hover{box-shadow:none;color:var(--tomato);transform:none}.add-link{max-width:360px;position:relative}.add-link input{width:100%;padding:8px 12px;font-size:14px}.add-link-matches{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);flex-direction:column;margin:8px 0 0;padding:6px;list-style:none;display:flex}.add-link-matches button{box-shadow:none;color:var(--cherry);text-align:left;background:0 0;border:none;border-radius:10px;width:100%;padding:6px 10px;font-size:14px;font-weight:480}.add-link-matches button:hover{box-shadow:none;background:var(--surface-2);transform:none}.unit-toggle{border:2px solid var(--line);box-shadow:3px 3px 0 var(--shadow);background:var(--surface);border-radius:999px;align-self:flex-start;gap:0;display:flex;overflow:hidden}.unit-toggle button{background:var(--surface);color:var(--cherry);box-shadow:none;border:none;border-radius:0;padding:8px 18px;font-size:14px;font-weight:560}.unit-toggle button:hover{box-shadow:none;transform:none}.unit-toggle button.selected{background:var(--tomato);color:#fff3ec}.ingredient-list,.step-list{flex-direction:column;gap:8px;margin:0;padding-left:24px;line-height:1.65;display:flex}.step-list li::marker{color:var(--tomato);font-weight:640}.ingredient-list li::marker{color:var(--tomato);font-weight:640}.detail-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.detail-actions .secondary{background:var(--surface-2);color:var(--cherry)}.detail-actions .danger-text{color:var(--tomato)}.delete-confirm{align-items:center;gap:10px;font-size:15px;display:flex}.delete-confirm .danger{background:var(--tomato);color:#fff3ec}.shopping-list-page{flex-direction:column;gap:24px;max-width:720px;padding-bottom:96px;display:flex}.shopping-list{flex-direction:column;gap:20px;display:flex}.shopping-group ul{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.shopping-group li{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-row);box-shadow:3px 3px 0 var(--shadow);justify-content:space-between;align-items:center;gap:8px;padding:12px 18px;display:flex}.shopping-group label{cursor:pointer;flex:1;align-items:center;gap:14px;min-width:0;font-size:16px;font-weight:480;display:flex}.shopping-group input[type=checkbox]{appearance:none;border:2px solid var(--line);background:var(--panna);cursor:pointer;width:26px;height:26px;transition:background var(--duration-fast) var(--spring);border-radius:9px;flex:none;place-items:center;margin:0;display:grid}.shopping-group input[type=checkbox]:checked{background:var(--basil)}.shopping-group input[type=checkbox]:checked:after{content:"";border-bottom:3px solid #fff3ec;border-left:3px solid #fff3ec;width:12px;height:7px;transform:translateY(-2px)rotate(-45deg)}.shopping-group input[type=checkbox]:focus-visible{outline:3px solid var(--tomato);outline-offset:2px}.shopping-group label.checked{color:var(--muted);text-decoration:line-through}.item-remove{box-shadow:none;color:var(--muted);opacity:0;transition:opacity var(--duration-fast) var(--spring);background:0 0;border:none;padding:2px 8px;font-size:15px}.shopping-group li:hover .item-remove,.shopping-group li:focus-within .item-remove{opacity:1}@media (hover:none){.item-remove{opacity:1}}.item-remove:hover{box-shadow:none;color:var(--tomato);transform:none}.staples-config{margin-top:8px;font-size:15px}.staples-config summary{cursor:pointer;color:var(--muted)}.staples-chips{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.chip{background:var(--sorbet);color:#33121f;box-shadow:2px 2px 0 var(--shadow);padding:5px 14px;font-size:13px;font-weight:560}.chip.reset{color:var(--muted);box-shadow:none;background:0 0}.staples-hint{color:var(--muted);margin:8px 0 0;font-size:13px}.add-item-form,.add-staple-form{gap:12px;display:flex}.add-staple-form{margin-top:12px}.add-item-form input,.add-staple-form input{flex:1;font-size:15px}
