.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;max-width:960px;margin-inline:auto;padding:14px clamp(16px,4vw,24px);display:flex}.app-header nav{flex-wrap:wrap;align-items:center;gap:4px 20px;font-size:15px;font-weight:500;display:flex}.app-header nav a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.app-header nav a:hover{text-decoration:underline}.app-languages{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.app-languages a,.app-languages span{align-items:center;min-height:44px;padding:0 6px;display:inline-flex}.app-languages span{color:var(--accent);font-weight:700}.app-main{max-width:960px;margin-inline:auto;padding:8px clamp(16px,4vw,24px) 48px}.app-footer{color:var(--muted);justify-content:center;gap:20px;padding:24px 16px 40px;font-size:14px;display:flex}.page{max-width:40rem;margin-inline:auto}.page>h1{margin:16px 0 8px;font-size:clamp(2rem,5vw,2.6rem)}.page>.card{margin-top:20px}.lead{color:var(--lead);font-size:1.1rem}.muted{color:var(--muted);font-size:.95rem}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px}.card h2{margin-bottom:4px;font-size:1.4rem}.card h3{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:.8rem;font-weight:600}.stack{flex-direction:column;gap:12px;display:flex}.stack>h2{font-size:1.6rem}.field{flex-direction:column;gap:6px;font-weight:500;display:flex}.field small{color:var(--muted);font-weight:400}.field input,.field select{font:inherit;border:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);border-radius:12px;padding:0 14px;font-weight:400}.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.field input[readonly],.field input:disabled{color:var(--muted)}.field input.code{letter-spacing:.3em;color:var(--accent);max-width:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.6rem;font-weight:600}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}.primary,.outline,.apple-button{border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 20px;font-weight:600;display:inline-flex}.primary{background:var(--accent);color:var(--accent-fg);border:none}.outline{border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:500}.outline:not(:disabled):hover{background:var(--wash)}.apple-button{color:#fff;background:#000;border:none}@media (prefers-color-scheme:dark){.apple-button{color:#000;background:#fff}}.link{min-height:44px;color:var(--accent);background:0 0;border:none;align-self:flex-start;padding:6px 0;font-weight:500}.outline.danger,.link.danger{color:#b3261e}.primary.danger{color:#fff;background:#b3261e}@media (prefers-color-scheme:dark){.outline.danger,.link.danger{color:#f2b8b5}}.segmented{background:var(--band);border-radius:12px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{min-height:40px;color:var(--ink);background:0 0;border:none;border-radius:9px;font-weight:500}.segmented button.selected{background:var(--card);box-shadow:0 1px 3px #0000001f}.error{color:#b3261e;white-space:pre-line;margin-top:16px}@media (prefers-color-scheme:dark){.error{color:#f2b8b5}}.loading{color:var(--muted)}.pill{background:var(--wash);border-radius:999px;align-self:flex-start;margin-bottom:16px;padding:6px 14px;font-weight:500;display:inline-block}.sign-in{align-items:center;gap:32px;padding-top:24px;display:grid}@media (width>=800px){.sign-in{grid-template-columns:1.1fr 1fr;gap:56px;padding-top:56px}}.sign-in-hero h1{margin-bottom:16px;font-size:clamp(2.4rem,6vw,3.6rem)}.sign-in-hero mark{background:var(--highlight);color:inherit;border-radius:.2em;padding:0 .12em}.sign-in-hero .lead+.muted{margin-top:12px}.sign-in-card{flex-direction:column;display:flex}.agree{align-items:flex-start;gap:12px;margin-bottom:16px;font-weight:500;display:flex}.agree input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:3px}.agree small{color:var(--lead);font-size:.85rem;font-weight:400;display:block}.agree small a{color:var(--accent);font-weight:500}.rows{margin:0;padding:0;list-style:none}.row{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:56px;display:flex}.row:first-child{border-top:none}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.method-icon{border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.method-icon.apple{color:#fff;background:#000}.method-icon.google{border:1px solid var(--line);background:#fff}.method-icon.email{background:var(--accent);color:var(--accent-fg)}.dialog{border:1px solid var(--line);background:var(--card);width:min(28rem,100vw - 32px);color:var(--ink);border-radius:24px;padding:24px}.dialog::backdrop{background:#0006}.dialog h2{margin-bottom:12px;font-size:1.4rem}.dialog p+.dialog-actions,.dialog .error+.dialog-actions{margin-top:20px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.row-button{width:100%;min-height:60px;color:inherit;text-align:start;background:0 0;border:none;align-items:center;gap:12px;padding:8px 0;display:flex}.row-button:hover .row-text{text-decoration:underline}.row-text strong{font-size:1.1rem}.chevron{color:var(--muted);flex:none}.avatar{object-fit:cover;background:var(--wash);color:var(--accent);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s ease-out;position:absolute;inset:0}.avatar img.loaded{opacity:1}.member-head{align-items:center;gap:16px;display:flex}.confirm{background:var(--band);border-radius:14px;padding:14px}.confirm .muted{margin-top:4px}.confirm .dialog-actions{margin-top:12px}.choices{border:none;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.choices legend{margin-bottom:6px;font-weight:500}.choice{align-items:center;gap:10px;min-height:44px;display:flex}.choice input{width:20px;height:20px;accent-color:var(--accent)}.empty{text-align:center;flex-direction:column;align-items:center;gap:14px;padding-top:32px;display:flex}.empty h1{font-size:clamp(1.8rem,5vw,2.4rem)}.empty .primary{min-width:16rem}.empty-icon{background:var(--wash);width:96px;height:96px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.card>.link{margin-top:4px}.page>.dialog-actions,.page>a.primary{margin-top:20px}a.primary{align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.skeleton{background:linear-gradient(90deg, var(--wash) 30%, var(--card) 50%, var(--wash) 70%);opacity:.7;background-size:300% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton;display:block}.skeleton-title{width:min(60%,18rem);height:2.4rem;margin:18px 0 12px}.skeleton-lead{width:min(40%,12rem);height:1.1rem}.skeleton-heading{width:8rem;height:1.4rem;margin-bottom:8px}.skeleton-avatar{border-radius:50%;flex:none;width:40px;height:40px}.skeleton-text{flex:1;height:1rem}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}.page:not([aria-busy])>*,.rows>li{animation:.25s ease-out appear}@keyframes appear{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.skeleton,.page:not([aria-busy])>*,.rows>li{animation:none}}a.row-button{text-decoration:none}.import-sources .row-text small{white-space:normal}.steps{flex-direction:column;gap:6px;margin:0;padding-inline-start:1.4em;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header nav a[aria-current=page]{color:var(--accent);font-weight:600}.recipes>h1{margin:16px 0 12px;font-size:clamp(2rem,5vw,2.6rem)}.recipes-tools{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.recipes-search{border:1px solid var(--line);background:var(--card);max-width:28rem;min-height:48px;color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:0 14px;display:flex}.recipes-search:focus-within{outline:3px solid var(--accent);outline-offset:1px}.recipes-search input{min-width:0;min-height:46px;color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1}.recipe-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}@media (width<=599px){.recipe-tags{scrollbar-width:none;flex-wrap:nowrap;margin-inline:calc(-1*clamp(16px,4vw,24px));padding-inline:clamp(16px,4vw,24px);overflow-x:auto}}.tag-chip{border:1px solid var(--line);background:var(--card);min-height:36px;color:var(--ink);white-space:nowrap;border-radius:999px;padding:0 14px;font-size:.9rem}.tag-chip:hover{background:var(--wash)}.tag-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=840px){.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.recipe-card{color:inherit;flex-direction:column;gap:6px;text-decoration:none;display:flex}.recipe-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}a.recipe-card:hover .recipe-card-title{text-decoration:underline}a.recipe-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:14px}.recipe-card small{font-size:.85rem}.recipe-cover{aspect-ratio:1;background:var(--band);color:var(--muted);border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.recipe-cover img,.recipe-view .banner img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s ease-out;position:absolute;inset:0}.recipe-cover img.loaded,.recipe-view img.loaded{opacity:1}.recipe-grid>li{animation:.25s ease-out appear}.pager{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:32px;display:grid}.pager a{justify-self:start;text-decoration:none}.pager a[rel=next]{justify-self:end}.skeleton-search{border-radius:12px;max-width:28rem;height:48px}.skeleton-chips{border-radius:999px;width:min(70%,30rem);height:36px}.recipe-card>.skeleton-text{flex:none;height:1.1rem}.recipe-view.share-main{max-width:none;padding-inline:0}.recipe-back{min-height:44px;color:var(--accent);align-items:center;gap:4px;margin-bottom:8px;font-weight:500;text-decoration:none;display:inline-flex}.recipe-back:hover{text-decoration:underline}.recipe-view .recipe{gap:2rem}.recipe-view .banner{aspect-ratio:16/9;border-radius:var(--radius);background:var(--band);width:100%;max-height:26rem;position:relative;overflow:hidden}@media (width>=56rem){.recipe-view .banner{aspect-ratio:21/9}}.recipe-view .banner img{border-radius:0;max-height:none}.recipe-view .photo-placeholder{border-radius:0;width:100%;height:100%;display:block}.recipe-view .gallery .photo-placeholder{aspect-ratio:4/3;border-radius:var(--radius);background:var(--band)}.recipe-view .gallery .grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.recipe-view .gallery img{opacity:0;transition:opacity .25s ease-out}.recipe-rest{align-content:start;gap:2.5rem;min-width:0;display:grid}.recipe-view:not([aria-busy]) .columns>*{animation:.25s ease-out appear}.skeleton-facts{border-radius:10px;height:3.2rem;margin-top:.5rem}.skeleton-line{height:1rem;margin-top:14px}@media (prefers-reduced-motion:reduce){.recipe-grid>li,.recipe-view:not([aria-busy]) .columns>*{animation:none}}
