@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap);:root{--navy:#1d3557;--gold:#bc956a;--copper:#cb997e;--cream:#f5ede3;--sage:#8a9a5b;--rust:#a44a3f;--white:#fff;--black:#2c2c2c;--gray-100:#f7f7f7;--gray-200:#e9e9e9;--gray-300:#dadada;--gray-400:#bcbcbc;--gray-500:#9e9e9e;--success:#4a7b63;--warning:#de9e48;--error:#a44a3f;--info:#457b9d;--primary:var(--navy);--secondary:var(--gold);--accent:var(--copper);--background:var(--white);--text:var(--black);--text-secondary:var(--gray-500);--font-heading:"Playfair Display",serif;--font-body:"Inter",sans-serif;--text-h1:48px;--text-h2:24px;--text-h3:20px;--text-body-large:16px;--text-body-regular:14px;--text-body-small:12px;--spacing-minimum:4px;--spacing-tight:8px;--spacing-standard:16px;--spacing-medium:24px;--spacing-large:32px;--spacing-extra-large:48px;--spacing-section:64px;--radius-small:4px;--radius-medium:8px;--radius-large:12px;--radius-extra-large:16px;--button-height:48px;--icon-size-standard:24px;--icon-size-large:32px;--shadow-small:0 1px 3px #0000001a;--shadow-medium:0 4px 6px #0000001a;--shadow-large:0 10px 15px #0000001a;--transition-fast:0.15s ease-in-out;--transition-standard:0.3s ease-in-out;--transition-slow:0.5s ease-in-out}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes reflect{0%,to{opacity:1}50%{opacity:.3}}@keyframes aurora{0%{background-position:50% 50%}to{background-position:350% 50%}}.main-content-area{margin-top:0}@media (min-width:768px){.main-content-area{margin-top:150px}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--background);color:#2c2c2c;color:var(--text);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:14px;font-size:var(--text-body-regular);line-height:1.5;margin:0;padding:0}.heading-1{font-size:48px;font-size:var(--text-h1);line-height:1.2;margin:0 0 24px;margin:0 0 var(--spacing-medium) 0}.heading-1,.heading-2{font-family:Playfair Display,serif;font-family:var(--font-heading);font-weight:400}.heading-2{font-size:24px;font-size:var(--text-h2);line-height:1.3;margin:0 0 16px;margin:0 0 var(--spacing-standard) 0}.heading-3{font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:20px;font-size:var(--text-h3);font-weight:400;line-height:1.4;margin:0 0 8px;margin:0 0 var(--spacing-tight) 0}.body-large{font-size:16px;font-size:var(--text-body-large);line-height:1.6}.body-regular{font-size:14px;font-size:var(--text-body-regular);line-height:1.5}.body-small{font-size:12px;font-size:var(--text-body-small);line-height:1.4}.text-secondary{color:#9e9e9e;color:var(--text-secondary)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-medium);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:14px;font-size:var(--text-body-regular);font-weight:500;height:48px;height:var(--button-height);justify-content:center;min-width:120px;padding:0 24px;padding:0 var(--spacing-medium);text-decoration:none;transition:all .3s ease-in-out;transition:all var(--transition-standard)}.btn:focus{outline:2px solid #1d3557;outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#1d3557;background-color:var(--primary);color:#fff;color:var(--white)}.btn-primary:hover:not(:disabled){background-color:color-mix(in srgb,#1d3557 85%,#000);background-color:color-mix(in srgb,var(--primary) 85%,#000);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-secondary{background-color:#bc956a;background-color:var(--secondary);color:#fff;color:var(--white)}.btn-secondary:hover:not(:disabled){background-color:color-mix(in srgb,#bc956a 85%,#000);background-color:color-mix(in srgb,var(--secondary) 85%,#000);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-outline{background-color:initial;border:2px solid #1d3557;border:2px solid var(--primary);color:#1d3557;color:var(--primary)}.btn-outline:hover:not(:disabled){background-color:#1d3557;background-color:var(--primary);color:#fff;color:var(--white)}.btn-ghost{background-color:initial;color:#1d3557;color:var(--primary)}.btn-ghost:hover:not(:disabled){background-color:#f7f7f7;background-color:var(--gray-100)}.input{background-color:#fff;background-color:var(--white);border:2px solid #dadada;border:2px solid var(--gray-300);border-radius:8px;border-radius:var(--radius-medium);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:14px;font-size:var(--text-body-regular);height:48px;height:var(--button-height);padding:0 16px;padding:0 var(--spacing-standard);transition:all .3s ease-in-out;transition:all var(--transition-standard);width:100%}.input:focus{border-color:#1d3557;border-color:var(--primary);box-shadow:0 0 0 3px #1d35571a;outline:none}.input:disabled{background-color:#f7f7f7;background-color:var(--gray-100);color:#9e9e9e;color:var(--gray-500);cursor:not-allowed}.input-error{border-color:#a44a3f;border-color:var(--error)}.input-error:focus{box-shadow:0 0 0 3px #a44a3f1a}.card{background-color:#fff;background-color:var(--white);border-radius:12px;border-radius:var(--radius-large);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-small);padding:24px;padding:var(--spacing-medium);transition:all .3s ease-in-out;transition:all var(--transition-standard)}.card:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.card-body,.card-header{margin-bottom:16px;margin-bottom:var(--spacing-standard)}.card-footer{border-top:1px solid #e9e9e9;border-top:1px solid var(--gray-200);margin-top:16px;margin-top:var(--spacing-standard);padding-top:16px;padding-top:var(--spacing-standard)}.container{margin:0 auto;max-width:1200px;padding:0 16px;padding:0 var(--spacing-standard)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-small{gap:8px;gap:var(--spacing-tight)}.gap-standard{gap:16px;gap:var(--spacing-standard)}.gap-medium{gap:24px;gap:var(--spacing-medium)}.gap-large{gap:32px;gap:var(--spacing-large)}.p-small{padding:8px;padding:var(--spacing-tight)}.p-standard{padding:16px;padding:var(--spacing-standard)}.p-medium{padding:24px;padding:var(--spacing-medium)}.p-large{padding:32px;padding:var(--spacing-large)}.m-small{margin:8px;margin:var(--spacing-tight)}.m-standard{margin:16px;margin:var(--spacing-standard)}.m-medium{margin:24px;margin:var(--spacing-medium)}.m-large{margin:32px;margin:var(--spacing-large)}.mb-small{margin-bottom:8px;margin-bottom:var(--spacing-tight)}.mb-standard{margin-bottom:16px;margin-bottom:var(--spacing-standard)}.mb-medium{margin-bottom:24px;margin-bottom:var(--spacing-medium)}.mb-large{margin-bottom:32px;margin-bottom:var(--spacing-large)}.mt-small{margin-top:8px;margin-top:var(--spacing-tight)}.mt-standard{margin-top:16px;margin-top:var(--spacing-standard)}.mt-medium{margin-top:24px;margin-top:var(--spacing-medium)}.mt-large{margin-top:32px;margin-top:var(--spacing-large)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.focus-visible:focus{outline:2px solid #1d3557;outline:2px solid var(--primary);outline-offset:2px}.recipe-detail-container{background-color:#fff;font-family:Inter,sans-serif;min-height:100vh}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recipe-title{font-size:28px;font-weight:600;margin:0}@media (min-width:1024px){.recipe-title{font-size:32px}}.recipe-info{font-weight:400;margin:0}.recipe-origin{font-style:italic;margin:0}.recipe-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.recipe-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.recipe-button{align-items:center;background:#1d3557;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.recipe-button:hover{background:#bc956a;box-shadow:0 4px 12px #1d35574d;transform:translateY(-1px)}.recipe-button:active{transform:translateY(0)}.image-gallery-container{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.image-gallery-main{background:#f5f3f0;position:relative}.image-gallery-thumbnails{grid-gap:8px;background:#fff;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:16px}.image-thumbnail{border:2px solid #0000;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s ease}.image-thumbnail:hover{border-color:#bc956a;transform:scale(1.02)}.image-thumbnail.active{border-color:#1d3557}.audio-player-container{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.audio-player-controls{align-items:center;background:#f5f3f0;display:flex;gap:12px;padding:16px}.audio-play-button{align-items:center;background:#1d3557;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.audio-play-button:hover{background:#bc956a;transform:scale(1.05)}.audio-progress-bar{background:#e5e5e5;border-radius:3px;cursor:pointer;flex:1 1;height:6px;overflow:hidden}.audio-progress-fill{background:#1d3557;height:100%;transition:width .1s ease}@media (min-width:1024px){.recipe-content>*+*{margin-top:32px}}.recipe-detail-layout{display:flex;flex-direction:column}@media (min-width:1024px){.recipe-detail-layout{flex-direction:row}}.recipe-images-section{width:100%}@media (min-width:1024px){.recipe-images-section{width:50%}}.recipe-content-section{width:100%}@media (min-width:1024px){.recipe-content-section{max-height:100vh;overflow-y:auto;width:50%}}.nav-header{background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:10}@media (min-width:1024px){.nav-header{position:relative}}.nav-content{padding:12px 16px}@media (min-width:1024px){.nav-content{padding:16px 24px}}.nav-buttons{justify-content:space-between}.nav-button,.nav-buttons{align-items:center;display:flex}.nav-button{background:none;border:none;color:#1d3557;cursor:pointer;font-size:14px;text-decoration:none;transition:color .2s ease}.nav-button:hover{color:#1d3557cc}@media (min-width:1024px){.nav-button{font-size:16px}}.nav-icon{height:20px;margin-right:8px;width:20px}.recipe-content{padding:24px 16px}@media (min-width:1024px){.recipe-content{padding:32px 24px}}.recipe-content>*+*{margin-top:24px}.recipe-title,.recipe-title-section{margin-bottom:12px}.recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d3557;display:-webkit-box;font-family:Playfair Display,serif;font-size:24px;line-height:1.2;overflow:hidden}@media (min-width:1024px){.recipe-title{font-size:30px}}.recipe-info{margin-bottom:8px}.recipe-info,.recipe-origin{color:#8b7355;font-size:14px}.recipe-stories-section{margin-top:24px}.recipe-stories-title{color:#1d3557;font-family:Playfair Display,serif;font-size:20px;margin-bottom:24px}@media (min-width:1024px){.recipe-stories-title{font-size:24px}}.slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer}.slider::-webkit-slider-track{background:#e5e5e5;border-radius:4px;height:8px}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1d3557;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;width:16px}.slider::-webkit-slider-thumb:hover{background:#bc956a;transform:scale(1.1)}.slider::-moz-range-track{background:#e5e5e5;border:none;border-radius:4px;height:8px}.slider::-moz-range-thumb{background:#1d3557;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;width:16px}.slider::-moz-range-thumb:hover{background:#bc956a;transform:scale(1.1)}.responsive-container{margin:0 auto;max-width:100%;padding:0 16px;padding:0 var(--spacing-standard);width:100%}@media (min-width:768px){.responsive-container{max-width:768px;padding:0 24px;padding:0 var(--spacing-medium)}}@media (min-width:1024px){.responsive-container{max-width:1024px;padding:0 32px;padding:0 var(--spacing-large)}}@media (min-width:1440px){.responsive-container{max-width:1440px;padding:0 48px;padding:0 var(--spacing-extra-large)}}@media (min-width:1920px){.responsive-container{max-width:1920px;padding:0 48px;padding:0 var(--spacing-extra-large)}}@media (min-width:2560px){.responsive-container{max-width:2560px;padding:0 48px;padding:0 var(--spacing-extra-large)}}@media (min-width:3840px){.responsive-container{max-width:3840px;padding:0 48px;padding:0 var(--spacing-extra-large)}}.responsive-grid{grid-gap:24px;grid-gap:var(--spacing-medium);display:grid;gap:24px;gap:var(--spacing-medium);grid-template-columns:1fr}@media (min-width:768px){.responsive-grid{gap:32px;gap:var(--spacing-large);grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.responsive-grid{gap:32px;gap:var(--spacing-large);grid-template-columns:repeat(3,1fr)}}@media (min-width:1440px){.responsive-grid{gap:48px;gap:var(--spacing-extra-large);grid-template-columns:repeat(4,1fr)}}@media (min-width:1920px){.responsive-grid{gap:48px;gap:var(--spacing-extra-large);grid-template-columns:repeat(6,1fr)}}@media (min-width:2560px){.responsive-grid{gap:48px;gap:var(--spacing-extra-large);grid-template-columns:repeat(8,1fr)}}@media (min-width:3840px){.responsive-grid{gap:48px;gap:var(--spacing-extra-large);grid-template-columns:repeat(10,1fr)}}.responsive-heading-1{font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:28px;line-height:1.2;margin:0 0 24px;margin:0 0 var(--spacing-medium) 0}@media (min-width:768px){.responsive-heading-1{font-size:36px}}@media (min-width:1024px){.responsive-heading-1{font-size:42px}}@media (min-width:1440px){.responsive-heading-1{font-size:48px}}@media (min-width:1920px){.responsive-heading-1{font-size:56px}}@media (min-width:2560px){.responsive-heading-1{font-size:64px}}.responsive-heading-2{font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:20px;line-height:1.3;margin:0 0 16px;margin:0 0 var(--spacing-standard) 0}@media (min-width:768px){.responsive-heading-2{font-size:24px}}@media (min-width:1024px){.responsive-heading-2{font-size:28px}}@media (min-width:1440px){.responsive-heading-2{font-size:32px}}@media (min-width:1920px){.responsive-heading-2{font-size:36px}}@media (min-width:2560px){.responsive-heading-2{font-size:40px}}.responsive-padding{padding:16px;padding:var(--spacing-standard)}@media (min-width:768px){.responsive-padding{padding:24px;padding:var(--spacing-medium)}}@media (min-width:1024px){.responsive-padding{padding:32px;padding:var(--spacing-large)}}@media (min-width:1440px){.responsive-padding{padding:48px;padding:var(--spacing-extra-large)}}@media (min-width:1920px){.responsive-padding{padding:64px}}@media (min-width:2560px){.responsive-padding{padding:80px}}.responsive-button{font-size:12px;font-size:var(--text-body-small);height:44px;min-width:100px;padding:0 16px;padding:0 var(--spacing-standard)}@media (min-width:768px){.responsive-button{font-size:14px;font-size:var(--text-body-regular);height:48px;min-width:120px;padding:0 24px;padding:0 var(--spacing-medium)}}@media (min-width:1024px){.responsive-button{font-size:16px;font-size:var(--text-body-large);height:52px;min-width:140px;padding:0 32px;padding:0 var(--spacing-large)}}.responsive-card{background:#fff;border-radius:12px;border-radius:var(--radius-large);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-small);padding:24px;padding:var(--spacing-medium);transition:all .3s ease-in-out;transition:all var(--transition-standard)}@media (min-width:768px){.responsive-card{padding:32px;padding:var(--spacing-large)}}@media (min-width:1024px){.responsive-card{padding:48px;padding:var(--spacing-extra-large)}}.families-view-root{margin:0 auto;padding-left:16px;padding-right:16px}@media (min-width:768px){.families-view-root{margin:0 auto 0 0;max-width:960px;padding-left:0;padding-right:24px}}.families-view-inner{margin:0 auto;max-width:100%;padding:16px}@media (min-width:768px){.families-view-inner{margin:0 auto 0 0;max-width:960px;padding:16px 24px 24px 0}}.subjects-view-root{margin:0 auto;padding-left:16px;padding-right:16px}@media (min-width:768px){.subjects-view-root{margin:0 auto 0 0;max-width:960px;padding-left:0;padding-right:24px}}.subjects-view-inner{box-sizing:border-box;margin:0 auto;max-width:100%;padding:16px}@media (min-width:768px){.subjects-view-inner{margin:0 auto 0 0;max-width:960px;padding:16px 24px 24px 0}}.subject-card-image-section{aspect-ratio:16/9;min-height:140px}.subject-card-relation-row{align-items:flex-start;display:flex;flex-direction:column;gap:4px}@media (min-width:768px){.subject-card-relation-row{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.subjects-cards-grid{grid-gap:16px;display:grid!important;gap:16px;grid-template-columns:repeat(3,1fr);max-width:100%!important}.subject-card{display:flex;flex-direction:column;height:320px;max-height:320px;min-height:0}.subject-card .subject-card-image-section{aspect-ratio:auto;flex:0 0 48%;min-height:0}.subject-card .subject-card-content{flex:1 1 auto;min-height:120px;overflow:visible;overflow-y:auto}}.family-card-image-section{aspect-ratio:16/9;min-height:280px}@media (min-width:768px){.families-view-inner,.families-view-root{max-width:100%}.families-cards-grid{grid-gap:16px;display:grid!important;gap:16px;grid-template-columns:repeat(3,1fr);max-width:100%!important}.family-card{height:600px;max-height:600px;min-height:480px}.family-card .family-card-image-section{aspect-ratio:auto;flex:0 0 58%;min-height:348px}.family-card .family-card-content{flex:0 0 42%;min-height:0;overflow:auto;padding:12px 14px}.family-card .family-card-content h3{font-size:16px}}.desktop-only{display:block!important}.mobile-only{display:none!important}.mobile-header-row{align-items:center!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.active-scale-98:active{transform:scale(.98)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (min-width:768px){.mobile-only{display:none!important}}@media (max-width:767px){.desktop-only{display:none!important}.mobile-only{display:block!important}.mobile-only.mobile-header-row{display:flex!important}.container{padding:0 8px;padding:0 var(--spacing-tight)}.responsive-heading-1{font-size:24px}.responsive-heading-2{font-size:18px}.responsive-button{font-size:12px;font-size:var(--text-body-small);height:40px;min-width:80px}.responsive-grid{gap:16px;gap:var(--spacing-standard);grid-template-columns:1fr}.responsive-container{padding:0 8px;padding:0 var(--spacing-tight)}.mobile-nav{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-tight)}.hide-on-mobile{display:none!important}@supports (-webkit-touch-callout:none){.mobile-viewport-fix{min-height:-webkit-fill-available}}.mobile-auth-container{-webkit-overflow-scrolling:touch;min-height:auto;min-height:-webkit-fill-available;overflow-y:visible;position:relative}@supports (padding:max(0px)){.mobile-safe-area{padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media (max-width:767px){body,html{-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.mobile-form{padding:16px;padding:var(--spacing-standard)}.mobile-input{font-size:16px;height:48px;padding:0 16px;padding:0 var(--spacing-standard);width:100%}.mobile-card{margin-bottom:16px;margin-bottom:var(--spacing-standard);padding:16px;padding:var(--spacing-standard)}.mobile-scroll{overflow-y:auto;overscroll-behavior:contain}.mobile-modal,.mobile-scroll{-webkit-overflow-scrolling:touch}.mobile-modal{touch-action:pan-y}.mobile-bottom-nav{background:#fff;border-top:1px solid #e9e9e9;bottom:0;height:80px;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:1000}.mobile-content{padding-bottom:100px}.pb-tab-bar{padding-bottom:80px}.auth-page-mobile{padding:24px 16px!important}.auth-page-mobile .input,.auth-page-mobile input[type=email],.auth-page-mobile input[type=password],.auth-page-mobile input[type=text]{font-size:16px;min-height:48px}.auth-page-mobile .btn,.auth-page-mobile button[type=submit]{min-height:48px}}@media (min-width:768px){.pb-tab-bar{padding-bottom:24px}}@media (max-width:480px){.responsive-heading-1{font-size:20px}.responsive-heading-2{font-size:16px}.responsive-button{font-size:12px;height:36px;min-width:70px}.responsive-container{padding:0 8px;padding:0 var(--spacing-tight)}.mobile-form{padding:8px;padding:var(--spacing-tight)}}@media (min-width:768px) and (max-width:1023px){.responsive-container{padding:0 24px;padding:0 var(--spacing-medium)}.responsive-grid{gap:32px;gap:var(--spacing-large);grid-template-columns:repeat(2,1fr)}}.mobile-fullscreen-modal{-webkit-overflow-scrolling:touch!important;-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;bottom:0!important;height:100vh!important;left:0!important;min-height:100vh!important;min-width:100vw!important;overflow:hidden!important;position:fixed!important;right:0!important;top:0!important;touch-action:none!important;transform:translateZ(0)!important;width:100vw!important;will-change:transform!important;z-index:10003!important}.add-heirloom-flow-overlay{background:var(--cream);display:flex;flex-direction:column;font-family:var(--font-body);inset:0;overflow:auto;position:fixed;z-index:9999}.add-heirloom-flow-header-strip{background:#fff;border-bottom:1px solid #dadada;border-radius:0;flex-shrink:0}.add-heirloom-flow-header-inner,.add-heirloom-flow-header-strip{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;width:100%}.add-heirloom-flow-header-inner{max-width:100%;padding:16px clamp(24px,5vw,48px) 24px}.add-heirloom-flow-header{grid-gap:clamp(8px,2vw,16px);align-items:center;box-sizing:border-box;display:grid;gap:clamp(8px,2vw,16px);grid-template-columns:1fr auto 1fr;padding:0 0 16px;width:100%}.add-heirloom-flow-progress-text{align-items:center;display:flex;font-size:var(--text-body-regular);justify-content:space-between;margin:0 0 12px;width:100%}.add-heirloom-flow-progress-step{color:var(--primary);font-weight:500}.add-heirloom-flow-pct{color:var(--text-secondary);font-size:var(--text-body-regular)}.add-heirloom-flow-card{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:min(640px,100vw);min-height:0;padding:clamp(12px,3vw,24px);width:100%}.add-heirloom-flow-header .add-heirloom-flow-back-link{justify-self:start}.add-heirloom-flow-header .add-heirloom-flow-title{justify-self:center;margin:0;text-align:center}.add-heirloom-flow-header .add-heirloom-flow-close{justify-self:end}.add-heirloom-flow-back-link{align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-body-regular);gap:4px;padding:8px 0}.add-heirloom-flow-back-link:hover{text-decoration:underline}.add-heirloom-flow-progress-track{background:#dadada;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.add-heirloom-flow-progress-fill{background:#a17a4d;border-radius:4px}.add-heirloom-flow-step-timeline{align-items:flex-start;display:flex;flex-shrink:0;gap:0;justify-content:space-between;list-style:none;margin:0;padding:0;width:100%}.add-heirloom-flow-step-timeline-item{align-items:flex-start;display:flex;flex:1 1;justify-content:center;min-width:0}.add-heirloom-flow-step-dot{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:flex-start;min-width:0;width:100%}button.add-heirloom-flow-step-nav-btn{-webkit-tap-highlight-color:rgba(29,53,87,.12);background:#0000;border:none;border-radius:8px;border-radius:var(--radius-small,8px);box-sizing:border-box;color:inherit;cursor:pointer;flex:none;font:inherit;margin:0;max-width:100%;min-height:44px;padding:10px 2px 8px;touch-action:manipulation;width:100%}button.add-heirloom-flow-step-nav-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.add-heirloom-flow-step-nav-btn:hover .add-heirloom-flow-step-dot-circle{filter:brightness(1.05)}button.add-heirloom-flow-step-nav-btn:hover .add-heirloom-flow-step-label{color:var(--primary)}.add-heirloom-flow-step-dot-circle{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px;z-index:1}.add-heirloom-flow-step-dot.done .add-heirloom-flow-step-dot-circle{background:#a17a4d;color:#fff}.add-heirloom-flow-step-dot.current .add-heirloom-flow-step-dot-circle{background:var(--primary);color:#fff}.add-heirloom-flow-step-dot.future .add-heirloom-flow-step-dot-circle{background:#dadada;color:#9e9e9e}.add-heirloom-flow-step-label{color:var(--text-secondary);font-size:10px;line-height:1.2;text-align:center}.add-heirloom-flow-step-dot.current .add-heirloom-flow-step-label{color:var(--primary);font-weight:600}.add-heirloom-flow-step-dot.done .add-heirloom-flow-step-label,.add-heirloom-flow-step-dot.future .add-heirloom-flow-step-label{color:var(--text-secondary)}.add-heirloom-flow-content-card{background:var(--white);border-radius:var(--radius-large);box-shadow:var(--shadow-small);display:flex;flex:1 1;flex-direction:column;min-height:0;padding:clamp(16px,4vw,24px)}.add-heirloom-flow-content-body{flex:1 1;min-height:0;overflow:auto}.add-heirloom-flow-header-text{min-width:0}.add-heirloom-flow-title{color:var(--primary);font-size:var(--text-h3);font-weight:600;line-height:1.3;margin:0}.add-heirloom-flow-step-subtitle{color:var(--text-secondary);font-size:var(--text-body-small);line-height:1.4;margin:4px 0 0}.add-heirloom-flow-close{background:none;border:none;border-radius:var(--radius-small);color:var(--primary);cursor:pointer;flex-shrink:0;padding:8px}.add-heirloom-flow-close:hover{background:var(--gray-100)}.add-heirloom-flow-progress-track{background:var(--gray-200);border-radius:2px;flex-shrink:0;height:4px}.add-heirloom-flow-progress-fill{background:var(--secondary);border-radius:2px;height:100%;transition:width .2s ease}.add-heirloom-flow-content{flex:1 1;min-height:0;overflow:auto;padding-bottom:clamp(16px,4vw,24px)}.add-heirloom-flow-error{color:var(--error);font-size:var(--text-body-regular);margin:0 0 var(--spacing-standard)}.add-heirloom-flow-footer{display:flex;flex-shrink:0;gap:var(--spacing-standard);justify-content:space-between;margin-top:auto;padding-top:var(--spacing-medium)}.add-heirloom-flow-btn{align-items:center;border-radius:var(--radius-medium);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-body-large);font-weight:500;gap:6px;justify-content:center;min-height:var(--button-height);padding:0 20px;transition:background var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.add-heirloom-flow-btn:disabled{cursor:not-allowed;opacity:.6}.add-heirloom-flow-btn-back{background:var(--white);border:1px solid var(--primary);color:var(--primary)}.add-heirloom-flow-btn-back:hover:not(:disabled){background:var(--gray-100)}.add-heirloom-flow-btn-primary{background:var(--primary);border:none;color:var(--white)}.add-heirloom-flow-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.add-heirloom-flow-btn-primary:disabled{background:var(--gray-300);color:var(--white)}.add-heirloom-flow-label{color:var(--text);display:block;font-size:var(--text-body-regular);font-weight:500;margin-bottom:var(--spacing-tight)}.add-heirloom-flow-input,.add-heirloom-flow-textarea{border:1px solid var(--gray-200);border-radius:var(--radius-medium);box-sizing:border-box;color:var(--text);font-family:var(--font-body);font-size:var(--text-body-large);padding:12px;width:100%}.add-heirloom-flow-input::placeholder,.add-heirloom-flow-textarea::placeholder{color:var(--gray-400)}.add-heirloom-flow-input{margin-bottom:var(--spacing-standard)}.add-heirloom-flow-textarea{min-height:100px;resize:vertical}.add-heirloom-flow-body-text{color:var(--text);font-size:var(--text-body-regular);line-height:1.5;margin:0 0 var(--spacing-standard)}.add-heirloom-flow-upload-zone{align-items:center;background:var(--gray-100);border:2px dashed var(--gray-300);border-radius:var(--radius-medium);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-tight);justify-content:center;padding:var(--spacing-large);transition:border-color var(--transition-fast),background var(--transition-fast)}.add-heirloom-flow-upload-zone:hover{background:var(--gray-200);border-color:var(--gray-400)}.add-heirloom-flow-upload-zone span{color:var(--text-secondary);font-size:var(--text-body-regular)}.add-heirloom-flow-chip-group{display:flex;flex-wrap:wrap;gap:var(--spacing-tight)}.add-heirloom-flow-chip{background:var(--white);border:1px solid var(--gray-300);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-body-small);padding:8px 14px;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.add-heirloom-flow-chip.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}.add-heirloom-flow-option-row,.add-heirloom-flow-radio-row{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-standard);margin-bottom:var(--spacing-standard)}.add-heirloom-flow-option-row{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-medium);box-sizing:border-box;font-family:var(--font-body);padding:var(--spacing-standard) var(--spacing-medium);text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.add-heirloom-flow-option-row:hover{background:var(--gray-100);border-color:var(--gray-300)}.add-heirloom-flow-option-row.selected{background:var(--cream);border-color:var(--primary)}.add-heirloom-flow-option-row.family-at-limit{background:var(--gray-100);border-color:var(--gray-300);cursor:not-allowed;opacity:.92}.add-heirloom-flow-option-row.family-at-limit .add-heirloom-flow-option-title{color:var(--text-secondary)}.add-heirloom-flow-family-lock-wrap{align-items:center;background:var(--gray-400);border-radius:50%;color:var(--white);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.add-heirloom-flow-family-upgrade-cta{background:#bc956a;background:var(--gold,#bc956a);border:none;border-radius:var(--radius-small);color:var(--white);cursor:pointer;flex-shrink:0;font-family:var(--font-body);font-size:var(--text-body-small);font-weight:600;padding:8px 12px;white-space:nowrap}.add-heirloom-flow-family-upgrade-cta:hover{filter:brightness(1.05)}.add-heirloom-flow-option-row .add-heirloom-flow-option-icon-wrap{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.add-heirloom-flow-option-row .add-heirloom-flow-option-icon-wrap.unselected{background:var(--cream);color:var(--text-secondary)}.add-heirloom-flow-option-row.selected .add-heirloom-flow-option-icon-wrap{background:var(--primary);color:var(--white)}.add-heirloom-flow-option-row .add-heirloom-flow-option-text{flex:1 1;min-width:0}.add-heirloom-flow-option-row .add-heirloom-flow-option-title{color:var(--text);font-size:var(--text-body-large);font-weight:600;margin:0}.add-heirloom-flow-option-row .add-heirloom-flow-option-subtitle{color:var(--text-secondary);font-size:var(--text-body-small);margin:2px 0 0}.add-heirloom-flow-option-row .add-heirloom-flow-option-check-wrap{align-items:center;background:var(--primary);border-radius:50%;color:var(--white);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.add-heirloom-flow-option-row .add-heirloom-flow-option-check{color:var(--primary);flex-shrink:0}.add-heirloom-flow-family-rows{display:flex;flex-direction:column;gap:0;margin-bottom:var(--spacing-standard);width:100%}.add-heirloom-flow-skip-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:var(--text-body-small);margin-top:var(--spacing-standard);padding:0;text-decoration:underline}.add-heirloom-flow-skip-link:hover{color:var(--primary)}.add-heirloom-flow-cancel-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-family:var(--font-body);font-size:var(--text-body-small);margin-top:var(--spacing-standard);padding:0;text-align:center;text-decoration:underline}.add-heirloom-flow-cancel-link:hover{color:var(--primary)}.add-heirloom-flow-review-card{background:var(--gray-100);border-radius:var(--radius-medium);margin-bottom:var(--spacing-standard);padding:var(--spacing-standard)}.add-heirloom-flow-review-card img{border-radius:var(--radius-small);margin-bottom:var(--spacing-standard);max-height:200px;object-fit:cover;width:100%}.add-heirloom-flow-review-title{color:var(--text);font-size:var(--text-body-large);font-weight:600;margin:0}.add-heirloom-flow-review-meta{color:var(--text-secondary);font-size:var(--text-body-small);margin:var(--spacing-tight) 0 0}.add-subject-modal-overlay{align-items:center;background-color:#00000080;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.add-subject-modal-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #0000001f;font-family:Inter,sans-serif;font-family:var(--font-body,"Inter",sans-serif);max-height:calc(100vh - 48px);max-width:440px;overflow:auto;width:100%}.add-subject-modal-header{align-items:center;border-bottom:1px solid #dadada;display:flex;justify-content:space-between;padding:20px 24px}.add-subject-modal-title{color:#1d3557;color:var(--primary,#1d3557);font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:20px;font-weight:600;margin:0}.add-subject-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#1d3557;cursor:pointer;display:flex;justify-content:center;padding:8px}.add-subject-modal-close:hover{background:#0000000f}.add-subject-modal-form{padding:24px}.add-subject-modal-label{color:#2c2c2c;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.add-subject-modal-input{border:2px solid #dadada;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:14px;margin-bottom:20px;padding:12px 16px;width:100%}.add-subject-modal-input:focus{border-color:#1d3557;border-color:var(--primary,#1d3557);outline:none}.add-subject-modal-type-row{display:flex;gap:12px;margin-bottom:20px}.add-subject-modal-type-btn{align-items:center;background:#fff;border:2px solid #dadada;border-radius:12px;color:#1d3557;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:14px;transition:border-color .2s,background .2s}.add-subject-modal-type-btn.selected,.add-subject-modal-type-btn:hover{background:#1d35570f;border-color:#1d3557}.add-subject-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.add-subject-modal-btn-secondary{background:#fff;border:1px solid #dadada;border-radius:12px;color:#1d3557}.add-subject-modal-btn-primary,.add-subject-modal-btn-secondary{cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:10px 20px}.add-subject-modal-btn-primary{background:#1d3557;border:none;border-radius:12px;color:#fff}.add-subject-modal-btn-primary:disabled{cursor:not-allowed;opacity:.7}.add-subject-modal-error{background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:14px;margin-bottom:16px;padding:12px}@media (max-width:767px){.mobile-invite-modal{-webkit-overflow-scrolling:touch!important;border-radius:0!important;box-sizing:border-box!important;font-size:16px!important;height:100vh!important;max-height:100vh!important;max-width:none!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important;scroll-behavior:smooth!important;scrollbar-color:#1d3557 #f8f9fa!important;scrollbar-width:thin!important;touch-action:auto!important;width:100%!important;z-index:10015!important}.mobile-invite-modal::-webkit-scrollbar{background:#f8f9fa!important;width:8px!important}.mobile-invite-modal::-webkit-scrollbar-thumb{background:#1d3557!important;border-radius:4px!important}.mobile-invite-modal::-webkit-scrollbar-thumb:hover{background:#bc956a!important}.mobile-invite-modal input,.mobile-invite-modal textarea{font-size:16px!important}.mobile-recipe-modal{border-radius:0!important;max-width:none!important;z-index:99999!important}.mobile-recipe-modal,.mobile-recipe-modal-overlay{bottom:0!important;height:100%!important;left:0!important;position:fixed!important;right:0!important;top:0!important;width:100%!important}.mobile-recipe-modal-overlay{z-index:99998!important}.mobile-recipe-modal .modal-footer{background:#fff!important;border-top:1px solid #e5e5e5!important;bottom:0!important;box-shadow:0 -2px 10px #0000001a!important;left:0!important;padding:20px!important;position:absolute!important;right:0!important;z-index:100000!important}.mobile-recipe-modal .modal-content{-webkit-overflow-scrolling:touch;overflow-y:auto;padding-bottom:100px!important}body.modal-open{height:100%;overflow:hidden;position:fixed;width:100%}.mobile-recipe-modal button{min-height:44px;min-width:44px}.mobile-recipe-modal input,.mobile-recipe-modal select,.mobile-recipe-modal textarea{font-size:16px}.mobile-recipe-modal .step-nav{-webkit-overflow-scrolling:touch!important;background:#fff!important;border-bottom:1px solid #e5e5e5!important;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;padding:16px 20px!important;position:relative!important;z-index:99999!important}.mobile-recipe-modal .step-nav button{cursor:pointer;flex-shrink:0!important;font-size:14px!important;min-height:44px!important;padding:8px 16px!important;transition:all .2s ease;white-space:nowrap!important}.mobile-recipe-modal .step-nav button:hover{transform:scale(1.05)}.mobile-recipe-modal,.mobile-recipe-modal-overlay{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;transform:translateZ(0)!important}.mobile-recipe-modal,.mobile-recipe-modal-overlay{will-change:transform!important}}.add-heirloom-modal-overlay{background:#f5ede3;display:flex;flex-direction:column;font-family:"Inter, sans-serif";font-family:var(--font-body,"Inter, sans-serif");inset:0;overflow:auto;position:fixed;z-index:9999}.add-heirloom-modal-header-strip{background:#fff;border-bottom:1px solid #dadada;box-sizing:border-box;flex-shrink:0;width:100%}.add-heirloom-modal-header-inner{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;justify-content:space-between;max-width:100%;padding:16px clamp(24px,5vw,48px);width:100%}.add-heirloom-modal-back{align-items:center;background:none;border:none;color:#1d3557;cursor:pointer;display:inline-flex;font-family:inherit;font-size:16px;gap:6px;padding:8px 0}.add-heirloom-modal-back:hover{text-decoration:underline}.add-heirloom-modal-back:focus-visible{border-radius:4px;outline:2px solid #1d3557;outline-offset:2px}.add-heirloom-modal-title{color:#1d3557;font-family:Playfair Display,serif;font-size:20px;font-weight:600;line-height:1.3;margin:0}.add-heirloom-modal-close{background:none;border:none;border-radius:8px;color:#1d3557;cursor:pointer;padding:8px}.add-heirloom-modal-close:hover{background:#f0f0f0}.add-heirloom-modal-close:focus-visible{outline:2px solid #1d3557;outline-offset:2px}.add-heirloom-modal-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:min(720px,100vw);padding:clamp(24px,5vw,48px);width:100%}.add-heirloom-modal-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:clamp(24px,5vw,40px)}.add-heirloom-modal-subtitle{color:#9e9e9e;font-size:14px;line-height:1.5;margin:0 0 24px}.add-heirloom-modal-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.add-heirloom-modal-type-btn{align-items:center;background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 1px 3px #0000000f;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:12px;justify-content:flex-start;padding:20px 16px;position:relative;text-align:center;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.add-heirloom-modal-type-btn:focus{outline:none}.add-heirloom-modal-type-btn:focus-visible{outline:2px solid #1d3557;outline-offset:2px}.add-heirloom-modal-type-btn-check{align-items:center;background:#1d3557;border-radius:6px;color:#fff;display:flex;height:24px;justify-content:center;opacity:0;pointer-events:none;position:absolute;right:10px;top:10px;transition:opacity .2s ease;width:24px}.add-heirloom-modal-type-btn:focus-visible .add-heirloom-modal-type-btn-check,.add-heirloom-modal-type-btn:hover .add-heirloom-modal-type-btn-check{opacity:1}.add-heirloom-modal-type-btn-icon-wrap{align-items:center;background:#f8f6f4;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;transition:background .2s ease;width:56px}.add-heirloom-modal-type-btn-icon-wrap img{display:block;filter:none;height:28px;object-fit:contain;transition:filter .2s ease;width:28px}.add-heirloom-modal-type-btn-label{color:#1d3557;font-size:15px;font-weight:600;line-height:1.3}.add-heirloom-modal-type-btn-sublabel{color:#9e9e9e;font-size:12px;line-height:1.4}.add-heirloom-modal-type-btn:focus-visible,.add-heirloom-modal-type-btn:hover{background:#f5ede3e6;border-color:#1d3557;box-shadow:0 2px 8px #00000014}.add-heirloom-modal-type-btn:focus-visible .add-heirloom-modal-type-btn-icon-wrap,.add-heirloom-modal-type-btn:hover .add-heirloom-modal-type-btn-icon-wrap{background:#1d3557}.add-heirloom-modal-type-btn:focus-visible .add-heirloom-modal-type-btn-icon-wrap img,.add-heirloom-modal-type-btn:hover .add-heirloom-modal-type-btn-icon-wrap img{filter:brightness(0) invert(1)}.add-heirloom-modal-type-btn:focus-visible .add-heirloom-modal-type-btn-sublabel,.add-heirloom-modal-type-btn:hover .add-heirloom-modal-type-btn-sublabel{color:#6b6b6b}.add-heirloom-modal-type-btn--locked{cursor:default;pointer-events:none}.add-heirloom-modal-type-btn--locked .add-heirloom-modal-lock-overlay{pointer-events:auto}.add-heirloom-modal-lock-overlay{align-items:center;background:#ffffff80;border-radius:16px;display:flex;inset:0;justify-content:center;pointer-events:auto;position:absolute}.add-heirloom-modal-lock-content{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center}.add-heirloom-modal-lock-icon-wrap{align-items:center;color:#6b7280;display:flex;flex:none;flex-grow:0;height:48px;justify-content:center;width:48px}.add-heirloom-modal-lock-svg{display:block;flex:none;flex-grow:0;height:48px;width:48px}.add-heirloom-modal-lock-upgrade-btn{background:#fff;border:1.5px solid #1d3557;border-radius:8px;box-shadow:0 1px 2px #00000014;color:#1d3557;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:6px 14px}.add-heirloom-modal-lock-upgrade-btn:hover{background:#1d3557;color:#fff}.add-heirloom-modal-lock-upgrade-btn:focus-visible{outline:2px solid #1d3557;outline-offset:2px}.add-heirloom-modal-legacy-banner{align-items:flex-start;background:#f5ede3;border:1px solid #e8e0d8;border-radius:16px;box-sizing:border-box;display:flex;gap:16px;margin-top:32px;padding:24px}.add-heirloom-modal-legacy-icon{color:#b89f82;flex-shrink:0;margin-top:2px}.add-heirloom-modal-legacy-text{flex:1 1;min-width:0}.add-heirloom-modal-legacy-heading{color:#1d3557;font-family:"Inter, sans-serif";font-family:var(--font-body,"Inter, sans-serif");font-size:16px;font-weight:600;line-height:1.3;margin:0 0 8px}.add-heirloom-modal-legacy-body{color:#2c2c2c;font-size:14px;line-height:1.5;margin:0}.family-detail-container{background:#f5ede3;box-sizing:border-box;font-family:Inter,sans-serif;font-family:var(--font-body,"Inter",sans-serif);min-height:100vh;width:100%}.family-detail-header-with-stats{padding:0 24px 24px}.family-detail-header-row{align-items:flex-start;display:flex;gap:24px;margin-bottom:24px}.family-detail-header-image-wrap{flex-shrink:0}.family-detail-header-image{background:#e5e7eb;border:1px solid #dadada;border-radius:12px;box-shadow:0 1px 3px #0000001a;height:160px;overflow:hidden;position:relative;width:160px}.family-detail-header-image img{height:100%;object-fit:cover;width:100%}.family-detail-header-image-placeholder{background:#e5e7eb;height:100%;width:100%}.family-detail-header-photo-edit-btn{align-items:center;background:#1d3557;border:none;border-radius:50%;bottom:12px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;right:12px;width:44px}.family-detail-header-photo-edit-btn:hover:not(:disabled){background:#2a4a6b}.family-detail-header-photo-edit-btn:disabled{cursor:not-allowed;opacity:.7}.family-detail-header-text{flex:1 1;min-width:0;text-align:left}.family-detail-header-title{color:#1d3557;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:28px;font-weight:600;line-height:1.2;margin:0}.family-detail-header-subtext{color:#6b7280;font-family:Inter,sans-serif;font-family:var(--font-body,"Inter",sans-serif);font-size:14px;line-height:1.4;margin:8px 0 0}.family-detail-stats-row{display:flex;flex-wrap:wrap;gap:16px}.family-detail-stat-card{background:#fff;border:1px solid #dadada;border-radius:12px;box-shadow:0 1px 3px #0000001a;min-width:100px;padding:20px 24px;text-align:center}.family-detail-stat-value{color:#1d3557;display:block;font-size:24px;font-weight:700;margin-bottom:4px}.family-detail-stat-label,.family-detail-stat-value{font-family:Inter,sans-serif;font-family:var(--font-body,"Inter",sans-serif)}.family-detail-stat-label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}@media (max-width:767px){.family-detail-header-with-stats{padding:0 16px 20px}.family-detail-header-row{align-items:center;flex-direction:column;gap:16px;margin-bottom:20px;text-align:center}.family-detail-header-text{text-align:center}.family-detail-header-title-row{justify-content:center}.family-detail-header-title{font-size:24px}.family-detail-header-image{height:120px;width:120px}.family-detail-stats-row{justify-content:center}.family-detail-stat-card{min-width:80px;padding:16px 20px}.family-detail-stat-value{font-size:20px}}.family-detail-header-strip{background:#fff;border-bottom:1px solid #dadada;width:100%}.family-detail-content{box-sizing:border-box;max-width:100%;padding:24px 24px 80px;width:100%}.family-detail-recipe-prompts-block{margin-bottom:24px}.family-detail-section-card{background:#fff;border:1px solid #dadada;border-radius:16px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px 24px}.family-detail-section-title{color:#1d3557;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:20px;font-weight:600;margin:0 0 12px}.family-detail-section-body{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.family-detail-invite-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.family-detail-btn-show-code{background:#1d3557;border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px}.family-detail-btn-show-code:hover{background:#2a4a6b}.family-detail-btn-hide-code{background:#1d35571f;border:none;border-radius:12px;color:#1d3557;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px}.family-detail-btn-hide-code:hover{background:#1d35572e}.family-detail-btn-send-invite{background:#1d355714;border:1px solid #1d355740;border-radius:12px;color:#1d3557;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px}.family-detail-btn-send-invite:hover{background:#1d355724}.family-detail-invite-code-box{align-items:center;background:#f5eedb;border:1px solid #e5dfd0;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-top:16px;padding:16px 20px}.family-detail-invite-code-inner{display:flex;flex-direction:column;gap:4px}.family-detail-invite-code-label{color:#6b5344;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.family-detail-invite-code-text{color:#1d3557;font-family:Monaco,Menlo,monospace;font-size:18px;font-weight:700;letter-spacing:.02em}.family-detail-invite-copy-btn{background:#e8e0d0;border:1px solid #d4c9b8;border-radius:10px;color:#6b5344;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px}.family-detail-invite-copy-btn:hover{background:#ddd4c4}.family-detail-public-recipe-url-row{align-items:center;background:#f8f7f2;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:12px;margin-top:16px;padding:12px 16px}.family-detail-public-recipe-url{color:#1d3557;flex:1 1;font-family:Monaco,Menlo,monospace;font-size:13px;min-width:0;word-break:break-all}.family-detail-public-recipe-copy-btn{align-items:center;background:#0000;border:1px solid #dadada;border-radius:10px;color:#1d3557;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.family-detail-public-recipe-copy-btn:hover{background:#eee}.family-detail-public-recipes-badge{align-items:center;background:#8b73551f;border-radius:8px;color:#1d3557;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:8px;padding:6px 12px}.family-detail-public-recipe-subsection{border-top:1px solid #e5e7eb;padding-top:0}.family-detail-section-header-with-action{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.family-detail-btn-add-member{background:#1d355714;border:1px solid #1d355740;border-radius:8px;color:#1d3557;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:8px 16px}.family-detail-btn-add-member:hover{background:#1d355724}.family-detail-btn-leave{align-self:flex-start;background:#fff;border:1px solid #b87333;border-radius:8px;color:#1d3557;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 16px}.family-detail-btn-leave:hover{background:#b8733314}.family-detail-btn-delete{align-items:center;align-self:flex-start;background:#0000;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 16px}.family-detail-btn-delete:hover{background:#dc262614}.heirloom-detail-meta-card{background:#bc956a;background:var(--gold,#bc956a);border-radius:12px;margin-bottom:24px;padding:20px 24px}.heirloom-detail-meta-card__inner{display:flex;flex-direction:column;gap:20px}.heirloom-detail-meta-card__slot{min-width:0}@media (min-width:768px){.heirloom-detail-meta-card__inner{flex-direction:row;gap:24px}.heirloom-detail-meta-card__slot{flex:1 1}}.voice-memo-audio-item{margin-bottom:16px;overflow:visible;padding-bottom:4px}.voice-memo-audio-wrapper{background:#1d3557;background:var(--navy,#1d3557);border-radius:12px;max-width:400px;overflow:hidden;width:100%}.voice-memo-audio-wrapper audio{accent-color:#fff;background-color:#1d3557;border-radius:12px;display:block;min-height:48px;opacity:1;width:100%}.voice-memo-audio-wrapper audio::-webkit-media-controls-enclosure,.voice-memo-audio-wrapper audio::-webkit-media-controls-panel{background:#1d3557!important;opacity:1}.voice-memo-audio-wrapper audio::-webkit-media-controls-play-button{filter:invert(1)}.voice-memo-audio-wrapper audio::-webkit-media-controls-current-time-display,.voice-memo-audio-wrapper audio::-webkit-media-controls-time-remaining-display{box-shadow:none!important;color:#fff!important;text-shadow:none!important}.voice-memo-audio-wrapper audio::-webkit-media-controls-timeline{background-color:#1d3557;border-radius:2px;opacity:1}.voice-memo-audio-wrapper audio::-webkit-media-controls-mute-button,.voice-memo-audio-wrapper audio::-webkit-media-controls-overflow-button,.voice-memo-audio-wrapper audio::-webkit-media-controls-volume-slider-container{filter:invert(1)}.voice-memo-audio-caption{margin-top:6px;min-height:1em;padding-bottom:2px}