:root{--ink:#33405b;--brand:#ea7f78;--brand-dark:#d96d67;--rose:#f3aaa5;--canvas:#fffdf8;--surface:#fff;--muted:#778096;--border:#e7edf0;--sage:#9fd6bd;--sky:#91cce5;--amber:#f4c66f;--lavender:#c8b9e8;--shadow:0 24px 70px rgba(55,76,94,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,sans-serif}button,input,select{font:inherit;color:inherit}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font:600 25px Fraunces,serif;text-decoration:none}.primary,.secondary{border:0;border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.primary{background:var(--brand);color:white;box-shadow:0 10px 28px rgba(234,127,120,.2)}.secondary{background:#f6edef;color:var(--brand-dark)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--brand);margin:0 0 14px}.public-header{height:76px;padding:0 6vw;display:flex;align-items:center;gap:45px;background:rgba(255,253,248,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.public-header nav{display:flex;gap:27px}.public-header nav a{font-size:12px;color:var(--muted);text-decoration:none}.public-header .actions{margin-left:auto;display:flex;gap:9px}.about-hero{min-height:660px;padding:110px 8vw;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:9vw;background:radial-gradient(circle at 83% 18%,rgba(145,204,229,.25),transparent 28%)}.about-hero h1,.about-section h2,.signup-copy h1{font:600 clamp(50px,6vw,82px)/1 Fraunces,serif;letter-spacing:-.035em;margin:0}.about-hero .lead{font-size:19px;color:var(--muted);line-height:1.7;max-width:650px}.founder-art{aspect-ratio:1;border-radius:48% 52% 46% 54%;position:relative;background:radial-gradient(circle at 35% 28%,#fff8ce 0 7%,transparent 8%),radial-gradient(circle at 68% 35%,white 0 10%,transparent 11%),linear-gradient(145deg,var(--sage),var(--sky));box-shadow:var(--shadow)}.founder-art:after{content:"Chris Oestergaard · Founder";position:absolute;right:4%;bottom:7%;background:white;border-radius:99px;padding:11px 16px;font-size:11px;box-shadow:0 9px 25px rgba(51,64,91,.15)}.about-section{padding:100px 8vw}.about-section h2{font-size:58px}.origin-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.origin-copy p{color:var(--muted);font-size:16px;line-height:1.8}.history{border-left:2px solid #dcebef;padding-left:35px}.history article{position:relative;padding:0 0 38px}.history article:before{content:"";position:absolute;width:13px;height:13px;border:4px solid white;background:var(--brand);border-radius:50%;left:-43px;top:2px;box-shadow:0 0 0 1px var(--rose)}.history b{font:600 27px Fraunces}.history p{color:var(--muted);font-size:13px;line-height:1.6}.beliefs{background:#edf8f6}.belief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}.belief-grid article{background:white;border:1px solid var(--border);border-radius:20px;padding:26px}.belief-grid h3{font:600 22px Fraunces}.belief-grid p{color:var(--muted);font-size:13px;line-height:1.65}.simple-footer{padding:38px 6vw;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:var(--muted);font-size:11px;background:white}.simple-footer a{color:var(--muted)}
.signup-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}.signup-copy{min-width:0;padding:70px 7vw;background:radial-gradient(circle at 15% 15%,rgba(244,198,111,.2),transparent 24%),#edf8f6;display:flex;flex-direction:column}.signup-copy h1{font-size:62px;overflow-wrap:anywhere}.signup-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7}.signup-points{margin:auto 0;display:grid;gap:18px}.signup-points div{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}.signup-points i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--brand);font-style:normal;font-weight:700}.signup-points strong,.signup-points small{display:block}.signup-points small{color:var(--muted);margin-top:3px}.signup-form-wrap{min-width:0;padding:60px clamp(28px,8vw,120px);display:flex;align-items:center;justify-content:center;background:white}.signup-form{width:min(100%,560px)}.signup-form h2{font:600 38px Fraunces;margin:0}.signup-form>p{color:var(--muted);font-size:13px}.plan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.plan-option{position:relative}.plan-option input{position:absolute;opacity:0}.plan-option span{display:block;border:1px solid var(--border);border-radius:13px;padding:13px;cursor:pointer}.plan-option strong,.plan-option small{display:block}.plan-option small{color:var(--muted);font-size:9px;margin-top:4px}.plan-option input:checked+span{border-color:var(--brand);background:#fff6f5;box-shadow:0 0 0 1px var(--brand)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.signup-form label.form-field{font-size:10px;font-weight:700;display:block;margin-bottom:12px}.form-field input{width:100%;padding:13px;border:1px solid var(--border);border-radius:11px;margin-top:6px;outline:none}.form-field input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(145,204,229,.2)}.terms{font-size:10px;color:var(--muted);line-height:1.5;margin:10px 0 16px}.signup-message{color:#579477;font-size:12px;min-height:18px}
.app-body{background:#f7faf9}.app-layout{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{padding:26px 19px;border-right:1px solid var(--border);background:white;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar nav{display:grid;gap:5px;margin-top:40px}.sidebar nav button,.sidebar nav a{border:0;background:transparent;text-decoration:none;text-align:left;padding:11px 13px;border-radius:10px;color:var(--muted);cursor:pointer;font-size:12px}.sidebar nav .active{background:#eaf7fc;color:#347b98;font-weight:700}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:18px}.profile-mini{display:flex;gap:9px;align-items:center}.profile-mini i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:white;font-style:normal;font-size:10px}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:11px}.profile-mini small{font-size:8px;color:var(--muted)}.app-main{padding:34px 4vw 70px;min-width:0}.app-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.app-head h1{font:600 39px Fraunces;margin:0}.app-head p{color:var(--muted);font-size:12px}.panel{display:none}.panel.active{display:block}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:white;border:1px solid var(--border);border-radius:16px;padding:18px}.stat small,.stat strong{display:block}.stat small{color:var(--muted);font-size:9px}.stat strong{font:600 27px Fraunces;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.card{background:white;border:1px solid var(--border);border-radius:18px;padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-head h2{font:600 21px Fraunces;margin:0}.card-head button{border:0;background:transparent;color:var(--brand);font-size:10px;cursor:pointer}.activity{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.activity i{width:37px;height:37px;border-radius:10px;background:#eaf7fc;display:grid;place-items:center;font-style:normal}.activity strong,.activity small{display:block}.activity strong{font-size:11px}.activity small,.activity time{font-size:8px;color:var(--muted)}.storage-bar{height:9px;border-radius:10px;background:#edf1f3;overflow:hidden;margin:15px 0}.storage-bar span{display:block;height:100%;width:36%;background:linear-gradient(90deg,var(--sage),var(--sky));border-radius:10px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-actions button{padding:18px 9px;border:1px solid var(--border);border-radius:12px;background:var(--canvas);font-size:10px;cursor:pointer}.upload-panel{border:2px dashed #d9cbd0;border-radius:20px;padding:50px;text-align:center;background:white}.upload-panel.dragging{border-color:var(--brand);background:#fff7f6}.upload-panel input{display:none}.upload-panel .up{width:55px;height:55px;border-radius:50%;background:#f8e9eb;color:var(--brand);display:grid;place-items:center;margin:0 auto 12px;font-size:25px}.upload-panel p{color:var(--muted);font-size:11px}.member-upload-list{margin-top:15px}.member-upload-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px;border-bottom:1px solid var(--border);font-size:10px}.table-wrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--border);font-size:10px}.data-table th{color:var(--muted);font-weight:600}.status{display:inline-block;padding:5px 8px;border-radius:20px;background:#eaf7f0;color:#579477;font-size:8px}.status.trial{background:#fff4dc;color:#a87d27}.status.attention{background:#fce8e8;color:#bb5f5f}.admin-tools{display:flex;gap:8px;margin-bottom:14px}.admin-tools input,.admin-tools select{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:white;font-size:10px}.admin-tools input{min-width:250px}.owner-banner{padding:13px 16px;background:#33405b;color:white;font-size:10px;display:flex;justify-content:space-between}.owner-banner a{color:white}.mobile-top{display:none}
@media(max-width:900px){.about-hero,.origin-grid,.signup-page{grid-template-columns:1fr}.founder-art{max-width:500px;width:100%;margin:auto}.belief-grid{grid-template-columns:1fr}.signup-copy{min-height:560px}.app-layout{grid-template-columns:1fr}.sidebar{display:none}.mobile-top{height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--border)}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.public-header{height:65px;padding:0 18px}.public-header nav{display:none}.public-header .actions .secondary{display:none}.about-hero,.about-section{padding:75px 20px}.about-hero h1,.signup-copy h1{font-size:46px}.about-section h2{font-size:42px}.signup-copy,.signup-form-wrap{padding:45px 22px}.field-grid,.plan-options{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.app-main{padding:25px 16px}.app-head{align-items:flex-start;gap:14px}.app-head .primary{font-size:10px}.upload-panel{padding:35px 15px}.simple-footer{display:block;text-align:center}.simple-footer span{display:block;margin:9px}}
.legal-hero{padding:100px 8vw 55px;background:radial-gradient(circle at 80% 20%,rgba(145,204,229,.22),transparent 27%)}.legal-hero h1,.support-hero h1{font:600 clamp(48px,6vw,76px)/1 Fraunces;margin:0}.legal-hero p{color:var(--muted);max-width:720px;line-height:1.7}.legal-layout{max-width:1100px;margin:auto;padding:55px 25px 110px;display:grid;grid-template-columns:230px 1fr;gap:65px}.legal-nav{position:sticky;top:105px;align-self:start;display:grid;gap:8px}.legal-nav a{color:var(--muted);text-decoration:none;font-size:11px;padding:7px 0}.legal-copy h2{font:600 31px Fraunces;margin:42px 0 12px}.legal-copy h2:first-child{margin-top:0}.legal-copy h3{font-size:14px;margin-top:25px}.legal-copy p,.legal-copy li{color:var(--muted);font-size:12px;line-height:1.75}.legal-note{padding:15px 18px;border-left:3px solid var(--amber);background:#fff9ea;border-radius:0 10px 10px 0}.cookie-table{width:100%;border-collapse:collapse}.cookie-table th,.cookie-table td{padding:11px;border-bottom:1px solid var(--border);text-align:left;font-size:10px}.cookie-table th{color:var(--ink)}.cookie-table td{color:var(--muted)}.cookie-banner{position:fixed;z-index:2000;left:18px;right:18px;bottom:18px;max-width:980px;margin:auto;background:white;border:1px solid var(--border);box-shadow:0 22px 70px rgba(51,64,91,.22);border-radius:18px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.cookie-banner h2{font:600 18px Fraunces;margin:0 0 5px}.cookie-banner p{color:var(--muted);font-size:10px;line-height:1.5;margin:0}.cookie-banner-actions{display:flex;gap:7px}.cookie-button{border:0;border-radius:99px;padding:10px 14px;font-size:10px;font-weight:700;cursor:pointer}.cookie-button.accept{background:var(--brand);color:white}.cookie-button.reject{background:#f0f3f4}.cookie-settings{background:transparent;color:var(--brand)}.support-hero{padding:95px 8vw;text-align:center;background:#edf8f6}.support-hero p{color:var(--muted);max-width:650px;margin:18px auto}.support-search{max-width:650px;margin:28px auto 0;background:white;border:1px solid var(--border);border-radius:99px;padding:5px 5px 5px 20px;display:flex}.support-search input{border:0;outline:0;flex:1;min-width:0}.support-search button{border:0;border-radius:50%;width:42px;height:42px;background:var(--brand);color:white}.support-body{max-width:1150px;margin:auto;padding:75px 25px}.support-body h2{font:600 38px Fraunces}.start-steps{display:grid;gap:13px}.start-step{display:grid;grid-template-columns:55px 1fr;gap:20px;border:1px solid var(--border);border-radius:17px;padding:22px;background:white}.start-step>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#eaf7fc;color:#347b98;font:600 18px Fraunces}.start-step h3{font:600 20px Fraunces;margin:2px 0 6px}.start-step p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.support-grid{display:grid;grid-template-columns:1fr .75fr;gap:55px;margin-top:75px}.faq details{border-top:1px solid var(--border);padding:17px 0}.faq summary{font-weight:700;font-size:12px;cursor:pointer}.faq details p{color:var(--muted);font-size:11px;line-height:1.65}.support-form{background:white;border:1px solid var(--border);border-radius:20px;padding:25px}.support-form label{display:block;font-size:10px;font-weight:700;margin-bottom:11px}.support-form input,.support-form select,.support-form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--border);border-radius:10px;padding:11px}.support-form textarea{min-height:110px;resize:vertical}.danger-zone{margin-top:15px;border-color:#efc2c2;background:#fffafa}.danger-zone h2,.delete-dialog h2{font:600 25px Fraunces;margin:0 0 8px}.danger-zone p,.delete-dialog p{color:var(--muted);font-size:11px;line-height:1.6}.danger-button{border:0;border-radius:99px;background:#c95656;color:white;padding:11px 16px;font-weight:700;cursor:pointer}.danger-button:disabled{opacity:.4;cursor:not-allowed}.delete-dialog{width:min(92vw,520px);border:0;border-radius:22px;padding:32px;box-shadow:var(--shadow);color:var(--ink)}.delete-dialog::backdrop{background:rgba(32,40,52,.55)}.delete-dialog label{display:block;font-size:10px;font-weight:700;margin:20px 0 13px}.delete-dialog input{display:block;width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;margin-top:6px}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#f3eded;border-radius:50%;width:32px;height:32px}.delete-message{color:#b45555!important}.draft-badge{display:inline-block;background:#fff1d4;color:#9d7526;padding:6px 9px;border-radius:20px;font-size:9px;font-weight:700}
@media(max-width:760px){.legal-layout,.support-grid{grid-template-columns:1fr}.legal-nav{position:static;display:flex;overflow:auto}.cookie-banner{grid-template-columns:1fr}.cookie-banner-actions{flex-wrap:wrap}.start-step{grid-template-columns:42px 1fr}.start-step>span{width:40px;height:40px}}
.founder-art{margin:0;overflow:hidden;background:#d8ad88}.founder-art:after{content:none}.founder-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}.founder-art figcaption{position:absolute;right:4%;bottom:7%;background:white;border-radius:99px;padding:11px 16px;font-size:11px;box-shadow:0 9px 25px rgba(51,64,91,.15)}
.trial-summary{margin:22px 0;padding:18px;border:1px solid #cfe7df;border-radius:15px;background:#f2faf7}.trial-summary strong,.trial-summary span,.trial-summary small{display:block}.trial-summary strong{font:600 23px Fraunces;color:#4f9277}.trial-summary span{font-size:11px;font-weight:700;margin-top:6px}.trial-summary small{font-size:9px;color:var(--muted);margin-top:6px}.form-field small{display:block;color:var(--muted);font-size:8px;margin-top:4px;font-weight:400}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.media-tile{min-width:0}.media-preview{aspect-ratio:1;border-radius:14px;overflow:hidden;background:#eef4f5;display:grid;place-items:center}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-tile strong,.media-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-tile strong{font-size:11px;margin-top:7px}.media-tile small{font-size:8px;color:var(--muted);margin-top:3px}@media(max-width:900px){.sidebar.mobile-open{display:flex;position:fixed;inset:62px auto 0 0;width:250px;z-index:50}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.batch-organizer{margin:15px 0}.organize-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.organize-grid label{font-size:9px;font-weight:700}.organize-grid input,.organize-grid select,.library-filters input,.library-filters select{display:block;width:100%;min-height:42px;margin-top:6px;border:1px solid var(--border);border-radius:10px;padding:9px;background:white}.organize-grid select[multiple]{min-height:95px}.selection-help{font-size:9px;color:var(--muted);margin-top:-8px}.media-tile{position:relative;cursor:pointer}.media-select{position:absolute;z-index:3;top:8px;left:8px;background:rgba(255,255,255,.94);border-radius:99px;padding:6px 9px;font-size:8px;font-weight:700;box-shadow:0 3px 12px rgba(51,64,91,.12)}.media-select input{accent-color:var(--brand);margin:0 4px 0 0}.timeline-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px;margin-bottom:18px}.timeline-item{display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--border);border-radius:15px;padding:15px}.timeline-item i{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#eaf7fc;color:#347b98;font-style:normal}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:11px}.timeline-item small{font-size:8px;color:var(--muted);margin-top:3px}.library-filters{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;margin-bottom:18px}.library-filters input,.library-filters select{margin:0}.view-switcher{display:flex;gap:5px}.view-button,.share-moment{border:0;background:#f2f6f7;border-radius:9px;padding:8px 10px;color:var(--muted);font-size:9px;cursor:pointer}.view-button.active{background:#eaf7fc;color:#347b98}.media-grid.covers{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.media-grid.covers .media-preview{aspect-ratio:16/9}.media-grid.list{display:flex;flex-direction:column}.media-grid.list .media-tile{display:grid;grid-template-columns:74px 1fr;column-gap:12px;align-items:center;border-bottom:1px solid var(--border);padding:8px}.media-grid.list .media-preview{width:70px;grid-row:1/3}.media-grid.list strong,.media-grid.list small{margin:0}.slideshow-live{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#111821;color:white;overflow:hidden}.slideshow-live::backdrop{background:#111821}.slideshow-live #liveSlide{position:absolute;inset:0;display:grid;place-items:center;padding:65px 80px 90px}.slideshow-live #liveSlide img,.slideshow-live #liveSlide video{display:block;max-width:100%;max-height:100%;object-fit:contain}.slide-close,.slide-nav{position:absolute;z-index:3;border:0;color:white;background:rgba(255,255,255,.12);cursor:pointer}.slide-close{right:20px;top:18px;width:42px;height:42px;border-radius:50%;font-size:25px}.slide-nav{top:50%;transform:translateY(-50%);width:52px;height:72px;border-radius:12px;font-size:38px}.slide-nav.previous{left:18px}.slide-nav.next{right:18px}.slide-info{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:42px 28px 24px;background:linear-gradient(transparent,rgba(0,0,0,.75));text-align:center}.slide-info strong,.slide-info small{display:block}.slide-info small{color:rgba(255,255,255,.65);font-size:9px;margin-top:5px}
@media(max-width:1050px){.organize-grid{grid-template-columns:1fr 1fr}.library-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.organize-grid,.library-filters{grid-template-columns:1fr}.app-head{flex-direction:column}.view-switcher{width:100%;overflow:auto}.view-button{flex:1}.slideshow-live #liveSlide{padding:55px 0 95px}.slide-nav{display:none}.card{padding:15px}.timeline-list{grid-template-columns:1fr}}
.content-hero,.demo-hero{min-height:650px;padding:90px 8vw;display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:center;background:radial-gradient(circle at 12% 10%,rgba(244,198,111,.18),transparent 25%),#fffdf8}.content-hero h1,.demo-hero h1{font:600 clamp(48px,6vw,78px)/1 Fraunces;margin:0;letter-spacing:-.035em}.content-hero p:not(.eyebrow),.demo-hero p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted);max-width:680px}.content-hero>img,.demo-hero>img{width:100%;aspect-ratio:1.25;object-fit:cover;object-position:65% center;border-radius:28px;box-shadow:var(--shadow)}.content-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.content-section{padding:95px 8vw}.content-section>h2,.family-walkthrough>h2,.video-script>h2,.next-guides>h2{font:600 clamp(38px,4.5vw,58px)/1.05 Fraunces;margin:0 0 35px}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.guide-cards article{border:1px solid var(--border);border-radius:20px;background:white;padding:25px}.guide-cards b{color:var(--brand);font:600 17px Fraunces}.guide-cards h3{font:600 22px Fraunces;margin:24px 0 8px}.guide-cards p{font-size:11px;line-height:1.7;color:var(--muted)}.answer-section{padding:75px 8vw;background:#edf8f6;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.answer-section h2{font:600 clamp(35px,4vw,52px)/1.05 Fraunces;margin:0}.answer-section>p{font-size:15px;line-height:1.8;color:var(--muted)}.content-cta{text-align:center;padding:95px 20px;background:white}.content-cta h2{font:600 clamp(38px,5vw,60px)/1 Fraunces;margin:0}.content-cta p{color:var(--muted);margin:18px 0 24px}.quickstart-note{background:#fff7e7;border:1px solid #f2dfb5;border-radius:16px;padding:20px;margin-bottom:28px}.quickstart-note p{font-size:11px;color:var(--muted);margin-bottom:0}.next-guides{margin-top:70px}.guide-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.guide-links a{padding:20px;border:1px solid var(--border);border-radius:15px;text-decoration:none;background:white}.guide-links strong,.guide-links span{display:block}.guide-links strong{color:var(--ink);font:600 18px Fraunces}.guide-links span{color:var(--brand);font-size:9px;margin-top:8px}.guide-layout{max-width:1180px;margin:auto;padding:75px 25px 110px;display:grid;grid-template-columns:210px 1fr;gap:70px}.guide-layout>aside{position:sticky;top:100px;align-self:start;display:grid;gap:6px}.guide-layout>aside a{color:var(--muted);font-size:10px;text-decoration:none;padding:8px;border-left:2px solid var(--border)}.guide-copy section{padding:0 0 58px;margin-bottom:58px;border-bottom:1px solid var(--border)}.guide-copy h2{font:600 38px Fraunces;margin:0 0 15px}.guide-copy p,.guide-copy li,.guide-copy dd{font-size:12px;line-height:1.8;color:var(--muted)}.guide-copy li{margin-bottom:8px}.guide-tip{padding:14px 17px;background:#f2faf7;border-radius:12px}.access-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.access-list div{padding:16px;border:1px solid var(--border);border-radius:12px}.access-list dt{font-weight:700}.access-list dd{margin:5px 0 0}.faq-page{max-width:960px;margin:auto;padding:75px 25px 110px}.faq-group{margin-bottom:60px}.faq-group h2,.faq-help h2{font:600 34px Fraunces}.faq-group details{border-top:1px solid var(--border);padding:18px 0}.faq-group summary{font-size:13px;font-weight:700;cursor:pointer}.faq-group details p{font-size:11px;line-height:1.7;color:var(--muted);max-width:790px}.faq-help{padding:28px;border-radius:20px;background:#edf8f6;text-align:center}.demo-hero{background:#edf8f6}.demo-video-section{padding:85px 8vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw;align-items:center}.demo-video-section h2{font:600 46px/1 Fraunces;margin:0}.demo-video-section p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.7}.demo-video-section video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;background:#17202b;box-shadow:var(--shadow)}.family-walkthrough,.video-script{padding:95px 8vw}.family-people{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:45px}.family-people>span{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--border);border-radius:14px;padding:13px}.family-people i{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:white;font-style:normal;font-size:9px}.family-people strong,.family-people small{display:block}.family-people strong{font-size:11px}.family-people small{font-size:8px;color:var(--muted)}.demo-story{display:grid;grid-template-columns:1fr 1fr;gap:13px}.demo-story article{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:22px;border-radius:17px;background:white;border:1px solid var(--border)}.demo-story b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eaf7fc;color:#347b98}.demo-story h3{font:600 20px Fraunces;margin:0 0 6px}.demo-story p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.video-script{background:#fff7e7}.video-script details{background:white;border-radius:17px;border:1px solid var(--border);padding:20px}.video-script summary{font-weight:700;cursor:pointer}.video-script details p{font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:850px){.content-hero,.demo-hero,.answer-section,.demo-video-section{grid-template-columns:1fr}.guide-cards{grid-template-columns:1fr 1fr}.guide-layout{grid-template-columns:1fr}.guide-layout>aside{position:static;display:flex;overflow:auto}.guide-links{grid-template-columns:1fr}.family-people{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.content-hero,.demo-hero{padding:65px 20px}.content-hero h1,.demo-hero h1{font-size:46px}.content-hero>img,.demo-hero>img{aspect-ratio:1.15}.content-section,.family-walkthrough,.video-script,.demo-video-section{padding:70px 20px}.guide-cards,.demo-story,.access-list{grid-template-columns:1fr}.answer-section{padding:65px 20px}.family-people{grid-template-columns:1fr 1fr}.public-header nav{display:none}}
.auth-notice{margin:20px 0;padding:16px 18px;border-radius:14px;border:1px solid #cfe7df;background:#f2faf7;color:#355f50}.auth-notice strong,.auth-notice span{display:block}.auth-notice strong{font:600 19px Fraunces}.auth-notice span{margin-top:5px;font-size:11px;line-height:1.5}.auth-notice.error{border-color:#f2c6c2;background:#fff5f4;color:#9b4c48}
.upload-panel{display:grid;width:100%;min-height:285px;place-items:center;align-content:center;gap:9px;cursor:pointer}.upload-panel strong{display:block;font-size:17px}.upload-panel p{margin:0 0 8px}.upload-panel .secondary{margin-top:2px}
.delete-dialog form{margin-top:25px}.delete-dialog .form-field{display:block;margin:0 0 17px;font-size:10px;font-weight:700}.delete-dialog .form-field input,.delete-dialog .form-field select{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:white;outline:none}.delete-dialog .form-field select:focus,.delete-dialog .form-field input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(145,204,229,.2)}.delete-dialog .form-field select[multiple]{min-height:115px;padding:7px}.delete-dialog form>.primary{margin-top:5px}
.delete-link{border:0;background:transparent;color:#c95656!important;font-size:10px;cursor:pointer;padding:7px}.delete-link:disabled{opacity:.35;cursor:not-allowed}.media-delete{position:absolute;z-index:5;right:8px;top:8px;width:29px;height:29px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#b94f4f;font-size:19px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(51,64,91,.15)}.item-delete-dialog{width:min(92vw,570px)}.delete-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:24px}.delete-actions .danger-button,.delete-actions .secondary{min-height:42px}.item-delete-dialog .delete-message{min-height:0;margin-bottom:0}
.batch-organizer{padding:26px 28px;margin:18px 0 24px;background:linear-gradient(145deg,#fff 70%,#f5fbfa);overflow:hidden}.organizer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.organizer-heading .eyebrow{margin-bottom:7px}.organizer-heading h2{font:600 27px/1.1 Fraunces;margin:0}.organizer-step{padding:8px 12px;border-radius:99px;background:#edf8f6;color:#508875;font-size:9px;font-weight:700}.organizer-moment{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin:22px 0}.organizer-or{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f6edef;color:var(--brand-dark);font-size:9px;font-weight:700}.organizer-fields{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:13px}.organizer-moment label,.organizer-fields label{font-size:10px;font-weight:700}.organizer-moment input,.organizer-moment select,.organizer-fields input,.organizer-fields select{display:block;width:100%;min-height:48px;margin-top:7px;padding:11px 13px;border:1px solid #dfe7eb;border-radius:12px;background:white;outline:none}.organizer-moment input:focus,.organizer-moment select:focus,.organizer-fields input:focus,.organizer-fields select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(145,204,229,.2)}.organizer-moment small,.organizer-fields small,.people-picker>small{display:block;margin-top:6px;color:var(--muted);font-size:8px;font-weight:400}.people-picker{border:0;padding:0;margin:23px 0}.people-picker legend{font-size:10px;font-weight:700;margin-bottom:10px}.people-chips{display:flex;gap:8px;flex-wrap:wrap}.person-chip input{position:absolute;opacity:0;pointer-events:none}.person-chip span{display:flex;align-items:center;gap:7px;min-height:40px;padding:5px 13px 5px 6px;border:1px solid var(--border);border-radius:99px;background:white;font-size:9px;font-weight:700;cursor:pointer;transition:.15s}.person-chip i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf7fc;color:#347b98;font-style:normal}.person-chip input:checked+span{border-color:var(--brand);background:#fff4f3;color:var(--brand-dark);box-shadow:0 0 0 2px rgba(234,127,120,.12)}.person-chip input:checked+span i{background:var(--brand);color:white}.people-empty{font-size:9px;color:var(--muted);margin:0}.organizer-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:20px;border-top:1px solid var(--border)}.organizer-actions>span{font-size:9px;color:var(--muted)}.organizer-actions .primary:disabled{opacity:.55;cursor:wait}
@media(max-width:900px){.organizer-moment{grid-template-columns:1fr}.organizer-or{margin:-4px auto}.organizer-fields{grid-template-columns:1fr 1fr}.organizer-fields label:last-child{grid-column:1/-1}}
@media(max-width:600px){.batch-organizer{padding:20px 16px}.organizer-heading,.organizer-actions{align-items:stretch;flex-direction:column}.organizer-step{align-self:flex-start}.organizer-fields{grid-template-columns:1fr}.organizer-fields label:last-child{grid-column:auto}.organizer-actions .primary{width:100%}}
.moment-dialog{width:min(92vw,610px);max-height:min(88vh,850px);padding:34px 40px;overflow:auto}.moment-dialog h2{font-size:32px}.moment-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.moment-dialog .form-field{margin-bottom:14px}.moment-dialog .form-field:first-child,.moment-dialog .form-field:nth-child(2),.moment-dialog .form-field:last-of-type,.moment-dialog form>.primary,.moment-dialog .signup-message{grid-column:1/-1}.date-entry{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}.date-entry input{margin-top:0!important;min-width:0}.photo-date-button{border:0;border-radius:11px;padding:0 14px;background:#eaf7fc;color:#347b98;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}.photo-date-button:disabled{opacity:.45;cursor:not-allowed}.moment-dialog .form-field select[multiple]{min-height:80px}.moment-dialog form>.primary{justify-self:start}.moment-dialog input[list]{background:white}
@media(max-width:600px){.moment-dialog{padding:28px 20px}.moment-dialog form{grid-template-columns:1fr}.moment-dialog .form-field{grid-column:1}.date-entry{grid-template-columns:1fr}.photo-date-button{min-height:42px}}
.timeline-picker{border:0;padding:0;margin:0 0 16px!important;min-width:0}.timeline-picker legend{font-size:10px;font-weight:700;margin-bottom:9px}.timeline-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timeline-choice-grid .person-chip span{border-radius:13px;padding:8px;background:#fbfdfd}.person-chip b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-chip small{margin:0!important;font-size:7px!important;font-weight:500!important;color:var(--muted)}.timeline-choice-grid .person-chip input:checked+span{background:#fff4f3}.moment-dialog .timeline-picker>small{display:block;margin-top:7px;color:var(--muted);font-size:8px}.moment-dialog .signup-message{margin:0}.moment-dialog .primary{min-height:48px;padding-inline:26px}
@media(max-width:600px){.timeline-choice-grid{grid-template-columns:1fr}}
.selectable-media{padding:6px;border:2px solid transparent;border-radius:18px;transition:border-color .16s,background .16s,transform .16s;cursor:pointer}.selectable-media:hover{background:#f7fbfb;transform:translateY(-2px)}.selectable-media.is-selected{border-color:var(--brand);background:#fff5f4}.selectable-media.is-selected .media-select{background:var(--brand);color:white}.selectable-media.is-selected .media-select input{accent-color:white}.organised-empty{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:180px;border:1px dashed #cfe3df;border-radius:16px;background:#f6fbfa}.organised-empty strong{font:600 21px Fraunces}.organised-empty span{font-size:9px;color:var(--muted);margin-top:-55px}
.moment-picker{position:relative;margin-top:7px}.moment-picker-button{width:100%;min-height:58px;border:1px solid #dfe7eb;border-radius:14px;background:white;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;box-shadow:0 3px 12px rgba(51,64,91,.04)}.moment-picker-button:hover,.moment-picker-button.open{border-color:var(--sky);box-shadow:0 0 0 3px rgba(145,204,229,.18)}.moment-picker-button span small,.moment-picker-button span strong{display:block}.moment-picker-button span small{font-size:7px;color:var(--muted);font-weight:500;margin-bottom:3px}.moment-picker-button span strong{font-size:10px}.moment-picker-button>i{font-style:normal;font-size:17px;transition:transform .15s}.moment-picker-button.open>i{transform:rotate(180deg)}.moment-picker-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 7px);max-height:285px;overflow:auto;padding:7px;border:1px solid var(--border);border-radius:15px;background:white;box-shadow:0 18px 50px rgba(51,64,91,.18)}.moment-picker-menu button{width:100%;border:0;border-radius:11px;background:white;padding:9px;display:grid;grid-template-columns:34px 1fr 20px;gap:9px;align-items:center;text-align:left;cursor:pointer}.moment-picker-menu button:hover{background:#f2f9fa}.moment-picker-menu button.selected{background:#fff4f3}.moment-picker-menu button>span:nth-child(2) strong,.moment-picker-menu button>span:nth-child(2) small{display:block}.moment-picker-menu button>span:nth-child(2) strong{font-size:9px}.moment-picker-menu button>span:nth-child(2) small{font-size:7px;color:var(--muted);margin-top:3px}.moment-picker-menu button>i{color:var(--brand);font-style:normal}.picker-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf7fc;color:#347b98;font-size:9px;font-weight:700}
.batch-organizer{overflow:visible}
.slideshow-live #liveSlide{inset:18px 78px 142px;padding:0}.slideshow-live #liveSlide img,.slideshow-live #liveSlide video{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.slide-info{padding:24px 78px 20px;text-align:left;background:linear-gradient(transparent,rgba(4,9,15,.96) 24%)}.slide-info>strong{font:600 18px Fraunces}.slide-info>small{display:flex;gap:8px 22px;align-items:flex-start;overflow-x:auto;padding:10px 0 2px}.slide-info>small span{display:grid;gap:3px;flex:0 0 auto;max-width:260px}.slide-info>small b{color:rgba(255,255,255,.48);font-size:7px;text-transform:uppercase;letter-spacing:.1em}.slide-info>small em{color:white;font-size:9px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-close{background:rgba(255,255,255,.16);backdrop-filter:blur(10px)}
@media(max-width:600px){.slideshow-live #liveSlide{inset:55px 8px 190px;padding:0}.slide-info{padding:34px 18px 18px}.slide-info>small{gap:8px 17px}.slide-info>small span{max-width:210px}}
.brand-symbol{display:block;width:38px;height:40px;flex:0 0 38px}.brand-word{display:inline-block;color:#5b0b49;font-family:"Arial Rounded MT Bold",ui-rounded,"SF Pro Rounded",Inter,sans-serif;font-weight:700;letter-spacing:-.045em;text-transform:capitalize}.brand-full-logo{display:block;width:172px;height:auto}.site-header .brand-full-logo,.public-header .brand-full-logo{width:168px}.simple-footer .brand-full-logo,footer>.brand .brand-full-logo{width:145px}.sidebar .brand-full-logo{width:172px}
.signup-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.blog-hero{max-width:880px;margin:0 auto;padding:105px 24px 65px;text-align:center}.blog-hero h1{font:600 clamp(44px,6vw,76px)/1.02 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:10px 0 22px}.blog-hero>p:last-child{max-width:680px;margin:auto;color:var(--muted);font-size:16px;line-height:1.7}.blog-grid{width:min(1180px,calc(100% - 40px));margin:0 auto 110px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.blog-card{background:#fff;border:1px solid var(--border);border-radius:25px;overflow:hidden;box-shadow:0 18px 50px rgba(51,64,91,.09)}.blog-image{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#f3efeb}.blog-card-copy{padding:28px 30px 32px}.blog-card-copy h2{font:600 31px/1.08 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:0 0 15px}.blog-card-copy p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 20px}.blog-card-copy>a{color:var(--brand);font-size:11px;font-weight:700}.blog-cta{margin-top:0}@media(max-width:760px){.blog-hero{padding-top:75px}.blog-grid{grid-template-columns:1fr;gap:24px}.blog-card-copy{padding:24px}.blog-card-copy h2{font-size:28px}}
/* A memory is a proper Memmie page, not a dark lightbox. */
.media-detail-page{min-height:calc(100vh - 104px)}.media-back{border:0;background:transparent;color:var(--brand-dark);font-size:11px;font-weight:700;padding:4px 0 20px;cursor:pointer}.media-detail-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr);gap:clamp(28px,5vw,76px);align-items:center;min-height:calc(100vh - 170px)}.media-detail-copy{padding:32px 0}.media-detail-copy h1{font:600 clamp(38px,4.5vw,68px)/1.02 Fraunces,serif;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}.media-detail-intro{color:var(--muted);font-size:12px;line-height:1.65;margin:18px 0 32px;max-width:420px}.media-detail-copy dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.media-detail-copy dl div{padding:12px 0;border-top:1px solid var(--border);min-width:0}.media-detail-copy dt{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.media-detail-copy dd{font-size:11px;font-weight:600;margin:5px 0 0;overflow-wrap:anywhere}.media-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px}.media-stepper{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px}.media-stepper button{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:white;cursor:pointer}.media-detail-visual{height:min(76vh,820px);min-height:480px;border-radius:34px;background:radial-gradient(circle at 85% 12%,rgba(145,204,229,.32),transparent 28%),linear-gradient(145deg,#edf8f6,#fff8f3);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(14px,2.5vw,34px);box-shadow:var(--shadow)}.media-detail-visual img,.media-detail-visual video{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:22px}.friendly-date{display:grid;grid-template-columns:.7fr 1.25fr .9fr 1fr;gap:7px;width:100%}.friendly-date label{margin:0!important;color:var(--muted);font-size:7px!important}.friendly-date select,.friendly-date input{display:block;width:100%;height:44px;margin-top:4px!important;padding:8px!important;border:1px solid var(--border);border-radius:10px;background:white}.date-entry>.friendly-date{min-width:0}.moment-dialog .date-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.media-stepper span{white-space:nowrap;min-width:max-content}.media-detail-visual figure{width:100%;height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;min-height:0}.media-detail-visual figure img,.media-detail-visual figure video{min-height:0}.media-detail-visual figcaption{max-width:850px;margin:auto;color:var(--ink);font:500 15px/1.55 Fraunces,serif;text-align:center}.media-detail-visual figcaption button{border:0;background:transparent;color:var(--brand-dark);font:600 14px/1.4 Inter,sans-serif;cursor:pointer;padding:6px 12px;border-radius:99px}.media-detail-visual figcaption button:hover{background:#fff0ee}.memory-caption-empty{color:var(--brand-dark)}.memory-details-editor{margin:0 0 24px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fbfdfd}.memory-details-editor>label,.memory-details-editor legend,.memory-new-people{display:block;font-size:9px;font-weight:700}.memory-details-editor textarea,.memory-new-people input{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:white;resize:vertical}.memory-details-editor fieldset{border:0;border-top:1px solid var(--border);margin:14px 0;padding:14px 0 0}.memory-details-editor legend{padding:0 8px 0 0}.memory-details-editor .people-chips{margin-bottom:10px}.memory-details-editor .person-chip input{min-height:0;margin:0;padding:0}.memory-details-editor .secondary{margin-top:13px}.memory-details-editor .signup-message{margin:8px 0 0}.moment-dialog .moment-date-field{grid-column:1/-1!important}.moment-dialog label.form-field:last-of-type:not(.moment-date-field){grid-column:auto}.moment-dialog .date-entry{grid-template-columns:minmax(0,1fr)}.moment-dialog .friendly-date{grid-template-columns:minmax(68px,.7fr) minmax(128px,1.3fr) minmax(96px,.9fr) minmax(118px,1fr)}.moment-dialog .photo-date-button{width:max-content;max-width:100%;min-height:42px;padding:10px 16px;justify-self:start}.friendly-date select,.friendly-date input{font-size:11px;color:var(--ink)}
@media(max-width:900px){.media-detail-layout{grid-template-columns:1fr}.media-detail-copy{order:2;padding:0}.media-detail-visual{height:min(62vh,620px);min-height:350px}.media-detail-page{padding-bottom:40px}}
@media(max-width:600px){.media-detail-layout{gap:20px}.media-detail-visual{height:52vh;min-height:300px;border-radius:22px;padding:9px}.media-detail-visual img,.media-detail-visual video{border-radius:15px}.media-detail-copy h1{font-size:38px}.media-detail-copy dl{grid-template-columns:1fr}.media-detail-actions{align-items:flex-end}.friendly-date,.moment-dialog .friendly-date{grid-template-columns:minmax(70px,.75fr) minmax(120px,1.25fr);gap:10px}.moment-dialog .date-entry{grid-template-columns:1fr}.moment-dialog .photo-date-button{width:100%;justify-self:stretch}}

/* My timeline — the unmistakable heart of Memmie. */
.timeline-nav-icon{font-size:18px;line-height:0;color:var(--brand)}#panel-home>.stat-grid,#panel-home>.card{margin-top:28px}.primary-timeline{margin:0 0 42px}.timeline-hero{min-height:150px;border-radius:28px;padding:32px 38px;display:flex;align-items:flex-end;justify-content:space-between;color:white;background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.3),transparent 20%),linear-gradient(125deg,var(--brand),#e9a278 55%,var(--amber));box-shadow:0 22px 55px rgba(217,109,103,.2)}.timeline-kicker{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700;opacity:.82}.timeline-hero strong{display:block;font:600 clamp(36px,5vw,64px)/1 Fraunces;margin-top:8px}.timeline-count{padding:9px 14px;border:1px solid rgba(255,255,255,.5);border-radius:99px;font-size:10px;font-weight:700;background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}.timeline-years{position:relative;padding:38px 0 5px 92px}.timeline-years:before{content:"";position:absolute;left:45px;top:0;bottom:0;width:2px;background:linear-gradient(var(--brand),var(--sky),var(--sage))}.timeline-year{position:relative;margin:8px 0 17px}.timeline-year span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:99px;background:var(--ink);color:white;font:600 17px Fraunces;box-shadow:0 7px 18px rgba(51,64,91,.15)}.timeline-year:before{content:"";position:absolute;left:-55px;top:17px;width:55px;height:2px;background:var(--brand)}.timeline-event{position:relative;margin-bottom:22px;cursor:pointer}.timeline-dot{position:absolute;left:-54px;top:34px;width:15px;height:15px;border:4px solid #f7faf9;border-radius:50%;background:var(--brand);box-shadow:0 0 0 1px var(--rose)}.timeline-event-card{display:grid;grid-template-columns:1fr minmax(170px,32%);min-height:190px;background:white;border:1px solid var(--border);border-radius:23px;overflow:hidden;box-shadow:0 10px 35px rgba(51,64,91,.07);transition:transform .2s,box-shadow .2s}.timeline-event:hover .timeline-event-card{transform:translateY(-3px);box-shadow:var(--shadow)}.timeline-event-copy{padding:28px}.timeline-event-copy time{color:var(--brand-dark);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.timeline-event-copy h2{font:600 clamp(24px,3vw,37px)/1.05 Fraunces;margin:12px 0 8px}.timeline-event-copy p{color:var(--muted);font-size:11px;margin:0 0 20px}.timeline-event-copy>span{display:inline-block;padding:7px 10px;border-radius:99px;background:#edf8f6;color:#579477;font-size:8px;font-weight:700}.timeline-event-image{min-height:190px;background:linear-gradient(145deg,#eaf7fc,#f8e9eb);display:grid;place-items:center;color:white;font:600 42px Fraunces}.timeline-event-image img,.timeline-event-image video{width:100%;height:100%;max-height:270px;object-fit:cover}.timeline-empty{border:1px dashed var(--rose);border-radius:24px;padding:55px 25px;text-align:center;background:white}.timeline-empty>span{font-size:34px;color:var(--brand)}.timeline-empty h2{font:600 30px Fraunces;margin:12px 0}.timeline-empty p{color:var(--muted);font-size:11px;margin:0 auto 22px;max-width:440px}.timeline-loading{color:var(--muted);font-size:11px;padding:30px}
@media(max-width:700px){.timeline-hero{min-height:125px;padding:25px;align-items:flex-start;flex-direction:column}.timeline-years{padding-left:38px}.timeline-years:before{left:13px}.timeline-year:before{left:-25px;width:25px}.timeline-dot{left:-31px}.timeline-event-card{grid-template-columns:1fr}.timeline-event-image{grid-row:1;min-height:210px}.timeline-event-copy{padding:22px}.timeline-event-image img,.timeline-event-image video{max-height:300px}#panel-home>.stat-grid{margin-top:20px}}

.member-timeline-shell{margin:0 0 38px;background:white;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 18px 55px rgba(51,64,91,.08)}.member-timeline-tools{min-height:66px;padding:12px 18px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border)}.member-timeline-filters{display:flex;gap:6px}.member-timeline-tools>label{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px}.member-timeline-tools input{accent-color:var(--brand)}.member-timeline-tools>div:last-child{display:flex;gap:5px}.member-timeline-tools>div:last-child button{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:white;cursor:pointer}.member-timeline-viewport{overflow-x:auto;cursor:grab;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-color:var(--sky) #f1f6f8}.member-timeline-viewport.panning{cursor:grabbing;scroll-behavior:auto;user-select:none}.member-timeline{--timeline-width:2400px;width:var(--timeline-width);height:520px;position:relative;padding-top:105px;transition:width .2s}.member-years{position:absolute;left:175px;right:0;top:28px}.member-years span{position:absolute;left:var(--x);color:#98919a;font-size:9px}.member-years span:after{content:"";height:430px;border-left:1px dashed #e3e8eb;position:absolute;left:50%;top:22px}.member-person-row{height:92px;display:flex;align-items:center}.member-person{width:175px;position:sticky;left:0;z-index:8;height:100%;padding:0 17px;background:linear-gradient(90deg,#fff 88%,transparent);display:flex;align-items:center;gap:9px}.member-person strong,.member-person small{display:block}.member-person strong{font-size:11px}.member-person small{font-size:8px;color:var(--muted);margin-top:3px}.member-life-line{height:2px;flex:1;background:#dcebef}.member-moment{position:absolute;left:calc(175px + var(--x));top:var(--top);transform:translate(-50%,-50%);z-index:5;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.member-moment.with-cover{width:174px;border-radius:16px;background:white;border:1px solid var(--border);overflow:hidden;box-shadow:0 12px 30px rgba(51,64,91,.16);transition:transform .18s}.member-moment.with-cover:hover{transform:translate(-50%,-54%)}.member-moment-cover{display:block;height:96px;position:relative;background:linear-gradient(145deg,var(--sage),var(--sky))}.member-moment-cover img,.member-moment-cover video{width:100%;height:100%;object-fit:cover}.member-moment-cover b{position:absolute;right:7px;top:7px;padding:4px 7px;border-radius:20px;background:rgba(51,64,91,.8);color:white;font-size:8px}.member-moment-copy{display:block;padding:10px;background:white}.member-moment-copy strong,.member-moment-copy small{display:block}.member-moment-copy strong{font:600 13px Fraunces}.member-moment-copy small{font-size:7px;color:var(--muted);margin-top:4px;max-width:154px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-moment.compact .member-moment-copy{position:absolute;left:25px;top:-21px;width:160px;background:transparent}.member-moment-dot{display:block;width:18px;height:18px;border:5px solid white;background:var(--brand);border-radius:50%;box-shadow:0 0 0 1px var(--rose)}.member-connector{position:absolute;left:50%;top:50%;width:2px;height:var(--height);background:linear-gradient(var(--sky),var(--brand));opacity:.65;z-index:-1}.member-swipe-hint{text-align:center;color:#9ba2ad;font-size:8px;margin:10px}.horizontal-empty{position:absolute;left:220px;top:70px;width:min(700px,70vw)}
@media(max-width:650px){.member-timeline-shell{margin-inline:-16px;border-radius:0}.member-timeline-tools{overflow:auto}.member-timeline-tools>label{display:none}.member-timeline{--timeline-width:2200px}.member-person{width:130px}.member-years{left:130px}.member-moment{left:calc(130px + var(--x))}.horizontal-empty{left:150px}.member-timeline-filters .view-button:nth-child(n+3){display:none}}

.empty-years span{color:#b6bec9}.empty-life-line{background:repeating-linear-gradient(90deg,#dcebef 0 18px,transparent 18px 28px)}.empty-timeline-invitation{position:sticky;z-index:12;left:max(24px,calc(50vw - 310px));box-sizing:border-box;width:min(620px,calc(100vw - 80px));min-width:0;margin:-26px 0 0;padding:34px 40px;text-align:center;border:1px solid rgba(234,127,120,.32);border-radius:25px;background:rgba(255,253,248,.96);box-shadow:0 24px 65px rgba(51,64,91,.15);backdrop-filter:blur(12px)}.empty-timeline-spark{display:grid;place-items:center;width:48px;height:48px;margin:-59px auto 18px;border-radius:50%;background:var(--brand);color:white;font-size:22px;box-shadow:0 10px 25px rgba(234,127,120,.3)}.empty-timeline-invitation .eyebrow{margin-bottom:9px}.empty-timeline-invitation h2{max-width:520px;margin:0 auto 10px;font:600 clamp(28px,3.2vw,43px)/1.08 Fraunces}.empty-timeline-invitation>p:not(.eyebrow){margin:0 0 22px;color:var(--muted);font-size:11px}.empty-timeline-invitation .primary{font-size:11px}
@media(max-width:650px){.empty-timeline-invitation{left:20px;width:calc(100vw - 40px);margin-left:0;padding:30px 22px}.empty-timeline-invitation h2{font-size:29px}}

/* Give the core timeline room, with an immersive full-screen mode. */
#panel-home .member-timeline-shell{min-height:clamp(650px,72vh,940px)}#panel-home .member-timeline-viewport{min-height:clamp(565px,calc(72vh - 85px),855px)}#panel-home .member-timeline{min-height:clamp(565px,calc(72vh - 85px),855px)}.timeline-expand-button{font-size:19px!important;line-height:1}.member-timeline-shell.is-expanded{position:fixed;z-index:1000;inset:0;margin:0!important;border:0;border-radius:0;width:100vw;height:100vh;min-height:100vh!important;background:white}.member-timeline-shell.is-expanded .member-timeline-tools{height:74px;padding-inline:28px}.member-timeline-shell.is-expanded .member-timeline-viewport{height:calc(100vh - 104px);min-height:0!important}.member-timeline-shell.is-expanded .member-timeline{height:calc(100vh - 104px)!important;min-height:0!important}.member-timeline-shell.is-expanded .timeline-expand-button{background:var(--ink)!important;color:white;border-color:var(--ink)!important}.timeline-fullscreen-open{overflow:hidden}.member-moment{touch-action:manipulation}.member-moment:hover,.member-moment:focus-visible{z-index:20}.member-moment:focus-visible{outline:4px solid rgba(145,204,229,.55);outline-offset:5px}
@media(max-width:650px){#panel-home .member-timeline-shell{min-height:68vh}#panel-home .member-timeline-viewport,#panel-home .member-timeline{min-height:calc(68vh - 70px)}.member-timeline-shell.is-expanded .member-timeline-tools{padding-inline:12px}.member-timeline-shell.is-expanded .member-timeline-filters{display:none}}

.timeline-filter-wrap{position:relative}.timeline-filter-wrap>.view-button span{margin-left:4px;font-size:9px}.timeline-filter-popover{position:absolute;z-index:40;left:0;top:calc(100% + 12px);width:300px;padding:18px;border:1px solid var(--border);border-radius:17px;background:white;box-shadow:0 20px 55px rgba(51,64,91,.18)}.timeline-filter-popover[hidden]{display:none}.timeline-filter-popover:before{content:"";position:absolute;left:25px;top:-7px;width:12px;height:12px;transform:rotate(45deg);background:white;border-left:1px solid var(--border);border-top:1px solid var(--border)}.people-popover>p{margin:0 0 10px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.timeline-person-option{display:grid;grid-template-columns:auto 32px 1fr;align-items:center;gap:9px;padding:8px;border-radius:10px;cursor:pointer}.timeline-person-option:hover{background:#f7faf9}.timeline-person-option input{accent-color:var(--brand)}.timeline-person-option .person-avatar{width:30px;height:30px}.timeline-person-option strong{font-size:10px}.timeline-add-person{width:100%;margin-top:10px;padding:11px;border:1px dashed var(--rose);border-radius:11px;background:#fff8f7;color:var(--brand-dark);font-size:9px;font-weight:700;cursor:pointer}.find-popover{width:360px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.find-popover>label:first-child,.timeline-date-range,.timeline-filter-actions{grid-column:1/-1}.find-popover label{font-size:8px;font-weight:700}.find-popover input,.find-popover select{display:block;width:100%;height:40px;margin-top:5px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:white;font-size:9px}.timeline-date-range{display:grid;grid-template-columns:1fr 1fr;gap:9px}.timeline-filter-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.timeline-filter-actions button{padding:9px 13px;font-size:8px}.member-moment[hidden],.member-person-row[hidden]{display:none!important}
@media(max-width:650px){.timeline-filter-popover{position:fixed;z-index:1100;left:12px;right:12px;top:80px;width:auto}.find-popover{width:auto}.member-timeline-shell.is-expanded .member-timeline-filters{display:flex}.member-timeline-shell.is-expanded .member-timeline-tools>label{display:none}}

.member-timeline-filters{align-items:center}.timeline-filter-pill{min-height:42px;padding:9px 17px;border:1px solid var(--border);border-radius:999px;background:white;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.timeline-filter-pill:hover,.timeline-filter-pill.active{border-color:#bfe4f2;background:#eaf7fc;color:#347b98}.timeline-filter-pill span{margin-left:5px;font-size:8px}.timeline-filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.timeline-filter-heading strong{font-size:12px}.timeline-filter-heading button{border:0;background:transparent;color:var(--brand);font-size:9px;font-weight:700;cursor:pointer}.timeline-filter-options{display:grid;gap:3px;max-height:270px;overflow:auto}.timeline-filter-options label{display:flex;align-items:center;gap:10px;min-height:38px;padding:6px 7px;border-radius:9px;color:var(--muted);font-size:11px;cursor:pointer}.timeline-filter-options label:hover{background:#f7faf9}.timeline-filter-options input{width:18px;height:18px;accent-color:var(--brand)}.timeline-inline-add{width:100%;margin-top:10px;padding:10px;border:1px dashed var(--rose);border-radius:10px;background:#fff8f7;color:var(--brand-dark);font-size:9px;font-weight:700;cursor:pointer}.timeline-apply-filter{width:100%;margin-top:15px;padding:13px;border:0;border-radius:999px;background:var(--brand);color:white;font-size:12px;font-weight:700;box-shadow:0 10px 26px rgba(234,127,120,.2);cursor:pointer}.timeline-people-popover{width:300px}.timeline-type-popover{width:330px}.timeline-place-popover{width:350px}.timeline-date-popover{width:330px}

/* LUX timeline motion: cinematic staggered entrances and a generous hover reveal. */
.member-moment.lux-enter{animation:timeline-lux-rise .72s cubic-bezier(.2,.82,.22,1) both;animation-delay:calc(var(--lux-index,0)*55ms)}
.member-moment.lux-enter.lux-from-top{animation-name:timeline-lux-fall}
.member-timeline .member-moment.with-cover{transform-origin:50% 50%;transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s ease,border-color .3s ease,filter .3s ease}
.member-moment-cover img,.member-moment-cover video{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .45s ease}
@keyframes timeline-lux-rise{0%{opacity:0;transform:translate(-50%,calc(-50% + 72px)) scale(.78);filter:blur(7px)}70%{opacity:1;transform:translate(-50%,calc(-50% - 5px)) scale(1.025);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@keyframes timeline-lux-fall{0%{opacity:0;transform:translate(-50%,calc(-50% - 82px)) scale(.78);filter:blur(7px)}70%{opacity:1;transform:translate(-50%,calc(-50% + 5px)) scale(1.025);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@media(hover:hover) and (pointer:fine){.member-timeline .member-moment.with-cover:hover,.member-timeline .member-moment.with-cover:focus-visible{z-index:60;transform:translate(-50%,-50%) scale(1.55);border-color:rgba(234,127,120,.5);box-shadow:0 34px 85px rgba(51,64,91,.3),0 0 0 1px rgba(255,255,255,.85);filter:saturate(1.06)}.member-moment.with-cover:hover .member-moment-cover img,.member-moment.with-cover:hover .member-moment-cover video,.member-moment.with-cover:focus-visible .member-moment-cover img,.member-moment.with-cover:focus-visible .member-moment-cover video{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.member-moment.lux-enter{animation:none}.member-moment.with-cover,.member-moment-cover img,.member-moment-cover video{transition-duration:.01ms!important}}
@media(max-width:760px){.member-timeline-filters{overflow-x:auto;max-width:calc(100vw - 125px);padding-bottom:2px}.timeline-filter-pill{min-height:38px;padding:8px 14px;font-size:10px}.timeline-filter-popover{width:auto}}
.mobile-upload-actions{display:none;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.mobile-upload-choice{min-height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;cursor:pointer;text-align:center}.mobile-upload-choice input{display:none}.mobile-upload-choice.primary{background:var(--brand);color:white}.mobile-upload-choice.secondary{border:1px solid var(--border);background:white;color:var(--ink)}.mobile-upload-choice span{font-size:17px}.mobile-upload-privacy{margin:0 0 15px;color:var(--muted);font-size:9px;line-height:1.5}.mobile-upload-previews{display:grid;gap:8px}.mobile-upload-previews article{display:grid;grid-template-columns:58px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:13px;background:#fbfdfc}.mobile-upload-thumb{width:58px;height:58px;border-radius:10px;overflow:hidden;background:#edf3f4;display:grid;place-items:center}.mobile-upload-thumb img{width:100%;height:100%;object-fit:cover}.mobile-upload-previews article>span{min-width:0}.mobile-upload-previews strong,.mobile-upload-previews small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-upload-previews strong{font-size:10px}.mobile-upload-previews small{margin-top:4px;color:var(--muted);font-size:8px}.mobile-upload-previews button{width:32px;height:32px;border:0;border-radius:50%;background:#f8e9eb;color:var(--brand-dark);font-size:18px;cursor:pointer}.mobile-upload-previews progress,.mobile-upload-total progress{width:100%;height:6px;margin-top:8px;accent-color:var(--brand)}.mobile-upload-total{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:15px;font-size:9px;color:var(--muted)}.mobile-upload-total progress{grid-column:1/-1}.mobile-upload-start{width:100%;margin-top:15px;min-height:48px}
@media(max-width:600px){.mobile-upload-actions{display:grid}.upload-panel{display:none}.member-upload-list{padding:14px}.member-upload-list .card-head{margin-bottom:8px}.mobile-upload-previews{max-height:48vh;overflow:auto}.mobile-upload-choice{font-size:10px}}
.report-media-button{margin-left:8px}.report-dialog textarea,.report-dialog select{width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:white;font:inherit}.report-help{color:var(--muted);font-size:10px;line-height:1.6}.admin-ticket{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--border)}.admin-ticket>div:first-child{display:grid;gap:6px}.admin-ticket strong,.admin-ticket small{display:block}.admin-ticket small,.admin-ticket p,.admin-ticket code{font-size:9px;color:var(--muted)}.abuse-ticket{border-left:4px solid var(--brand);padding-left:14px}.admin-ticket-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-ticket-actions button{font-size:9px;padding:8px 10px}
@media(max-width:600px){.report-media-button{margin:8px 0 0;width:100%}.admin-ticket{grid-template-columns:1fr}.admin-ticket-actions{align-items:stretch;flex-direction:column}.admin-ticket-actions button{width:100%}}
.suggested-moments{margin:18px 0;padding:26px}.suggested-moments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.suggested-moments-head h2{font:600 28px Fraunces;margin:4px 0}.suggested-moments-head p{color:var(--muted);font-size:9px}.suggested-moment-list{display:grid;gap:12px;margin-top:18px}.suggested-moment{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fbfdfc}.suggested-preview-stack{display:grid;grid-template-columns:repeat(4,1fr);height:76px;gap:4px}.suggested-preview-stack img,.suggested-preview-stack span{width:100%;height:100%;object-fit:cover;border-radius:8px;background:#edf3f4;display:grid;place-items:center;overflow:hidden}.suggested-moment label{font-size:9px;font-weight:700}.suggested-moment input{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:white;font-size:12px}.suggested-moment p{margin:7px 0 0;color:var(--muted);font-size:9px}.suggested-moment-fields fieldset{border:0;padding:12px 0 0;margin:12px 0 0;border-top:1px solid var(--border)}.suggested-moment-fields legend{font-size:9px;font-weight:700;margin-bottom:8px}.suggested-moment-fields .person-chip input{min-height:0;margin:0;padding:0}.suggested-new-people{display:block;margin-top:10px}.suggested-new-people small{display:block;margin-top:4px;color:var(--muted);font-weight:400}
.favorite-nav-heart{color:var(--brand);font-size:15px}.favorite-summary{display:flex;align-items:center;gap:13px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border)}.favorite-summary strong,.favorite-summary small{display:block}.favorite-summary strong{font:600 20px Fraunces}.favorite-summary small{margin-top:3px;color:var(--muted);font-size:9px}.favorite-large-heart{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff0ee;color:var(--brand);font-size:23px}.favorite-tile{position:relative}.favorite-tile-heart{position:absolute;z-index:4;right:8px;top:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--brand);font-size:17px;cursor:pointer;box-shadow:0 4px 14px rgba(51,64,91,.15)}.favorite-heart{border:1px solid #efc2bf;border-radius:99px;background:#fff5f4;color:var(--brand-dark);padding:11px 15px;font-size:9px;font-weight:700;white-space:nowrap;cursor:pointer}.favorite-heart span{font-size:15px;vertical-align:-1px}.favorite-heart.active{background:var(--brand);border-color:var(--brand);color:white}.favorites-empty{grid-column:1/-1;min-height:300px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.favorites-empty span{font-size:55px;color:#efaaa5}.favorites-empty h2{font:600 27px Fraunces;color:var(--ink);margin:8px 0}.favorites-empty p{font-size:10px;margin:0}
@media(max-width:600px){.suggested-moments{padding:18px 14px}.suggested-moments-head{flex-direction:column}.suggested-moments-head .primary{width:100%}.suggested-moment{grid-template-columns:1fr}.suggested-preview-stack{height:68px}}
.slide-title-row{display:flex;align-items:center;gap:12px}.slide-title-row>strong{font:600 18px Fraunces}.slide-title-row>button{border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:6px 10px;background:rgba(255,255,255,.1);color:white;font-size:8px;font-weight:700;cursor:pointer}.slide-title-row>button:hover{background:white;color:var(--ink)}
/* Collision lanes can make a timeline taller than its default grid. */
.member-years span:after{height:var(--timeline-grid-height,430px)}

/* Keep the single-memory workspace inside the desktop viewport. */
@media(min-width:901px){
  .media-detail-page{height:calc(100vh - 104px);min-height:0;overflow:hidden;display:none;flex-direction:column}
  .media-detail-page.active{display:flex}
  .media-back{flex:0 0 auto;padding:0 0 12px}
  .media-detail-layout{--detail-copy-width:clamp(310px,30vw,410px);position:relative;flex:1;min-height:0;grid-template-columns:var(--detail-copy-width) minmax(0,1fr);gap:28px;align-items:stretch}
  .media-detail-copy{min-height:0;overflow-y:auto;padding:6px 8px 82px 0;scrollbar-width:thin}
  .media-detail-copy h1{font-size:clamp(34px,3.2vw,52px);line-height:1;margin-bottom:16px}
  .memory-details-editor{margin-bottom:16px;padding:15px}
  .memory-details-editor textarea{min-height:86px;max-height:130px}
  .media-detail-copy dl div{padding:9px 0}
  .media-detail-actions{position:absolute;z-index:15;left:0;bottom:0;width:var(--detail-copy-width);min-height:64px;margin:0;padding:9px 8px 9px 0;background:linear-gradient(90deg,#f7faf9 88%,rgba(247,250,249,0));display:flex;justify-content:flex-start;gap:8px}
  .media-detail-actions>button{flex:0 0 auto;min-width:max-content!important;width:auto!important;min-height:44px!important;height:44px!important;border-radius:99px!important;padding:0 16px!important;white-space:nowrap}
  .media-stepper{margin:0;gap:8px}
  .media-stepper button{width:42px!important;padding:0!important}
  .media-detail-visual{height:auto;min-height:0;max-height:none;border-radius:26px;padding:14px;display:grid;grid-template-rows:minmax(0,1fr) 58px}
  .media-detail-visual figure{gap:8px}
  .media-detail-visual figcaption{font-size:13px;line-height:1.35}
}
.media-detail-page button{font-family:Inter,sans-serif;font-weight:700;line-height:1.15}.media-detail-visual{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto 58px;gap:16px}.media-detail-stage{width:100%;height:100%;min-height:0}.media-visual-footer{min-height:58px;display:flex;align-items:center;justify-content:center;padding:0}.media-visual-footer .media-stepper{display:flex;align-items:center}.media-full-view-button{position:absolute;z-index:5;right:22px;top:22px;border:1px solid rgba(255,255,255,.75);border-radius:99px;padding:10px 14px;background:rgba(51,64,91,.78);backdrop-filter:blur(10px);color:white;font-size:9px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(51,64,91,.18)}.media-full-view-button:hover{background:var(--ink)}.media-full-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:28px;border:0;background:rgba(10,16,25,.97);overflow:hidden}.media-full-dialog::backdrop{background:#0a1019}.media-full-dialog #mediaFullStage{width:100%;height:100%;display:grid;place-items:center}.media-full-dialog img,.media-full-dialog video{display:block;max-width:100%;max-height:100%;object-fit:contain}.media-full-close{position:fixed;z-index:2;right:22px;top:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.14);color:white;font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(10px)}
@media(max-width:600px){.media-full-view-button{right:14px;top:14px;padding:8px 11px}.media-full-dialog{padding:66px 8px 18px}}

/* Compact, genuinely touch-scrollable member experience on phones. */
@media(max-width:650px){
  .mobile-top{height:54px;padding:0 12px;position:sticky;top:0;z-index:60}
  .mobile-top .brand{font-size:25px}
  .mobile-top .secondary{padding:8px 11px;font-size:9px}
  .app-main{padding:18px 12px 42px}
  .app-head{margin-bottom:18px;gap:10px}.app-head h1{font-size:30px;line-height:1.05}.app-head p{font-size:10px;line-height:1.45;margin:7px 0 0}.app-head .eyebrow{font-size:8px}
  .app-head .primary{width:100%;min-height:44px;padding:10px 15px;font-size:10px}
  .card{border-radius:14px}.stat{padding:13px;border-radius:13px}.stat strong{font-size:23px}.stat small{font-size:8px}
  .member-timeline-shell{margin:0 -12px 22px;border-left:0;border-right:0;border-radius:0;min-height:0!important}
  .member-timeline-tools{min-height:54px;padding:8px 10px;gap:7px;overflow:visible}
  .member-timeline-filters{max-width:calc(100vw - 112px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .member-timeline-filters::-webkit-scrollbar{display:none}
  .timeline-filter-pill{min-height:34px;padding:6px 11px;font-size:9px}
  .member-timeline-tools>div:last-child button{width:32px;height:32px}
  #panel-home .member-timeline-viewport{min-height:430px;height:58vh;max-height:540px;overflow-x:scroll;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch;scroll-behavior:auto}
  #panel-home .member-timeline{--timeline-width:1700px;min-height:430px!important;height:100%!important;padding-top:82px}
  .member-years{left:56px;top:22px}.member-years span{font-size:8px}.member-years span:after{top:18px}
  .member-person{width:56px;padding:0 10px;justify-content:center;background:linear-gradient(90deg,#fff 90%,transparent)}.member-person>span:last-child{display:none}.member-person .person-avatar{width:36px;height:36px;flex:0 0 36px;font-size:10px}
  .member-moment{left:calc(56px + var(--x))}.member-moment.with-cover{width:145px;border-radius:13px}.member-moment-cover{height:78px}.member-moment-copy{padding:8px}.member-moment-copy strong{font-size:11px}.member-moment-copy small{max-width:129px}
  .member-event-stem,.member-event-connector,.member-event-node,.member-connector-skip{left:calc(56px + var(--x))}
  .member-swipe-hint{font-size:8px;margin:8px}
  .timeline-filter-popover{top:64px;max-height:calc(100vh - 80px);overflow:auto;padding:14px}
  .table-wrap{border-radius:14px}.data-table th,.data-table td{padding:10px;font-size:9px}
  .media-grid{gap:10px}.media-tile strong{font-size:10px}.media-preview{border-radius:11px}
}


/* Routed member pages are mutually exclusive. */
.app-main>.panel:not(.active){display:none!important}
.referral-card{margin-bottom:18px;background:linear-gradient(145deg,#fff 64%,#fff4f3)}.referral-card h2{font:600 28px Fraunces;margin:5px 0 8px}.referral-card>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:10px;line-height:1.6}.referral-card form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:17px}.referral-card form .signup-message{grid-column:1/-1}.referral-list{display:grid;gap:7px;margin-top:17px;padding-top:14px;border-top:1px solid var(--border)}.referral-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.referral-list strong,.referral-list small{display:block}.referral-list strong{font-size:10px}.referral-list small,.referral-empty{margin-top:3px;color:var(--muted);font-size:8px}.referral-list button{padding:7px 10px;font-size:8px}@media(max-width:600px){.referral-card form{grid-template-columns:1fr}.referral-card form .primary{width:100%}.referral-list article{align-items:flex-start}.referral-card h2{font-size:24px}}
.sidebar nav button{position:relative}.nav-badge{position:absolute;right:18px;top:50%;min-width:19px;height:19px;padding:0 5px;transform:translateY(-50%);display:grid;place-items:center;border-radius:99px;background:var(--brand);color:white;font-size:8px;font-style:normal;font-weight:700}.notification-list{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:white}.notification-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 10px;align-items:center;gap:16px;min-height:108px;padding:20px 24px;border-bottom:1px solid var(--border);cursor:pointer;transition:.18s ease}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:#fbfdfc}.notification-item.unread{background:linear-gradient(90deg,#fff7f6,#fff 72%)}.notification-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#edf6f8;color:#347b98;font-size:18px}.notification-reward{background:#fff0d8;color:#a46c13}.notification-feature{background:#fff0ee;color:var(--brand-dark)}.notification-item strong{display:block;font:600 18px Fraunces}.notification-item p{margin:5px 0;color:var(--muted);font-size:10px;line-height:1.5}.notification-item small{color:#9aa2b3;font-size:8px}.notification-item>i{width:8px;height:8px;border-radius:50%;background:var(--brand)}.notification-empty{min-height:340px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.notification-empty>span{font-size:30px;color:#78ad99}.notification-empty h2{margin:10px 0 4px;font:600 26px Fraunces;color:var(--ink)}.notification-empty p{font-size:10px}@media(max-width:600px){.notification-list{border-radius:15px}.notification-item{grid-template-columns:39px minmax(0,1fr) 8px;gap:11px;min-height:92px;padding:15px 13px}.notification-icon{width:38px;height:38px;font-size:15px}.notification-item strong{font-size:15px}.notification-item p{font-size:9px}.nav-badge{right:14px}}
.sidebar-storage-promo{width:100%;margin:20px 0 14px;padding:13px 14px;border:1px solid #f2d8d5;border-radius:15px;background:linear-gradient(145deg,#fff8f7,#fff0e5);color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(234,127,120,.10);transition:transform .16s ease,box-shadow .16s ease}.sidebar-storage-promo:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(234,127,120,.16)}.sidebar-storage-promo span{float:right;padding:4px 7px;border-radius:999px;background:var(--brand);color:white;font-size:7px;font-weight:700}.sidebar-storage-promo strong,.sidebar-storage-promo small{display:block}.sidebar-storage-promo strong{font:600 15px Fraunces}.sidebar-storage-promo small{margin-top:3px;color:var(--muted);font-size:8px}

.sms-invite{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px;border:1px solid #f0d9d6;border-radius:15px;background:#fff8f7}.sms-invite-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--brand);color:white;font-size:17px}.sms-invite strong,.sms-invite small{display:block}.sms-invite strong{font-size:11px}.sms-invite small{margin-top:3px;color:var(--muted);font-size:8px}.referral-card #smsReferralForm{margin-top:12px}.referral-card form .invite-privacy{grid-column:1/-1}.invite-privacy{margin:-3px 0 0;color:var(--muted);font-size:8px}.form-field>span{color:var(--muted);font-weight:400}.invite-divider{display:flex;align-items:center;gap:12px;margin:20px 0 0;color:var(--muted);font-size:8px}.invite-divider:before,.invite-divider:after{content:"";height:1px;flex:1;background:var(--border)}.text-button{border:0;padding:0;background:transparent;color:var(--brand-dark);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
@media(max-width:600px){.sms-invite{padding:12px}.referral-card #smsReferralForm{grid-template-columns:1fr}.invite-privacy{line-height:1.45}.invite-divider{margin-top:17px}}
.referral-share-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.referral-share-tools>button{min-height:76px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-content:center;align-items:center;gap:2px 10px;padding:12px;border:1px solid var(--border);border-radius:15px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.referral-share-tools>button:hover{transform:translateY(-2px);border-color:#efb4af;box-shadow:0 12px 26px rgba(51,64,91,.1)}.referral-share-tools>button>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff0ee;color:var(--brand-dark);font-size:15px}.referral-share-tools>button strong,.referral-share-tools>button small{display:block}.referral-share-tools>button strong{font-size:10px}.referral-share-tools>button small{color:var(--muted);font-size:7px;font-weight:500}.referral-share-tools>.invite-privacy,.referral-share-tools>[data-referral-tool-message],.referral-contact-queue{grid-column:1/-1}.referral-share-tools>.invite-privacy{margin:1px 3px 0}.referral-contact-queue{display:grid;gap:6px;margin-top:4px;padding:12px;border:1px solid #f0d9d6;border-radius:15px;background:#fffaf8}.referral-contact-queue[hidden]{display:none}.referral-contact-queue header{display:flex;justify-content:space-between;gap:10px;padding:0 2px 7px}.referral-contact-queue header strong{font-size:10px}.referral-contact-queue header small{color:var(--muted);font-size:8px}.referral-contact-queue>button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:9px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.referral-contact-queue>button>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--sky);color:#fff;font-size:8px;font-weight:800}.referral-contact-queue>button strong{font-size:9px}.referral-contact-queue>button small{color:var(--muted);font-size:7px}.referral-contact-queue>button b{grid-column:3;grid-row:1/3;color:var(--brand-dark);font-size:8px}.referral-contact-queue>button.is-opened{border-color:#b9ddcf;background:#f3faf7}.referral-contact-queue>button.is-opened>span{background:var(--sage)}
@media(max-width:760px){.referral-share-tools{grid-template-columns:1fr}.referral-share-tools>button{min-height:64px}.referral-contact-queue header{align-items:flex-start;flex-direction:column}.referral-contact-queue>button{grid-template-columns:32px minmax(0,1fr)}.referral-contact-queue>button b{grid-column:2;grid-row:3;margin-top:4px}}
.member-public-nav{position:sticky;z-index:19;top:0;display:flex;align-items:center;gap:5px;min-height:48px;margin:-34px -4vw 28px;padding:7px 4vw;border-bottom:1px solid var(--border);background:rgba(255,253,248,.94);backdrop-filter:blur(14px);overflow-x:auto;scrollbar-width:none}.member-public-nav::-webkit-scrollbar{display:none}.member-public-nav>span{display:flex;align-items:center;gap:6px;flex:none;margin-right:5px;color:var(--ink);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.member-public-nav>span i{color:var(--brand);font-style:normal}.member-public-nav a{flex:none;padding:8px 10px;border-radius:999px;color:var(--muted);font-size:9px;font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease}.member-public-nav a:hover,.member-public-nav a:focus-visible{background:#fff0ee;color:var(--brand-dark)}.member-public-nav .member-public-home{margin-left:auto;border:1px solid #f0d9d6;background:white;color:var(--brand-dark)}
@media(max-width:650px){.member-public-nav{top:61px;margin:-20px -18px 22px;padding:7px 18px}.member-public-nav>span{position:sticky;left:0;z-index:2;padding-right:10px;background:#fffdf8}.member-public-nav .member-public-home{margin-left:0}}

/* Keep the upload promise aligned with the member plan limit. */
.upload-plan-benefit{display:flex;align-items:center;gap:18px;margin:-4px 0 22px;padding:16px 20px;border:1px solid #f0d9d6;border-radius:18px;background:linear-gradient(110deg,#fff8f7,#fff 62%,#eef8fb)}.upload-plan-benefit[hidden]{display:none}.upload-plan-benefit span{display:flex;flex-direction:column;gap:3px}.upload-plan-benefit strong{font-size:11px}.upload-plan-benefit strong b{font-size:16px;color:var(--brand-dark)}.upload-plan-benefit small{color:var(--muted);font-size:8px}.upload-plan-benefit i{color:var(--brand);font-size:18px;font-style:normal}.upload-plan-benefit .secondary{margin-left:auto;text-decoration:none;white-space:nowrap}.upload-limit-warning{margin:10px 0 14px;padding:11px 13px;border:1px solid #f2cfcb;border-radius:11px;background:#fff4f3;color:var(--brand-dark);font-size:9px;font-weight:700}
@media(max-width:650px){.upload-plan-benefit{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;padding:13px;margin-bottom:16px}.upload-plan-benefit .secondary{grid-column:1/-1;width:100%;margin:3px 0 0;text-align:center}.upload-plan-benefit strong{font-size:9px}.upload-plan-benefit strong b{font-size:13px}.upload-plan-benefit small{font-size:7px}}

/* A Moment is an event page, not a single-photo view. */
.moment-row-link{border:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.moment-row-link:hover{color:var(--brand-dark);text-decoration:underline}.moment-detail-page{max-width:1500px;margin:0 auto}.moment-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:10px 0 22px}.moment-detail-head h1{margin:5px 0 8px;font:600 clamp(38px,5vw,68px)/1 Fraunces}.moment-detail-head>div>p:last-child{margin:0;color:var(--muted);font-size:11px}.moment-detail-summary{display:flex;gap:12px;margin-bottom:22px}.moment-detail-summary span{min-width:140px;padding:14px 18px;border:1px solid var(--border);border-radius:15px;background:white}.moment-detail-summary strong,.moment-detail-summary small{display:block}.moment-detail-summary strong{font:600 24px Fraunces;text-transform:capitalize}.moment-detail-summary small{margin-top:3px;color:var(--muted);font-size:8px}.moment-detail-media{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.moment-memory-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;padding:0;background:white;text-align:left;cursor:pointer;box-shadow:0 12px 35px rgba(51,64,91,.08);transition:.18s}.moment-memory-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(51,64,91,.14)}.moment-memory-card img,.moment-memory-card video{display:block;width:100%;height:220px;object-fit:cover}.moment-memory-card>span{display:block;padding:13px}.moment-memory-card strong,.moment-memory-card small{display:block}.moment-memory-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.moment-memory-card small{margin-top:4px;color:var(--muted);font-size:8px}.moment-detail-empty{grid-column:1/-1;min-height:330px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed var(--border);border-radius:20px;background:white}.moment-detail-empty>span{font-size:28px;color:var(--brand)}.moment-detail-empty h2{margin:10px 0 5px;font:600 26px Fraunces}.moment-detail-empty p{color:var(--muted);font-size:10px}
@media(max-width:650px){.moment-detail-head{align-items:flex-start;flex-direction:column}.moment-detail-head h1{font-size:36px}.moment-detail-head .secondary{width:100%}.moment-detail-summary{display:grid;grid-template-columns:1fr 1fr}.moment-detail-summary span{min-width:0}.moment-detail-media{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.moment-memory-card img,.moment-memory-card video{height:145px}.moment-memory-card>span{padding:9px}}

/* Mobile member layout: keep the app inside the viewport and use readable Moment cards. */
.app-brand{display:block;line-height:0}.app-brand-logo{display:block;width:172px;height:auto}
.member-event-connector{position:absolute;z-index:3;left:calc(175px + var(--x));top:var(--top);width:3px;height:var(--height);transform:translateX(-50%);border-radius:99px;background:linear-gradient(180deg,var(--brand),#8fcbd8);pointer-events:none}
.member-event-node{position:absolute;z-index:4;left:calc(175px + var(--x));top:var(--top);width:25px;height:25px;transform:translate(-50%,-50%);display:grid;place-items:center;border:4px solid white;border-radius:50%;background:var(--brand);color:white;font-size:10px;line-height:1;box-shadow:0 0 0 1px var(--rose),0 5px 15px rgba(91,11,73,.2);pointer-events:none}
.member-connector-skip{position:absolute;z-index:4;left:calc(175px + var(--x));top:var(--top);width:19px;height:25px;transform:translate(-50%,-50%);background:white;pointer-events:none}
.member-connector-skip:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);background:#dcebef}
.member-moment-participants{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}
.member-moment-participants i{padding:3px 6px;border-radius:99px;background:#edf8f6;color:#477967;font:700 6px Inter,sans-serif;font-style:normal}.member-same-day-badge{position:absolute;z-index:7;left:8px;top:8px;padding:4px 7px;border-radius:99px;background:rgba(255,255,255,.94);color:var(--brand-dark);font-size:7px;font-weight:800;box-shadow:0 4px 12px rgba(51,64,91,.12)}
@media(max-width:650px){
  html,body.app-body{width:100%;max-width:100%;overflow-x:hidden}
  .app-layout,.app-main,.panel{width:100%;max-width:100%;min-width:0}
  .mobile-top{height:62px;padding:7px 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .mobile-top .app-brand-logo{width:148px}
  .app-head{display:grid;grid-template-columns:1fr;overflow:hidden}
  .app-head h1{overflow-wrap:anywhere}
  .member-timeline-tools{overflow:hidden}
  .member-timeline-filters{max-width:100%;flex:1}
  .member-timeline-tools>label,.member-timeline-tools>div:last-child{display:none!important}
  #panel-home .member-timeline-viewport{height:46vh;min-height:390px;max-height:460px;overflow-x:scroll;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch;scroll-behavior:auto}
  #panel-home .member-timeline{min-width:1700px;min-height:430px!important;padding-top:82px}
  .member-timeline.is-mobile-list .mobile-timeline-list{display:grid;gap:12px;padding:12px}
  .mobile-moment-card{width:100%;min-width:0;padding:0;display:grid;grid-template-columns:112px minmax(0,1fr);overflow:hidden;text-align:left;border:1px solid var(--border);border-radius:16px;background:white;box-shadow:0 8px 24px rgba(51,64,91,.08)}
  .mobile-moment-card.without-cover{grid-template-columns:1fr}
  .mobile-moment-cover{display:block;min-height:128px;background:#edf5f6}
  .mobile-moment-cover img,.mobile-moment-cover video{display:block;width:100%;height:100%;min-height:128px;object-fit:cover}
  .mobile-moment-content{min-width:0;padding:15px 13px;display:flex;flex-direction:column;align-items:flex-start}
  .mobile-moment-content time{color:var(--brand);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
  .mobile-moment-content>strong{margin-top:7px;font:600 19px/1.08 Fraunces,serif;overflow-wrap:anywhere}
  .mobile-moment-content>small{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.4}
  .mobile-moment-people{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:10px}
  .mobile-moment-people i{padding:4px 7px;border-radius:99px;background:#edf8f6;color:#477967;font-size:7px;font-style:normal;font-weight:700}
  .member-swipe-hint{display:block}
}
.profile-mini-button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.profile-mini-button>b{margin-left:auto;color:var(--muted);font-size:20px}.sidebar-logout{width:100%;margin-top:8px;padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:white;color:var(--muted);font-size:10px;font-weight:700;text-align:left;cursor:pointer}.sidebar-logout:hover{border-color:#efaaa5;color:var(--brand-dark);background:#fff7f6}.profile-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px}.profile-card{display:grid;grid-template-columns:74px 1fr;gap:20px;align-items:start}.profile-card>.field-grid,.profile-card>.form-field,.profile-card>.primary,.profile-card>.signup-message{grid-column:1/-1}.profile-card h2,.profile-account h2{margin:0;font:600 26px Fraunces}.profile-card p{margin:7px 0;color:var(--muted);font-size:10px}.profile-avatar{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--brand),#ffb3aa);color:white;font-size:20px;font-weight:800}.profile-account dl{margin:22px 0}.profile-account dl>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--border)}.profile-account dt{color:var(--muted);font-size:10px}.profile-account dd{margin:0;font-size:10px;font-weight:700;text-align:right;text-transform:capitalize}.profile-account .secondary{display:block;text-align:center;text-decoration:none}.profile-settings-link{width:100%;margin-top:8px;color:var(--muted)}@media(max-width:760px){.profile-layout{grid-template-columns:1fr}.profile-card{grid-template-columns:58px 1fr}.profile-avatar{width:56px;height:56px}.sidebar-bottom{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
.member-moment.with-cover:has(.member-same-day-badge){overflow:visible}.member-moment.with-cover:has(.member-same-day-badge):before,.member-moment.with-cover:has(.member-same-day-badge):after{content:"";position:absolute;z-index:-1;inset:7px -7px -7px 7px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 9px 22px rgba(51,64,91,.09)}.member-moment.with-cover:has(.member-same-day-badge):after{z-index:-2;inset:14px -14px -14px 14px;opacity:.65}.member-same-day-badge{left:7px;right:auto;top:7px;display:flex;align-items:center;gap:6px;padding:5px 8px;background:rgba(255,255,255,.96);cursor:pointer}.member-same-day-badge i{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:white;font-style:normal;font-size:11px}.member-same-day-badge:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(51,64,91,.18)}
.member-timeline[data-zoom="0"] .member-moment.with-cover{width:132px}.member-timeline[data-zoom="0"] .member-moment-cover{height:68px}.member-timeline[data-zoom="0"] .member-moment-copy{padding:7px 8px}.member-timeline[data-zoom="0"] .member-moment-copy strong{font-size:10px;line-height:1.08}.member-timeline[data-zoom="0"] .member-moment-copy small{font-size:6px}.member-timeline[data-zoom="0"] .member-moment-participants{display:flex;margin-top:5px}.member-timeline[data-zoom="0"] .member-moment-participants i{padding:2px 4px;font-size:5px}.member-timeline[data-zoom="0"] .member-same-day-badge{font-size:6px}
.member-timeline[data-density="dense"] .member-moment.with-cover{width:148px}.member-timeline[data-density="dense"] .member-moment-cover{height:78px}.member-timeline[data-density="dense"] .member-moment-copy{padding:8px}.member-timeline[data-density="dense"] .member-moment-copy strong{font-size:11px}
.member-timeline[data-density="compact"] .member-moment.with-cover{width:124px;border-radius:13px}.member-timeline[data-density="compact"] .member-moment-cover{height:62px}.member-timeline[data-density="compact"] .member-moment-copy{padding:6px 7px}.member-timeline[data-density="compact"] .member-moment-copy strong{font-size:9px;line-height:1.08}.member-timeline[data-density="compact"] .member-moment-copy small{font-size:6px}.member-timeline[data-density="compact"] .member-moment-participants{gap:2px;margin-top:4px}.member-timeline[data-density="compact"] .member-moment-participants i{padding:2px 4px;font-size:5px}
.member-timeline[data-zoom="0"][data-density="dense"] .member-moment.with-cover{width:112px}.member-timeline[data-zoom="0"][data-density="dense"] .member-moment-cover{height:58px}.member-timeline[data-zoom="0"][data-density="compact"] .member-moment.with-cover{width:96px}.member-timeline[data-zoom="0"][data-density="compact"] .member-moment-cover{height:49px}.member-timeline[data-zoom="0"][data-density="compact"] .member-moment-copy strong{font-size:8px}.member-timeline[data-zoom="0"][data-density="compact"] .member-moment-participants i:nth-child(n+3){display:none}
.member-timeline[data-view="family"] .member-moment.with-cover{width:132px}.member-timeline[data-view="family"] .member-moment-cover{height:68px}.member-timeline[data-view="family"] .member-moment-copy{padding:7px 8px}.member-timeline[data-view="family"] .member-moment-copy strong{font-size:10px;line-height:1.08}.member-timeline[data-view="family"] .member-moment-copy small{font-size:6px}.member-timeline[data-view="family"] .member-moment-participants{display:flex;margin-top:5px}.member-timeline[data-view="family"][data-density="dense"] .member-moment.with-cover{width:112px}.member-timeline[data-view="family"][data-density="dense"] .member-moment-cover{height:58px}.member-timeline[data-view="family"][data-density="compact"] .member-moment.with-cover{width:96px}.member-timeline[data-view="family"][data-density="compact"] .member-moment-cover{height:49px}.member-timeline[data-view="family"][data-density="compact"] .member-moment-copy strong{font-size:8px}
.member-timeline[data-view="family"] .member-person-row{height:72px!important;min-height:72px;align-items:flex-end}.member-timeline[data-view="family"] .member-years+.member-person-row{height:250px!important;min-height:250px}.member-timeline[data-view="family"][data-density="dense"] .member-years+.member-person-row{height:235px!important;min-height:235px}.member-timeline[data-view="family"][data-density="compact"] .member-years+.member-person-row{height:220px!important;min-height:220px}.member-timeline[data-view="family"] .member-life-line{align-self:flex-end}.member-timeline[data-view="family"] .member-person{top:auto;transform:none;align-items:flex-end;padding-bottom:0}.member-timeline[data-view="family"] .member-years span:after{height:calc(var(--timeline-grid-height,430px) - 20px)}.member-timeline[data-view="family"] .member-event-node{width:21px;height:21px;border-width:3px;font-size:8px}.member-timeline[data-view="family"] .member-connector-skip{height:19px}.member-event-stem{position:absolute;z-index:3;left:calc(175px + var(--x));top:var(--top);width:3px;height:var(--height);transform:translateX(-50%);background:linear-gradient(#ed7c77,#aeb8c1);pointer-events:none}
.member-moment.with-cover{transition:box-shadow .18s,border-color .18s}
.member-moment.with-cover:hover{transform:translate(-50%,-50%);border-color:rgba(239,124,119,.45);box-shadow:0 17px 38px rgba(51,64,91,.2)}
.sidebar-collapse-button{position:absolute;z-index:4;right:-15px;top:118px;width:30px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 7px 20px rgba(51,64,91,.13);font:700 22px/1 Inter,sans-serif;cursor:pointer}.sidebar-collapse-button:hover{border-color:#bfe4f2;background:#eaf7fc;color:#347b98}.app-layout,.sidebar{transition:grid-template-columns .22s ease,width .22s ease,padding .22s ease}.sidebar-collapsed .app-layout{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .sidebar{width:72px;padding-inline:13px;overflow:visible}.sidebar-collapsed .sidebar>.app-brand{width:45px;height:48px;overflow:hidden}.sidebar-collapsed .sidebar>.app-brand img{width:208px;max-width:none;height:auto}.sidebar-collapsed .sidebar nav{margin-top:28px}.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar nav a{width:46px;height:44px;padding:12px;overflow:hidden;white-space:nowrap;font-size:16px;letter-spacing:30px}.sidebar-collapsed .sidebar .nav-badge{right:0;top:4px;transform:none;letter-spacing:0}.sidebar-collapsed .sidebar-storage-promo,.sidebar-collapsed .sidebar-bottom{display:none}
/* Final phone overrides must remain after the desktop timeline rules above. */
@media(max-width:650px){
  .member-event-stem,.member-event-connector,.member-event-node,.member-connector-skip{left:calc(56px + var(--x))!important}
  .media-detail-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px}
  .media-detail-actions>button{width:100%!important;min-width:0!important;min-height:54px!important;height:54px!important;margin:0!important;padding:7px 8px!important;border-radius:16px!important;font-family:Inter,sans-serif!important;font-size:9px!important;font-weight:700!important;line-height:1.2!important;white-space:normal!important}
  .media-detail-actions .favorite-heart span{font-size:9px!important;vertical-align:0}
  .memory-details-editor .secondary{min-height:46px;padding:0 16px;border-radius:16px;font-family:Inter,sans-serif;font-size:9px;font-weight:700;line-height:1.2}
}
@media(max-width:900px){.sidebar-collapse-button{display:none}.sidebar-collapsed .app-layout{grid-template-columns:1fr}.sidebar-collapsed .sidebar{width:250px;padding:26px 19px}.sidebar-collapsed .sidebar>.app-brand{width:auto;height:auto;overflow:visible}.sidebar-collapsed .sidebar>.app-brand img{width:100%;max-width:100%}.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar nav a{width:auto;height:auto;padding:11px 13px;font-size:12px}.sidebar-collapsed .sidebar-storage-promo,.sidebar-collapsed .sidebar-bottom{display:block}}

.unorganised-controls{display:flex;align-items:end;gap:10px;margin:18px 0 24px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#f8fbfb}.unorganised-controls label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.unorganised-controls label:first-child{min-width:220px;flex:1}.unorganised-controls input,.unorganised-controls select{min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:white;color:var(--ink);font-size:10px;font-weight:600;text-transform:none;letter-spacing:0}.selectable-media>small{line-height:1.45}
@media(max-width:650px){.unorganised-controls{align-items:stretch;display:grid;grid-template-columns:1fr 1fr;margin-inline:0;padding:11px}.unorganised-controls label:first-child{grid-column:1/-1;min-width:0}.unorganised-controls input,.unorganised-controls select{width:100%;min-width:0}}

/* Make the free-plan upgrade path unmistakable. */
.upload-plan-benefit{min-height:112px;padding:22px 26px;border:2px solid rgba(234,127,120,.42);background:linear-gradient(112deg,#fff1ef 0,#fffaf8 55%,#eaf8fc 100%);box-shadow:0 16px 38px rgba(51,64,91,.09)}.upload-plan-message{display:grid;gap:6px}.upload-plan-message>span{display:block;width:max-content;padding:5px 9px;border-radius:999px;background:var(--brand);color:#fff;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-plan-message>strong{font:600 23px/1.12 Fraunces,serif}.upload-plan-message>small{color:var(--muted);font-size:10px}.upload-plan-benefit>.primary{margin-left:auto;padding:14px 22px;text-decoration:none;white-space:nowrap;font-size:11px}
@media(max-width:650px){.upload-plan-benefit{align-items:stretch;display:grid;gap:17px;padding:20px}.upload-plan-message>strong{font-size:21px}.upload-plan-benefit>.primary{margin:0;text-align:center}}

/* Public family demo: one shared Moment across four timelines. */
.family-timeline-demo{padding:95px 8vw;background:#fffdf8}.family-timeline-demo .section-heading{max-width:720px;margin-bottom:45px}.family-timeline-demo .section-heading h2{font:600 clamp(38px,4.5vw,58px)/1.05 Fraunces;margin:0 0 14px}.family-timeline-demo .section-heading>p:last-child{color:var(--muted);line-height:1.7}.family-timeline-canvas{position:relative;min-height:570px;padding:60px 35px 35px 185px;border:1px solid var(--border);border-radius:28px;background:white;overflow:hidden;box-shadow:var(--shadow)}.family-year{position:absolute;left:185px;right:35px;top:22px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.family-year strong{color:var(--brand)}.family-lane{height:112px;position:relative;display:flex;align-items:center}.family-label{position:absolute;right:calc(100% + 24px);width:125px;display:flex;align-items:center;gap:10px}.family-label i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf7fc;color:#347b98;font-style:normal;font-size:9px}.family-label strong{font-size:11px}.family-track{display:block;width:100%;height:3px;background:#dcecef}.shared-moment-line{position:absolute;left:65%;top:98px;height:336px;width:2px;background:linear-gradient(var(--brand),#8fcbdc)}.shared-moment-line i{position:absolute;left:50%;width:17px;height:17px;border:4px solid white;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px #f5b0ac;transform:translate(-50%,-50%)}.shared-moment-line i:nth-child(2){top:112px}.shared-moment-line i:nth-child(3){top:224px}.shared-moment-line i:nth-child(4){top:336px}.shared-moment-card{position:absolute;left:calc(65% + 28px);top:116px;width:240px;border-radius:20px;background:white;overflow:hidden;box-shadow:0 18px 50px rgba(51,64,91,.18);border:1px solid var(--border)}.shared-moment-card img{display:block;width:100%;height:130px;object-fit:cover;object-position:center 42%}.shared-moment-card div{padding:16px}.shared-moment-card time{color:var(--brand);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.shared-moment-card h3{font:600 25px Fraunces;margin:7px 0 3px}.shared-moment-card p{font-size:9px;color:var(--muted)}.shared-moment-card span{display:inline-block;margin:5px 3px 0 0;padding:5px 7px;border-radius:99px;background:#edf8f6;color:#477d70;font-size:7px;font-weight:700}
@media(max-width:850px){.family-timeline-canvas{padding-left:105px}.family-year{left:105px}.family-label{width:72px}.family-label strong{display:none}.shared-moment-card{width:190px}}
@media(max-width:600px){.family-timeline-demo{padding:70px 20px}.family-timeline-canvas{min-height:610px;padding:55px 18px 25px 76px}.family-year{left:76px;right:18px}.family-lane{height:108px}.family-label{right:calc(100% + 10px);width:48px}.shared-moment-line{left:51%;top:94px;height:324px}.shared-moment-line i:nth-child(2){top:108px}.shared-moment-line i:nth-child(3){top:216px}.shared-moment-line i:nth-child(4){top:324px}.shared-moment-card{left:calc(51% + 15px);top:172px;width:145px}.shared-moment-card img{height:90px}.shared-moment-card div{padding:11px}.shared-moment-card h3{font-size:19px}.shared-moment-card span{display:none}}

/* Give suggested photos enough room to identify people and scenes. */
.suggested-moment{grid-template-columns:minmax(360px,480px) minmax(0,1fr);gap:28px;padding:20px;align-items:stretch}
.suggested-preview-stack{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:230px;gap:8px}
.suggested-preview-stack img,.suggested-preview-stack span{border-radius:12px}
@media(max-width:1000px){.suggested-moment{grid-template-columns:300px minmax(0,1fr)}.suggested-preview-stack{height:210px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.suggested-moment{grid-template-columns:1fr;gap:18px;padding:14px}.suggested-preview-stack{height:260px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}}

.video-card-poster{position:relative;display:block;width:100%;height:100%}.video-card-poster img{display:block;width:100%;height:100%;object-fit:cover}.video-card-poster b{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(51,64,91,.82);color:#fff;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.22)}

.organizer-new-people{display:block;max-width:680px;margin-top:16px;font-size:9px;font-weight:700}.organizer-new-people input{display:block;width:100%;min-height:46px;margin:7px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;font-size:11px}.organizer-new-people small{display:block;color:var(--muted);font-weight:400}

/* Compact sidebar: intact brand mark and readable navigation abbreviations. */
.sidebar-collapsed .sidebar>.app-brand{width:46px;height:52px;background:url('/assets/memmie-mark.svg') center/44px 44px no-repeat;overflow:visible}
.sidebar-collapsed .sidebar>.app-brand img{display:none}
.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar nav a{display:grid;place-items:center;padding:0;font-size:0;letter-spacing:0;text-align:center;overflow:visible}
.sidebar-collapsed .sidebar nav [data-short-label]:before{content:attr(data-short-label);font:800 11px/1 Inter,sans-serif;letter-spacing:.02em;color:currentColor}

/* Plain-language navigation for first-time members. */
.sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}
.sidebar nav:hover{scrollbar-color:var(--border) transparent}
.sidebar nav [data-panel]{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;column-gap:10px;min-height:48px;padding:7px 12px}
.sidebar-nav-icon{display:grid;place-items:center;width:25px;font-size:18px;line-height:1;color:currentColor}
.sidebar-nav-copy{min-width:0;display:block}
.sidebar-nav-copy strong,.sidebar-nav-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-nav-copy strong{font-size:11px;line-height:1.2;font-weight:700;color:currentColor}
.sidebar-nav-copy small{margin-top:3px;font-size:7px;line-height:1.2;font-weight:500;color:#9aa2b3}
.sidebar nav [data-panel].active .sidebar-nav-copy small{color:#6695a8}
.sidebar-collapsed .sidebar nav [data-panel]{display:grid;grid-template-columns:1fr;min-height:44px;padding:0}
.sidebar-collapsed .sidebar-nav-icon,.sidebar-collapsed .sidebar-nav-copy{display:none}
@media(max-width:900px){.sidebar nav [data-panel],.sidebar-collapsed .sidebar nav [data-panel]{display:grid;grid-template-columns:25px minmax(0,1fr);min-height:48px;padding:7px 12px}.sidebar-collapsed .sidebar-nav-icon,.sidebar-collapsed .sidebar-nav-copy{display:grid}.sidebar-collapsed .sidebar-nav-copy{display:block}}

/* Clear app navigation, sharing and upload feedback. */
.sidebar nav [data-panel="uploads"]{--nav-accent:#4f9b76}.sidebar nav [data-panel="sharing"]{--nav-accent:#438ca8}.sidebar nav [data-panel="moments"]{--nav-accent:#8f73ae}.sidebar nav [data-panel="favorites"]{--nav-accent:#d96668}.sidebar nav [data-panel="help"]{--nav-accent:#b47b35}.sidebar nav [data-panel]{border-left:3px solid transparent}.sidebar nav [data-panel="uploads"],.sidebar nav [data-panel="sharing"],.sidebar nav [data-panel="moments"],.sidebar nav [data-panel="favorites"],.sidebar nav [data-panel="help"]{color:var(--nav-accent)}.sidebar nav [data-panel].active{border-left-color:var(--nav-accent,var(--brand));color:var(--nav-accent,#347b98)}
.sharing-explainer{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.sharing-explainer>div{padding:18px 20px;border:1px solid var(--border);border-radius:17px;background:#f8fbfa}.sharing-explainer strong{font:600 20px Fraunces}.sharing-explainer p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.sharing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.sharing-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;gap:18px;padding:21px;border:1px solid var(--border);border-radius:19px;background:white;box-shadow:0 10px 35px rgba(51,64,91,.06)}.sharing-card h2{margin:7px 0;font:600 24px Fraunces}.sharing-card p,.sharing-card small{color:var(--muted);font-size:9px}.sharing-access{display:inline-block;padding:6px 9px;border-radius:99px;background:#edf8f6;color:#477d70;font-size:8px;font-weight:700}.sharing-card-actions,.moment-detail-head-actions,.timeline-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sharing-empty{grid-column:1/-1;min-height:300px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed var(--border);border-radius:20px;background:white}.sharing-empty>span{font-size:31px;color:#438ca8}.sharing-empty h2{font:600 27px Fraunces;margin:10px 0 4px}.sharing-empty p{max-width:440px;color:var(--muted);font-size:10px}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.help-grid a{text-decoration:none;color:var(--ink);transition:.18s ease}.help-grid a:hover{transform:translateY(-3px);border-color:#bfe4f2;box-shadow:0 14px 38px rgba(51,64,91,.09)}.help-grid strong,.help-grid span{display:block}.help-grid strong{font:600 22px Fraunces}.help-grid span{margin-top:8px;color:var(--muted);font-size:10px;line-height:1.55}.share-dialog-intro{color:var(--muted);font-size:10px;line-height:1.55}.organise-success{display:flex;align-items:center;gap:14px}.organise-success>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e8f7ef;color:#4f9b76;font-size:20px}.organise-success>div{flex:1}.organise-success strong{font:600 19px Fraunces}.organise-success p{margin:4px 0 0;color:var(--muted);font-size:9px}.mobile-upload-start.is-working:before{content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:memmie-spin .75s linear infinite}.mobile-upload-start.is-working{display:flex;align-items:center;justify-content:center;gap:9px}.upload-panel.is-uploading .up{animation:memmie-pulse 1.1s ease-in-out infinite}@keyframes memmie-spin{to{transform:rotate(360deg)}}@keyframes memmie-pulse{50%{transform:translateY(-4px) scale(1.08);box-shadow:0 8px 22px rgba(239,125,120,.22)}}
@media(max-width:650px){.sharing-explainer{grid-template-columns:1fr}.sharing-grid{grid-template-columns:1fr}.timeline-head-actions{width:100%}.timeline-head-actions button{flex:1}.organise-success{align-items:flex-start;flex-wrap:wrap}.organise-success .secondary{width:100%}}
@media(max-width:900px){.sidebar-collapsed .sidebar>.app-brand{width:auto;height:auto;background:none}.sidebar-collapsed .sidebar>.app-brand img{display:block}.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar nav a{display:block;text-align:left}.sidebar-collapsed .sidebar nav [data-short-label]:before{content:none}}

/* Media detail: one consistent type scale for every labelled action. */
.media-detail-page button:not(.media-full-close),
.media-detail-page .media-back{
  font-family:Inter,sans-serif!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.15!important;
}

.timeline-item>span{flex:1;min-width:0}.timeline-item .text-button{margin-left:auto;font-size:9px}
.media-detail-page .memory-details-editor .secondary,
.media-detail-page .media-detail-actions>button{
  min-height:44px!important;
  height:44px!important;
  padding:0 16px!important;
}
.media-detail-page .media-detail-visual figcaption button{
  font-size:9px!important;
  font-weight:700!important;
}
.media-detail-page .media-stepper button{font-size:9px!important}
.media-detail-page .person-chip span,
.media-detail-page .person-chip b{
  font-size:9px!important;
  font-weight:700!important;
}
.media-detail-page .favorite-heart span{
  font-size:15px!important;
  font-weight:400!important;
}

/* Memory editor: compact people picker and a calmer 8px spacing rhythm. */
.media-detail-copy>.eyebrow{margin:0 0 10px}
.memory-details-editor{display:grid;gap:18px;padding:20px;background:rgba(255,255,255,.72)}
.memory-details-editor>label{display:grid;gap:8px}
.memory-details-editor textarea{margin:0;min-height:92px;line-height:1.55}
.memory-details-editor fieldset.memory-people-picker{display:grid;gap:12px;margin:0;padding:18px 0 0}
.memory-details-editor .people-chips{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:center}
.memory-details-editor .person-chip{min-width:0}
.memory-details-editor .person-chip span{width:100%;min-height:36px;padding:4px 10px 4px 5px;gap:6px}
.memory-details-editor .person-chip i{width:26px;height:26px;flex:0 0 26px}
.memory-details-editor .person-chip b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.memory-details-editor .memory-new-people{margin-top:2px}
.memory-details-editor .memory-new-people input{margin-top:8px;min-height:42px}
.memory-details-editor .is-overflow-person{display:none}
.memory-details-editor .people-expanded .is-overflow-person{display:block}
.memory-details-editor .people-expanded{max-height:164px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}
.memory-people-more{min-height:36px!important;height:36px!important;border:1px dashed #cfdde2;border-radius:99px;background:#f8fbfb;color:var(--muted);padding:0 10px!important;cursor:pointer;white-space:nowrap}
.memory-people-more span{color:var(--brand-dark)}
.memory-editor-footer{display:flex;align-items:center;gap:12px;min-height:44px}
.memory-editor-footer .secondary{margin:0!important;flex:0 0 auto}
.memory-editor-footer .signup-message{margin:0!important;font-size:9px}

@media(min-width:901px){
  .media-detail-copy h1{margin-bottom:20px}
  .memory-details-editor{margin-bottom:20px;padding:18px}
}
@media(max-width:420px){
  .memory-details-editor .people-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Shared Memmie typography, controls and public header — 2026-08-25 */
:root{--font-display:Fraunces,Georgia,serif;--font-ui:Inter,system-ui,sans-serif;--text-body:16px;--text-ui:14px;--text-meta:12px;--control-height:44px;--focus-ring:rgba(234,127,120,.35)}
body{font-size:var(--text-body);line-height:1.55}.link-button{text-decoration:none}button,.primary,.secondary,.text-button,.link-button{font-family:var(--font-ui);font-size:var(--text-ui);font-weight:700;line-height:1.2}.primary,.secondary{min-height:var(--control-height);transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.unified-public-header{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;gap:42px;position:sticky;top:0;z-index:100;background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(145,204,229,.3)}.unified-public-header .brand-full-logo{width:168px}.unified-public-header nav{display:flex;gap:24px}.unified-public-header nav a{font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}.unified-public-header nav a:hover,.unified-public-header nav a[aria-current=page]{color:var(--brand-dark)}.unified-public-header .header-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.unified-public-header .header-actions .secondary{background:transparent;color:var(--ink);box-shadow:none}.unified-public-header .menu-button{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:white;color:var(--ink);font-size:22px;line-height:1;align-items:center;justify-content:center}
.app-body .primary,.app-body .secondary,.app-body button:not(.sidebar-collapse-button){font-size:var(--text-ui)}.app-body .primary,.app-body .secondary{min-height:var(--control-height)}.app-body input,.app-body select,.app-body textarea{font-size:14px}.app-body .media-detail-page .media-actions :is(button,.primary,.secondary),.app-body .media-detail-page .media-back,.app-body .media-detail-page .media-save{font-size:14px!important;font-weight:700!important}.app-body .media-detail-page .people-chip{font-size:14px!important}
@media(max-width:760px){.unified-public-header{height:64px;padding:0 16px;gap:10px}.unified-public-header .brand-full-logo{width:164px}.unified-public-header .menu-button{display:inline-flex;margin-left:auto}.unified-public-header nav,.unified-public-header .header-actions{display:none!important}.unified-public-header.menu-open{border-bottom-color:transparent}.unified-public-header.menu-open nav{display:grid!important;position:absolute;top:63px;left:12px;right:12px;gap:0;padding:10px;background:white;border:1px solid var(--border);border-radius:18px 18px 0 0;box-shadow:0 24px 60px rgba(51,64,91,.18)}.unified-public-header.menu-open nav a{padding:13px 14px;border-bottom:1px solid var(--border);font-size:14px}.unified-public-header.menu-open .header-actions{display:grid!important;position:absolute;top:337px;left:12px;right:12px;margin:0;padding:12px;background:white;border:1px solid var(--border);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 28px 60px rgba(51,64,91,.18)}.unified-public-header.menu-open .header-actions .secondary{display:inline-flex!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.unified-public-header .menu-button:after{content:none!important}

/* Shared-memory provenance and conversation */
.media-owner-label{display:inline-flex;align-items:center;gap:7px;margin:7px 0 10px;padding:8px 12px;border-radius:999px;background:#edf7f3;color:#477d6a;font-size:10px;font-weight:700}.media-owner-label.is-shared{border:1px solid #b8dce6;background:#eef8fb;color:#347b98}.media-owner-label span{color:var(--brand)}.media-conversation{margin:0;padding:18px 20px;border:1px solid var(--border);border-radius:20px;background:#fff}.media-social-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--border)}.media-social-head>span{color:var(--muted);font-size:9px}.media-like-button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid #efc2bf;border-radius:999px;background:#fff7f6;color:var(--brand-dark);font:700 10px Inter;cursor:pointer}.media-like-button span{font-size:18px}.media-like-button b{min-width:20px;padding:3px 6px;border-radius:99px;background:#f7e8e6}.media-like-button.active{background:var(--brand);border-color:var(--brand);color:#fff}.media-like-button.active b{background:rgba(255,255,255,.2)}.media-comment-list{display:grid;gap:13px;max-height:180px;overflow:auto;padding:16px 0}.media-comment-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.media-comment-list article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eaf5f7;color:#347b98;font-size:10px;font-weight:700}.media-comment-list strong{display:block;font-size:10px}.media-comment-list p{margin:3px 0;color:var(--ink);font-size:10px;line-height:1.45}.media-comment-list small,.media-comment-empty{color:var(--muted);font-size:8px}.media-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.media-comment-form input{min-width:0;height:46px;padding:0 15px;border:1px solid var(--border);border-radius:14px;font:500 10px Inter}.media-comment-form .secondary{min-height:46px;padding:0 18px;font-size:10px}
@media(max-width:900px){
  .media-detail-page{padding-top:18px}
  .media-back{padding:0 0 14px}
  .media-detail-layout{gap:24px;min-height:0}
  .media-detail-visual{height:auto;min-height:0;padding:14px;grid-template-rows:auto auto 52px;gap:14px;align-items:stretch}
  .media-detail-stage{height:auto}
  .media-detail-visual figure{height:auto;grid-template-rows:auto auto;gap:10px}
  .media-detail-visual figure img,.media-detail-visual figure video{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
  .media-conversation{margin:0;padding:16px 18px}
  .media-comment-list{min-height:48px;max-height:160px;padding:14px 0}
  .media-visual-footer{min-height:52px;padding:0}
}
@media(max-width:650px){.media-owner-label{font-size:9px;white-space:normal}.media-conversation{padding:14px;border-radius:16px}.media-social-head{align-items:flex-start;flex-direction:column}.media-comment-form{grid-template-columns:1fr}.media-comment-form .secondary{width:100%}}

/* Self-service timeline publishing */
.timeline-item-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.timeline-item-actions .secondary{min-height:38px;padding:0 14px}.timeline-publish-dialog{width:min(1100px,calc(100vw - 28px));max-width:none;padding:34px;border:0;border-radius:26px}.timeline-publish-dialog>div>h2{margin:0 0 24px;font:600 38px/1 Fraunces}.timeline-publish-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:30px}.timeline-publish-grid section,.timeline-publish-grid aside>section,.timeline-publish-stats{padding:22px;border:1px solid var(--border);border-radius:20px;background:#fff}.timeline-publish-grid h3{margin:0 0 15px;font:600 23px Fraunces}.publication-choice,.publication-consent{display:flex;gap:12px;align-items:flex-start;margin:9px 0;padding:14px;border:1px solid var(--border);border-radius:15px;cursor:pointer}.publication-choice:has(input:checked){border-color:var(--brand);background:#fff5f2}.publication-choice input,.publication-consent input{width:19px;height:19px;margin-top:2px;accent-color:var(--brand)}.publication-choice span,.publication-consent span{display:grid;gap:3px}.publication-choice small,.publication-consent small{color:var(--muted);font-size:10px}.publication-consent{margin:18px 0;background:#fff9ed}.timeline-share-box{margin-top:18px;padding:20px;border-radius:20px;background:#edf8f6}.timeline-share-box>a{display:block;overflow:hidden;margin-bottom:12px;color:var(--brand-dark);text-overflow:ellipsis}.timeline-share-box>div{display:flex;flex-wrap:wrap;gap:8px}.timeline-share-box>img{display:block;width:170px;height:170px;margin:18px auto 0;border-radius:14px;background:#fff}.timeline-publish-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.timeline-publish-stats span{display:grid;text-align:center}.timeline-publish-stats strong{font:600 28px Fraunces}.timeline-publish-stats small{color:var(--muted);font-size:9px}.timeline-team form{display:grid;grid-template-columns:1fr 150px;gap:9px}.timeline-team form label{display:grid;gap:5px;font-size:10px;font-weight:700}.timeline-team form button,.timeline-team form p{grid-column:1/-1}.timeline-team-list,.timeline-version-list{display:grid;gap:9px;margin-top:16px}.timeline-team-list article,.timeline-version-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.timeline-team-list span,.timeline-version-list span{display:grid}.timeline-team-list small,.timeline-version-list small{color:var(--muted);font-size:9px}.timeline-version-list{margin-top:18px}.timeline-publish-grid aside>section+section{margin-top:18px}
@media(max-width:800px){.timeline-item{align-items:flex-start;flex-wrap:wrap}.timeline-item-actions{width:100%;margin-left:50px}.timeline-publish-dialog{padding:28px 18px}.timeline-publish-grid{grid-template-columns:1fr}.timeline-team form{grid-template-columns:1fr}.timeline-publish-stats strong{font-size:23px}}
/* Shared family events */
.event-share-dialog{width:min(680px,calc(100vw - 28px))}.event-share-dialog form{display:grid;gap:18px}.share-channel-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.share-channel-grid .primary{min-height:48px}.event-link-actions{display:flex;gap:10px;flex-wrap:wrap}.event-link-actions button{flex:1 1 130px}.event-contribution-toggle{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;border:1px solid var(--line);border-radius:18px;background:#f5fbfa}.event-contribution-toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--coral)}.event-contribution-toggle span{display:grid;gap:3px}.event-contribution-toggle small{color:var(--muted)}
.share-safety-notice{margin:14px 0 18px;padding:15px 16px;border:1px solid #f0cf9c;border-radius:16px;background:#fff9ed;color:var(--ink)}.share-safety-notice strong{display:block;font-size:12px}.share-safety-notice p{margin:6px 0 0;font-size:10px;line-height:1.55;color:var(--muted)}.share-safety-notice a{color:#8a5a16;font-weight:700}.invitation-safety{margin-top:18px}
.invitation-preview{display:grid;grid-template-columns:150px 1fr;gap:20px;margin:18px 0 24px;padding:14px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(47,60,91,.08)}.invitation-preview img,.invitation-preview-placeholder{width:150px;height:112px;border-radius:16px;object-fit:cover}.invitation-preview-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eaf7f4,#fff2ef);color:var(--coral);font-size:32px}.invitation-preview div:last-child{align-self:center}.invitation-preview span{color:var(--coral);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.invitation-preview h3{margin:5px 0;font:600 28px/1.05 Fraunces,serif;color:var(--ink)}.invitation-preview p,.invitation-preview small{margin:0;color:var(--muted)}
.moment-memory-card span em{display:block;margin-top:7px;color:#4b7f72;font:600 11px/1.3 Inter,sans-serif;font-style:normal}.shared-memory-card{box-shadow:inset 0 0 0 2px rgba(93,159,143,.24),0 14px 35px rgba(47,60,91,.08)}
@media(max-width:640px){.share-channel-grid{grid-template-columns:1fr}.invitation-preview{grid-template-columns:92px 1fr;gap:13px}.invitation-preview img,.invitation-preview-placeholder{width:92px;height:92px}.invitation-preview h3{font-size:22px}}
/* Shared Moment day journal */
.moment-detail-media{display:block}.moment-day{margin:0 0 34px}.moment-day>header{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;margin:0 0 14px}.moment-day>header>span{width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:var(--brand);box-shadow:0 0 0 1px var(--brand)}.moment-day>header p{margin:0;color:var(--brand);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.moment-day>header h2{margin:2px 0 0;font:600 25px/1.1 Fraunces}.moment-day>header small{color:var(--muted);font-size:9px}.moment-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;padding-left:34px;border-left:1px solid #f2c7c4}.moment-memory-card{position:relative}.moment-uploader{position:absolute;z-index:2;top:10px;left:10px;display:flex!important;align-items:center;gap:7px!important;max-width:calc(100% - 20px);padding:5px 9px!important;border-radius:99px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(51,64,91,.14)}.moment-uploader i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e9f7f5;color:#477d70;font-size:7px;font-style:normal;font-weight:800}.moment-uploader b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.moment-memory-card>span:last-child em{display:block;margin-top:8px;color:#477d70;font-size:8px;font-style:normal;font-weight:700}
@media(max-width:650px){.moment-detail-summary{grid-template-columns:repeat(3,1fr)}.moment-detail-summary span{padding:11px}.moment-detail-summary strong{font-size:19px}.moment-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:15px}.moment-uploader{top:6px;left:6px;max-width:calc(100% - 12px);padding:4px 6px!important}.moment-uploader i{display:none}.moment-uploader b{font-size:7px}.moment-day>header{grid-template-columns:14px 1fr auto;gap:8px}.moment-day>header h2{font-size:21px}}

/* Move files between Moments */
.moment-move-toolbar{position:sticky;z-index:12;top:14px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(240px,1.25fr) auto;align-items:end;gap:14px;margin:0 0 28px;padding:17px 18px;border:1px solid #bfe1d8;border-radius:20px;background:rgba(241,250,247,.97);box-shadow:0 16px 42px rgba(47,60,91,.12);backdrop-filter:blur(10px)}
.moment-move-toolbar[hidden]{display:none!important}.moment-move-status{align-self:center}.moment-move-status strong,.moment-move-status small{display:block}.moment-move-status strong{font:600 20px/1.1 Fraunces,serif}.moment-move-status small{margin-top:5px;color:var(--muted);font-size:9px}.moment-move-toolbar label{display:grid;gap:6px;color:var(--ink);font-size:9px;font-weight:700}.moment-move-toolbar select{height:46px;padding:0 40px 0 14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--ink);font:600 10px Inter,sans-serif}.moment-move-actions{display:flex;align-items:center;gap:8px}.moment-move-actions .primary{min-height:46px;white-space:nowrap}.moment-move-actions .text-button{min-height:46px;padding:0 10px}.moment-move-toolbar>.signup-message{grid-column:1/-1;margin:0;color:var(--muted);font-size:9px}
.moment-select-indicator{position:absolute;z-index:4;top:12px;right:12px;width:34px;height:34px;display:none!important;place-items:center;padding:0!important;border:2px solid #fff;border-radius:50%;background:#fff;color:transparent;box-shadow:0 4px 16px rgba(47,60,91,.18);font-size:15px;font-weight:800}.moment-detail-page.is-selecting .moment-memory-card[data-movable="true"] .moment-select-indicator{display:grid!important}.moment-detail-page.is-selecting .moment-memory-card[data-movable="true"]{cursor:pointer}.moment-detail-page.is-selecting .moment-memory-card[data-movable="false"]{cursor:not-allowed;opacity:.48;filter:saturate(.55)}.moment-detail-page.is-selecting .moment-memory-card:hover{transform:none}.moment-detail-page.is-selecting .moment-memory-card.is-selected{border-color:var(--brand);box-shadow:0 0 0 3px rgba(239,125,120,.24),0 18px 42px rgba(51,64,91,.14)}.moment-detail-page.is-selecting .moment-memory-card.is-selected .moment-select-indicator{background:var(--brand);color:#fff}
@media(max-width:800px){.moment-move-toolbar{position:relative;top:auto;grid-template-columns:1fr 1fr}.moment-move-status{grid-column:1/-1}.moment-move-actions{justify-content:flex-end}.moment-move-toolbar>.signup-message{grid-column:1/-1}}
@media(max-width:560px){.moment-move-toolbar{grid-template-columns:1fr;padding:15px}.moment-move-status,.moment-move-toolbar>.signup-message{grid-column:1}.moment-move-actions{justify-content:stretch}.moment-move-actions .primary{flex:1}.moment-select-indicator{top:7px;right:7px;width:29px;height:29px}.moment-detail-head-actions{width:100%}.moment-detail-head-actions button{flex:1}}

/* Memory Scan is a quiet digital contact sheet: the photo stays primary, evidence sits in the margin. */
.memory-scan-workbench{margin:0 0 26px;border:1px solid #c6deda;border-radius:24px;background:linear-gradient(115deg,#f1faf7 0,#f8fbf8 55%,#eef6f5 100%);box-shadow:0 18px 55px rgba(47,60,91,.08);overflow:hidden}.memory-scan-intro{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:22px;padding:25px 27px}.memory-scan-mark{position:relative;width:72px;height:72px;border:1px solid #b7d8d1;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(50,93,84,.12);transform:rotate(-2deg)}.memory-scan-mark:before,.memory-scan-mark:after{content:"";position:absolute;inset:8px;border:1px dashed #c9dcd8;border-radius:12px}.memory-scan-mark:after{inset:17px;border-style:solid}.memory-scan-mark span{position:absolute;z-index:2;top:-5px;left:18px;width:36px;height:10px;border-radius:3px;background:rgba(239,125,120,.72);transform:rotate(3deg)}.memory-scan-mark i{position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:#4f8b7d;font-size:21px;font-style:normal}.memory-scan-intro h2{margin:3px 0 7px;font:600 27px/1.05 Fraunces,serif;color:var(--ink)}.memory-scan-intro p:last-child{max-width:670px;margin:0;color:var(--muted);font-size:10px;line-height:1.65}.memory-scan-actions{display:grid;justify-items:stretch;gap:8px;min-width:190px}.memory-scan-actions>small{color:var(--muted);font-size:7px;text-align:center}.memory-scan-button{display:grid;gap:2px;padding:13px 17px;border:0;border-radius:15px;background:#477d70;color:#fff;box-shadow:0 9px 22px rgba(54,103,91,.2);cursor:pointer;text-align:left}.memory-scan-button span{font:700 10px/1.2 Inter,sans-serif}.memory-scan-button small{font:500 7px/1.2 Inter,sans-serif;opacity:.76}.memory-scan-button:disabled{cursor:wait;opacity:.65}.memory-scan-status{display:grid;grid-template-columns:auto 1fr minmax(100px,240px);align-items:center;gap:12px;padding:13px 27px;border-top:1px solid #d4e6e2;background:rgba(255,255,255,.58);font-size:9px}.memory-scan-status span{color:var(--muted)}.memory-scan-status progress{width:100%;accent-color:#477d70}.memory-scan-results{display:grid;gap:1px;border-top:1px solid #cfe1dd;background:#cfe1dd}.memory-scan-card{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:0;background:#fff}.memory-scan-card.is-applied{opacity:.62}.memory-scan-card figure{margin:0;padding:22px;background:#edf4f3}.memory-scan-card figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border:8px solid #fff;box-shadow:0 9px 26px rgba(47,60,91,.16);transform:rotate(-.6deg)}.memory-scan-card figcaption{margin-top:12px;color:var(--muted);font:600 7px/1.3 Inter,sans-serif;overflow-wrap:anywhere}.memory-scan-review{display:grid;gap:13px;padding:22px 25px}.memory-scan-verdict{display:flex;align-items:center;gap:10px}.memory-scan-date{font:600 24px/1 Fraunces,serif}.memory-scan-confidence{padding:5px 8px;border-radius:99px;background:#e5f4ed;color:#477d70;font-size:7px;font-weight:800;text-transform:uppercase}.memory-scan-confidence.low{background:#fff0df;color:#9b6839}.memory-scan-review label{display:grid;gap:5px;color:var(--ink);font-size:8px;font-weight:700}.memory-scan-review input,.memory-scan-review textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--ink);font:500 10px/1.4 Inter,sans-serif}.memory-scan-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.memory-scan-review blockquote{margin:0;padding:10px 13px;border-left:3px solid #ef7d78;background:#fff8f2;color:#594f4e;font:500 9px/1.5 Inter,sans-serif}.memory-scan-review blockquote span{display:block;margin-bottom:2px;color:#a05c57;font-size:7px;font-weight:800;text-transform:uppercase}.memory-scan-evidence{display:flex;flex-wrap:wrap;gap:7px}.memory-scan-evidence span{display:grid;grid-template-columns:7px auto 1fr;align-items:center;gap:5px;padding:7px 9px;border:1px solid #dbe7e4;border-radius:9px;color:var(--muted);font-size:7px}.memory-scan-evidence i{width:6px;height:6px;border-radius:50%;background:#d2b072}.memory-scan-evidence .strong i{background:#4f927f}.memory-scan-evidence .weak i{background:#d39a8f}.memory-scan-evidence b{color:var(--ink)}.memory-scan-card-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:760px){.memory-scan-intro{grid-template-columns:58px 1fr}.memory-scan-mark{width:54px;height:54px}.memory-scan-actions{grid-column:1/-1}.memory-scan-status{grid-template-columns:1fr}.memory-scan-card{grid-template-columns:1fr}.memory-scan-card figure{padding:18px}.memory-scan-card figure img{max-height:270px}.memory-scan-fields{grid-template-columns:1fr}.memory-scan-date{font-size:21px}}
.memory-scan-deep{padding:9px 13px;border:1px solid #477d70;border-radius:12px;background:transparent;color:#477d70;font:700 8px/1 Inter,sans-serif;cursor:pointer}.memory-scan-deep:disabled{opacity:.55;cursor:wait}

/* Keep the clarified two-line labels intact when the mobile drawer overrides collapsed mode. */
@media(max-width:900px){.sidebar-collapsed .sidebar nav [data-panel]{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;padding:7px 12px;text-align:left}.sidebar-collapsed .sidebar-nav-icon{display:grid}.sidebar-collapsed .sidebar-nav-copy{display:block}}

/* Central family band: Moments breathe above and below tightly grouped timelines. */
.member-timeline[data-view="family"]{isolation:isolate}
.member-timeline[data-view="family"] .member-person-row,.member-timeline[data-view="family"] .member-years+.member-person-row{height:38px!important;min-height:38px!important;align-items:center}
.member-timeline[data-view="family"] .member-person{height:38px;top:auto;transform:none;align-items:center;padding:0 17px;background:linear-gradient(90deg,#fff 91%,rgba(255,255,255,0))}
.member-timeline[data-view="family"] .member-person .person-avatar{width:27px;height:27px;font-size:7px}
.member-timeline[data-view="family"] .member-person strong{font-size:9px}.member-timeline[data-view="family"] .member-person small{margin-top:1px;font-size:6px}
.member-timeline[data-view="family"] .member-life-line{align-self:center;height:1px;background:#dbe8ec}
.member-timeline[data-view="family"] .member-years-top+.member-person-row .member-life-line{height:3px;background:linear-gradient(90deg,var(--brand),#df9d83 48%,var(--sky));box-shadow:0 0 0 1px rgba(255,255,255,.85),0 5px 15px rgba(51,64,91,.08)}
.member-years-bottom{bottom:auto}.member-years-bottom span:after{display:none}.member-years-bottom span:before{content:"";position:absolute;left:50%;bottom:17px;width:1px;height:13px;background:#d9e6ea}
.member-years-top span,.member-years-bottom span{font-weight:700;letter-spacing:.04em}
.member-moment.moment-top{transform-origin:50% 100%}.member-moment.moment-bottom{transform-origin:50% 0}
.member-timeline[data-view="family"] .member-event-stem,.member-timeline[data-view="family"] .member-event-connector{z-index:2;width:2px;background:linear-gradient(180deg,rgba(239,124,119,.8),rgba(143,203,216,.8))}
.member-timeline[data-view="family"] .member-event-node{z-index:4;width:17px;height:17px;border-width:3px;font-size:6px;box-shadow:0 0 0 1px rgba(239,124,119,.7),0 4px 12px rgba(51,64,91,.14)}
@media(max-width:650px){.member-timeline[data-view="family"] .member-person{width:56px;padding:0 5px}.member-timeline[data-view="family"] .member-person .person-avatar{width:23px;height:23px}.member-timeline[data-view="family"] .member-person>span:last-child{display:none}.member-years-bottom{left:56px}}
/* The member's own timeline is the heart of Memmie, not just another nav item. */
.sidebar nav [data-panel="home"]{--nav-accent:var(--brand-dark);position:relative;min-height:62px;margin:2px 0 9px;padding:9px 54px 9px 10px;border:1px solid rgba(234,127,120,.24);border-left:4px solid var(--brand);border-radius:16px;background:linear-gradient(118deg,#fff4f1 0%,#f1f9fc 100%);color:var(--ink);box-shadow:0 9px 24px rgba(51,64,91,.07)}
.sidebar nav [data-panel="home"]:after{content:"YOURS";position:absolute;top:9px;right:10px;padding:4px 7px;border-radius:999px;background:#fff;color:var(--brand-dark);font:800 6px/1 Inter,sans-serif;letter-spacing:.11em;box-shadow:0 3px 10px rgba(51,64,91,.08)}
.sidebar nav [data-panel="home"] .sidebar-nav-icon{width:31px;height:31px;margin-left:-3px;border:1px solid rgba(234,127,120,.22);border-radius:50%;background:#fff;color:var(--brand-dark);box-shadow:0 4px 12px rgba(234,127,120,.13)}
.sidebar nav [data-panel="home"] .sidebar-nav-copy strong{font-size:12px}
.sidebar nav [data-panel="home"] .sidebar-nav-copy small{color:#8c8491}
.sidebar nav [data-panel="home"].active{border-color:rgba(234,127,120,.42);border-left-color:var(--brand-dark);background:linear-gradient(118deg,#ffece8 0%,#e7f6fb 100%);color:var(--brand-dark);box-shadow:0 12px 30px rgba(217,109,103,.13)}
.sidebar nav [data-panel="home"].active .sidebar-nav-copy small{color:#8a7179}
.sidebar-collapsed .sidebar nav [data-panel="home"]{min-height:48px;margin:2px 0 9px;padding:0;border-radius:14px}
.sidebar-collapsed .sidebar nav [data-panel="home"]:after{display:none}
@media(max-width:900px){.sidebar-collapsed .sidebar nav [data-panel="home"],.sidebar nav [data-panel="home"]{grid-template-columns:31px minmax(0,1fr);min-height:62px;padding:9px 54px 9px 10px}.sidebar-collapsed .sidebar nav [data-panel="home"]:after{display:block}}

/* Distinctive but restrained frames for recognised life events. */
.member-moment[class*="occasion-"]{--occasion:#ef7c78;--occasion-soft:#fff0ec;--occasion-ink:#9d4b48;z-index:6;overflow:visible;border-color:color-mix(in srgb,var(--occasion) 58%,#fff);outline:1px solid color-mix(in srgb,var(--occasion) 30%,transparent);outline-offset:5px;box-shadow:0 13px 34px color-mix(in srgb,var(--occasion) 18%,transparent),0 2px 8px rgba(51,64,91,.09)}
.member-moment[class*="occasion-"] .member-moment-cover{border-radius:15px 15px 0 0;overflow:hidden}
.member-moment[class*="occasion-"] .member-moment-copy{border-radius:0 0 15px 15px;background:linear-gradient(145deg,#fff 35%,var(--occasion-soft))}
.member-moment.compact[class*="occasion-"] .member-moment-copy{border-radius:15px}
.moment-occasion-badge{position:absolute;z-index:4;top:-18px;left:12px;display:flex;align-items:center;gap:5px;box-sizing:border-box;max-width:calc(100% - 24px);padding:5px 7px;border:1px solid color-mix(in srgb,var(--occasion) 48%,#fff);border-radius:999px;background:var(--occasion-soft);color:var(--occasion-ink);box-shadow:0 5px 13px color-mix(in srgb,var(--occasion) 18%,transparent);font:800 8px/1 Inter,sans-serif;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.moment-occasion-badge i{font:900 12px/1 Georgia,serif;font-style:normal;color:var(--occasion)}
.occasion-birth{--occasion:#67ac91;--occasion-soft:#eaf8f1;--occasion-ink:#34735d}
.occasion-birthday{--occasion:#ef7c78;--occasion-soft:#fff0ec;--occasion-ink:#a64c49}
.occasion-wedding{--occasion:#aa85c8;--occasion-soft:#f6effb;--occasion-ink:#6e4c8a}
.occasion-anniversary{--occasion:#d5a24e;--occasion-soft:#fff7e6;--occasion-ink:#8a6425}
.occasion-celebration{--occasion:#dc7faa;--occasion-soft:#fff0f7;--occasion-ink:#914c6d}
.occasion-christmas{--occasion:#43816b;--occasion-soft:#eaf5f0;--occasion-ink:#285d4b}
.occasion-holiday{--occasion:#4d9fc0;--occasion-soft:#eaf7fc;--occasion-ink:#34768f}
.occasion-graduation{--occasion:#65728f;--occasion-soft:#f0f2f7;--occasion-ink:#404b67}
.member-moment.lux-enter{will-change:transform,opacity,filter;animation-duration:.88s;animation-delay:calc(var(--lux-index,0)*45ms)}
.member-moment.moment-top.lux-enter{transform-origin:50% 100%}.member-moment.moment-bottom.lux-enter{transform-origin:50% 0}
@media(max-width:700px){.moment-occasion-badge{top:-15px;padding:4px 7px;font-size:8px}.member-moment[class*="occasion-"]{outline-offset:3px}}
@media(prefers-reduced-motion:reduce){.member-moment.lux-enter{animation:none!important;filter:none!important}}

/* Memory Scan occasion confirmation: a proposal, never an automatic label. */
.scan-occasion-suggestion{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #efd6b1;border-radius:15px;background:linear-gradient(105deg,#fff9ed,#fff 68%);box-shadow:0 8px 24px rgba(121,89,40,.07);transition:border-color .2s,background .2s,transform .2s}
.scan-occasion-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff0cc;color:#a36f20;font:700 17px/1 Fraunces,serif}
.scan-occasion-suggestion small,.scan-occasion-suggestion strong,.scan-occasion-suggestion p{display:block;margin:0}.scan-occasion-suggestion small{color:#9a6b25;font-size:7px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.scan-occasion-suggestion strong{margin-top:3px;font:600 17px/1.15 Fraunces,serif;color:var(--ink)}.scan-occasion-suggestion p{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}
.scan-occasion-actions{display:flex;align-items:center;gap:7px}.scan-occasion-actions button{min-height:35px;padding:8px 11px;border-radius:999px;font-size:8px;font-weight:800;cursor:pointer}.scan-occasion-use{border:0;background:#d29a43;color:#fff}.scan-occasion-dismiss{border:1px solid #e8d8c0;background:#fff;color:#756958}.scan-occasion-actions span{color:#527e6f;font-size:9px;font-weight:800;white-space:nowrap}
.scan-occasion-suggestion.is-confirmed{border-color:#b9d8cd;background:linear-gradient(105deg,#edf8f3,#fff 68%)}.scan-occasion-suggestion.is-confirmed .scan-occasion-mark{background:#dcefe8;color:#477d70}.scan-occasion-suggestion.is-dismissed{border-color:var(--border);background:#f7f9f9;box-shadow:none;opacity:.78}.scan-occasion-suggestion.is-dismissed .scan-occasion-mark{background:#edf1f2;color:var(--muted)}
@media(max-width:760px){.scan-occasion-suggestion{grid-template-columns:36px 1fr}.scan-occasion-mark{width:34px;height:34px}.scan-occasion-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.scan-occasion-actions button{width:100%}}

/* People & timelines: identity first, controls in a dedicated footer. */
#timelineList.timeline-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
#timelineList .timeline-item{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;row-gap:0;align-items:center;min-height:154px;padding:20px 19px 16px;border-radius:19px}
#timelineList .timeline-item>i{grid-row:1;width:42px;height:42px;align-self:start}
#timelineList .timeline-item>span{grid-column:2;align-self:start;padding-top:2px}
#timelineList .timeline-item>span strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
#timelineList .timeline-item>span small{margin-top:6px;font-size:8px;line-height:1.5}
#timelineList .timeline-item-actions{grid-column:1/-1;display:flex;align-items:center;gap:13px;width:100%;margin:16px 0 0;padding-top:13px;border-top:1px solid #e7edef}
#timelineList .timeline-item-actions .secondary{min-height:34px;padding:0 13px;border-color:#f1d9d7;background:#fff6f5;color:var(--brand-dark);font-size:8px;white-space:nowrap}
#timelineList .timeline-item-actions .text-button{margin:0 0 0 auto;padding:7px 2px;font-size:8px;white-space:nowrap}
@media(max-width:650px){#timelineList.timeline-list{grid-template-columns:1fr;gap:10px}#timelineList .timeline-item{min-height:0;padding:16px}#timelineList .timeline-item-actions{margin-left:0}}

/* Video inbox cards always communicate what they contain, even before a poster exists. */
.video-preview{position:relative;isolation:isolate;background:linear-gradient(145deg,#e7f1f2,#dbe8eb)}
.video-preview-fallback{position:absolute;z-index:0;inset:0;display:grid;place-items:center;align-content:center;gap:8px;color:#60728a}
.video-preview-fallback b{width:48px;height:48px;display:grid;place-items:center;padding-left:3px;border:1px solid rgba(96,114,138,.22);border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 9px 24px rgba(51,64,91,.1);font-size:17px}
.video-preview-fallback small{font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.video-preview>video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;background:transparent}
.media-add-date{margin:0;padding:0;border:0;background:transparent;color:var(--brand-dark);font:800 8px/1.4 Inter,sans-serif;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.media-add-date:hover,.media-add-date:focus-visible{color:var(--brand)}

/* Fill Moment card previews; full-screen views retain the original framing. */
.moment-photo-stage{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#e8f1f2}
.member-moment-cover .moment-photo-backdrop,.timeline-event-image .moment-photo-backdrop{position:absolute;z-index:0;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(11px) saturate(.82);opacity:.48;transform:scale(1.08)}
.member-moment-cover .moment-photo-main,.timeline-event-image .moment-photo-main{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;background:rgba(255,255,255,.08)}
@media(hover:hover) and (pointer:fine){.member-moment.with-cover:hover .moment-photo-backdrop,.member-moment.with-cover:focus-visible .moment-photo-backdrop{transform:scale(1.13)}.member-moment.with-cover:hover .moment-photo-main,.member-moment.with-cover:focus-visible .moment-photo-main{transform:scale(1.015)}}

.member-moment.moment-bloom-pending{opacity:0;pointer-events:none}

/* Bound the grid track and media box to the viewport, including large originals. */
.media-full-dialog{box-sizing:border-box;height:100vh;height:100dvh}
.media-full-dialog #mediaFullStage{min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.media-full-dialog #mediaFullStage>img,.media-full-dialog #mediaFullStage>video{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
