.partner-auth,.partner-shell{min-height:100vh;background:linear-gradient(135deg,#f8f5ff,#eef8f7 55%,#fff6eb);color:#252231}.partner-auth{display:grid;place-items:center;align-content:center;gap:22px;padding:32px 18px}.partner-brand{color:#24222c;font-size:1.55rem;font-weight:900;letter-spacing:-1.3px}.partner-brand span{color:#7354e8}.partner-brand small{display:block;margin-top:-3px;color:#786f8d;font-size:.52rem;letter-spacing:.18em;text-align:center}.partner-auth-card{width:min(440px,100%);padding:32px;border:1px solid #e4dff2;border-radius:24px;background:#fff;box-shadow:0 18px 50px #4230711f}.partner-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:20px;border-radius:14px;background:#eeeaff;color:#7354e8}.partner-kicker{margin:0 0 7px;color:#7354e8;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.partner-auth h1,.partner-page-heading h1{margin:0;letter-spacing:-1.2px}.partner-muted{color:#746d80;font-size:.85rem;line-height:1.5}.partner-auth-card form{display:grid;gap:14px;margin-top:22px}.partner-field{display:grid;gap:6px;color:#514a5d;font-size:.75rem;font-weight:800}.partner-field input,.partner-field select,.partner-field textarea{width:100%;min-height:44px;padding:0 12px;border:1px solid #dcd7e7;border-radius:10px;background:#fff;color:#252231;font:inherit}.partner-field textarea{min-height:100px;padding:12px;resize:vertical}.partner-password{display:grid;grid-template-columns:1fr 42px;border:1px solid #dcd7e7;border-radius:10px;overflow:hidden}.partner-password input{border:0;border-radius:0}.partner-password button{border:0;background:#fff;color:#746d80}.partner-primary,.partner-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border-radius:11px;font-weight:850;cursor:pointer}.partner-primary{border:0;background:#6852d7;color:#fff;box-shadow:0 8px 18px #6852d733}.partner-secondary{border:1px solid #ddd7e8;background:#fff;color:#6852d7}.partner-primary:disabled{opacity:.55;cursor:wait}.partner-link{display:block;margin-top:16px;color:#6852d7;font-size:.8rem;font-weight:800;text-align:center}.partner-error,.partner-success{display:flex;align-items:center;gap:7px;margin:0;padding:10px 12px;border-radius:9px;font-size:.76rem}.partner-error{background:#fff1f4;color:#a23753}.partner-success{background:#edf9f0;color:#27724b}.partner-topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;border-bottom:1px solid #e5e0ef;background:#ffffffd6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.partner-user{display:flex;align-items:center;gap:12px}.partner-user span{font-weight:800}.partner-user small{color:#746d80}.partner-user button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#6852d7;font-weight:800}.partner-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 74px)}.partner-nav{display:grid;align-content:start;gap:7px;padding:24px 14px;border-right:1px solid #e5e0ef;background:#ffffff94}.partner-nav button{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:#6f687b;font-weight:800;text-align:left}.partner-nav button.active,.partner-nav button:hover{background:#eeeaff;color:#6852d7}.partner-content{width:min(1100px,100%);margin:0 auto;padding:38px 34px 70px}.partner-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.partner-page-heading p{margin:7px 0 0}.partner-offer-grid{display:grid;gap:11px}.partner-offer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #e3deed;border-radius:16px;background:#fff;box-shadow:0 7px 22px #4333670f}.partner-offer-row h3,.partner-offer-row p{margin:0}.partner-offer-row p{margin-top:6px;color:#746d80;font-size:.8rem}.partner-status{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#eeeaff;color:#6852d7;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.partner-status.published{background:#e7f7ee;color:#28714d}.partner-status.paused,.partner-status.expired{background:#f3eff4;color:#746d80}.partner-invite{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:22px;padding:18px;border:1px solid #e3deed;border-radius:16px;background:#fff}.partner-editor{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:24px;overflow:auto;padding:clamp(16px,3vw,38px);background:#221d2f85}.partner-editor-form,.partner-previews{align-self:start;padding:clamp(20px,2.5vw,30px);border:1px solid #e3deed;border-radius:22px;background:#fff;box-shadow:0 24px 70px #140f1f3d}.partner-editor-form{min-width:0}.partner-editor-header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.partner-editor-header h2{margin:0;font-size:1.7rem}.partner-editor-header .partner-muted{margin:.45rem 0 0;max-width:46ch}.partner-icon-button{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #ddd7e8;border-radius:11px;background:#fff;color:#746d80;cursor:pointer}.partner-form-sections{display:grid;gap:18px}.partner-form-section{padding:19px;border:1px solid #eeeaf5;border-radius:16px;background:#fcfbfe}.partner-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.partner-section-heading h3,.partner-section-heading p{margin:0}.partner-section-heading h3{font-size:1rem}.partner-section-heading p{margin-top:3px;color:#746d80;font-size:.76rem;line-height:1.4}.partner-step{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#eeeaff;color:#6852d7;font-size:.75rem;font-weight:900}.partner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.partner-form-grid label:nth-child(5),.partner-form-grid label:nth-child(6){grid-column:1/-1}.partner-field-help{color:#837b8c;font-size:.68rem;font-weight:500;line-height:1.35}.partner-editor-actions{position:sticky;bottom:-30px;display:flex;justify-content:flex-end;gap:9px;margin:22px -30px -30px;padding:16px 30px;border-top:1px solid #e9e4f0;border-radius:0 0 22px 22px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.partner-previews{position:sticky;top:20px;display:grid;gap:10px}.partner-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.partner-preview-heading h3{margin:0}.partner-previews>.partner-muted{margin:0 0 3px}.partner-preview-dot{display:inline-flex;align-items:center;gap:5px;color:#28714d;font-size:.66rem;font-weight:800;white-space:nowrap}.partner-preview-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#43b77a}.partner-preview-stack{display:grid;gap:14px}.partner-preview-card{overflow:hidden;border:1px solid #dfe8e6;border-radius:15px;background:#fff}.partner-preview-card>img{width:100%;height:130px;object-fit:cover;background:#f1f6f5}.partner-preview-body{display:grid;gap:7px;padding:16px}.partner-preview-body h3,.partner-preview-body p,.partner-preview-body b,.partner-preview-body small{margin:0}.partner-preview-body p{color:#655e70;font-size:.8rem;line-height:1.45}.partner-preview-body small{color:#837b8c;font-size:.65rem}.partner-badge{width:max-content;padding:4px 7px;border-radius:999px;background:#e8fbf8;color:#087676;font-size:.62rem;font-weight:900;text-transform:uppercase}.partner-preview-body code{width:max-content;padding:5px 7px;border-radius:6px;background:#e8fbf8;color:#087676;font-weight:850}.feed-preview{border-top:0}.feed-preview .partner-preview-label{background:#f3efff;color:#6852d7}.partner-preview-label{padding:9px 14px;border-bottom:1px solid #eef0f0;color:#746d80;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}@media(max-width:800px){.partner-topbar{padding:0 16px}.partner-user small{display:none}.partner-layout{display:block}.partner-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #e5e0ef;padding:10px}.partner-content{padding:24px 16px 60px}.partner-page-heading{align-items:start;flex-direction:column}.partner-invite{grid-template-columns:1fr 1fr}.partner-editor{display:block;padding:12px}.partner-previews{position:static;margin-top:14px}.partner-form-grid{grid-template-columns:1fr}.partner-form-grid label:nth-child(5),.partner-form-grid label:nth-child(6){grid-column:auto}.partner-editor-actions{bottom:-20px;margin:18px -20px -20px;padding:13px 20px}.partner-editor-actions .partner-secondary,.partner-editor-actions .partner-primary{flex:1}}.partner-media-field{display:grid;gap:10px;align-content:start}.partner-field-label{font-size:.78rem;font-weight:850;color:#3b3547}.partner-file-input{display:none}.partner-upload-button{width:max-content}.partner-upload-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.partner-upload-thumb{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid #ded8eb;border-radius:10px;background:#f5f2fa}.partner-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block}.partner-upload-thumb button{position:absolute;top:4px;right:4px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:#24222cc7;color:#fff}.partner-preview-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;overflow:hidden}.partner-preview-images a{position:relative;display:block;min-width:0}.partner-preview-images a:first-child{grid-row:span 2}.partner-preview-images img{display:block;width:100%;height:130px;object-fit:cover}.partner-preview-images a:first-child img{height:264px}.partner-preview-more{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#24222c7a;color:#fff;font-size:1.1rem;font-weight:900}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#24222c;background:#f8f7fb;color-scheme:light;font-synthesis:none;--surface-base: #f8f7fb;--surface-raised: #ffffff;--surface-elevated: #ffffff;--surface-subtle: #faf9fc;--surface-input: #ffffff;--surface-selected: #efecfc;--text-primary: #24222c;--text-secondary: #686371;--text-tertiary: #747080;--separator: #ebe8f0;--separator-strong: #dcd7e3;--accent: #6657c8;--accent-strong: #5042a5;--focus-ring: #6657c8;--ink: #24222c;--muted: #747080;--line: #efedf2;--canvas: #f8f7fb;--card: #fff;--purple: #6657c8;--purple-dark: #5042a5;--lavender: #efecfc;--pink: #d92f75;--mint: #ddf3e8;--peach: #fff0e7;--blue: #e2f2fb;--yellow: #fff8d8;--recipe-yellow: #ffd400;--recipe-yellow-ink: #4b3100;--shadow: 0 18px 55px rgba(48, 40, 72, .11)}.family-space-list>button:disabled{opacity:.48;cursor:not-allowed}.family-space-list>button:disabled:hover{background:transparent;color:#5f5a68}.feed-search-inline.open .search-trigger{display:none}.feed-search-inline.open .feed-search{width:100%;margin:0;grid-template-columns:minmax(0,1fr) 36px}.feed-search-inline.open .feed-search input{min-width:0}.family-tree-canvas .relationship-tag-line{stroke:#ad4b91;stroke-width:2;stroke-dasharray:3 6;opacity:.7}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{scroll-behavior:smooth;font:-apple-system-body}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--surface-base);color:var(--text-primary);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{overflow-wrap:anywhere}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 62%,transparent);outline-offset:3px}.brand{border:0;background:transparent;padding:0;font-size:1.4375rem;font-weight:700;letter-spacing:-1.15px;color:var(--ink)}.brand span{color:var(--purple)}.brand.compact{font-size:19px}.primary-button,.secondary-button,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;font-weight:700}.primary-button{min-height:45px;padding:0 19px;border-radius:12px;background:var(--purple);color:#fff;box-shadow:0 8px 20px #6657c82e}.primary-button:hover{background:var(--purple-dark)}.primary-button.large{min-height:53px;padding:0 23px;font-size:1rem}.primary-button.compact,.secondary-button.compact{min-height:37px;padding:0 14px;font-size:.8125rem}.primary-button:disabled{opacity:.42;cursor:not-allowed}.secondary-button{min-height:44px;padding:0 17px;border:1px solid #dcd8e5;border-radius:11px;background:#fff;color:var(--ink)}.secondary-button:hover{border-color:#bdb6d8}.text-button{padding:8px;background:transparent;color:var(--ink)}.icon-button{width:38px;height:38px;padding:0;border-radius:10px;background:transparent;color:var(--muted)}.icon-button:hover{background:#f1eff5;color:var(--ink)}.icon-button.lavender{background:var(--lavender);color:var(--purple)}.eyebrow{margin:0 0 7px;color:var(--purple);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.avatar{display:block;flex:0 0 auto;aspect-ratio:1;box-sizing:border-box;overflow:hidden;border-radius:50%;object-fit:cover;object-position:center;vertical-align:middle;background:#eeeaf7}.avatar-xs{width:23px;height:23px}.avatar-sm{width:34px;height:34px}.avatar-md{width:43px;height:43px}.avatar-lg{width:72px;height:72px}.avatar-xl{width:92px;height:92px}.avatar.avatar-fallback{display:grid;place-items:center;align-content:center;justify-content:center;margin:0;padding:0;background:linear-gradient(135deg,#e8e3ff,#dff4eb);color:var(--purple);font-family:inherit;font-size:.75rem;font-weight:800;line-height:1;letter-spacing:.03em;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.avatar-lg.avatar-fallback{font-size:1.125rem}.avatar-xl.avatar-fallback{font-size:1.4375rem}.marketing-site{overflow:hidden;background:var(--canvas)}.public-header{position:relative;z-index:4;height:82px;max-width:1420px;margin:0 auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}.public-header nav{display:flex;gap:31px;color:#5f5b69;font-size:.875rem;font-weight:600}.public-header nav a:hover{color:var(--purple)}.header-actions{display:flex;align-items:center;gap:9px}.signed-in-note{color:var(--muted);font-size:.75rem;font-weight:700}.hero{min-height:760px;max-width:1540px;margin:0 auto;padding:68px 0 105px 72px;display:grid;grid-template-columns:minmax(420px,.77fr) minmax(760px,1.25fr);align-items:center;gap:62px}.hero-copy{max-width:600px;position:relative;z-index:2}.announcement{display:inline-flex;align-items:center;gap:7px;margin:0 0 25px;padding:9px 14px;border-radius:999px;background:var(--lavender);color:#5b4db2;font-size:.8125rem;font-weight:700}.hero h1{margin:0;max-width:640px;font-size:clamp(54px,5vw,79px);line-height:.98;letter-spacing:-4.2px}.hero h1 em{color:var(--purple);font-family:inherit;font-weight:700}.hero-lede{margin:28px 0;max-width:550px;color:#666270;font-size:19px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:23px}.hero-actions>a{font-weight:700;border-bottom:2px solid #b7afe5;padding-bottom:3px}.trust-line{display:flex;flex-wrap:wrap;gap:18px;margin-top:31px;color:#777381;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.trust-line span{display:inline-flex;align-items:center;gap:5px}.trust-line svg{color:#47a17f}.hero-product{min-width:0;transform:rotate(-.7deg);transform-origin:center left}.snapshot{width:1055px;min-height:660px;display:grid;grid-template-columns:200px 1fr 245px;border:1px solid var(--line);border-radius:25px;overflow:hidden;background:#fff;box-shadow:0 30px 90px #30284829}.snapshot>aside:first-child{padding:27px 19px;border-right:1px solid var(--line);background:#fcfbfd;display:flex;flex-direction:column}.snapshot-space{display:flex;gap:10px;align-items:center;margin:36px 0 24px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.snapshot-space>span,.space-switch>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:var(--mint);color:#247356;font-size:.75rem;font-weight:800}.snapshot-space b,.snapshot-space small,.snapshot-user b,.snapshot-user small{display:block}.snapshot-space b{font-size:.75rem}.snapshot-space small,.snapshot-user small{margin-top:3px;color:var(--muted);font-size:.75rem}.snapshot nav{display:grid;gap:5px}.snapshot nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#716d7a;font-size:.75rem;font-weight:700}.snapshot nav button.active{color:#5547b2;background:var(--lavender)}.snapshot-user{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:.75rem}.snapshot>main{padding:33px 29px;background:#faf9fc}.snapshot>main>header{display:flex;align-items:center;justify-content:space-between}.snapshot h3{margin:0;font-size:1.25rem;letter-spacing:-.5px}.snapshot>main>header button{display:flex;align-items:center;gap:5px;border:1px solid #ddd8f5;background:transparent;color:var(--purple);border-radius:9px;padding:8px 10px;font-size:.75rem;font-weight:800}.snapshot-composer{margin:21px 0 15px;padding:11px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#8a8694;font-size:.75rem}.snapshot-composer span{flex:1}.snapshot-composer svg{color:var(--pink)}.snapshot-post{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.snapshot-post>header{display:flex;align-items:center;gap:9px}.snapshot-post>header div{display:grid;font-size:.75rem}.snapshot-post small{margin-top:2px;color:var(--muted);font-size:.75rem}.snapshot-post>header>svg{margin-left:auto}.snapshot-post>p{margin:14px 0;font-size:.75rem;line-height:1.55}.snapshot-images{height:225px;display:grid;grid-template-columns:1.45fr 1fr;gap:5px;border-radius:10px;overflow:hidden}.snapshot-images img{width:100%;height:100%;object-fit:cover}.snapshot-post footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#777281;font-size:.75rem}.snapshot-post footer span{display:flex;align-items:center;gap:4px}.snapshot-events{padding:33px 20px;border-left:1px solid var(--line)}.snapshot-events>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.snapshot-events h3{font-size:.9375rem}.snapshot-events>header>svg{padding:7px;width:29px;height:29px;border-radius:9px;background:var(--lavender);color:var(--purple)}.mini-event{display:grid;grid-template-columns:45px 1fr;gap:11px;margin-bottom:10px;padding:13px;border-radius:13px}.mini-event.peach{background:var(--peach)}.mini-event.mint{background:var(--mint)}.mini-event.blue{background:var(--blue)}.mini-event time{min-height:49px;display:grid;place-items:center;align-content:center;border-radius:10px;background:#ffffffd1}.mini-event time b{font-size:1rem}.mini-event time span{color:var(--muted);font-size:.75rem;font-weight:700}.mini-event>div{display:grid;align-content:center}.mini-event>div>b{font-size:.75rem}.mini-event p{margin:4px 0 2px;color:#6d6875;font-size:.75rem}.mini-event small{color:#827d89;font-size:.75rem}.snapshot-prompt{margin-top:22px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--yellow)}.snapshot-prompt>b{display:block;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.3}.snapshot-prompt button{margin-top:12px;padding:0;border:0;background:transparent;color:#9a591b;font-size:.75rem;font-weight:800}.section-wrap{max-width:1260px;margin:0 auto;padding:110px 42px}.section-intro{max-width:690px;margin-bottom:52px}.section-intro h2,.story-copy h2,.privacy-section h2,.final-cta h2{margin:0;font-size:clamp(38px,4vw,55px);line-height:1.06;letter-spacing:-2.4px}.section-intro>p:last-child,.story-copy>p,.privacy-section p,.final-cta p{color:var(--muted);font-size:1.0625rem;line-height:1.65}.value-section{border-top:1px solid var(--line)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps-grid article{min-height:215px;display:flex;gap:22px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.steps-grid article>span{display:grid;place-items:center;width:37px;height:37px;flex:0 0 auto;border-radius:12px;background:var(--lavender);color:var(--purple);font-weight:800}.steps-grid h3{margin:3px 0 10px;font-size:1.25rem}.steps-grid p{margin:0;color:var(--muted);line-height:1.6}.story-section{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:78px}.story-photo{height:560px;overflow:hidden;border-radius:24px;box-shadow:var(--shadow)}.story-photo img{width:100%;height:100%;object-fit:cover}.story-copy{max-width:520px}.feature-list{margin-top:31px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.feature-list span{display:flex;align-items:center;gap:9px;font-size:.875rem;font-weight:700}.feature-list svg{color:var(--purple)}.feature-showcase{padding-top:70px}.feature-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-showcase-grid article{min-height:300px;padding:27px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 26px #2f28440a}.feature-showcase-grid article>div{width:48px;height:48px;display:grid;place-items:center;margin-bottom:28px;border-radius:14px}.feature-showcase-grid article .eyebrow{margin-bottom:10px}.feature-showcase-grid article h3{margin:0 0 12px;font-family:inherit;font-size:25px;font-weight:700;line-height:1.18;letter-spacing:-.5px}.feature-showcase-grid article>p:last-child{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.65}.feature-showcase-grid .tone-pink>div{background:#ffe8f1;color:#cc3b78}.feature-showcase-grid .tone-yellow>div{background:#fff2cb;color:#9c6811}.feature-showcase-grid .tone-purple>div{background:var(--lavender);color:var(--purple)}.feature-showcase-grid .tone-mint>div{background:#dcf5ea;color:#278063}.feature-showcase-grid .tone-blue>div{background:#e2f2fb;color:#287392}.feature-showcase-grid .tone-peach>div{background:#ffeadf;color:#a85b35}.multi-family-callout{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:20px;padding:31px;border:1px solid #dcd6f8;border-radius:20px;background:var(--lavender)}.family-callout-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#fff;color:var(--purple)}.multi-family-callout h3{margin:3px 0 6px;font-size:1.4375rem}.multi-family-callout p:last-child{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.55}.multi-family-callout .secondary-button{white-space:nowrap;background:#fff}.privacy-section{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:30px;margin-bottom:90px;padding-top:65px;padding-bottom:65px;border-radius:24px;background:#292731;color:#fff}.privacy-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#3b3748;color:#bcb1ff}.privacy-section .eyebrow{color:#beb5ff}.privacy-section h2{font-size:2.4375rem}.privacy-section p{max-width:720px;margin-bottom:0;color:#cbc7d4}.privacy-section .secondary-button{white-space:nowrap}.faq-section{padding-top:20px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{padding:22px 24px;border:1px solid var(--line);border-radius:15px;background:#fff}.faq-grid summary{cursor:pointer;font-weight:700}.faq-grid p{margin:13px 0 0;color:var(--muted);line-height:1.55}.final-cta{max-width:1180px;margin-bottom:110px;padding-top:80px;padding-bottom:80px;border-radius:26px;background:var(--lavender);text-align:center}.final-cta p{margin:16px auto 27px}.final-cta button{margin:0 auto}.marketing-site>footer{max-width:1260px;margin:0 auto;padding:30px 42px 48px;display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}.marketing-site>footer>p{flex:1}.marketing-site>footer nav{display:flex;gap:17px}.marketing-site>footer nav button{border:0;background:transparent;color:var(--muted)}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;overflow:hidden;overscroll-behavior:none;background:#1e1b2880;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-card{width:min(100%,500px);max-height:min(92vh,850px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:auto;padding:27px;border-radius:20px;background:#fff;box-shadow:0 28px 85px #16132152}.modal-card.wide{width:min(100%,680px)}.modal-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:23px}.modal-heading h2{margin:0;font-size:25px;letter-spacing:-.7px}.modal-heading p{margin:6px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.45}.invite-context{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:-5px 0 20px;padding:12px;border-radius:13px;background:var(--mint);color:#255e48}.invite-context b,.invite-context span{display:block}.invite-context span{margin-top:3px;font-size:.75rem}.family-badge{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#fff;color:#257456;font-size:.75rem;font-weight:800}.family-badge.large{width:62px;height:62px;border-radius:17px;background:var(--mint);font-size:1.0625rem}.auth-form,.event-form{display:grid;gap:15px}.email-auth-form{display:grid;gap:14px}.social-button{min-height:48px;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:700}.social-button:hover{background:#faf9fc}.social-button:disabled{cursor:not-allowed;opacity:.5}.google-primary{border-color:#d8d4df;box-shadow:0 3px 10px #1d19280f}.google-import-note{display:flex;gap:13px;padding:15px;border-radius:13px;background:var(--lavender);color:var(--purple)}.google-import-note svg{flex:0 0 auto}.google-import-note b,.google-import-note span{display:block}.google-import-note span{margin-top:4px;color:#625d72;font-size:.75rem;line-height:1.5}.auth-footnote{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--muted);font-size:.75rem}.auth-error{margin:0;padding:10px 12px;border-radius:9px;background:#fff0f3;color:#a93652;font-size:.75rem;line-height:1.45}.or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:11px;color:var(--muted)}.or span{height:1px;background:var(--line)}.or small{font-size:.75rem}.auth-form label:not(.check-row),.event-form label,.simple-flow form label,.invite-panel label{display:grid;gap:7px;color:#4c4855;font-size:.75rem;font-weight:700}.auth-form input,.event-form input,.simple-flow input,.simple-flow select,.copy-field input{width:100%;min-height:46px;padding:0 13px;border:1px solid #dcd8e3;border-radius:10px;color:var(--ink);background:#fff;outline:none}.auth-form input:focus,.event-form input:focus,.simple-flow input:focus,.simple-flow select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6657c81a}.input-hint-wrap small,.event-form label small,.simple-flow label small{color:var(--muted);font-size:.75rem;font-weight:500}.email-auth-form label>small{color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.45}.password-field{display:grid;grid-template-columns:1fr 45px;border:1px solid #dcd8e3;border-radius:10px;background:#fff;overflow:hidden}.password-field:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #6657c81a}.password-field input{border:0;border-radius:0;box-shadow:none!important}.password-field button{display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}.password-field button:hover{color:var(--purple)}.check-row{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.75rem;line-height:1.45}.check-row input{width:16px;min-height:16px;margin:2px 0 0;accent-color:var(--purple)}.check-row button{padding:0;border:0;background:transparent;color:var(--purple);font-size:inherit}.auth-submit{width:100%;margin-top:2px}.forgot-button{border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:700}.simple-flow{min-height:100vh;background:var(--canvas)}.simple-flow>header{height:78px;max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.simple-flow .text-button{gap:6px;color:var(--muted)}.flow-card{width:min(92vw,530px);margin:70px auto;padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.flow-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:22px;border-radius:15px;background:var(--lavender);color:var(--purple)}.flow-card h1{margin:0;font-size:2.25rem;letter-spacing:-1.5px}.flow-card>p:not(.eyebrow):not(.flow-note){color:var(--muted);line-height:1.6}.flow-card form{margin-top:27px;display:grid;gap:18px}.flow-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:24px 0 0;color:var(--muted);font-size:.75rem}.google-profile-card{display:flex;align-items:center;gap:14px;margin:-10px 0 26px;padding:14px;border:1px solid #dce9e3;border-radius:14px;background:var(--mint)}.google-profile-card b,.google-profile-card span,.google-profile-card small{display:block}.google-profile-card span{margin-top:3px;color:var(--muted);font-size:.75rem}.google-profile-card small{margin-top:6px;color:#267055;font-size:.75rem;font-weight:700}.username-field{display:grid;grid-template-columns:34px 1fr;align-items:center;border:1px solid #dcd8e3;border-radius:10px;background:#fff;overflow:hidden}.username-field:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #6657c81a}.username-field span{text-align:right;color:var(--muted);font-size:.9375rem}.username-field input{border:0!important;box-shadow:none!important;padding-left:3px}.loading-flow{display:grid;place-items:center;align-content:center}.loading-flow>.brand{margin-bottom:-35px}.pending-card{text-align:center}.pending-card .family-badge{margin:0 auto 22px}.pending-details{display:flex;gap:12px;margin:25px 0;padding:15px;border-radius:13px;background:var(--mint);text-align:left;color:#285d49}.pending-details svg{flex:0 0 auto}.pending-details b,.pending-details span{display:block}.pending-details span{margin-top:4px;font-size:.75rem;line-height:1.45}.pending-card .secondary-button{margin:0 auto}.app-layout{min-height:100vh;display:grid;grid-template-columns:255px minmax(500px,760px) 285px;justify-content:center;background:var(--surface-base);color:var(--text-primary)}.app-layout.dark-mode{color-scheme:dark;--surface-base:#111019;--surface-raised:#1b1924;--surface-elevated:#24212e;--surface-subtle:#17151f;--surface-input:#15131c;--surface-selected:#302947;--text-primary:#f8f6fc;--text-secondary:#c9c4d2;--text-tertiary:#aaa4b7;--separator:#393442;--separator-strong:#514a5d;--accent:#9b8cff;--accent-strong:#b0a5ff;--focus-ring:#ad9fff;--ink:var(--text-primary);--muted:var(--text-tertiary);--line:var(--separator);--purple:var(--accent);--purple-dark:var(--accent-strong);--lavender:var(--surface-selected);--recipe-yellow:#ffe066;--recipe-yellow-ink:#3f2b00;--card:var(--surface-raised);--canvas:var(--surface-base);--shadow:0 18px 55px rgba(0,0,0,.32);background:var(--surface-base)}.dark-mode .app-sidebar,.dark-mode .app-right,.dark-mode .mobile-app-header,.dark-mode .mobile-bottom-nav,.dark-mode .post-card,.dark-mode .feed-create-hub,.dark-mode .modal-card,.dark-mode .modal-heading,.dark-mode .discussion article>div,.dark-mode .event-card,.dark-mode .recipe-card,.dark-mode .calendar-shell{background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.dark-mode input,.dark-mode textarea,.dark-mode select,.dark-mode .post-audience,.dark-mode .post-audience label,.dark-mode .mention-suggestions{background:var(--surface-input);color:var(--text-primary);border-color:var(--separator)}.post-author-button,.post-author-name{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.post-author-name{font-weight:800;text-align:left}.feedback-photo-picker{display:flex;align-items:center;gap:8px;padding:12px;border:1px dashed var(--line);border-radius:12px;cursor:pointer}.feedback-photo-picker input{position:absolute;opacity:0;pointer-events:none}.feedback-photo-picker span{margin-left:auto;color:var(--purple);font-size:.75rem}.feedback-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.feedback-photo{display:block;margin:0}.feedback-photo img{width:100%;height:120px;object-fit:contain;border-radius:12px;background:#f5f3f7}.app-sidebar{position:sticky;top:0;height:100vh;padding:27px 22px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.space-switch{width:100%;margin:32px 0 27px;padding:10px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.space-switch>div{min-width:0;flex:1}.space-switch b,.space-switch small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-switch b{font-size:.75rem}.space-switch small{margin-top:3px;color:var(--muted);font-size:.75rem}.space-switch>svg{color:var(--muted)}.multi-family-sidebar{overflow:hidden}.multi-family-sidebar .family-space-list{flex:0 0 auto}.multi-family-sidebar>nav{min-height:0;flex:1 1 auto;overflow-y:auto;padding-right:2px}.family-space-list{display:grid;gap:5px;margin:28px 0 22px;max-height:320px;overflow:auto;padding-right:2px}.family-space-list>p{margin:0 8px 7px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.family-space-list>button{width:100%;min-height:49px;display:flex;align-items:center;gap:9px;padding:6px 8px;border:0;border-radius:11px;background:transparent;color:#5f5a68;text-align:left}.family-space-list>button:hover,.family-space-list>button.active{background:var(--lavender);color:var(--purple)}.family-space-list>button>span{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;border-radius:10px;background:#f0edf8;color:var(--purple);font-size:.75rem;font-weight:800}.family-space-list>button.active>span{background:#fff}.family-space-list button>div{min-width:0;flex:1}.family-space-list b,.family-space-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-space-list b{font-size:.75rem}.family-space-list small{margin-top:3px;color:var(--muted);font-size:.75rem}.family-space-list>button>svg{width:15px;flex:0 0 auto}.family-space-list .add-family-button{margin-top:4px;border:1px dashed #d8d2e5}.family-space-list .add-family-button>svg{margin:0 9px;color:var(--purple)}.combined-family>span svg{width:17px;height:17px}.app-sidebar nav{display:grid;gap:5px}.app-sidebar nav button,.admin-nav button{width:100%;min-height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#6e6978;font-size:.8125rem;font-weight:700;text-align:left}.app-sidebar nav button.active,.admin-nav button.active{background:var(--lavender);color:var(--purple)}.app-sidebar nav button small{margin-left:auto;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#fff;font-size:.75rem}.admin-nav{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.admin-nav p{margin:0 12px 8px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.profile-chip{width:100%;margin-top:auto;padding:13px 0 0;display:flex;align-items:center;gap:9px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left}.profile-chip>div{min-width:0;flex:1}.profile-chip b,.profile-chip small{display:block}.profile-chip b{font-size:.75rem}.profile-chip small{color:var(--muted);font-size:.75rem}.profile-chip>svg{color:var(--muted)}.nav-icon{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.unread-dot{position:absolute;top:-4px;right:-5px;width:9px;height:9px;border:2px solid white;border-radius:50%;background:#e62962;box-sizing:content-box}.dark-mode .unread-dot{border-color:var(--surface-raised)}.mobile-app-header,.mobile-bottom-nav{display:none}.app-main{min-height:100vh;padding:42px 42px 80px}.app-right{position:sticky;top:0;height:100vh;overflow:auto;padding:42px 23px;border-left:1px solid var(--line);background:#fff}.rail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.rail-title h3{margin:0;font-size:1.125rem}.app-right .mini-event{padding:14px}.rail-link{width:100%;display:flex;justify-content:center;align-items:center;gap:5px;margin:8px 0 28px;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:800}.prompt-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--yellow)}.prompt-card>svg{margin-bottom:14px;color:#a9691a}.prompt-card h4{margin:0;font-family:inherit;font-size:1.25rem;font-weight:700;line-height:1.25}.prompt-card button{margin-top:15px;padding:0;border:0;background:transparent;color:#986020;font-size:.75rem;font-weight:800}.rail-empty{width:100%;min-height:108px;display:grid;place-items:center;align-content:center;gap:7px;margin-bottom:10px;padding:15px;border:1px dashed #d9d4e2;border-radius:13px;background:#faf9fc;color:var(--muted);text-align:center}.rail-empty svg{color:var(--purple)}.rail-empty b{color:var(--ink);font-size:.75rem}.rail-empty span{color:var(--purple);font-size:.75rem;font-weight:800}.rail-empty-action{cursor:pointer}.feed-search{position:relative;display:grid;grid-template-columns:22px 1fr 30px;align-items:center;gap:7px;margin:-13px 0 28px;padding:0 12px;min-height:47px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 4px 18px #2f284409}.feed-search>svg{color:var(--muted)}.feed-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:.75rem}.feed-search button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:#f3f0f7;color:var(--muted)}.feed-empty{min-height:230px;margin-top:18px;display:grid;place-items:center;align-content:center;padding:35px;border:1px dashed #d9d4e2;border-radius:16px;background:#ffffffa6;text-align:center}.feed-empty>svg{color:var(--purple)}.feed-empty h3{margin:13px 0 5px}.feed-empty p{margin:0 0 16px;color:var(--muted);font-size:.75rem}.hashtag-link{display:inline;padding:0;border:0;background:transparent;color:var(--purple);font:inherit;font-weight:700;text-decoration:none}.hashtag-link:hover,.hashtag-link:focus-visible{text-decoration:none}.post-link{color:#1769c2;font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}.post-link:hover{color:#0f4f98}.mention-link{color:#9b2f70;font-weight:750;text-decoration:none}.mention-link:hover,.mention-link:focus-visible{text-decoration:none}.post-card>header small{display:block;margin-top:4px;color:#897fc3;font-size:.75rem;font-weight:700}.link-preview{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;margin:0 18px 17px;padding:13px 14px;border:1px solid #ddd7ec;border-radius:13px;background:#faf9fd;color:var(--ink);text-decoration:none}.link-preview:hover{border-color:#bdb3e7;background:#f6f3ff}.link-preview>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--lavender);color:var(--purple)}.link-preview>div{min-width:0}.link-preview small,.link-preview b,.link-preview p{display:block;overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.link-preview small{color:var(--purple);font-size:.75rem;font-weight:800;text-transform:uppercase}.link-preview b{margin-top:3px;font-size:.8125rem;text-transform:capitalize}.link-preview p{margin-top:3px;color:var(--muted);font-size:.75rem}.link-preview>svg{color:var(--purple)}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:27px}.page-heading h1{margin:0;font-size:31px;letter-spacing:-1.2px}.page-heading>div>.eyebrow{display:none}.page-heading>div>p:last-child{margin:7px 0 0;color:var(--muted);font-size:.8125rem}.feed-composer{width:100%;display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#8c8795;text-align:left;box-shadow:0 4px 18px #2f284409}.feed-composer>span:nth-child(2){flex:1}.composer-action{display:flex;align-items:center;gap:6px;color:var(--pink);font-size:.75rem;font-weight:800}.feed-list{display:grid;gap:17px;margin-top:18px}.post-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 21px #3028480b}.post-card>header{display:flex;align-items:center;gap:11px;padding:18px 19px 0}.post-card>header>div{min-width:0;flex:1}.post-card>header b,.post-card>header span{display:block}.post-card>header b{font-size:.8125rem}.post-card>header span{margin-top:3px;color:var(--muted);font-size:.75rem}.post-copy{margin:17px 19px;font-size:.8125rem;line-height:1.65;white-space:pre-wrap}.post-images{height:355px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:hidden}.post-images.count-1{grid-template-columns:1fr}.post-images.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.post-images img{width:100%;height:100%;min-height:0;object-fit:cover}.post-card>footer{display:flex;justify-content:space-between;align-items:center;padding:12px 17px}.post-card>footer button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#777381;font-size:.75rem}.avatar-stack{display:flex;margin-right:3px}.avatar-stack .avatar{margin-right:-7px;border:2px solid white}.comments{padding:15px 18px;border-top:1px solid var(--line);background:#fcfbfd}.comment{display:flex;gap:9px;margin-bottom:14px}.comment>div{padding:8px 11px;border-radius:11px;background:#fff}.comment b{font-size:.75rem}.comment p{margin:4px 0;font-size:.75rem}.comment button{padding:0;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:700}.comments form{display:flex;align-items:center;gap:8px}.comments form input{min-width:0;flex:1;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px}.comments form button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--purple);color:#fff}.caught-up{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:30px 0;color:#898593;font-size:.75rem}.caught-up>span{height:1px;background:var(--line)}.caught-up div{display:flex;align-items:center;gap:6px}.event-page-grid{display:grid;gap:13px}.full-event{display:grid;grid-template-columns:83px 1fr;gap:19px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.full-event>time{min-height:84px;display:grid;place-items:center;align-content:center;border-radius:14px}.full-event>time.peach{background:var(--peach)}.full-event>time.mint{background:var(--mint)}.full-event>time.blue{background:var(--blue)}.full-event time b{font-size:28px}.full-event time span{color:var(--muted);font-size:.75rem;font-weight:800}.full-event h3{margin:2px 0 9px}.full-event p{margin:5px 0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem}.event-actions{display:flex;gap:12px;margin-top:15px}.event-actions .text-button{font-size:.75rem;color:var(--purple)}.event-empty{min-height:320px}.event-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:4px}.event-suggestions>span{margin-right:3px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.event-suggestions button{padding:7px 10px;border:1px solid #ded8ea;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:800}.all-day-field{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.all-day-field input{width:17px!important;min-height:17px!important;margin:0}.all-day-field span{display:grid;gap:2px}.all-day-field small{color:var(--muted);font-weight:400}.event-category-filters{display:flex;gap:7px;margin:-10px 0 22px;padding:2px 0 4px;overflow-x:auto;scrollbar-width:none}.event-category-filters::-webkit-scrollbar{display:none}.event-category-filters button{min-height:36px;flex:0 0 auto;padding:0 13px;border:1px solid var(--separator);border-radius:999px;background:var(--surface-raised);color:var(--text-secondary);font-size:.75rem;font-weight:800;cursor:pointer}.event-category-filters button.active{border-color:var(--accent);background:var(--surface-selected);color:var(--accent-strong)}.event-category{display:inline-flex;margin:0 0 5px;padding:4px 8px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:850}.member-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.member-grid article{position:relative;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.member-grid h3{margin:15px 0 3px}.member-grid p{margin:0;color:var(--purple);font-size:.75rem}.member-grid span{display:block;margin-top:12px;color:var(--muted);font-size:.75rem}.member-grid small{position:absolute;top:18px;right:18px;padding:5px 8px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:700}.notification-list{display:grid;gap:11px}.notification-card{display:grid;grid-template-columns:42px 1fr auto;gap:13px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.notification-card.unread{border-color:#ef89ac;box-shadow:inset 4px 0 #e62962}.notification-card>svg{padding:10px;width:42px;height:42px;border-radius:12px;background:#f2f0f5;color:var(--purple)}.notification-card.important{border-color:#d8d1fa}.notification-card b{font-size:.8125rem}.notification-card p{margin:5px 0 12px;color:var(--muted);font-size:.75rem}.notification-card time{color:var(--muted);font-size:.75rem}.notification-card div>div{display:flex;gap:7px}.handled{display:flex;align-items:center;gap:5px;color:#2a7c5a;font-size:.75rem;font-weight:700}.settings-list{display:grid;gap:10px}.settings-list article{min-height:84px;display:flex;align-items:center;gap:20px;padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:#fff}.settings-list article>div{flex:1}.settings-list h3{margin:0 0 5px;font-size:.875rem}.settings-list p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.settings-list button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:800}.status-good{display:flex;align-items:center;gap:5px;color:#287a58;font-size:.75rem;font-weight:700}.family-name-setting form{display:grid;gap:9px;max-width:440px;margin-top:10px}.family-name-setting form label{color:#4c4855;font-size:.75rem;font-weight:700}.family-name-setting form input{width:100%;min-height:44px;padding:0 12px;border:1px solid #dcd8e3;border-radius:10px;color:var(--ink);background:#fff;outline:none;font-size:1rem}.family-name-setting form input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6657c81a}.family-name-setting form>div{display:flex;justify-content:flex-end;gap:8px}.family-name-setting form .primary-button{padding:0 14px;color:#fff;background:var(--purple)}.family-name-setting form .auth-error{color:#a93652}.family-id{margin-bottom:4px!important;color:#4d3cad!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.merge-family-setting>div{display:grid;gap:9px}.merge-family-setting form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:620px}.merge-family-setting input{min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;font-size:.875rem}.merge-family-setting .secondary-button{border:1px solid #cfc7ed;background:#f6f3ff;padding:0 13px}.merge-status{color:#8a6719!important}.merge-request{display:grid;gap:8px;padding:12px;border:1px solid #cfc7ed;border-radius:10px;background:#f8f6ff}.merge-request>span{display:flex;flex-wrap:wrap;gap:8px}.merge-request .primary-button{padding:0 12px;color:#fff;background:var(--purple)}.app-toast{position:fixed;z-index:70;left:50%;bottom:24px;transform:translate(-50%);width:min(92vw,560px);display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:13px;background:#27242f;color:#fff;box-shadow:var(--shadow);font-size:.75rem}.app-toast>svg:first-child{color:#89dbb6}.app-toast span{flex:1}.app-toast button{display:grid;place-items:center;border:0;background:transparent;color:#ccc7d3}.feedback-fab{position:fixed;z-index:45;right:24px;bottom:24px;min-height:46px;display:flex;align-items:center;gap:8px;padding:0 16px;border:0;border-radius:999px;background:var(--purple);color:#fff;box-shadow:0 12px 30px #4e3fa04d;font-size:.75rem;font-weight:800;cursor:pointer}.feedback-fab svg{width:18px;height:18px}.feedback-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:24px}.feedback-form{min-width:0}.feedback-form>label:not(.feedback-photo-picker){display:grid;gap:8px;color:var(--text-primary);font-size:.875rem;font-weight:800}.feedback-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:17px}.feedback-kinds button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:.75rem;font-weight:700}.feedback-kinds button.active{border-color:#beb5ed;background:var(--lavender);color:var(--purple)}.feedback-kinds svg{width:13px}.feedback-form textarea{width:100%;min-height:145px;padding:12px;border:1px solid var(--separator-strong);border-radius:11px;background:var(--surface-input);color:var(--text-primary);resize:vertical}.feedback-form textarea::placeholder{color:var(--text-tertiary);opacity:1}.feedback-form textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 12%,transparent);outline:none}.feedback-context{display:flex;align-items:flex-start;gap:7px;margin:11px 0;color:var(--muted);font-size:.75rem;line-height:1.45}.feedback-context svg{flex:0 0 auto;color:#2d8a65}.feedback-history{min-width:0;padding-left:23px;border-left:1px solid var(--line)}.feedback-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.feedback-history h3{margin:2px 0 0;font-size:.9375rem}.feedback-history>header>span{min-width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:800}.feedback-history>p{color:var(--muted);font-size:.75rem}.feedback-history>div{max-height:370px;display:grid;gap:9px;overflow:auto}.feedback-history article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfafc}.feedback-history article header,.feedback-history article footer{display:flex;align-items:center;gap:8px}.feedback-history article header time{margin-left:auto;color:var(--muted);font-size:.75rem}.feedback-category{padding:4px 7px;border-radius:999px;background:#f3eafd;color:#7255a6;font-size:.75rem;font-weight:800;text-transform:capitalize}.feedback-category.bug{background:#fff0ed;color:#a64e43}.feedback-category.idea{background:#eef8ef;color:#3b7952}.feedback-history article p{margin:9px 0;color:#4f4a56;font-size:.75rem;line-height:1.5;white-space:pre-wrap}.feedback-history article footer{color:var(--muted);font-size:.75rem}.feedback-history article footer b{color:#45404c}.feedback-history article footer span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-history article footer i{color:#6556b2;font-style:normal;text-transform:capitalize}.feedback-history-tools{display:flex!important;max-height:none!important;grid-template-columns:none!important;flex-wrap:wrap;gap:7px!important;margin:-3px 0 11px;overflow:visible!important}.feedback-history-tools button,.feedback-history article footer button{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--purple);font-size:.75rem;font-weight:800;cursor:pointer}.feedback-history-tools button:disabled{opacity:.55;cursor:wait}.feedback-history article footer button{margin-left:auto;min-height:26px;padding:0 8px;font-size:.75rem}.legal-copy{color:#4f4a56}.legal-copy h3{color:var(--ink)}.legal-copy section{padding:14px 0;border-top:1px solid var(--line)}.legal-copy section:first-of-type{margin-top:18px}.legal-copy h4{margin:0 0 7px;color:var(--ink);font-size:.8125rem}.legal-copy p{margin:0 0 9px;font-size:.75rem;line-height:1.65}.legal-effective{color:var(--muted);font-size:.75rem!important}.legal-note{margin-top:14px!important;padding:11px 13px;border-radius:10px;background:#f8f6fc;color:#6556b2;font-weight:700}.compose-author{display:flex;align-items:center;gap:10px}.compose-author b,.compose-author span{display:block}.compose-author span{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--muted);font-size:.75rem}.compose-form textarea{width:100%;min-height:145px;margin:20px 0;padding:0;border:0;resize:vertical;outline:none;color:var(--ink);font-size:19px;line-height:1.55}.upload-preview{height:190px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}.upload-preview>div{position:relative;overflow:hidden;border-radius:11px}.upload-preview img{width:100%;height:100%;object-fit:cover}.upload-preview button{position:absolute;top:7px;right:7px;width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:50%;background:#1e1b28cc;color:#fff}.compose-tools{display:flex;justify-content:center;padding-top:14px;border-top:1px solid var(--line)}.composer-post-button{width:min(88%,520px);min-height:48px;justify-content:center}.composer-add-shell{margin-left:auto}.photo-policy-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px;padding:12px 13px;border:1px solid #d7eadf;border-radius:12px;background:#f2fbf6;color:#2d7459}.photo-policy-note>svg{flex:0 0 auto;margin-top:1px}.photo-policy-note b,.photo-policy-note small{display:block}.photo-policy-note b{font-size:.75rem}.photo-policy-note small{margin-top:3px;color:#5d756b;font-size:.75rem;line-height:1.45}.compose-form{position:relative}.compose-form.is-dragging:after{content:"Drop photos to add them";position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:3px dashed #7354e8;border-radius:16px;background:#f4f1fff5;color:#5139bd;font-size:1rem;font-weight:850;pointer-events:none}.ingredient-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.composer-add-shell{position:relative}.composer-add-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#ece9ef;color:#38343f;cursor:pointer;transition:transform .16s ease,background .16s ease}.composer-add-button:hover,.composer-add-button.open{background:#ded9e4}.composer-add-button.open{transform:rotate(45deg)}.composer-add-button svg{width:22px;height:22px}.composer-add-menu{position:absolute;z-index:6;right:0;bottom:50px;width:210px;display:grid;gap:4px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 12px 35px #1f1b2a2e}.composer-add-menu label,.composer-add-menu button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:7px 9px;border:0;border-radius:11px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;text-align:left}.composer-add-menu label:hover,.composer-add-menu button:hover{background:#f2f0f5}.composer-add-menu span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--lavender);color:var(--purple)}.composer-add-menu b{font-size:.8125rem}.composer-add-menu input{display:none}.compact-schedule-field{grid-template-columns:auto 1fr minmax(175px,auto) auto;background:#f7f5fa;border-color:var(--line);color:var(--ink)}.compact-schedule-field .icon-button{width:34px;height:34px}.compact-schedule-field>svg{color:var(--purple)}.mention-suggestions{display:grid;gap:6px;margin:-8px 0 14px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 36px #231d3a1f}.mention-suggestions button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.mention-suggestions button:hover,.mention-suggestions button:focus-visible{background:var(--lavender)}.mention-suggestions b{color:var(--purple)}.mention-suggestions span{color:var(--muted);font-size:.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.smart-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:11px;border-radius:10px;background:var(--lavender);color:#5f52ad;font-size:.75rem;line-height:1.45}.smart-note svg{flex:0 0 auto}.event-form select{width:100%;min-height:46px;padding:0 13px;border:1px solid #dcd8e3;border-radius:10px;background:#fff;color:var(--ink)}.post-audience{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfafc}.post-audience>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.post-audience>header b{font-size:.75rem}.post-audience>header button{padding:0;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:800}.post-audience>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.post-audience label{min-height:44px;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.post-audience label.selected{border-color:#bdb3ef;background:var(--lavender)}.post-audience input{position:absolute;opacity:0;pointer-events:none}.post-audience label>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--purple);font-size:.75rem;font-weight:800}.post-audience label b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.post-audience label>svg{width:14px;color:var(--purple);opacity:0}.post-audience label.selected>svg{opacity:1}.invite-panel{display:grid;gap:20px}.invite-family{display:flex;align-items:center;gap:12px}.invite-family b,.invite-family span{display:block}.invite-family span{margin-top:4px;color:var(--muted);font-size:.75rem}.copy-field{display:grid;grid-template-columns:1fr auto}.copy-field input{border-radius:10px 0 0 10px;background:#faf9fc;color:var(--muted)}.copy-field button{display:flex;align-items:center;gap:6px;padding:0 14px;border:0;border-radius:0 10px 10px 0;background:var(--purple);color:#fff;font-weight:700}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-actions button{min-height:45px;display:flex;justify-content:center;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised);color:var(--text-primary);font-weight:700}.invite-panel>p{display:flex;align-items:center;gap:7px;margin:0;color:#2b7457;font-size:.75rem}.relative-add-choices{display:grid;gap:12px}.relative-add-choices .primary-button,.relative-add-choices .secondary-button{width:100%;min-height:48px}.relative-add-choices p,.relative-add-choices small{margin:0;color:var(--muted);text-align:center;line-height:1.5}.relative-add-choices small{font-size:.75rem}.profile-hero{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.profile-hero h3{margin:0;font-size:21px}.profile-hero p{margin:4px 0 7px;color:var(--purple)}.google-profile-source{display:flex;align-items:center;gap:5px;color:#34745c;font-size:.75rem;font-weight:700}.profile-hero button,.profile-section button{padding:0;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:700}.profile-hero button{display:flex;align-items:center;gap:5px}.profile-section{padding:18px 0;border-bottom:1px solid var(--line)}.profile-section h4{margin:0 0 6px}.profile-section p{margin:0 0 9px;color:var(--muted);font-size:.75rem;line-height:1.45}.signout-button{display:flex;align-items:center;gap:7px;margin-top:19px;padding:0;border:0;background:transparent;color:#bf405f;font-weight:700}.legal-copy h3{font-family:inherit;font-size:26px;font-weight:700}.legal-copy p{color:var(--muted);line-height:1.7}.profile-photo-editor{display:grid;justify-items:center;gap:8px;flex:0 0 auto}.profile-photo-editor button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised)}.profile-photo-editor button:disabled{opacity:.6}.profile-photo-note{display:block;margin-top:8px;max-width:280px;color:var(--muted);font-size:.75rem;line-height:1.4}.deletion-panel form{display:grid;gap:12px;margin-top:12px}.deletion-panel label{display:grid;gap:6px;font-size:.75rem;font-weight:700}.deletion-panel input{min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.deletion-warning{display:grid;gap:4px;padding:11px;border-radius:10px;background:#fff5f7;color:#8f2b46;font-size:.75rem}.deletion-actions{display:flex;justify-content:space-between;gap:10px}.deletion-panel .danger-button{padding:0 14px}.dark-mode .deletion-warning{background:#3a252d;color:#ffb6c8}.admin-member-list{display:grid;gap:7px;margin-top:10px}.admin-member-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--line);border-radius:10px}.admin-member-list span{display:grid;gap:2px}.admin-member-list small{color:var(--muted)}.preference-row{display:flex;align-items:center;gap:18px}.preference-row>div{flex:1}.preference-toggle{min-width:68px;min-height:34px;display:flex;align-items:center;gap:7px;padding:4px 9px 4px 5px!important;border-radius:999px!important;background:#ece9f0!important;color:var(--muted)!important}.preference-toggle span{width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #231d352e}.preference-toggle.on{flex-direction:row-reverse;padding:4px 5px 4px 9px!important;background:var(--purple)!important;color:#fff!important}.heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.audience-review{display:grid;gap:15px;margin-bottom:18px}.review-lock{display:flex;align-items:center;gap:12px;padding:14px;border-radius:13px;background:var(--mint);color:#285d49}.review-lock p,.review-preview p{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.review-family-list{display:grid;gap:8px}.review-family-list span{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;font-size:.75rem;font-weight:700}.review-family-list i,.audience-option-list span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-style:normal;font-weight:800}.review-family-list svg{margin-left:auto;color:#2d8a65}.review-preview{padding:13px;border:1px solid var(--line);border-radius:11px;background:#faf9fc}.scheduled-post-field{display:grid;grid-template-columns:auto 1fr minmax(160px,auto);align-items:center;gap:11px;margin:0 0 18px;padding:13px;border:1px solid #ddd6fa;border-radius:12px;background:var(--lavender);color:var(--purple)}.scheduled-post-field>svg{width:22px}.scheduled-post-field b,.scheduled-post-field small{display:block}.scheduled-post-field small{margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:500}.scheduled-post-field input{min-height:38px;padding:0 9px;border:1px solid #d2caee;border-radius:9px;background:#fff;color:var(--ink);font-size:.75rem}.scheduled-posts{display:grid;gap:8px;margin:0 0 24px;padding:15px;border:1px solid #ddd6fa;border-radius:14px;background:linear-gradient(135deg,#f2efff,#fff)}.scheduled-posts>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.scheduled-posts>header>div{display:flex;align-items:center;gap:7px;color:var(--purple)}.scheduled-posts>header>span{color:var(--muted);font-size:.75rem}.scheduled-posts article{padding:10px 12px;border:1px solid rgba(102,87,200,.14);border-radius:10px;background:#fff}.scheduled-posts b,.scheduled-posts small{display:block}.scheduled-posts b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.scheduled-posts small{margin-top:4px;color:var(--muted);font-size:.75rem}.post-kind{margin-left:auto;padding:6px 10px;border-radius:999px;background:#e93286;color:#fff!important;box-shadow:0 5px 14px #e9328633;font-size:.75rem!important;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.post-card.kind-post,.post-card.kind-update{border-top:3px solid #e93286}.kind-event.post-card{border-top:3px solid #20b982}.kind-poll.post-card,.kind-proposal.post-card{border-top:3px solid #7354e8}.kind-recipe.post-card{border-top:3px solid var(--recipe-yellow)}.kind-results.post-card{border-top:3px solid #159ac5}.kind-announcement.post-card{border-top:3px solid #ef7040}.kind-event .post-kind{background:#20b982;color:#fff!important;box-shadow:0 5px 14px #20b98233}.kind-poll .post-kind,.kind-proposal .post-kind{background:#7354e8;color:#fff!important;box-shadow:0 5px 14px #7354e833}.kind-recipe .post-kind{background:var(--recipe-yellow);color:var(--recipe-yellow-ink)!important;box-shadow:0 5px 14px #ffd40038}.kind-results .post-kind{background:#159ac5;color:#fff!important;box-shadow:0 5px 14px #159ac533}.kind-announcement .post-kind{background:#ef7040;color:#fff!important;box-shadow:0 5px 14px #ef704033}.kind-event .inline-rsvp{border-color:#7fdfbd;background:#e9faf3;box-shadow:inset 3px 0 #20b982}.kind-event .inline-rsvp button.selected{border-color:#20a975;background:#20b982;color:#fff;box-shadow:0 4px 10px #20b98233}.kind-event .inline-rsvp button:nth-of-type(3).selected{border-color:#c53e58;background:#d94b66;color:#fff;box-shadow:0 4px 10px #c53e5838}.kind-poll .inline-decision,.kind-proposal .inline-decision{border-color:#c7bcfa;background:#f0edff;box-shadow:inset 3px 0 #7354e8}.kind-poll .inline-decision button.selected,.kind-proposal .inline-decision button.selected{border-color:#7354e8;background:#7354e8;color:#fff;box-shadow:0 4px 10px #7354e833}.post-images{position:relative;padding:0;border:0;background:#f8f7fa;cursor:zoom-in}.post-images-more{position:absolute;z-index:1;inset:0 0 0 calc(50% + 2.5px);display:grid;place-items:center;background:#14111d94;color:#fff;font-size:1.5rem;font-weight:850;letter-spacing:.02em;pointer-events:none}.post-images img,.upload-preview img{object-fit:contain;background:#f4f2f6}.post-detail{display:grid;gap:16px}.post-detail .post-copy{margin:0}.post-detail-images{display:grid;gap:10px}.post-detail-images img{width:100%;max-height:70dvh;object-fit:contain;border-radius:12px;background:#f5f3f7}.discussion{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.discussion h3{margin:0}.discussion article{display:flex;gap:9px}.discussion article>div{padding:9px 11px;border-radius:11px;background:#faf9fc}.discussion b,.discussion small{display:block}.discussion small{margin-top:2px;color:var(--muted);font-size:.75rem}.discussion p{margin:5px 0 0;white-space:pre-wrap;font-size:.75rem;line-height:1.5}.discussion form{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.discussion input{min-width:0;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:.875rem}.comment-composer{display:grid;gap:6px}.dictation-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid #d8d2e5;border-radius:10px;background:#f7f4ff;color:var(--purple);font-size:.75rem;font-weight:800;cursor:pointer}.dictation-button:hover{border-color:#bdb1ef;background:var(--lavender)}.dictation-button.listening{border-color:#e93286;background:#ffe8f1;color:#b9296b}.dictation-button.compact{width:42px;min-width:42px;height:42px;padding:0;border-radius:50%}.dictation-button svg{width:18px;height:18px}.dictation-field{display:grid}.dictation-field>textarea{width:100%}.compose-inline-actions{display:flex;align-items:center;justify-content:space-between;margin:-10px 0 14px}.discussion form{grid-template-columns:auto minmax(0,1fr) auto auto}.comment-mention-suggestions{margin:0 0 0 44px}.comment-author-avatar,.comment-author-name,.mention-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.comment-author-avatar{width:36px;height:36px;flex:0 0 auto;border-radius:50%}.comment-author-name{display:block;font:inherit;font-weight:800;text-align:left}.comment-author-avatar:focus-visible,.comment-author-name:focus-visible{outline:3px solid rgba(102,87,200,.28);outline-offset:3px}.map-person:is(button){width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.map-person:is(button):hover{border-color:#bdb1ef}.section-search{width:min(100%,760px);margin:0 0 18px}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-card{min-height:185px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#fffaf0);color:var(--ink);text-align:left}.recipe-card:hover{border-color:#ddc78c;transform:translateY(-1px)}.recipe-card span{display:inline-block;padding:5px 8px;border-radius:999px;background:#fff0c7;color:#93620e;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.recipe-card h3{margin:14px 0 7px}.recipe-card p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.recipe-card small{display:block;margin-top:15px;color:#9b8b68;font-size:.75rem}.recipe-detail{display:grid;gap:18px}.recipe-detail section{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.recipe-detail h3{margin:0 0 8px}.recipe-detail p{margin:0;white-space:pre-wrap;font-size:.8125rem;line-height:1.65}.recipe-actions{display:flex;flex-wrap:wrap;gap:9px}.recipe-card>img{width:calc(100% + 40px);height:130px;margin:-20px -20px 15px;object-fit:contain;border-radius:16px 16px 0 0;background:#f8f6f0}.recipe-photo-picker{min-height:48px;display:flex!important;align-items:center;justify-content:center;gap:8px;border:1px dashed #cfc8d8;border-radius:11px;background:#faf9fc;color:var(--purple);font-weight:800;cursor:pointer}.recipe-photo-picker input{display:none}.recipe-audience{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft,#faf9fc)}.recipe-audience legend{padding:0 5px;color:var(--ink);font-weight:800}.recipe-audience>p{margin:0 0 11px;color:var(--muted);font-size:.78rem}.recipe-audience .audience-option-list label{cursor:pointer;background:var(--surface-raised,#fff)}.recipe-audience .audience-option-list label.selected{border-color:#b9abfb;background:var(--lavender)}.recipe-audience .audience-option-list label:has(input:disabled){cursor:default}.recipe-audience .audience-option-list small{margin-left:auto;color:var(--muted);font-size:.7rem;font-weight:650}.recipe-audience .audience-option-list input:disabled{opacity:.7}.recipe-import-row{display:flex;align-items:center;gap:8px}.recipe-import-row input{min-width:0;flex:1}.recipe-import-row .secondary-button{white-space:nowrap}.recipe-import-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recipe-import-details label,.recipe-import-details input{min-width:0}.event-form>label>small{display:block;margin-top:5px;color:var(--muted);font-size:.75rem;font-weight:600}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.album-card{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 5px 20px #2f28440a}.album-card>img,.album-placeholder{width:100%;height:180px;display:grid;place-items:center;object-fit:contain;background:#f5f3f7;color:var(--purple)}.album-card>div{padding:16px}.album-card small{color:var(--purple);font-weight:800;text-transform:uppercase}.album-card h3{margin:7px 0 5px}.album-card p{margin:0;color:var(--muted);font-size:.75rem}.album-detail{display:grid;gap:14px}.album-actions{display:flex;flex-wrap:wrap;gap:9px}.album-cast-note,.album-permission-note{margin:0;color:var(--muted);font-size:.75rem}.album-contribution-setting{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle,#faf9fc);color:var(--ink);cursor:pointer}.album-contribution-setting input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0}.album-contribution-setting span{display:grid;gap:3px}.album-contribution-setting small{color:var(--muted);font-weight:400}.album-slideshow{position:relative;min-height:360px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#17151d;color:#fff;touch-action:pan-y;-webkit-user-select:none;user-select:none}.album-slideshow img{width:100%;max-height:65vh;grid-column:1/-1;grid-row:1;object-fit:contain;pointer-events:none}.album-slideshow button{z-index:2;grid-row:1;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffffd9;color:var(--ink)}.album-slideshow button:first-of-type{grid-column:1}.album-slideshow button:last-of-type{grid-column:3}.album-slideshow span{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:5px 9px;border-radius:999px;background:#0009;font-size:.75rem}.mobile-create-button{display:none}.decision-list{display:grid;gap:14px}.decision-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.decision-card.poll{background:linear-gradient(145deg,#fff,#faf8ff)}.decision-card.proposal{background:linear-gradient(145deg,#fff,#fff9ef)}.decision-card>span{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.decision-card.proposal>span{background:#fff0c7;color:#93620e}.decision-card h3{margin:12px 0 4px}.decision-card>small{color:var(--muted);font-size:.75rem}.decision-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.decision-card>div button{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}.decision-card>div button:not(:disabled):hover,.decision-card>div button.selected{border-color:#9488df;background:var(--lavender)}.decision-card>div button:disabled{cursor:default}.decision-card em{color:var(--muted);font-size:.75rem;font-style:normal}.decision-card>p{margin:14px 0 0;color:#5f5798;font-size:.75rem}.decision-options{display:grid;gap:8px}.decision-options b{font-size:.75rem}.decision-options input{width:100%;min-height:44px;padding:0 12px;border:1px solid #dcd8e3;border-radius:10px}.decision-options .text-button{justify-self:start}.capsule-shelf{display:grid;grid-template-columns:1.1fr repeat(2,1fr);gap:11px;margin-bottom:24px;padding:17px;border:1px solid #ddd6fa;border-radius:16px;background:linear-gradient(135deg,#f2efff,#fff)}.capsule-shelf h3{margin:0}.capsule-shelf article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(102,87,200,.14);border-radius:12px;background:#fff}.capsule-shelf article>svg{color:var(--purple)}.capsule-shelf b,.capsule-shelf span{display:block}.capsule-shelf b{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.capsule-shelf span{margin-top:3px;color:var(--muted);font-size:.75rem}.timeline-list{display:grid;gap:26px}.timeline-list>section>header{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;margin-bottom:11px}.timeline-list>section>header>span{width:10px;height:10px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 5px var(--lavender)}.timeline-list h2{margin:0;font-size:1.125rem}.timeline-list header small{color:var(--muted)}.timeline-list>section>div{display:grid;gap:9px;margin-left:4px;padding-left:21px;border-left:2px solid #e7e3ef}.timeline-list article{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.timeline-list time{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--mint);color:#247356;font-weight:800}.timeline-list article p{margin:5px 0;color:var(--muted);font-size:.75rem;line-height:1.5}.timeline-list article img{width:100%;max-height:150px;margin-top:9px;object-fit:cover;border-radius:10px}.archive-preview{display:grid;gap:10px}.archive-preview>header{display:flex;justify-content:space-between;padding:14px;border-radius:12px;background:var(--lavender)}.archive-preview article{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.archive-preview time{color:var(--purple);font-size:.75rem;font-weight:700}.archive-preview p{margin:4px 0;color:var(--muted);font-size:.75rem}.family-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-person{position:relative;min-height:110px;display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.map-person.approved{background:linear-gradient(145deg,#fff,#f7f4ff)}.map-person h3{margin:0 0 4px;font-size:.875rem}.map-person p{margin:0;color:var(--muted);font-size:.75rem}.map-person span{display:block;margin-top:7px;color:#6a60ad;font-size:.75rem;font-weight:700}.map-person>svg{position:absolute;top:13px;right:13px;color:#3b9672}.event-form textarea{width:100%;min-height:120px;padding:12px;border:1px solid #dcd8e3;border-radius:10px;resize:vertical}.library-search{display:flex;align-items:center;gap:9px;min-height:46px;margin-bottom:17px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.library-search svg{flex:0 0 auto;color:var(--muted)}.library-search input{width:100%;border:0;outline:0;background:transparent}.library-search button{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;background:#f3f0f7;color:var(--muted)}.library-error{display:flex;align-items:center;gap:9px;margin-bottom:15px;padding:12px 14px;border:1px solid #efd3cf;border-radius:12px;background:#fff6f4;color:#8b453d;font-size:.75rem}.library-error span{flex:1}.library-error button{border:0;background:transparent;color:#8b453d;font-weight:800}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.library-grid article{min-height:190px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.library-grid article>span{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.library-grid h3{margin:14px 0 8px}.library-grid p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical;color:var(--muted);font-size:.75rem;line-height:1.55;white-space:pre-wrap}.library-grid footer{margin-top:14px;color:var(--muted);font-size:.75rem}.request-list{display:grid;gap:11px}.request-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.request-list h3{margin:0 0 4px}.request-list p{margin:0;color:var(--muted);font-size:.75rem}.request-list span{display:block;margin-top:6px;color:var(--muted);font-size:.75rem}.request-list article>div:last-child{display:flex;gap:8px}.post-options{display:grid;gap:15px}.audience-option-list{display:grid;gap:8px}.audience-option-list label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:11px}.audience-option-list input{accent-color:var(--purple)}.audience-option-list b{font-size:.75rem}.post-options-actions{display:flex;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid var(--line)}.danger-button{min-height:42px;padding:0 14px;border:1px solid #f1c7d1;border-radius:11px;background:#fff5f7;color:#b33151;font-weight:700}.accessible-mode{font-size:1.125rem}.accessible-mode .app-sidebar nav button{min-height:52px;font-size:.9375rem}.accessible-mode .feed-search input,.accessible-mode .page-heading>div>p:last-child,.accessible-mode .post-copy{font-size:.9375rem}.accessible-mode .primary-button,.accessible-mode .secondary-button{min-height:50px;font-size:.9375rem}.accessible-mode .post-card>header b{font-size:.9375rem}.accessible-mode .post-card>header span,.accessible-mode .post-card>footer button{font-size:.75rem}.accessible-mode .app-main{padding-left:34px;padding-right:34px}.family-space-list b,.space-switch b{white-space:normal;line-height:1.25}.inline-rsvp,.inline-decision{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 18px 15px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#faf9fc}.inline-rsvp>b,.inline-decision>b{width:100%;font-size:.75rem}.inline-rsvp button,.inline-decision button{min-height:38px;display:flex;align-items:center;gap:5px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:700}.inline-rsvp button.selected,.inline-decision button.selected{border-color:var(--purple);background:var(--lavender);color:var(--purple)}.inline-decision button{width:100%;justify-content:space-between;border-radius:10px}.create-menu-grid{display:grid;gap:9px}.create-menu-grid>button{min-height:74px;display:grid;grid-template-columns:40px 1fr 20px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left}.create-menu-grid>button>svg:first-child{color:var(--purple)}.create-menu-grid span b,.create-menu-grid span small{display:block}.create-menu-grid span small{margin-top:4px;color:var(--muted);line-height:1.35}.profile-details>div:first-child{display:flex;justify-content:space-between;align-items:center}.profile-details>div:first-child button{border:0;background:transparent;color:var(--purple);font-weight:800}.profile-details form{display:grid;gap:10px;margin-top:13px}.profile-details form label{display:grid;gap:5px;font-size:.75rem;font-weight:700}.profile-details input,.profile-details textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit}.profile-details textarea{min-height:80px;resize:vertical}.profile-facts{display:grid;gap:8px;margin-top:10px}.profile-facts p{margin:0}.profile-facts b{display:block;margin-bottom:2px;color:var(--muted);font-size:.75rem;text-transform:uppercase}.feed-search-shell{min-height:47px;display:flex;justify-content:flex-end;align-items:center;margin:-13px 0 28px}.search-trigger{width:47px;height:47px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 4px 18px #2f28440d}.search-trigger:hover{border-color:#cfc7ec;color:var(--purple)}.feed-search-shell.open .search-trigger{display:none}.feed-search-shell .feed-search{flex:1;margin:0}.feed-first-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:-13px 0 24px}.feed-first-row .feed-create-hub{margin:0}.feed-search-inline{min-height:47px;margin:0}.feed-search-inline.open{width:min(360px,36vw)}.feed-heading{margin-bottom:22px}.feed-create-hub{overflow:hidden;border:1px solid #d8d2e5;border-radius:17px;background:#fff;box-shadow:0 8px 28px #30284812}.feed-create-prompt{width:100%;min-height:75px;display:flex;align-items:center;gap:13px;padding:15px 17px;border:0;background:#fff;color:var(--ink);text-align:left}.feed-create-prompt>span{min-width:0;flex:1}.feed-create-prompt b,.feed-create-prompt small{display:block}.feed-create-prompt b{color:#24212a;font-size:.9375rem;letter-spacing:-.15px}.feed-create-prompt small{margin-top:4px;color:#77717f;font-size:.75rem}.feed-create-prompt>svg{color:var(--purple)}.feed-create-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#fbfafc}.feed-create-actions button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-right:1px solid var(--line);background:transparent;color:#46414d;font-size:.75rem;font-weight:800}.feed-create-actions button:last-child{border-right:0}.feed-create-actions button:hover{background:var(--lavender);color:var(--purple)}.feed-create-actions button:nth-child(1) svg{color:#e93286}.feed-create-actions button:nth-child(2) svg{color:#20b982}.feed-create-actions button:nth-child(3) svg{color:#7354e8}.feed-create-actions button:nth-child(4) svg{color:#efad24}.section-tabs{display:flex;flex-wrap:wrap;gap:7px;width:max-content;max-width:100%;margin:0 0 22px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#f7f5fa}.section-tabs button{min-height:39px;display:flex;align-items:center;gap:7px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:800}.section-tabs button.active{background:#fff;color:var(--purple);box-shadow:0 3px 12px #342b4f17}.combined-section>.section-tabs{margin-top:-13px}.calendar-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 6px 24px #3028480d}.calendar-card>header{min-height:76px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.calendar-card>header>button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--purple)}.calendar-card>header>div{text-align:center}.calendar-card h2{margin:0;font-size:1.375rem}.calendar-card>header>div button{margin-top:4px;padding:0;border:0;background:transparent;color:var(--purple);font-size:.75rem;font-weight:800}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:0 10px;background:#faf9fc}.calendar-weekdays b{padding:10px 4px;color:var(--muted);font-size:.75rem;text-align:center;text-transform:uppercase}.calendar-grid{padding:0 10px 10px}.calendar-grid article{min-height:93px;padding:8px;border-right:1px solid #eeeaf1;border-bottom:1px solid #eeeaf1}.calendar-grid article:nth-child(7n){border-right:0}.calendar-grid article.blank{background:#fcfbfd}.calendar-grid article>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--ink);font-size:.75rem;font-weight:800}.calendar-grid article p{overflow:hidden;margin:5px 0 0;padding:5px 6px;border-radius:7px;font-size:.75rem;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-grid article p.event{background:#dcf5ea;color:#23755a}.calendar-grid article p.birthday{background:#ffe8f1;color:#b9296b}.calendar-legend{display:flex;gap:18px;margin-top:12px;color:var(--muted);font-size:.75rem}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:3px}.calendar-legend i.event{background:#20b982}.calendar-legend i.birthday{background:#e93286}.calendar-grid article p.holiday{background:#fff0c7;color:#8a5a0b}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:11px 13px;border:1px solid #eadcae;border-radius:12px;background:#fffaf0}.calendar-toolbar p{margin:0;color:#746547;font-size:.75rem}.calendar-legend{flex-wrap:wrap}.calendar-legend i.holiday{background:var(--recipe-yellow)}.calendar-page:not(.embedded){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.calendar-page:not(.embedded)>header{grid-column:1/-1}.calendar-page:not(.embedded)>.digital-calendar-photo-panel,.calendar-page:not(.embedded)>.calendar-card{min-width:0;height:100%;margin-bottom:0}.digital-calendar-photo-panel{overflow:hidden;display:flex;flex-direction:column;margin-bottom:12px;border:1px solid #ded5ca;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#f7f0e5);box-shadow:0 8px 26px #503d2714}.digital-calendar-photo-panel>header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 13px;border-bottom:1px solid rgba(123,94,59,.14)}.digital-calendar-photo-panel>header p,.digital-calendar-photo-panel>header h2,.digital-calendar-photo-panel>header span{margin:0}.digital-calendar-photo-panel>header p{color:#8d6a3f;font-size:.6875rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.digital-calendar-photo-panel>header h2{margin-top:3px;color:#2c261f;font-size:1.25rem;letter-spacing:-.02em}.digital-calendar-photo-panel>header span{display:block;margin-top:3px;color:#766b5f;font-size:.75rem}.digital-calendar-photo-panel>header>div:last-child{display:flex;gap:7px}.digital-calendar-photo-panel>header button,.digital-calendar-lightbox>.secondary-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid rgba(96,74,49,.18);border-radius:10px;background:#ffffffb8;color:#67503a;font-weight:800}.digital-calendar-photo-panel>header button:disabled{opacity:.42}.digital-calendar-collage{position:relative;width:100%;height:320px;min-height:0;flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;padding:7px;box-sizing:border-box;overflow:hidden;border:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.82),transparent 48%),linear-gradient(135deg,#eee0cd,#f8f1e7);cursor:zoom-in;container-type:inline-size}.digital-calendar-collage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.24;background-image:repeating-linear-gradient(0deg,transparent 0 23px,rgba(116,86,49,.08) 24px);pointer-events:none}.calendar-polaroid{position:relative;min-width:0;min-height:0;overflow:hidden;border:0;border-radius:10px;background:transparent;transform:none;transition:filter .2s ease}.digital-calendar-collage:hover .calendar-polaroid{filter:brightness(1.04)}.calendar-polaroid i{display:none}.calendar-polaroid img{width:100%;height:100%;display:block;border:0;border-radius:inherit;object-fit:cover;background:#ece8e1}.digital-calendar-empty{min-height:230px;display:grid;place-items:center;align-content:center;gap:8px;padding:32px;color:#776b5e;text-align:center}.digital-calendar-empty>svg{width:42px;height:42px;color:#9a7650}.digital-calendar-empty h3,.digital-calendar-empty p{margin:0}.digital-calendar-empty h3{color:#3f372f;font-size:1rem}.digital-calendar-empty p{max-width:330px;font-size:.75rem;line-height:1.5}.digital-calendar-lightbox{display:grid;gap:13px}.digital-calendar-lightbox>header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}.digital-calendar-lightbox>header b{text-align:center}.digital-calendar-lightbox>header button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised,#fff);color:var(--purple)}.digital-calendar-collage.expanded{height:min(520px,65vh);border-radius:14px;cursor:default}.digital-calendar-collage .calendar-polaroid:nth-child(1){grid-column:span 2;grid-row:span 2}@container (max-width: 380px){.digital-calendar-collage .calendar-polaroid:nth-child(n+4){display:none}}@container (min-width: 381px) and (max-width: 560px){.digital-calendar-collage .calendar-polaroid:nth-child(n+5){display:none}}@container (min-width: 561px) and (max-width: 760px){.digital-calendar-collage .calendar-polaroid:nth-child(n+7){display:none}}@container (min-width: 561px){.digital-calendar-collage{grid-template-columns:repeat(4,minmax(0,1fr))}.digital-calendar-collage .calendar-polaroid:nth-child(1){grid-column:span 2;grid-row:span 2}}@container (min-width: 761px){.digital-calendar-collage .calendar-polaroid:nth-child(n+10){display:none}}.digital-calendar-lightbox>.secondary-button{justify-self:center;color:var(--purple)}.app-layout.dark-mode .digital-calendar-photo-panel{border-color:#4a4136;background:linear-gradient(145deg,#26221d,#1f1c18)}.app-layout.dark-mode .digital-calendar-photo-panel>header{border-color:#4a4136}.app-layout.dark-mode .digital-calendar-photo-panel>header h2,.app-layout.dark-mode .digital-calendar-empty h3{color:var(--text-primary)}.app-layout.dark-mode .digital-calendar-photo-panel>header p,.app-layout.dark-mode .digital-calendar-photo-panel>header span,.app-layout.dark-mode .digital-calendar-empty{color:var(--text-secondary)}.app-layout.dark-mode .digital-calendar-photo-panel>header button{border-color:#51473c;background:#312b24;color:#e9d4b8}.app-layout.dark-mode .digital-calendar-collage{background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.08),transparent 48%),linear-gradient(135deg,#2c251d,#181510)}.app-layout.dark-mode .calendar-polaroid{border-color:#71685f;background:#f3eee6}.calendar-day-detail{margin-top:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.calendar-day-detail header{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-day-detail h3{margin:0;font-size:1.0625rem}.calendar-day-detail header button{border:0;background:transparent;color:var(--purple);font-weight:800}.calendar-day-detail>div{display:grid;gap:8px;margin-top:12px}.calendar-day-detail article{padding:11px 12px;border-radius:10px;background:#faf9fc}.calendar-day-detail article b,.calendar-day-detail article small{display:block}.calendar-day-detail article small{margin-top:3px;color:var(--muted)}.calendar-grid article.has-items{cursor:pointer}.calendar-grid article.has-items:hover{background:#faf8ff}.feed-create-actions{grid-template-columns:repeat(3,1fr)}.poll-suggestion{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.poll-suggestion input{min-width:0;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:10px}.notification-center{display:grid;gap:28px}.embedded-access-requests{padding-top:24px;border-top:1px solid var(--line)}.embedded-access-requests>header h2{margin:3px 0 7px}.embedded-access-requests>header>p:last-child{margin:0 0 16px;color:var(--muted);font-size:.75rem}@media(max-width:1190px){.public-header{padding:0 24px}.hero{padding:55px 24px 85px;grid-template-columns:1fr}.hero-copy{max-width:680px}.hero-product{transform:none;overflow:hidden}.snapshot{width:100%}.app-layout{grid-template-columns:215px minmax(480px,1fr)}.app-right{display:none}}@media(max-width:820px){.calendar-page:not(.embedded){display:block}.calendar-page:not(.embedded)>.digital-calendar-photo-panel{height:auto}.public-header nav{display:none}.hero h1{font-size:3.625rem}.snapshot{grid-template-columns:175px 1fr}.snapshot-events{display:none}.steps-grid{grid-template-columns:1fr}.steps-grid article{min-height:auto}.story-section{grid-template-columns:1fr;gap:42px}.story-photo{height:460px}.feature-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.multi-family-callout{grid-template-columns:58px 1fr}.multi-family-callout .secondary-button{grid-column:2;justify-self:start}.privacy-section{grid-template-columns:60px 1fr}.privacy-section .secondary-button{grid-column:2;justify-self:start}.app-layout{display:block}.app-sidebar{display:none}.mobile-app-header{position:sticky;z-index:40;top:0;min-height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-app-header .brand{flex:0 0 auto}.mobile-app-header>.icon-button{flex:0 0 auto}.mobile-header-search{width:42px;height:42px;border-radius:12px;background:#fff}.mobile-family-select{min-width:0;max-width:280px;height:42px;flex:1;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:1rem;font-weight:700}.app-main{padding:18px max(10px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.feed-search{margin-top:0}.post-images{height:min(52vw,320px)}.album-grid,.recipe-grid{grid-template-columns:1fr}.album-slideshow{min-height:280px;grid-template-columns:44px 1fr 44px;padding:8px}.mobile-bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;min-height:calc(66px + env(safe-area-inset-bottom));padding:6px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);background:#fffffffa;box-shadow:0 -5px 16px #28223b12}.mobile-bottom-nav button{min-width:0;min-height:54px;display:grid;place-items:center;align-content:center;gap:3px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:#777181;font-size:.75rem;font-weight:700}.mobile-bottom-nav button svg{width:22px;height:22px}.mobile-bottom-nav button.active{color:var(--purple);background:var(--lavender)}.feedback-fab,.app-toast{bottom:calc(78px + env(safe-area-inset-bottom))}.mobile-menu-list{display:grid;gap:5px}.mobile-menu-list button{min-height:54px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#5e5967;text-align:left;font-weight:700}.mobile-menu-list button>svg:first-child{color:var(--purple)}.mobile-menu-list button>svg:last-child{color:#aaa4b2}.mobile-menu-list button.active{background:var(--lavender);color:var(--purple)}.feedback-panel{grid-template-columns:1fr}.feedback-history{padding:20px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:600px){.public-header{height:70px;padding:0 16px}.header-actions .text-button{display:inline-flex;padding:8px 4px;font-size:.75rem}.public-header .primary-button{min-height:40px;padding:0 13px;font-size:.75rem}.hero{min-height:auto;padding:38px 16px 60px;gap:42px}.hero h1{font-size:2.9375rem;letter-spacing:-2.8px}.hero-lede{font-size:1.0625rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px}.hero-product{margin:0 -16px}.snapshot{min-height:570px;grid-template-columns:1fr;border-radius:18px}.snapshot>aside:first-child{display:none}.snapshot>main{padding:24px 14px}.snapshot-images{height:225px}.section-wrap{padding:75px 18px}.section-intro h2,.story-copy h2,.final-cta h2{font-size:2.4375rem;letter-spacing:-1.8px}.story-photo{height:390px}.feature-list{grid-template-columns:1fr}.feature-showcase{padding-top:40px}.feature-showcase-grid{grid-template-columns:1fr}.feature-showcase-grid article{min-height:auto}.multi-family-callout{grid-template-columns:1fr;padding:24px}.multi-family-callout .secondary-button{grid-column:1;width:100%;justify-content:center}.privacy-section{margin:0 16px 75px;padding:35px 24px;grid-template-columns:1fr}.privacy-section .secondary-button{grid-column:1}.privacy-section h2{font-size:2.125rem}.faq-grid{grid-template-columns:1fr}.final-cta{margin:0 16px 75px;padding:58px 20px}.marketing-site>footer{padding:28px 18px 38px;flex-wrap:wrap}.marketing-site>footer>p{width:100%;order:3;flex:none}.marketing-site>footer nav{margin-left:auto}.modal-backdrop{align-items:end;padding:0}.modal-card{width:100%;max-height:calc(94dvh - env(safe-area-inset-top));padding:20px max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-radius:16px 16px 0 0;box-shadow:0 -8px 28px #1613213d}.modal-card.wide{width:100%}.modal-heading{position:sticky;z-index:2;top:-20px;margin:-20px -18px 20px;padding:18px 18px 12px;background:#fff;border-bottom:1px solid var(--line)}.modal-heading .icon-button{width:44px;height:44px;flex:0 0 auto}.form-grid{grid-template-columns:1fr}.compose-tools{display:grid}.composer-add-menu label,.composer-add-menu button{min-height:48px;justify-content:flex-start}.compact-schedule-field{grid-template-columns:auto 1fr auto}.compact-schedule-field input{grid-column:1 / -1;width:100%}.upload-preview{height:auto;grid-template-columns:1fr 1fr}.upload-preview>div{aspect-ratio:1}.upload-preview button{width:36px;height:36px}.flow-card{width:calc(100% - 28px);margin:20px auto 36px;padding:26px 20px;border-radius:16px;box-shadow:none}.flow-card h1{font-size:30px;letter-spacing:-1px}.simple-flow>header{height:68px;padding:env(safe-area-inset-top) 16px 0}.auth-form input,.event-form input,.event-form select,.event-form textarea,.simple-flow input,.simple-flow select,.copy-field input,.feedback-form textarea,.library-search input,.feed-search input,.comments form input{font-size:1rem}.check-row input,.all-day-field input{min-width:22px!important;width:22px!important;min-height:22px!important}.check-row button{min-height:30px}.discussion,.comment-composer,.discussion form{min-width:0}.discussion form{grid-template-columns:minmax(0,1fr) 42px minmax(68px,auto)}.discussion form>.avatar{display:none}.discussion form .primary-button{min-width:68px;padding:0 12px}.comment-mention-suggestions{margin-left:0}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.page-heading>div{min-width:0;flex:1}.page-heading h1{font-size:26px;letter-spacing:-.8px}.page-heading>.secondary-button{font-size:0;width:44px;min-height:44px;padding:0}.page-heading>.secondary-button svg{width:19px;height:19px}.page-heading>.primary-button{min-height:44px;padding:0 13px;font-size:.75rem}.heading-actions{display:grid;grid-template-columns:1fr 1fr}.heading-actions .secondary-button,.heading-actions .primary-button{width:100%}.feed-composer{min-height:58px;align-items:center}.feed-composer>span:nth-child(2){font-size:.8125rem;line-height:1.35}.composer-action{font-size:0}.composer-action svg{width:21px;height:21px}.post-card{border-radius:13px}.post-card>header{padding:15px 14px 0}.post-copy{margin:15px 14px;font-size:.875rem}.post-images{height:auto;aspect-ratio:4 / 3}.post-card>footer{gap:8px;padding:10px 11px}.post-card>footer button{min-height:44px;padding:0 5px;font-size:.75rem}.full-event{grid-template-columns:58px 1fr;gap:12px;padding:13px}.full-event>time{min-height:64px}.full-event time b{font-size:1.4375rem}.full-event h3{font-size:1rem}.event-actions{display:grid;grid-template-columns:1fr;gap:4px}.event-actions button{min-height:44px;justify-content:flex-start}.member-grid{grid-template-columns:1fr}.notification-card{grid-template-columns:38px 1fr}.notification-card time{display:none}.settings-list article{align-items:flex-start;flex-direction:column;gap:11px}.settings-list button{min-height:44px}.preference-row{align-items:flex-start}.preference-toggle{min-width:72px;min-height:44px}.copy-field{grid-template-columns:minmax(0,1fr) auto}.copy-field button{min-width:74px;padding:0 10px}.share-actions{grid-template-columns:1fr}.post-audience>div{grid-template-columns:1fr}.post-audience label{min-height:50px}.scheduled-post-field{grid-template-columns:1fr}.scheduled-post-field>svg{display:none}.scheduled-post-field input{grid-column:auto;width:100%;font-size:1rem}.feedback-fab{right:max(12px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));width:48px;min-height:48px;justify-content:center;padding:0;box-shadow:0 5px 12px #4e3fa03d}.feedback-fab span{display:none}.feedback-kinds{grid-template-columns:1fr}.feedback-kinds button{min-height:46px}.app-toast{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));width:auto;transform:none}.feedback-history>div{max-height:none}.legal-copy p{font-size:.8125rem}.profile-hero{align-items:flex-start}.profile-hero .avatar-xl{width:72px;height:72px}.feed-search-shell{min-height:44px;margin:0 0 18px}.search-trigger{width:44px;height:44px}.feed-first-row{grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 14px}.feed-search-inline{margin:0}.feed-search-inline:not(.open){display:none}.feed-search-inline.open{grid-column:1;grid-row:2;width:100%;z-index:2}.feed-create-prompt{min-height:88px;padding:14px;border-radius:16px}.feed-create-prompt b{font-size:.875rem}.feed-create-prompt small{font-size:.75rem}.feed-create-actions{display:none}.feed-heading{margin-bottom:14px}.digital-calendar-photo-panel>header{align-items:flex-start;flex-direction:column;padding:14px}.digital-calendar-photo-panel>header>div:last-child{width:100%}.digital-calendar-photo-panel>header button{flex:1;min-height:44px}.digital-calendar-collage{height:300px;flex:none}.calendar-polaroid{padding:0}.digital-calendar-collage.expanded{height:min(430px,58vh)}.digital-calendar-empty{min-height:190px;padding:24px 18px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar button{width:100%}.calendar-card>header{min-height:68px;grid-template-columns:40px 1fr 40px;gap:6px;padding:9px}.calendar-card>header>button{width:40px;height:40px}.calendar-card h2{font-size:1.125rem}.calendar-weekdays,.calendar-grid{padding-left:4px;padding-right:4px}.calendar-weekdays b{padding:9px 1px;font-size:.75rem}.calendar-grid{padding-bottom:5px}.calendar-grid article{min-height:67px;padding:5px 3px}.calendar-grid article>span{width:22px;height:22px;font-size:.75rem}.calendar-grid article p{width:8px;height:8px;margin:4px 2px 0;padding:0;display:inline-block;border-radius:50%;font-size:0}.calendar-legend{gap:12px;font-size:.75rem}}@media(max-width:600px){.heading-actions{width:100%;justify-content:flex-start}.heading-actions .secondary-button,.heading-actions .primary-button{font-size:.75rem}.capsule-shelf,.family-map-grid,.library-grid{grid-template-columns:1fr}.scheduled-post-field{grid-template-columns:auto 1fr}.scheduled-post-field input{grid-column:1 / -1}.scheduled-posts>header{align-items:flex-start;flex-direction:column}.request-list article{grid-template-columns:auto 1fr}.request-list article>div:last-child{grid-column:1 / -1;justify-content:flex-end}.post-options-actions{flex-direction:column-reverse}.post-options-actions button{width:100%}.timeline-list>section>div{padding-left:13px}}@media(prefers-reduced-motion:no-preference){.primary-button,.secondary-button,.public-header a{transition:background .16s ease,border .16s ease,color .16s ease,transform .16s ease}}@media(pointer:coarse){.icon-button{width:44px;height:44px}.text-button,.rail-link,.settings-list button,.profile-section button,.signout-button{min-height:44px}.faq-grid summary{min-height:44px;display:flex;align-items:center}.marketing-site>footer nav button{min-height:44px}}@media(max-width:380px){.mobile-app-header .brand{font-size:1rem;letter-spacing:-.6px}.mobile-family-select{max-width:none}.mobile-bottom-nav{padding-left:3px;padding-right:3px}.mobile-bottom-nav button{font-size:.75rem}.public-header .brand{font-size:1.25rem}.public-header .primary-button{padding:0 10px}.hero h1{font-size:2.5625rem}.section-intro h2,.story-copy h2,.final-cta h2{font-size:2.125rem}.page-heading>.primary-button{width:100%}.request-list article{grid-template-columns:1fr}.request-list article>.avatar{width:48px;height:48px}.request-list article>div:last-child{grid-column:auto;justify-content:stretch}.request-list article>div:last-child button{flex:1}.profile-hero{flex-direction:column}}.post-images{width:100%}.post-images.count-1 img{width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:center}@media(orientation:landscape)and (max-height:520px)and (max-width:920px){.mobile-app-header{position:relative}.modal-card{max-height:100dvh}.app-main{padding-top:18px}.post-images{max-height:72vh}}.rail-notifications{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--separator)}.rail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.rail-section-heading h3{margin:0;font-size:1rem}.rail-section-heading .icon-button{position:relative}.rail-section-heading .unread-dot{position:absolute;top:5px;right:5px}.rail-notification{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 8px;padding:10px;border:1px solid var(--separator);border-radius:12px;background:var(--surface-raised);color:var(--text-primary);text-align:left}.rail-notification.unread{border-color:#ef89ac;box-shadow:inset 3px 0 #e62962}.rail-notification>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--surface-subtle);color:var(--purple)}.rail-notification>span svg{width:17px;height:17px}.rail-notification div{min-width:0;display:grid;gap:3px}.rail-notification b,.rail-notification small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-notification b{font-size:.75rem}.rail-notification small{color:var(--text-tertiary);font-size:.6875rem}.rail-link.compact{margin:4px 0 0;min-height:36px}.rail-empty.compact{min-height:74px}.feedback-form{position:relative}.feedback-dragging .feedback-form:after{content:"Drop screenshots or photos here";position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;border:2px dashed var(--accent);border-radius:16px;background:color-mix(in srgb,var(--surface-raised) 92%,var(--accent));color:var(--accent-strong);font-size:1rem;font-weight:850;text-align:center;pointer-events:none}.app-layout :where(.app-sidebar,.app-right,.mobile-app-header,.mobile-bottom-nav,.post-card,.feed-create-hub,.feed-search,.search-trigger,.modal-card,.calendar-card,.calendar-day-detail,.event-card,.full-event,.recipe-card,.decision-card,.library-grid article,.settings-list article,.member-grid article,.notification-card,.request-list article,.timeline-list article,.section-tabs button.active,.comments .comment>div,.social-button,.secondary-button,.space-switch,.profile-section){border-color:var(--separator)}.app-layout :where(input,textarea,select){color:var(--text-primary)}.app-layout :where(input,textarea,select)::placeholder{color:var(--text-tertiary);opacity:1}.appearance-setting{display:grid;gap:12px}.appearance-setting h4,.appearance-setting p{margin:0}.appearance-setting p{margin-top:5px;color:var(--text-tertiary);font-size:.75rem;line-height:1.45}.appearance-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border:1px solid var(--separator);border-radius:13px;background:var(--surface-subtle)}.appearance-options button{min-height:42px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font-weight:800}.appearance-options button.active{background:var(--surface-elevated);color:var(--accent);box-shadow:0 2px 9px #241c3a1f}.dark-mode :where(.app-main,.feed-list,.marketing-site){color:var(--text-primary)}.dark-mode :where(.feed-create-prompt,.feed-create-actions,.feed-search,.search-trigger,.mobile-header-search,.mobile-family-select,.calendar-card,.calendar-card>header,.calendar-day-detail,.calendar-day-detail article,.full-event,.decision-card,.library-grid article,.settings-list article,.member-grid article,.notification-card,.request-list article,.timeline-list article,.section-tabs button.active,.comments,.comment>div,.link-preview,.rail-empty,.all-day-field,.social-button,.secondary-button,.upload-preview,.composer-add-menu,.post-audience,.post-audience label,.profile-section,.appearance-options button.active){background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.dark-mode :where(.modal-card,.modal-heading,.composer-add-menu,.mention-suggestions,.appearance-options button.active){background:var(--surface-elevated)}.dark-mode :where(.feed-create-actions,.comments,.calendar-weekdays,.calendar-grid article.blank,.calendar-day-detail article,.section-tabs,.appearance-options,.rail-empty,.all-day-field,.link-preview){background:var(--surface-subtle)}.dark-mode :where(.feed-create-prompt b,.feed-create-actions button,.post-author-name,.post-copy,.page-heading h1,.page-heading h2,.calendar-card h2,.settings-list h3,.recipe-card h3,.event-card h3,.profile-section h4,.mobile-bottom-nav button){color:var(--text-primary)}.dark-mode :where(.feed-create-prompt small,.post-card>header span,.post-card>footer button,.page-heading p,.calendar-weekdays b,.calendar-day-detail small,.profile-section p,.comments p,.caught-up,.feed-empty p){color:var(--text-tertiary)}.dark-mode .mobile-app-header{background:color-mix(in srgb,var(--surface-raised) 94%,transparent)}.dark-mode .mobile-bottom-nav{background:color-mix(in srgb,var(--surface-raised) 97%,transparent)}.dark-mode .post-card{background:var(--surface-raised);box-shadow:0 8px 28px #0000003d}.dark-mode .post-card>header small{color:#b8aeff}.dark-mode .mention-link{color:#ff70ad}.dark-mode .post-link{color:#79b8ff}.dark-mode .avatar-stack .avatar{border-color:var(--surface-raised)}.dark-mode .icon-button:hover{background:var(--surface-selected);color:var(--text-primary)}.dark-mode .primary-button{color:#fff;background:#7664e8}.dark-mode .primary-button:hover{background:#8978f2}.dark-mode .preference-toggle{background:var(--surface-input);border-color:var(--separator-strong);color:var(--text-secondary)}.dark-mode .preference-toggle.on{background:var(--accent);color:#15111f}.dark-mode .feedback-photo img{background:var(--surface-subtle)}.dark-mode :where(.feedback-kinds button,.feedback-history article,.feedback-history-tools button,.feedback-history article footer button,.feedback-photo-picker){background:var(--surface-subtle);color:var(--text-secondary);border-color:var(--separator)}.dark-mode .feedback-kinds button.active{background:var(--surface-selected);color:var(--accent);border-color:var(--separator-strong)}.dark-mode :where(.feedback-history h3,.feedback-history article p,.feedback-history article footer b){color:var(--text-primary)}.dark-mode :where(.feedback-history article header time,.feedback-history article footer,.feedback-context){color:var(--text-tertiary)}.dark-mode .feedback-category.bug{background:#4a252b;color:#ffb9c5}.dark-mode .feedback-category.idea{background:#173a2e;color:#a8efcf}.app-layout.dark-mode :is(.app-sidebar,.app-right,.mobile-app-header,.mobile-bottom-nav,.post-card,.feed-create-hub,.feed-create-prompt,.feed-search,.search-trigger,.modal-card,.modal-heading,.calendar-card,.calendar-card>header,.calendar-day-detail,.calendar-day-detail article,.full-event,.event-card,.recipe-card,.recipe-detail section,.recipe-audience,.album-card,.decision-card,.decision-card>div button,.library-grid article,.library-search,.settings-list article,.member-grid article,.map-person,.notification-card,.request-list article,.timeline-list article,.capsule-shelf article,.section-tabs button.active,.comments,.comment>div,.link-preview,.rail-empty,.all-day-field,.social-button,.secondary-button,.upload-preview,.composer-add-menu,.post-audience,.post-audience label,.profile-section,.create-menu-grid>button,.inline-rsvp,.inline-decision,.inline-rsvp button,.inline-decision button,.audience-option-list label,.password-field,.username-field,.merge-request){background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.app-layout.dark-mode :is(.modal-card,.modal-heading,.composer-add-menu,.mention-suggestions,.appearance-options button.active){background:var(--surface-elevated)}.app-layout.dark-mode :is(.feed-create-actions,.comments,.calendar-weekdays,.calendar-grid article.blank,.calendar-day-detail article,.section-tabs,.appearance-options,.rail-empty,.all-day-field,.link-preview,.inline-rsvp,.inline-decision){background:var(--surface-subtle)}.app-layout.dark-mode :is(input,textarea,select){background:var(--surface-input)!important;color:var(--text-primary)!important;border-color:var(--separator)!important}.app-layout.dark-mode :is(.auth-form label:not(.check-row),.event-form label,.simple-flow form label,.invite-panel label,.family-name-setting form label,.profile-details form label,.decision-options b){color:var(--text-secondary)}.app-layout.dark-mode :is(.feed-create-prompt b,.feed-create-actions button,.post-author-name,.post-copy,.page-heading h1,.page-heading h2,.calendar-card h2,.settings-list h3,.library-grid h3,.album-card h3,.map-person h3,.notification-card b,.request-list h3,.timeline-list h2,.recipe-card h3,.recipe-detail h3,.event-card h3,.decision-card h3,.decision-card>div button b,.profile-section h4,.create-menu-grid b,.mobile-menu-list button,.mobile-bottom-nav button){color:var(--text-primary)}.app-layout.dark-mode :is(.feed-create-prompt small,.post-card>header span,.post-card>footer button,.page-heading p,.settings-list p,.library-grid p,.library-grid footer,.album-card p,.map-person p,.notification-card p,.request-list p,.timeline-list article p,.calendar-weekdays b,.calendar-day-detail small,.profile-section p,.comments p,.caught-up,.feed-empty p,.create-menu-grid small){color:var(--text-tertiary)}.app-layout.dark-mode :is(.family-space-list>button,.app-sidebar nav button,.admin-nav button,.profile-chip,.mobile-menu-list button){color:var(--text-secondary)}.app-layout.dark-mode :is(.family-space-list>button>span,.family-space-list>button.active>span){background:var(--surface-elevated)}.app-layout.dark-mode .family-name-setting form input{background:var(--surface-input)!important;color:var(--text-primary)!important}.app-layout.dark-mode .family-id{color:var(--accent-strong)!important}.app-layout.dark-mode .map-person>div>span{color:var(--text-tertiary)}.app-layout.dark-mode :is(.merge-status,.smart-note){color:var(--text-secondary)!important}.app-layout.dark-mode :is(.mini-event,.full-event>time){color:#24222c}.app-layout.dark-mode :is(.mini-event p,.mini-event small,.mini-event time span,.full-event>time span){color:#5f5968}.app-layout.dark-mode .prompt-card{color:#24222c}.app-layout.dark-mode .prompt-card .eyebrow{color:#5042a5}.app-layout.dark-mode :is(.primary-button,.feedback-fab){background:#6657c8;color:#fff}.app-layout.dark-mode .post-kind{background:#c21d67;color:#fff!important}.app-layout.dark-mode .kind-event .post-kind{background:#087a55}.app-layout.dark-mode :is(.kind-poll .post-kind,.kind-proposal .post-kind){background:#6657c8}.app-layout.dark-mode .kind-results .post-kind{background:#0b6f93}.app-layout.dark-mode .kind-announcement .post-kind{background:#b84c22}.app-layout.dark-mode .event-category-filters button{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--separator)}.app-layout.dark-mode .event-category-filters button.active{background:var(--surface-selected);color:var(--accent-strong);border-color:var(--accent)}.app-layout.dark-mode .share-actions button{background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.app-layout.dark-mode .invite-panel>p{color:#9ee4c4}.app-layout.dark-mode .kind-event .inline-rsvp button.selected{border-color:#20c88b;background:#159b6d;color:#fff;box-shadow:0 4px 10px #20c88b3d}.app-layout.dark-mode .kind-event .inline-rsvp button:nth-of-type(3).selected{border-color:#ff8098;background:#9d2942;color:#fff}.feed-create-actions button:nth-child(4) svg{color:var(--recipe-yellow)}.profile-section h4,.settings-list h3{display:flex;align-items:center;gap:10px}.profile-section h4:before,.settings-list h3:before{content:"";width:6px;height:24px;display:block;flex:0 0 6px;border-radius:999px;background:var(--section-accent,#6657c8)}.profile-details{--section-chip:#ffe6f1;--section-accent:#d92f75}.profile-panel>.profile-section:not(.profile-details):not(.appearance-setting):not(.deletion-panel){--section-chip:#ebe8ff;--section-accent:#6657c8}.profile-panel>.profile-section.preference-row:nth-of-type(4){--section-chip:#dcf7eb;--section-accent:#14805b}.appearance-setting{--section-chip:#e1f3ff;--section-accent:#167da3}.deletion-panel{--section-chip:#ffeaee;--section-accent:#bd3652}.settings-list article:nth-of-type(1){--section-chip:#ebe8ff;--section-accent:#6657c8}.settings-list article:nth-of-type(2){--section-chip:#e1f3ff;--section-accent:#167da3}.settings-list article:nth-of-type(3){--section-chip:#dcf7eb;--section-accent:#14805b}.settings-list article:nth-of-type(4){--section-chip:#fff1df;--section-accent:#b85e16}.settings-list article:nth-of-type(5){--section-chip:var(--yellow);--section-accent:#735000}.settings-list article:nth-of-type(6){--section-chip:#ffe6f1;--section-accent:#d92f75}.settings-list article>div>h3{margin-bottom:8px}.app-layout.dark-mode .profile-section h4:before,.app-layout.dark-mode .settings-list h3:before{background:color-mix(in srgb,var(--section-accent,#9b8cff) 74%,white)}.app-layout:not(.dark-mode){--separator:#ebe8f0;--separator-strong:#dcd7e3;--line:#efedf2}.app-layout:not(.dark-mode){background:linear-gradient(135deg,#fdf4f8,#f3f1fc 52%,#eff6fb)}.app-layout:not(.dark-mode) .app-main{position:relative;isolation:isolate;background:transparent}.app-layout:not(.dark-mode) .app-main:before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.68;filter:blur(42px);background:radial-gradient(circle at 2% 4%,rgba(245,198,220,.55) 0 120px,transparent 290px),radial-gradient(circle at 92% 18%,rgba(201,190,242,.45) 0 130px,transparent 300px),radial-gradient(circle at 12% 62%,rgba(185,230,206,.45) 0 120px,transparent 285px),radial-gradient(circle at 86% 72%,rgba(246,199,154,.4) 0 125px,transparent 300px),radial-gradient(circle at 46% 96%,rgba(169,214,238,.4) 0 130px,transparent 300px),radial-gradient(circle at 72% 46%,rgba(246,226,154,.35) 0 100px,transparent 250px)}.app-layout:not(.dark-mode) .app-main>*{position:relative;z-index:1}.app-layout:not(.dark-mode) .post-card>header .post-author-name,.app-layout:not(.dark-mode) .post-card>header b{color:var(--text-primary)}.app-layout:not(.dark-mode) .mention-link{color:var(--pink);font-weight:850}.app-layout.dark-mode .mention-link{color:#ff70ad;font-weight:850}.app-layout .mention-link.family-mention{font-weight:900}.app-layout:not(.dark-mode) .mention-link.family-mention{color:#b21f68}.app-layout.dark-mode .mention-link.family-mention{color:#ff83b8}.app-layout .post-card{border-top:1px solid var(--line)!important}.app-layout:not(.dark-mode) :where(.post-card,.full-event,.event-card,.recipe-card,.journal-card,.decision-card,.album-card,.calendar-card,.settings-list article,.member-grid article,.notification-card){border-radius:22px;box-shadow:0 8px 16px #231c4a1a}.app-layout:not(.dark-mode) .journal-card{border-top-width:3px}.app-layout.dark-mode .app-main{background:transparent}@media(prefers-contrast:more){:root{--text-secondary:#403b48;--text-tertiary:#4f4958;--separator:#91899d;--separator-strong:#655e70;--focus-ring:#42339f}.app-layout.dark-mode{--surface-base:#09080d;--surface-raised:#15131c;--surface-elevated:#211e2a;--surface-subtle:#101016;--surface-input:#09080d;--text-primary:#fff;--text-secondary:#f0edf5;--text-tertiary:#d6d1dd;--separator:#777080;--separator-strong:#aaa2b5;--accent:#b8adff;--accent-strong:#d0c9ff;--focus-ring:#d2cbff}:focus-visible{outline-width:4px;outline-color:var(--focus-ring)}.app-layout.dark-mode :is(.post-card,.feed-create-hub,.modal-card,.calendar-card,.settings-list article,.secondary-button,.icon-button,.appearance-options){border-width:2px}.post-card>footer button,.post-card>header span,.feed-create-prompt small{font-weight:650}.post-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.mention-link{text-decoration:none}}@media(forced-colors:active){*{forced-color-adjust:auto}:focus-visible{outline:3px solid Highlight}.post-card,.feed-create-hub,.modal-card,.calendar-card,.appearance-options{border:1px solid CanvasText}.post-kind,.hashtag-link,.mention-link,.primary-button{forced-color-adjust:none}.post-kind,.primary-button{background:Highlight;color:HighlightText}.hashtag-link,.mention-link{color:LinkText}}.photos-heading-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.album-collection,.photo-timeline{display:grid;gap:14px;margin-top:22px}.album-collection>header,.photo-timeline>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.album-collection h2,.photo-timeline h2{margin:0;font-size:1.25rem}.album-collection .eyebrow,.photo-timeline .eyebrow{margin:0 0 4px}.album-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,280px);gap:14px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.album-strip .album-card{scroll-snap-align:start}.album-empty{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px;border:1px dashed var(--line);border-radius:15px;color:var(--muted)}.album-empty svg{color:var(--purple)}.album-empty span{flex:1 1 240px}.photo-count{color:var(--muted);font-size:.8rem;font-weight:750}.photo-month{display:grid;gap:10px}.photo-month h3{margin:8px 0 0;font-size:1rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.photo-tile{position:relative;min-width:0;aspect-ratio:1;overflow:hidden;padding:0;border:0;border-radius:14px;background:var(--surface-subtle);cursor:pointer;text-align:left}.photo-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s ease}.photo-tile:hover img{transform:scale(1.03)}.photo-tile>span{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;padding:22px 10px 9px;background:linear-gradient(transparent,#120f19cc);color:#fff}.photo-tile b,.photo-tile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-tile b{font-size:.75rem}.photo-tile small{font-size:.65rem;opacity:.82}.photo-viewer{display:grid;gap:13px}.photo-viewer-image{width:100%;max-height:68vh;border-radius:14px;object-fit:contain;background:#17151d}.photo-viewer p{margin:0;line-height:1.6;white-space:pre-wrap}.app-layout.dark-mode :is(.album-empty,.photo-viewer p,.photo-count){color:var(--text-tertiary)}@media(max-width:720px){.photos-heading-actions{width:100%}.photos-heading-actions>*{flex:1;justify-content:center}.album-strip{grid-auto-columns:minmax(205px,78vw)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.photo-tile{border-radius:9px}.photo-tile>span{display:none}.album-collection,.photo-timeline{margin-top:16px}}html{text-size-adjust:100%;-webkit-text-size-adjust:100%}.family-space-list>p,.admin-nav p,.request-list span{color:var(--muted);font-size:.75rem}.avatar-xs.avatar-fallback,.avatar-sm.avatar-fallback{font-size:.75rem}.feed-page,.feed-list{width:100%;min-width:0}.feed-list{grid-template-columns:minmax(0,1fr);align-items:start}.feed-card{width:100%;max-width:100%;min-width:0;height:auto;min-height:0;align-self:start}.post-images{width:100%;height:auto;aspect-ratio:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:start}.post-image-cell{min-width:0;display:grid;place-items:center;aspect-ratio:1 / 1;overflow:hidden;background:#f4f2f6}.post-image-cell img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}.photo-unavailable{width:100%;min-height:180px;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;background:#f4f2f6;color:#686473;font-size:.8125rem;font-weight:750}.photo-unavailable svg{width:28px;height:28px;color:#777381}.post-detail-images .photo-unavailable{min-height:240px;border-radius:12px}.app-layout.dark-mode .photo-unavailable{background:#1f1c28;color:#c6c1d0}.app-layout.dark-mode .photo-unavailable svg{color:#aaa4b6}.post-images.count-1{display:block;height:auto;aspect-ratio:auto}.post-images.count-1 .post-image-cell{display:block;aspect-ratio:auto}.post-images.count-1 .post-image-cell img{width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain}.post-card>header+.post-images{margin-top:16px}.app-layout:not(.dark-mode) .post-card>header small{color:var(--accent-strong)}.event-page-grid,.decision-list,.recipe-grid{width:100%;min-width:0;align-items:start}.full-event,.decision-card,.recipe-card{width:100%;min-width:0;height:auto;align-self:start}.kind-album.post-card{border-top:3px solid #159ac5}.kind-album .post-kind{background:#159ac5;color:#fff!important;box-shadow:0 5px 14px #159ac533}.album-feed-summary{width:calc(100% - 38px);margin:16px 19px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #b8e6f3;border-radius:13px;background:#eefaff;color:var(--ink);text-align:left}.album-feed-summary>svg:first-child{width:36px;height:36px;padding:8px;border-radius:10px;background:#d8f2fa;color:#117e9f}.album-feed-summary span{display:grid;gap:2px}.album-feed-summary small,.album-feed-summary em{color:var(--muted);font-size:.75rem;font-style:normal}.album-feed-summary b{font-size:.875rem}.recipe-category-filters{display:flex;gap:8px;margin:12px 0 18px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin}.recipe-category-filters button{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised,#fff);color:var(--ink);font-weight:750}.recipe-category-filters button.active{border-color:var(--recipe-yellow);background:var(--yellow);color:var(--recipe-yellow-ink)}.notification-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.notification-card:hover{border-color:var(--purple);box-shadow:0 7px 22px #4d3a9a1a}.app-layout.dark-mode .album-feed-summary{border-color:#23677b;background:#102b34;color:var(--text-primary)}.app-layout.dark-mode .recipe-category-filters button{background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.app-layout.dark-mode .recipe-category-filters button.active{background:#4b3608;color:var(--recipe-yellow);border-color:var(--recipe-yellow)}.app-layout.dark-mode .avatar.avatar-fallback{background:linear-gradient(135deg,#3d3565,#193d35);color:#f4f1ff}.app-layout.dark-mode :is(.recipe-card,.recipe-detail section,.recipe-audience,.recipe-audience label,.album-contribution-setting){background:var(--surface-raised)!important;color:var(--text-primary)!important;border-color:var(--separator)!important}.app-layout.dark-mode :is(.recipe-card p,.recipe-card small,.recipe-detail p,.recipe-audience small,.album-contribution-setting small,.album-permission-note){color:var(--text-tertiary)!important}.app-layout.dark-mode :is(.recipe-card span,.recipe-category-filters button.active){background:#4b3608!important;color:var(--recipe-yellow)!important;border-color:var(--recipe-yellow)!important}.coupons-page{--coupon-accent:#0aa6a6;--coupon-soft:#e8fbf8}.coupon-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:20px}.coupon-tools .library-search{margin:0}.expired-toggle{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised,#fff);color:var(--muted);font-weight:800;white-space:nowrap}.expired-toggle.active{border-color:var(--coupon-accent);background:var(--coupon-soft);color:#087676}.coupon-groups{display:grid;gap:22px}.coupon-groups>section{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px}.coupon-groups>section>h2{position:sticky;top:14px;width:38px;height:38px;display:grid;place-items:center;margin:0;border-radius:12px;background:var(--coupon-accent);color:#fff;font-size:1rem;box-shadow:0 7px 18px #0aa6a633}.coupon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.coupon-card{position:relative;min-width:0;min-height:154px;display:grid;grid-template-columns:148px minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid #bfe9e5;border-top:1px solid #bfe9e5;border-radius:17px;background:var(--surface-raised,#fff);color:var(--ink);box-shadow:var(--shadow)}.coupon-promo{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0}.coupon-promo code{padding:6px 8px;border-radius:8px;background:var(--coupon-soft);color:#075f5f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.coupon-promo button,.coupon-link{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:#087676;font:inherit;font-size:.75rem;font-weight:800;text-decoration:none}.coupon-promo svg,.coupon-link svg{width:15px;height:15px}.coupon-notes{white-space:pre-wrap}.coupon-link{margin:3px 0 9px}.app-layout.dark-mode :is(.coupon-promo code){background:#153b38;color:#8df3ed}.app-layout.dark-mode :is(.coupon-promo button,.coupon-link){color:#8df3ed}.coupon-card.expired{opacity:.72;filter:saturate(.7)}.coupon-photo{width:148px;min-height:154px;display:grid;place-items:center;padding:0;overflow:hidden;border:0;border-right:1px solid var(--line);background:#f0fbfa;cursor:pointer}.coupon-photo img{width:100%;height:100%;min-height:154px;object-fit:contain}.coupon-placeholder{cursor:default}.coupon-placeholder svg{width:38px;height:38px;color:var(--coupon-accent)}.coupon-copy{min-width:0;display:grid;align-content:center;gap:6px;padding:20px 14px 20px 18px}.coupon-copy>span{width:max-content;padding:4px 8px;border-radius:999px;background:var(--coupon-soft);color:#087676;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.coupon-card.expired .coupon-copy>span{background:#f1eef4;color:#6e6877}.coupon-copy h3,.coupon-copy p{margin:0}.coupon-copy h3{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.coupon-copy p,.coupon-copy small{color:var(--muted);font-size:.75rem;line-height:1.4}.coupon-copy .coupon-offer{color:var(--ink);font-size:.8125rem;font-weight:750;line-height:1.35}.coupon-actions{display:flex;align-items:flex-start;gap:3px;padding:12px 10px 0 0}.coupon-actions button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--muted)}.coupon-actions button:hover{background:var(--coupon-soft);color:#087676}.coupon-actions button:last-child:hover{background:#ffeaf0;color:#b4285e}.coupon-photo-picker{min-height:74px;display:flex!important;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px dashed var(--separator-strong);border-radius:12px;background:var(--surface-subtle);color:var(--purple)!important;cursor:pointer}.coupon-photo-picker input{position:absolute;width:1px;height:1px;opacity:0}.coupon-photo-picker span{color:var(--muted);font-size:.75rem}.journal-list{display:grid;gap:14px}.journal-card{overflow:hidden;padding:20px;border:1px solid var(--line);border-top:3px solid #35a9c7;border-radius:17px;background:var(--surface-raised);box-shadow:var(--shadow)}.journal-card>header{display:flex;align-items:flex-start;gap:10px}.journal-card>header>div{min-width:0;flex:1;display:grid;gap:2px}.journal-card>header .eyebrow{margin:0;color:#1684a2;font-size:.65rem}.journal-card header b{font-size:.8125rem}.journal-card header small{color:var(--muted);font-size:.75rem}.journal-feed-badge,.journal-privacy-badge{padding:5px 8px;border-radius:999px;background:#e2f2fb;color:#1684a2;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.journal-privacy-badge{background:#f0edff;color:#5d4bd1}.journal-card h3{margin:17px 0 7px;font-size:1rem}.journal-card>p{margin:0;color:var(--text-primary);font-size:.9375rem;line-height:1.7;white-space:pre-wrap}.journal-photo{width:100%;max-height:620px;margin-top:17px;border-radius:12px;object-fit:contain;background:var(--surface-subtle)}.journal-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:15px}.journal-media-grid .journal-photo{height:220px;margin-top:0;object-fit:cover}.journal-audio{width:100%;margin-top:15px}.journal-mood{display:inline-flex;margin-top:13px;padding:5px 9px;border-radius:999px;background:#fff5d9;color:#8a5b12;font-size:.75rem;font-weight:750}.journal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.journal-tags span{color:#1684a2;font-size:.75rem;font-weight:700}.journal-card-actions,.journal-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:16px}.journal-heading-actions{margin-top:0}.journal-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0}.journal-toolbar>label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:750}.journal-toolbar>label:first-child{flex:1 1 260px;position:relative}.journal-toolbar>label:first-child svg{position:absolute;left:12px;bottom:12px}.journal-toolbar input,.journal-toolbar select{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised);color:var(--text-primary);padding:0 12px}.journal-toolbar>label:first-child input{padding-left:36px;width:100%}.journal-on-this-day{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #eadfb7;border-radius:14px;background:#fff8dd;color:#5d4b25}.journal-on-this-day>div{flex:1;display:grid;gap:2px}.journal-on-this-day .eyebrow{margin:0;color:#a36a16}.journal-on-this-day .text-button{color:#8a5b12}.journal-form input[type=file]{display:block;margin-top:8px}.journal-form label>span{color:var(--muted);font-size:.78rem}.app-layout.dark-mode :is(.journal-card){background:var(--surface-raised);border-color:var(--separator);border-top-color:#40c7e8}.app-layout.dark-mode :is(.journal-card h3,.journal-card>p,.journal-card header b){color:var(--text-primary)}.app-layout.dark-mode .journal-feed-badge{background:#123d49;color:#8be2f7}.app-layout.dark-mode .journal-privacy-badge{background:#302b62;color:#d6d0ff}.app-layout.dark-mode .journal-on-this-day{background:#3e3315;border-color:#776329;color:#fff0b4}.coupon-existing-photo{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:12px}.coupon-existing-photo img{width:96px;height:96px;border:1px solid var(--line);border-radius:12px;object-fit:contain}.coupon-existing-photo button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);color:var(--purple);font-weight:800}.app-layout.dark-mode .coupons-page{--coupon-accent:#42d6cf;--coupon-soft:#123a38}.app-layout.dark-mode .expired-toggle,.app-layout.dark-mode .coupon-card,.app-layout.dark-mode .coupon-existing-photo button{background:var(--surface-raised);color:var(--text-primary);border-color:var(--separator)}.app-layout.dark-mode .expired-toggle.active,.app-layout.dark-mode .coupon-copy>span{background:var(--coupon-soft);color:#8df3ed}.app-layout.dark-mode .coupon-photo{background:#102c2a;border-color:var(--separator)}.app-layout.dark-mode .coupon-copy h3{color:var(--text-primary)}.calendar-legend i.event{border-radius:2px}.calendar-legend i.birthday{border-radius:50%}.calendar-legend i.holiday{border-radius:1px;transform:rotate(45deg)}.social-profile-fields{display:grid;gap:10px;margin:4px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.social-profile-fields legend{padding:0 6px;color:var(--ink);font-size:.8125rem;font-weight:800}.social-profile-fields legend small{color:var(--muted);font-weight:500}.relative-social-links{display:flex;flex-wrap:wrap;gap:8px}.relative-social-links a{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--purple);font-weight:750;text-transform:capitalize}.profile-facts a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}.post-author-line{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px}.elder-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#fff3c6;color:#7c5200;font-size:.625rem;font-weight:850;letter-spacing:.02em}.elder-badge svg,.inline-crown,.tree-crown{color:#d79500}.family-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.family-tree-toolbar>div{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-raised)}.family-tree-toolbar button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800}.family-tree-toolbar button.active{background:var(--lavender);color:var(--purple)}.family-tree-toolbar>span{color:var(--muted);font-size:.8125rem;font-weight:700}.family-tree-scroll{width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 0,#f3efff 0,transparent 38%),var(--surface-raised);box-shadow:var(--shadow)}.family-tree-canvas{position:relative;min-width:100%}.family-tree-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.family-tree-canvas path{fill:none;stroke:#a89ee0;stroke-width:2}.family-tree-canvas .partner-line{stroke:#e29a22;stroke-width:3;stroke-dasharray:7 5}.family-tree-node{position:absolute;min-height:112px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:14px;border:1px solid #dcd6ef;border-top:4px solid var(--purple);border-radius:16px;background:var(--surface-raised);color:var(--ink);text-align:left;box-shadow:0 10px 26px #3c2b6f1f}.family-tree-node>span{min-width:0;display:grid;gap:4px}.family-tree-node b{overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.family-tree-node small{overflow:hidden;color:var(--muted);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.tree-crown{position:absolute;top:8px;right:9px;width:17px;height:17px}.map-person{display:grid;grid-template-columns:minmax(0,1fr);padding:0!important;overflow:hidden}.map-person-main{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:17px;border:0;background:transparent;color:inherit;text-align:left}.map-person-main h3{display:flex;align-items:center;gap:6px}.map-person-main .inline-crown{flex:0 0 auto}.map-person-actions{display:flex;flex-wrap:wrap;gap:7px;padding:10px 13px;border-top:1px solid var(--line);background:var(--surface-subtle)}.map-person-actions button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--purple);font-size:.6875rem;font-weight:800}.map-person-actions button:hover,.map-person-actions button.elder-active{background:var(--lavender)}.relationship-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.relationship-editor>section{display:grid;align-content:start;gap:11px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-subtle)}.relationship-editor>section:last-of-type{grid-column:1/-1}.relationship-editor h3,.relationship-editor p{margin:0}.relationship-editor p{color:var(--muted);font-size:.8125rem;line-height:1.45}.relationship-editor label{display:grid;gap:6px;color:var(--ink);font-size:.8125rem;font-weight:750}.relationship-editor :is(input,select){width:100%;min-height:44px;padding:0 12px;border:1px solid var(--separator-strong);border-radius:10px;background:var(--surface-input);color:var(--text-primary)}.inline-add-relative,.relationship-title-row,.relationship-tag-editor{display:flex;align-items:center;gap:8px}.inline-add-relative input{min-width:0}.inline-add-relative button,.relationship-title-row button{min-height:40px;display:inline-flex;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--purple);font-weight:800}.relationship-title-row{justify-content:space-between}.relationship-tag-editor{display:grid;grid-template-columns:1fr 1.2fr 1fr auto}.relationship-tag-editor button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:#ffeaf0;color:#b4285e}.relationship-save{grid-column:1/-1;width:min(520px,100%);justify-self:center}.birthday-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 18px;padding:18px;border:1px solid #f0cf6e;border-radius:17px;background:linear-gradient(120deg,#fff8d8,#fff0e7);color:#423010;box-shadow:0 10px 28px #7e57001a}.birthday-banner>svg{width:42px;height:42px;color:#d17b20}.birthday-banner h3,.birthday-banner p{margin:0}.birthday-banner>div>p:last-child{margin-top:4px;color:#745c31;font-size:.8125rem}.birthday-card{display:grid;gap:18px}.birthday-card-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.birthday-card-entries article{display:grid;gap:12px;padding:18px;border:1px solid #eadca9;border-radius:16px;background:#fffdf4;color:#332c1d}.birthday-card-entries header{display:flex;justify-content:space-between;gap:10px}.birthday-card-entries time{color:#756f62;font-size:.75rem}.birthday-card-entries p{margin:0;white-space:pre-wrap}.birthday-card-entries article>img:not(.drawn-signature){width:100%;max-height:280px;border-radius:12px;object-fit:contain}.drawn-signature{width:150px;max-height:60px;object-fit:contain;object-position:left center}.typed-signature{font-family:Snell Roundhand,Apple Chancery,Segoe Script,cursive;color:#5b419e;font-size:1.625rem;font-weight:500}.birthday-card-empty{grid-column:1/-1;display:grid;place-items:center;padding:28px;border:1px dashed var(--separator-strong);border-radius:16px;text-align:center}.birthday-card-empty svg{width:42px;height:42px;color:#d17b20}.birthday-card-empty h3,.birthday-card-empty p{margin:7px 0 0}.birthday-card-empty p{color:var(--muted)}.birthday-sign-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-subtle)}.birthday-sign-form h3{margin:0}.birthday-sign-form label{display:grid;gap:6px;font-weight:750}.birthday-sign-form textarea{min-height:110px;padding:12px;border:1px solid var(--separator-strong);border-radius:12px;background:var(--surface-input);color:var(--text-primary)}.signature-mode{display:flex;gap:8px}.signature-mode button{min-height:39px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--muted);font-weight:800}.signature-mode button.active{border-color:var(--purple);background:var(--lavender);color:var(--purple)}.typed-signature-input{min-height:50px;padding:0 13px;border:1px solid var(--separator-strong);border-radius:10px;background:var(--surface-input);color:var(--purple);font-family:Snell Roundhand,Apple Chancery,Segoe Script,cursive;font-size:1.5rem}.signature-pad{overflow:hidden;border:1px solid var(--separator-strong);border-radius:12px;background:#fff}.signature-pad canvas{width:100%;height:140px;display:block;touch-action:none}.signature-pad button{margin:0 0 9px 10px;padding:6px 9px;border:0;border-radius:7px;background:#f1eff5;color:#625d6e;font-size:.75rem;font-weight:750}.birthday-keepsakes{display:flex;flex-wrap:wrap;gap:9px}.birthday-keepsakes h3{width:100%;margin:0}.birthday-keepsakes button{min-width:138px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised);color:var(--muted);font-size:.75rem;text-align:left}.birthday-keepsakes button:hover{border-color:var(--purple);background:var(--lavender)}.birthday-keepsakes b{color:var(--ink);font-size:.9375rem}.birthday-keepsakes svg{grid-column:2;grid-row:1/3;color:var(--purple)}.profile-relationship-form{display:grid;gap:14px}.profile-relationship-form>div p{margin:4px 0 0;color:var(--muted)}.profile-relationship-form label{display:grid;gap:7px;font-weight:700}.profile-relationship-form input{width:100%}.profile-relationship-form small{color:var(--muted);font-weight:500}.app-layout.dark-mode .elder-badge{background:#443610;color:#ffd873}.app-layout.dark-mode .family-tree-scroll{background:radial-gradient(circle at 50% 0,#251d44 0,transparent 38%),var(--surface-raised)}.app-layout.dark-mode .family-tree-node{border-color:#4c4466}.app-layout.dark-mode .birthday-banner{border-color:#755d1d;background:linear-gradient(120deg,#3c310d,#3b2215);color:#fff1b3}.app-layout.dark-mode .birthday-banner>div>p:last-child{color:#e5ca84}.app-layout.dark-mode .birthday-card-entries article{border-color:#605229;background:#282416;color:#fff9de}@media(max-width:820px){.public-header{height:auto;min-height:70px;flex-wrap:wrap;padding-top:12px;padding-bottom:10px}.public-header nav{order:3;width:100%;display:flex;justify-content:center;gap:24px;padding-top:10px;border-top:1px solid var(--line);font-size:.75rem}.relationship-editor{grid-template-columns:1fr}.relationship-editor>section:last-of-type{grid-column:auto}.relationship-save{grid-column:auto}.relationship-tag-editor,.birthday-card-entries,.coupon-grid{grid-template-columns:1fr}}@media(max-width:520px){.public-header nav{justify-content:space-between;gap:10px}.calendar-grid article p.event{border-radius:2px}.calendar-grid article p.birthday{border-radius:50%}.calendar-grid article p.holiday{border-radius:1px;transform:rotate(45deg)}.birthday-banner{grid-template-columns:auto 1fr}.birthday-banner .primary-button{grid-column:1/-1;width:100%}.family-tree-toolbar{align-items:flex-start;flex-direction:column}.map-person-actions{display:grid;grid-template-columns:1fr 1fr}.map-person-actions button{justify-content:center}.coupon-tools{grid-template-columns:1fr}.expired-toggle{width:100%}.coupon-groups>section{grid-template-columns:1fr}.coupon-groups>section>h2{position:static}.coupon-card{min-height:132px;grid-template-columns:92px minmax(0,1fr)}.coupon-photo{width:92px;min-height:132px}.coupon-photo img{min-height:132px}.coupon-actions{position:absolute;top:7px;right:5px}.coupon-copy{padding-right:74px}}.feed-create-prompt{min-height:64px}.feed-create-prompt b{animation:prompt-fade .3s ease}@keyframes prompt-fade{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:none}}.album-slideshow.playing{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-radius:0}.album-slideshow.playing img{max-height:88dvh}.album-slideshow .album-slideshow-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));grid-column:auto!important;grid-row:auto;background:#fffffff0}.digital-calendar-photo-panel.collapsed>header{min-height:68px;border-bottom:0}.calendar-binder-label{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-bottom:3px;color:#8d6a3f;font-size:.6875rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.app-layout.dark-mode .calendar-binder-label{color:#e9d4b8}.app-layout.dark-mode .section-tabs button.active{background:#6f5bd3;color:#fff;box-shadow:0 0 0 2px #a999ff inset,0 4px 14px #00000047}.family-tree-scroll{touch-action:pan-x pan-y pinch-zoom}.family-tree-stage{position:relative;margin:0 auto}.family-tree-canvas{transform-origin:top left}.family-tree-zoom{display:flex;justify-content:flex-end;gap:6px;margin:0 0 9px}.family-tree-zoom button{min-width:42px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);color:var(--ink);font-weight:800}.family-tree-gesture-note{margin:8px 2px 0;color:var(--muted);font-size:.75rem;text-align:right}.app-layout.dark-mode .family-tree-zoom button{border-color:var(--separator-strong);background:var(--surface-raised);color:var(--text-primary)}@media(max-width:820px){.feed-create-prompt{min-height:64px}.album-actions{display:grid;grid-template-columns:1fr}.album-actions button{width:100%;min-height:46px;justify-content:center}.family-tree-zoom{justify-content:stretch}.family-tree-zoom button{flex:1}}.sponsored-feed-images{display:block;overflow:hidden;text-decoration:none}.sponsored-feed-images>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;position:relative}.sponsored-feed-images img{display:block;width:100%;height:150px;object-fit:cover}.sponsored-feed-images img:first-child{grid-row:span 2;height:304px}.sponsored-feed-images span{position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:#24222cbf;color:#fff;font-weight:800}.google-location-hint{display:block;margin-top:6px;color:var(--muted);font-size:.75rem;font-weight:500}.event-description{white-space:pre-wrap;color:var(--muted)}.event-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;color:var(--muted);font-size:.75rem;font-weight:700}.event-meta span{display:inline-flex;align-items:center;gap:4px}.event-rsvp{margin:12px 0 4px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-input)}.event-rsvp>b{display:block;margin-bottom:7px;font-size:.8rem}.event-rsvp>div{display:flex;flex-wrap:wrap;gap:6px}.event-rsvp button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--surface-raised);color:var(--ink);font-size:.75rem;font-weight:800}.event-rsvp button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.event-rsvp button small{opacity:.7}
