:root{color:#21382b;background:#fffaf0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.68}.app-shell{min-height:100vh;background:linear-gradient(135deg,rgba(247,201,95,.24),transparent 34%),#fffaf0}.site-header{display:grid;align-items:center;grid-template-columns:auto minmax(220px,330px) minmax(0,1fr) auto;gap:16px;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0}.brand{display:inline-flex;align-items:center;gap:10px;grid-column:1;font-size:1.25rem;font-weight:800}.brand-icon{display:block;width:42px;height:42px}.site-nav{display:flex;flex-wrap:wrap;grid-column:3;justify-content:flex-end;gap:8px}.site-nav a{border:1px solid rgba(33,56,43,.14);border-radius:999px;padding:8px 12px;color:#45604f;font-size:.92rem;font-weight:700}.site-nav a.active,.site-nav a:hover{border-color:#21382b;background:#21382b;color:#fffaf0}.primary-button,.secondary-button,.text-button,.small-button,.danger-button{min-height:42px;border:1px solid #21382b;border-radius:999px;padding:9px 14px;font-weight:800}.primary-button{margin-top:28px;background:#21382b;color:#fffaf0}.secondary-button{background:#fffef8;color:#21382b}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.text-button:hover:not(:disabled),.small-button:hover:not(:disabled),.danger-button:hover:not(:disabled){transform:translateY(-1px)}.text-button{background:transparent;color:#21382b}.sign-out-button{grid-column:4;margin-top:0}.global-search{position:relative;z-index:20;grid-column:2;min-width:0}.global-search-field{display:block}.global-search-field input{width:100%;min-height:42px;border:1px solid rgba(33,56,43,.2);border-radius:999px;background:#fffef8db;color:#21382b;font:inherit;padding:9px 16px}.global-search-field input:focus{border-color:#21382b;outline:3px solid rgba(247,201,95,.38)}.global-search-results{position:absolute;top:calc(100% + 8px);left:0;width:min(430px,calc(100vw - 32px));max-height:min(70vh,620px);overflow-y:auto;border:1px solid rgba(33,56,43,.18);border-radius:12px;background:#fffef8;box-shadow:0 20px 48px #21382b33;padding:8px}.global-search-section+.global-search-section{border-top:1px solid rgba(33,56,43,.1);margin-top:8px;padding-top:8px}.global-search-label{display:block;padding:6px 8px 4px;color:#7d3f23;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.global-search-result{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;border-radius:8px;padding:8px}.global-search-result:hover,.global-search-result:focus-visible{background:#f7c95f2e;outline:none}.global-search-result>img,.global-search-result-avatar,.global-search-result-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:#f7c95f2e;color:#21382b;font-weight:900;object-fit:cover}.global-search-result-avatar,.global-search-result-avatar img{border-radius:50%}.global-search-result-avatar img{width:100%;height:100%;object-fit:cover}.global-search-result strong,.global-search-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result strong{color:#21382b;font-size:.94rem}.global-search-result small{margin-top:2px;color:#6c756d;font-size:.8rem}.global-search-status{margin:0;padding:14px 12px;font-size:.9rem}.global-search-warning{border-top:1px solid rgba(154,90,47,.16);color:#7d3f23}.small-button{min-height:36px;background:#fffef8;color:#21382b;font-size:.9rem;padding:7px 10px}.danger-button{border-color:#7d3f23;background:#7d3f23;color:#fffaf0}main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:44px 0 64px}.page-intro,.page-card{max-width:720px}.home-page{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;row-gap:clamp(32px,5vw,52px)}.home-copy{max-width:none}.home-welcome{max-width:none;margin-top:18px;font-size:1.08rem}.home-recipes{grid-column:1 / -1;min-width:0;margin-top:0}.home-recipes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.home-recipes-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px}.home-getting-started{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.5fr);gap:clamp(24px,4vw,52px);border:1px solid rgba(33,56,43,.16);border-radius:12px;background:#fffef8b8;padding:clamp(24px,4vw,42px);box-shadow:0 16px 42px #3649310f}.home-getting-started-copy h3{margin:8px 0 12px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.08}.home-getting-started-copy>p:last-child{margin:0;color:#53665a}.home-setup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.home-setup-steps li{display:flex;align-items:flex-start;gap:14px;min-width:0;border:1px solid rgba(33,56,43,.14);border-radius:10px;background:#fffef8;padding:20px}.home-setup-steps li.is-locked{background:#fffef873}.home-setup-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#21382b;color:#fffef8;font-size:1.05rem;font-weight:900}.is-complete .home-setup-number{background:#f7c95f;color:#21382b}.is-locked .home-setup-number{background:#21382b1a;color:#66736b}.home-setup-step-copy{display:flex;align-items:flex-start;flex-direction:column;min-height:150px}.home-setup-step-copy h4{margin:2px 0 7px;font-size:1.16rem}.home-setup-step-copy p{margin:0 0 18px;color:#53665a;font-size:.94rem}.home-setup-step-copy .primary-button{display:inline-flex;align-items:center;justify-content:center;margin-top:auto}.home-setup-complete,.home-setup-locked{margin-top:auto;color:#53665a;font-size:.84rem;font-weight:850}.home-setup-complete{color:#254f38}.home-setup-locked{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(33,56,43,.1);border-radius:999px;background:#21382b12;padding:7px 10px;color:#66736b}.home-setup-locked>span{font-size:.76rem;filter:grayscale(1);opacity:.72}.home-recipe-carousel{overflow:hidden;border-radius:8px;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.home-recipe-static{display:flex;justify-content:center;gap:14px}.home-recipe-static .home-recipe-card,.home-add-recipe-card{flex:1 1 0;width:auto;max-width:360px;aspect-ratio:4 / 3}.home-add-recipe-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:2px dashed rgba(33,56,43,.24);border-radius:8px;background:#fffef86b;color:#53665a;font-weight:850;text-align:center;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.home-add-recipe-card:hover,.home-add-recipe-card:focus-visible{border-color:#21382b8c;background:#f7c95f24;color:#21382b;transform:translateY(-2px)}.home-add-recipe-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#21382b;color:#fffef8;font-size:2rem;font-weight:500;line-height:1}.home-recipe-track{display:flex;width:max-content;animation:home-recipe-scroll var(--carousel-duration, 30s) linear infinite;will-change:transform}.home-recipe-carousel:hover .home-recipe-track,.home-recipe-carousel:focus-within .home-recipe-track{animation-play-state:paused}.home-recipe-set{display:flex;gap:14px;padding-right:14px}.home-recipe-card{position:relative;display:block;overflow:hidden;flex:0 0 auto;width:clamp(220px,27vw,300px);aspect-ratio:4 / 3;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#f7efe0;box-shadow:0 14px 34px #3649311f}.home-recipe-card img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.home-recipe-card:after{position:absolute;top:42%;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent,rgba(19,31,24,.82));content:""}.home-recipe-card span{position:absolute;right:16px;bottom:14px;left:16px;z-index:1;color:#fffef8;font-size:1.08rem;font-weight:900;line-height:1.2;text-shadow:0 1px 4px rgba(19,31,24,.48)}.home-recipe-card:hover img,.home-recipe-card:focus-visible img{transform:scale(1.035)}@keyframes home-recipe-scroll{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.home-recipe-track{animation:none}.home-recipe-set[aria-hidden=true]{display:none}.home-recipe-carousel{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}.jodi-portrait-card{position:relative;display:grid;justify-items:center;margin:0;padding:68px 18px 0}.frame-tack{position:absolute;top:25px;left:50%;z-index:3;width:18px;height:18px;border:2px solid rgba(125,63,35,.42);border-radius:50%;background:#f7c95f;box-shadow:inset 0 2px 3px #ffffff8a,0 5px 10px #21382b29;transform:translate(-50%)}.frame-wire{position:absolute;top:34px;left:50%;z-index:1;width:232px;height:64px;transform:translate(-50%)}.frame-wire:before,.frame-wire:after{position:absolute;top:0;left:50%;width:2px;height:116px;border-radius:999px;background:#21382b57;content:"";transform-origin:top center}.frame-wire:before{transform:rotate(63deg)}.frame-wire:after{transform:rotate(-63deg)}.jodi-frame{position:relative;z-index:1;width:min(100%,292px);border:11px solid #7d5a35;border-radius:6px;background:#fffef8;padding:12px 12px 0;box-shadow:inset 0 0 0 2px #fffef880,0 18px 36px #21382b29;transform:rotate(1.2deg)}.jodi-frame:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px solid rgba(255,255,255,.28);border-radius:4px;content:"";pointer-events:none}.jodi-portrait{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#f7efe0}.jodi-portrait-card figcaption{position:relative;z-index:1;display:grid;justify-items:center;margin-top:14px;border-bottom:2px solid rgba(154,90,47,.2);padding:0 8px 6px;text-align:center;transform:rotate(1.2deg)}.jodi-portrait-card span{color:#9a5a2f;font-size:.78rem;font-weight:900;text-transform:uppercase}.home-tribute{display:grid;justify-items:center;border-top:1px solid rgba(33,56,43,.12);padding-top:10px}.home-tribute .home-jodi-portrait{width:min(100%,220px);justify-self:center;padding:48px 10px 0}.home-jodi-portrait .frame-tack{top:17px;width:14px;height:14px}.home-jodi-portrait .frame-wire{top:24px;width:146px;height:42px}.home-jodi-portrait .frame-wire:before,.home-jodi-portrait .frame-wire:after{height:76px}.home-jodi-portrait .jodi-frame{width:min(100%,170px);border-width:8px;padding:8px 8px 0}.home-jodi-portrait figcaption{margin-top:10px}.page-heading{max-width:760px;margin-bottom:32px}.page-title-lockup{display:flex;align-items:center;gap:12px}.page-title-lockup>img{display:block;width:42px;height:42px;flex:0 0 auto}.split-heading,.split-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.split-heading .primary-button,.split-section-heading .primary-button{flex:0 0 auto;margin-top:0}.page-card{border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#ffffffa3;padding:32px;box-shadow:0 18px 52px #36493114}.eyebrow{margin:0 0 12px;color:#9a5a2f;font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1{margin:0;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.95}.page-card h1{font-size:clamp(2.2rem,5vw,3.5rem)}h2{margin:0;color:#21382b;font-size:1.4rem;line-height:1.1}p{max-width:58ch;margin:18px 0 0;color:#4b5c51;font-size:1.05rem}.alert{border:1px solid rgba(154,90,47,.28);border-radius:8px;background:#9a5a2f14;padding:12px 14px;color:#7d3f23;font-weight:700}.global-alert{margin-bottom:24px}.notice{border:1px solid rgba(37,79,56,.2);border-radius:8px;background:#254f3814;padding:12px 14px;color:#254f38;font-weight:700}.back-link{display:inline-flex;align-items:center;width:fit-content;border:1px solid rgba(33,56,43,.18);border-radius:999px;background:#fffef8ad;color:#4b5c51;font-size:.92rem;font-weight:900;margin-bottom:22px;padding:7px 11px}.back-link:hover{border-color:#21382b;color:#21382b;transform:translateY(-1px)}.groups-page{max-width:1040px}.groups-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.group-action-panel{display:grid;gap:20px;max-width:820px}.group-action-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-button{display:grid;gap:6px;min-height:104px;border:1px solid rgba(33,56,43,.14);border-radius:8px;background:#fffef8;color:#21382b;padding:16px;text-align:left}.choice-button:hover:not(:disabled),.choice-button.is-selected{border-color:#21382b;background:#21382b0f}.choice-button span{font-size:1.05rem;font-weight:900}.choice-button small{color:#4b5c51;font-size:.92rem;font-weight:700;line-height:1.35}.group-action-form{display:grid;gap:16px;border-top:1px solid rgba(33,56,43,.1);padding-top:20px}.group-action-form .primary-button{justify-self:start;margin-top:0}.form-panel,.empty-state,.group-card{border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#ffffffad;box-shadow:0 18px 52px #36493114}.form-panel{padding:24px}.form-field{display:grid;gap:8px;margin-top:20px;color:#21382b;font-weight:800}.form-field input,.form-field select{width:100%;min-height:46px;border:1px solid rgba(33,56,43,.22);border-radius:8px;background:#fffef8;color:#21382b;font:inherit;padding:10px 12px}.form-field textarea{width:100%;border:1px solid rgba(33,56,43,.22);border-radius:8px;background:#fffef8;color:#21382b;font:inherit;line-height:1.45;padding:10px 12px;resize:vertical}.form-field input[type=file]{padding:9px 10px}.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-hint{color:#6c756d;font-size:.92rem;font-weight:700}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#21382b;outline:3px solid rgba(247,201,95,.38)}.form-help{margin-top:10px;font-size:.95rem}.active-groups{margin-top:44px}.section-heading{margin-bottom:16px}.section-actions{display:flex;flex-wrap:wrap;gap:10px}.section-actions .primary-button,.section-actions .text-button{display:inline-flex;align-items:center;justify-content:center;margin-top:0}.recipes-page,.recipe-detail-page,.recipe-form-page{max-width:1040px}.recipe-section{margin-top:44px}.collapsible-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#fffef8b8;color:#21382b;padding:18px;text-align:left}.collapsible-section-toggle:hover:not(:disabled){border-color:#21382b57;background:#ffffffdb}.collapsible-section-toggle .eyebrow{display:block;margin-bottom:8px}.collapsible-section-title{display:block;color:#21382b;font-size:1.4rem;font-weight:900;line-height:1.1}.collapsible-section-meta{display:inline-flex;align-items:center;flex:0 0 auto;gap:10px;color:#4b5c51;font-size:.92rem;font-weight:900}.collapse-indicator{position:relative;display:inline-block;width:32px;height:32px;border:1px solid rgba(33,56,43,.18);border-radius:50%;background:#fffaf0d1;transition:background-color .16s ease,border-color .16s ease}.collapse-indicator:before{position:absolute;top:50%;left:50%;width:9px;height:9px;border-right:2.5px solid #21382b;border-bottom:2.5px solid #21382b;content:"";transform:translate(-50%,-62%) rotate(45deg);transition:transform .16s ease}.collapsible-section.is-open .collapse-indicator:before{transform:translate(-50%,-38%) rotate(225deg)}.collapsible-section-toggle:hover:not(:disabled) .collapse-indicator{border-color:#21382b61;background:#f7c95f29}.collapsible-section-body{margin-top:14px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.collapsible-section .recipe-grid{display:flex;overflow-x:auto;gap:14px;padding:2px 2px 18px;scroll-padding-left:2px;scroll-snap-type:x proximity;scrollbar-color:rgba(33,56,43,.35) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.collapsible-section .recipe-card{flex:0 0 clamp(240px,29vw,310px);scroll-snap-align:start}.recipe-card{overflow:hidden;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#ffffffb8;box-shadow:0 18px 52px #36493114}.recipe-card-image{display:block;width:100%;aspect-ratio:4 / 3;background:#f7efe0;object-fit:cover}.recipe-card-body{padding:16px}.recipe-card h3{margin:0;color:#21382b;font-size:1.12rem;line-height:1.15}.recipe-card p{display:-webkit-box;overflow:hidden;margin-top:8px;font-size:.95rem;-webkit-box-orient:vertical;-webkit-line-clamp:3}.recipe-form{display:grid;gap:16px}.recipe-import-panel{border-color:#9a5a2f40;background:#fffaf0db}.recipe-import-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.recipe-import-controls .secondary-button{min-height:46px;white-space:nowrap}.recipe-import-message{max-width:none;margin-top:14px}@media(max-width:560px){.recipe-import-controls{grid-template-columns:1fr}}.required-marker{color:#9a5a2f;font-weight:900}.inline-add-panel{display:grid;gap:16px;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#fffef8b8;margin:18px 0 22px;padding:18px}.current-recipe-image{display:block;width:min(240px,100%);aspect-ratio:4 / 3;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#f7efe0;margin-top:12px;object-fit:cover}.list-input{overflow:hidden;border:1px solid rgba(33,56,43,.16);border-radius:8px;background:#fffef8;margin-top:20px}.list-input-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(33,56,43,.1);padding:10px 12px;color:#21382b;font-weight:900}.list-input-header span:last-child{min-width:28px;border:1px solid rgba(33,56,43,.14);border-radius:999px;background:#f7c95f29;color:#6b4c2e;font-size:.82rem;line-height:1;padding:5px 8px;text-align:center}.list-input-rows{display:grid}.list-input-row{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;align-items:center;min-height:44px;border-bottom:1px solid rgba(33,56,43,.08)}.list-input-row:focus-within{background:#f7c95f29}.list-input-marker{justify-self:center;width:14px;height:14px;border:1.5px solid rgba(33,56,43,.45);border-radius:50%;background:#fffef8}.list-input-row input{width:100%;min-width:0;min-height:44px;border:0;background:transparent;color:#21382b;font:inherit;padding:8px 10px}.list-input-row input:focus{outline:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:#6c756d;font-size:.9rem;font-weight:900}.icon-button:hover:not(:disabled){background:#7d3f2314;color:#7d3f23}.list-add-button{width:100%;min-height:42px;border:0;background:transparent;color:#4b5c51;font-weight:800;padding:10px 12px 10px 42px;text-align:left}.list-add-button:hover:not(:disabled){background:#21382b0a;color:#21382b}.checkbox-list{display:grid;gap:10px;margin-top:18px}.checkbox-row{display:flex;align-items:center;gap:10px;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#fffef8;padding:10px 12px;color:#21382b;font-weight:800}.checkbox-row input{width:18px;height:18px;accent-color:#21382b}.select-all-row{border-color:#21382b42;background:#f7c95f24}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions .primary-button,.form-actions .text-button{display:inline-flex;align-items:center;justify-content:center;margin-top:0}.recipe-detail{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);align-items:start;gap:24px}.recipe-hero-image{width:100%;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#f7efe0;box-shadow:0 18px 52px #36493114;object-fit:cover}.recipe-detail-card{position:relative;max-width:none;padding-right:86px}.bookmark-toggle{position:absolute;top:22px;right:22px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #21382b;border-radius:50%;background:#21382b;color:#fffaf0;box-shadow:0 10px 24px #21382b24}.bookmark-toggle:hover:not(:disabled){transform:translateY(-1px)}.bookmark-plus{position:relative;display:block;width:16px;height:16px}.bookmark-plus:before,.bookmark-plus:after{position:absolute;top:50%;left:50%;border-radius:999px;background:#fffaf0;content:"";transform:translate(-50%,-50%)}.bookmark-plus:before{width:16px;height:3px}.bookmark-plus:after{width:3px;height:16px}.bookmark-toggle svg{display:block;width:32px;height:64px}.bookmark-toggle.is-bookmarked{top:-1px;right:28px;align-items:flex-start;width:42px;height:68px;border:0;border-radius:0;background:transparent;box-shadow:none}.bookmark-toggle.is-bookmarked:hover:not(:disabled){transform:translateY(1px)}.bookmark-ribbon-body{fill:#9a5a2f}.bookmark-ribbon-fold{fill:#fffaf038}.bookmark-ribbon-line{fill:none;stroke:#21382b;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.recipe-detail-section{margin-top:28px}.recipe-detail-section ul,.recipe-detail-section ol{margin:14px 0 0;padding-left:22px;color:#4b5c51}.recipe-detail-section li+li{margin-top:8px}.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.group-card{display:grid;gap:12px;align-content:start;min-height:236px;padding:20px}.group-card:hover{border-color:#21382b6b;transform:translateY(-2px)}.group-card-link{display:grid;gap:10px}.group-card-header{display:grid;gap:12px}.group-card-title{color:#21382b;font-size:1.28rem;font-weight:900;line-height:1.1}.group-meta{color:#4b5c51;font-weight:700}.owner-pill{width:fit-content;border:1px solid rgba(37,79,56,.2);border-radius:999px;background:#254f3814;color:#254f38;font-size:.78rem;font-weight:900;padding:5px 9px}.invite-row,.card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.invite-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(154,90,47,.18);border-radius:8px;background:#f7c95f2e;padding:12px}.field-label{display:block;margin-bottom:3px;color:#7d3f23;font-size:.76rem;font-weight:900;text-transform:uppercase}.invite-code{display:block;color:#21382b;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1.08rem;font-weight:900}.card-actions{margin-top:2px}.code-pill{align-self:end;width:fit-content;border:1px solid rgba(154,90,47,.24);border-radius:999px;background:#f7c95f38;color:#7d3f23;font-size:.9rem;font-weight:800;padding:7px 10px}.empty-state{padding:24px}.empty-state p{margin:0}.group-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;color:#4b5c51;font-weight:800}.group-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:24px}.group-heading-row .eyebrow{margin-bottom:12px}.group-owner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.group-owner-actions .danger-button{min-height:36px;padding:7px 10px;font-size:.9rem}.group-edit-panel{display:grid;gap:14px;border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#fffef8b8;margin-top:18px;padding:18px}.group-members{margin-top:28px}.group-member-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.group-member-card{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(33,56,43,.14);border-radius:999px;background:#fffef8c2;padding:6px 11px 6px 6px;color:#21382b;font-size:.92rem;font-weight:800}.group-member-card:hover,.group-member-card:focus-visible{border-color:#21382b;transform:translateY(-1px)}.group-member-card img,.group-member-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f7c95f33;object-fit:cover}.invite-panel{border-top:1px solid rgba(33,56,43,.12);margin-top:28px;padding-top:24px}.featured-invite-panel{border:1px solid rgba(33,56,43,.12);border-radius:8px;background:#fffef8b8;margin-bottom:28px;padding:24px}.detail-invite-strip{margin-top:18px}.copy-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.email-invite-form{display:grid;gap:12px;margin-top:20px}.compact-field{margin-top:0}.email-invite-form .primary-button{justify-self:start;margin-top:0}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.detail-actions .primary-button,.detail-actions .text-button,.detail-actions .danger-button{display:inline-flex;align-items:center;justify-content:center;min-width:136px;margin-top:0}.profile-summary{display:flex;align-items:center;gap:16px;margin-top:24px}.profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.profile-edit-form{display:grid;gap:18px;border-top:1px solid rgba(33,56,43,.12);margin-top:28px;padding-top:24px}.profile-edit-form .form-field{margin-top:0}.profile-avatar{width:72px;height:72px;border:2px solid #f7c95f;border-radius:50%;object-fit:cover}.profile-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#f7c95f2e;color:#21382b;font-size:1.6rem;font-weight:900}.profile-name{margin-top:0;color:#21382b;font-weight:800}.member-profile-page{max-width:1040px}.member-profile-card{max-width:720px}.member-profile-card .profile-summary{align-items:flex-start}.member-profile-card .profile-summary h1{font-size:clamp(2rem,5vw,3.4rem)}.member-profile-card .profile-summary p{margin-top:8px}.member-profile-section{border-top:1px solid rgba(33,56,43,.12);margin-top:28px;padding-top:22px}.member-profile-groups{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.member-profile-groups .small-button{display:inline-flex;align-items:center}.route-note{color:#6c756d;font-size:.95rem}@media(min-width:721px)and (max-width:960px){.site-header{grid-template-columns:auto minmax(240px,1fr) auto}.global-search{grid-column:2;grid-row:1}.site-nav{grid-column:1 / -1;grid-row:2}.sign-out-button{grid-column:3}}@media(max-width:720px){.site-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 16px;padding:18px 0}.site-nav{grid-column:1 / -1;grid-row:3;justify-content:flex-start}.global-search{grid-column:1 / -1;grid-row:2}.global-search-results{width:100%}.sign-out-button{grid-column:2;grid-row:1;align-self:center;min-height:auto;border:0;border-radius:0;background:transparent;padding:0;color:#21382b;font-size:1rem;font-weight:800;line-height:1.2}.brand{min-width:0}.brand-icon{width:40px;height:40px}.groups-layout,.group-action-picker,.group-grid,.recipe-grid,.recipe-detail{grid-template-columns:1fr}.collapsible-section .recipe-grid{gap:12px;margin-right:-16px;padding:2px 16px 18px 0;scroll-padding-left:0;scroll-snap-type:x mandatory}.collapsible-section .recipe-card{flex:0 0 min(78vw,280px);scroll-snap-align:start}.split-heading,.split-section-heading{align-items:flex-start;flex-direction:column}.group-heading-row{flex-direction:column}.group-owner-actions{justify-content:flex-start}.home-page{row-gap:28px}.home-welcome{margin-top:14px;font-size:1rem}.home-getting-started,.home-setup-steps{grid-template-columns:1fr}.home-recipe-static{justify-content:flex-start;overflow-x:auto;margin-right:-16px;padding:2px 16px 14px 0;scroll-snap-type:x mandatory}.home-recipe-static .home-recipe-card,.home-add-recipe-card{flex:0 0 min(78vw,280px);scroll-snap-align:start}.home-setup-step-copy{min-height:0}.page-title-lockup{gap:10px}.page-title-lockup>img{width:38px;height:38px}.jodi-portrait-card{justify-self:start;max-width:320px;padding-top:58px}main{padding:24px 0 44px}.page-card{padding:24px}.collapsible-section-toggle{align-items:flex-start;padding:16px}.collapsible-section-meta{align-items:flex-end;flex-direction:column;gap:8px}}.public-site-header{grid-template-columns:auto minmax(0,1fr)}.public-site-nav{grid-column:2;justify-content:flex-end}.public-main{padding-top:8px}.public-page{display:grid;gap:clamp(50px,6vw,72px)}.public-root-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50vh;color:#4b5c51;font-weight:800}.public-root-loading img{width:38px;height:38px}.public-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(42px,8vw,96px);min-height:520px;padding:8px 0 34px}.public-hero-copy{position:relative;z-index:2;max-width:680px}.public-hero h1,.about-hero h1,.privacy-hero h1{max-width:11ch;font-size:clamp(3.6rem,7.5vw,6.5rem);letter-spacing:-.055em;line-height:.91}.public-lede{max-width:54ch;color:#45594c;font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.55}.public-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px}.public-hero-actions .primary-button,.public-hero-actions .secondary-button,.public-story-copy .secondary-button,.compact-public-cta>.primary-button{display:inline-flex;align-items:center;justify-content:center;margin-top:0}.privacy-promise{display:flex;align-items:center;gap:9px;margin-top:20px;color:#506458;font-size:.92rem;font-weight:800}.privacy-promise span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#254f381a;color:#254f38}.recipe-keepsake{position:relative;width:min(100%,420px);height:430px;justify-self:end}.recipe-keepsake:before{position:absolute;top:30px;left:30px;width:280px;height:280px;border-radius:50%;background:#f7c95f33;content:"";filter:blur(1px)}.keepsake-card{position:absolute;display:grid;align-content:end;width:310px;height:350px;border:1px solid rgba(33,56,43,.14);border-radius:9px;padding:24px;box-shadow:0 24px 60px #36493124}.keepsake-card-back{top:26px;right:56px;background:#e8d7bd;color:#7d3f23;font-weight:900;transform:rotate(-8deg)}.keepsake-card-middle{top:42px;right:12px;background:#f7c95f;color:#6b4c2e;font-weight:900;transform:rotate(7deg)}.keepsake-card-front{top:62px;right:34px;align-content:start;background:linear-gradient(rgba(154,90,47,.055) 1px,transparent 1px),#fffef8;background-size:100% 30px;transform:rotate(-1.5deg)}.keepsake-card-topline{display:flex;align-items:center;gap:8px;color:#53665a;font-size:.75rem;font-weight:850}.keepsake-card-topline img{width:26px;height:26px}.keepsake-label{margin-top:48px;color:#9a5a2f;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.keepsake-card-front strong{display:block;margin-top:8px;color:#21382b;font-family:Georgia,Times New Roman,serif;font-size:2.6rem;line-height:1}.keepsake-lines{display:grid;gap:12px;margin-top:34px}.keepsake-lines i{width:100%;height:2px;background:#21382b26}.keepsake-lines i:nth-child(2){width:82%}.keepsake-lines i:nth-child(3){width:64%}.keepsake-note{align-self:end;margin-top:auto;color:#7d3f23;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-style:italic}.how-section,.public-values{scroll-margin-top:24px}.how-section{border-top:1px solid rgba(33,56,43,.14);padding-top:46px}.public-hero+.how-section{margin-top:-36px}.public-section-heading{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);align-items:end;gap:34px;margin-bottom:34px}.public-section-heading .eyebrow{align-self:start}.public-section-heading h2,.public-story h2,.public-privacy-callout h2,.public-final-cta h2,.about-story-card h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em;line-height:1}.public-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-value-grid article{min-height:250px;border:1px solid rgba(33,56,43,.12);border-radius:10px;background:#ffffff9e;padding:26px;box-shadow:0 18px 48px #36493112}.how-step-list h3,.public-value-grid h3{margin:46px 0 0;color:#21382b;font-size:1.3rem;line-height:1.12}.how-step-list p,.public-value-grid p{margin-top:10px;font-size:.98rem}.how-it-works-label{margin-bottom:14px}.how-it-works{border:1px solid rgba(33,56,43,.12);border-radius:14px;background:#21382b;padding:clamp(30px,6vw,64px)}.how-it-works h2{color:#fffaf0}.how-it-works>h2{max-width:18ch;margin-bottom:34px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em;line-height:1}.how-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.how-step-list li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;border-top:1px solid rgba(255,250,240,.2);padding:24px 22px 0 0}.how-step-list li+li{border-left:1px solid rgba(255,250,240,.16);padding-left:22px}.how-step-list li>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f7c95f;color:#21382b;font-weight:900}.how-step-list h3{margin-top:5px;color:#fffaf0}.how-step-list p{color:#fffaf0bd}.public-privacy-callout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:center;gap:clamp(42px,8vw,96px);border-top:1px solid rgba(33,56,43,.14);border-bottom:1px solid rgba(33,56,43,.14);padding:46px 0}.public-privacy-copy{grid-column:2;max-width:640px}.public-privacy-copy p:not(.eyebrow){margin-top:20px;font-size:1.12rem}.public-privacy-callout .small-button{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;white-space:nowrap}.public-privacy-callout .private-recipe-keepsake{grid-column:1;grid-row:1;width:min(100%,340px);justify-self:start}.public-story,.about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:center;gap:clamp(42px,8vw,96px)}.public-story-copy{max-width:640px}.public-privacy-callout+.public-story{align-items:start;margin-top:-24px}.public-story-copy p:not(.eyebrow){font-size:1.12rem}.public-story-copy .secondary-button{margin-top:24px}.public-jodi-portrait,.about-jodi-portrait{justify-self:end}.public-jodi-portrait .jodi-frame{width:min(100%,258px)}.public-final-cta{display:grid;justify-items:center;border:1px solid rgba(154,90,47,.18);border-radius:14px;background:radial-gradient(circle at 20% 20%,rgba(247,201,95,.34),transparent 35%),#ffffff9e;padding:clamp(38px,7vw,76px) 24px;text-align:center;box-shadow:0 20px 56px #36493114}.public-final-cta h2{max-width:16ch}.public-final-cta p:not(.eyebrow){max-width:48ch}.simple-public-cta{padding-block:clamp(34px,5vw,54px)}.public-footer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px 44px;border-top:1px solid rgba(33,56,43,.14);padding:34px 0 6px}.public-footer-brand{display:inline-flex;align-items:center;gap:9px;width:fit-content;font-weight:900}.public-footer-brand img{width:34px;height:34px}.public-footer>p{justify-self:end;margin:0;text-align:right}.public-footer nav{display:flex;flex-wrap:wrap;gap:10px 20px;color:#45604f;font-size:.92rem;font-weight:800}.public-footer nav a:hover{color:#21382b;text-decoration:underline;text-underline-offset:4px}.public-footer-note{justify-self:end;color:#7b857e;font-size:.86rem}.public-content-page{gap:clamp(64px,8vw,96px)}.about-page{gap:clamp(42px,5vw,60px)}.about-hero{min-height:440px;gap:clamp(32px,6vw,72px);padding:4px 0}.about-hero h1{max-width:10ch}.about-story-card{max-width:820px;border-left:4px solid #f7c95f;padding:10px 0 10px clamp(24px,5vw,54px)}.about-story-card p{font-size:1.1rem;line-height:1.65}.about-values-heading{grid-template-columns:1fr;gap:4px;margin-bottom:24px}.about-values-heading h2{max-width:none}.about-page .public-value-grid article{min-height:160px;padding:22px 24px}.about-page .public-value-grid h3{margin-top:20px}.public-value-grid article{min-height:210px}.public-value-grid h3{margin-top:54px}.compact-public-cta{justify-items:start;text-align:left}.privacy-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:clamp(34px,7vw,84px);padding:6px 0 4px}.privacy-hero-copy{max-width:900px}.privacy-page{gap:clamp(42px,5vw,60px)}.privacy-hero h1{max-width:13ch}.private-recipe-keepsake{width:min(100%,420px);justify-self:end}.private-recipe-keepsake img{display:block;width:100%;height:auto}.privacy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.privacy-detail-grid article{min-height:190px;border:1px solid rgba(33,56,43,.12);border-radius:10px;background:#ffffff9e;padding:22px 24px}.privacy-detail-grid article>span{color:#9a5a2f;font-size:.78rem;font-weight:900}.privacy-detail-grid h2{margin-top:18px;font-size:1.7rem}.privacy-detail-grid p{font-size:1rem}.login-card{margin:8px auto 0}.login-privacy-note{border-top:1px solid rgba(33,56,43,.1);margin-top:28px;padding-top:18px;color:#6c756d;font-size:.9rem}@media(max-width:900px){.public-hero{grid-template-columns:minmax(0,1fr) minmax(290px,.72fr);gap:28px}.recipe-keepsake{transform:scale(.84);transform-origin:center right}.public-privacy-callout{grid-template-columns:1fr 1fr}.public-privacy-callout .small-button{justify-self:start}}@media(max-width:720px){.public-site-header{grid-template-columns:minmax(0,1fr);gap:12px}.public-site-nav{grid-column:1;grid-row:2;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-right:-16px;padding:0 16px 4px 0;scrollbar-width:none}.public-site-nav::-webkit-scrollbar{display:none}.public-site-nav a{flex:0 0 auto}.public-main{padding-top:4px}.public-page{gap:64px}.public-hero+.how-section{margin-top:-28px}.public-hero{grid-template-columns:1fr;gap:4px;min-height:auto;padding:10px 0 6px}.public-hero h1,.about-hero h1,.privacy-hero h1{font-size:clamp(3.25rem,15vw,5rem)}.public-hero-copy>.eyebrow{font-size:.78rem;white-space:nowrap}.privacy-promise{gap:7px;font-size:.84rem;white-space:nowrap}.recipe-keepsake{width:min(100%,360px);height:390px;justify-self:center;transform:scale(.86);transform-origin:center}.keepsake-card{width:285px;height:330px}.public-section-heading{grid-template-columns:1fr;gap:4px;margin-bottom:24px}.public-value-grid,.how-step-list,.privacy-detail-grid{grid-template-columns:1fr}.public-value-grid article,.privacy-detail-grid article{min-height:0}.public-value-grid h3{margin-top:32px}.how-it-works{padding:30px 22px}.how-it-works>h2{margin-bottom:24px}.how-step-list li,.how-step-list li+li{border-top:1px solid rgba(255,250,240,.2);border-left:0;padding:22px 0}.public-privacy-callout,.public-story,.about-hero,.privacy-hero{grid-template-columns:1fr}.public-privacy-callout{gap:20px}.public-jodi-portrait,.about-jodi-portrait{justify-self:start}.about-hero{gap:18px;min-height:auto;padding:8px 0 0}.about-page{gap:44px}.privacy-hero{gap:12px;padding-top:8px}.private-recipe-keepsake{width:min(100%,330px);justify-self:center}.public-privacy-callout .private-recipe-keepsake{grid-column:1;grid-row:2;width:min(100%,300px);transform:none}.public-privacy-copy{grid-column:1;grid-row:1}.public-privacy-callout+.public-story{margin-top:-20px}.privacy-page{gap:44px}.public-final-cta{justify-items:start;padding:34px 22px;text-align:left}.public-footer{grid-template-columns:1fr}.public-footer>p,.public-footer-note{justify-self:start;text-align:left}.login-card{margin-top:0}}
