:root{--ink: #21312f;--muted: #66736e;--paper: #fbfaf6;--line: #dfded6;--leaf: #2f6f5e;--leaf-dark: #204d43;--coral: #c86450;--sun: #e9b85a;--sky: #bfd5dc;--white: #ffffff;--shadow: 0 20px 60px rgba(30, 41, 38, .16)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;padding:0 40px;background:#fbfaf6e0;border-bottom:1px solid rgba(223,222,214,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--white);background:var(--leaf);border-radius:8px}.nav-links{display:flex;align-items:center;gap:26px;color:var(--muted);font-size:15px}.nav-links a:hover{color:var(--ink)}.header-action,.button,.store-button,.upload-button,.quick-add-menu button,.quick-add-menu label{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:8px;font-weight:750;cursor:pointer}.header-action,.button.primary{color:var(--white);background:var(--leaf)}.button.secondary,.store-button,.upload-button{color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.child-switcher{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}.child-management{display:grid;gap:8px;margin:0 0 14px;padding:12px;background:#ffffffb3;border:1px solid var(--line);border-radius:8px}.child-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.child-editor label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:850}.child-editor input,.child-editor button{min-height:40px;border-radius:8px;font:inherit;font-weight:850}.child-editor input{min-width:0;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.child-editor button{padding:0 14px;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.child-note{min-height:20px;margin:0;color:var(--muted);font-size:13px;font-weight:800}.upload-panel{display:grid;gap:12px;margin:0 0 14px;padding:12px;background:#ffffffb8;border:1px solid var(--line);border-radius:8px}.upload-panel[hidden]{display:none}.upload-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-heading div{display:grid;gap:2px}.upload-heading span,.upload-form label,.upload-note{color:var(--muted);font-size:13px;font-weight:850}.upload-heading strong{color:var(--ink);font-size:16px}.upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upload-form label,.upload-description{display:grid;gap:6px;min-width:0}.upload-description,.upload-file,.upload-actions,.upload-note{grid-column:1 / -1}.upload-form input,.upload-form select,.upload-form textarea,.upload-actions button{min-height:40px;border-radius:8px;font:inherit;font-weight:850}.upload-form input,.upload-form select,.upload-form textarea{min-width:0;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.upload-form textarea{min-height:72px;padding-top:10px;resize:vertical}.upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upload-actions button{padding:0 14px;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.upload-actions button:nth-child(2){color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.upload-note{min-height:20px;margin:0}.memory-panel{display:grid;gap:12px;margin:0 0 14px;padding:12px;background:#ffffffb8;border:1px solid var(--line);border-radius:8px}.memory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.memory-heading div{display:grid;gap:2px}.memory-heading span,.memory-form label,.memory-note{color:var(--muted);font-size:13px;font-weight:850}.memory-heading strong{color:var(--ink);font-size:16px}.memory-form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:8px}.memory-form label,.memory-body{display:grid;gap:6px;min-width:0}.memory-body,.memory-actions{grid-column:1 / -1}.memory-form input,.memory-form select,.memory-form textarea,.memory-actions button{min-height:40px;border-radius:8px;font:inherit;font-weight:850}.memory-form input,.memory-form select,.memory-form textarea{min-width:0;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.memory-form textarea{min-height:96px;padding-top:10px;resize:vertical}.memory-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.memory-actions button{padding:0 14px;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.memory-actions button:nth-child(2){color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.memory-list{display:grid;gap:8px}.memory-row,.memory-empty{margin:0;padding:10px;background:#fbfaf6d1;border:1px solid var(--line);border-radius:8px}.memory-row{display:grid;gap:6px;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.memory-row:hover,.memory-row:focus-visible{border-color:#2f6f5e5c;outline:none}.memory-row div{display:grid;gap:2px}.memory-row span,.memory-row small,.memory-empty{color:var(--muted);font-size:12px;font-weight:850}.memory-row strong{color:var(--ink);font-size:15px}.memory-row p{margin:0;color:var(--ink);font-size:13px}.memory-note{min-height:20px;margin:0}.family-context{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(140px,.7fr) minmax(150px,.8fr);gap:10px;margin:24px 0 0}.family-context label,.auth-status,.api-runtime-status{display:grid;gap:6px;min-height:70px;padding:12px 14px;color:var(--muted);font-size:13px;font-weight:800;background:#ffffffb3;border:1px solid var(--line);border-radius:8px}.family-context select{width:100%;min-height:34px;color:var(--ink);background:transparent;border:0;font:inherit;font-size:15px;font-weight:850}.auth-status strong,.api-runtime-status strong{color:var(--leaf-dark);font-size:15px}.auth-sign-out{justify-self:start;padding:0;color:var(--coral);background:transparent;border:0;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.auth-gate-main{display:grid;place-items:center;padding:48px 20px}.auth-gate{width:min(620px,100%);padding:clamp(28px,6vw,56px);background:#ffffffeb;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-gate h1{margin:8px 0 16px;font-size:clamp(36px,8vw,64px);line-height:1}.auth-gate>p:not(.eyebrow){color:var(--muted)}.auth-gate-status{min-height:28px;padding:10px 12px;background:var(--paper);border-left:4px solid var(--leaf);border-radius:6px;font-weight:750}.auth-gate-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}.auth-gate button{border:0}.auth-gate button:disabled{cursor:wait;opacity:.65}.auth-gate small{color:var(--muted);font-weight:700}.api-runtime-status.offline strong{color:var(--coral)}.api-runtime-status small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.library-source-status{display:grid;gap:5px;margin:10px 0 0;padding:12px 14px;color:var(--muted);background:#ffffffc2;border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:8px}.library-source-status span{font-size:12px;font-weight:850}.library-source-status strong{color:var(--leaf-dark);font-size:16px;line-height:1.2}.library-source-status small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.library-source-status.static-fallback{border-left-color:var(--coral)}.library-source-status.static-fallback strong{color:var(--coral)}.library-source-status.loading{border-left-color:var(--sky)}.auth-config-panel{display:grid;grid-template-columns:minmax(90px,.75fr) minmax(160px,1.2fr) minmax(86px,.65fr) minmax(130px,1fr) minmax(150px,1.1fr) minmax(70px,.55fr);gap:8px;margin:10px 0 16px;padding:12px;background:#ffffffb3;border:1px solid var(--line);border-radius:8px}.auth-config-panel label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:850}.auth-config-panel input,.auth-config-panel select,.auth-config-actions button{min-width:0;min-height:38px;border-radius:8px;font:inherit;font-size:13px;font-weight:850}.auth-config-panel input,.auth-config-panel select{width:100%;padding:0 10px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.auth-config-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(104px,auto)) minmax(0,1fr);gap:8px;align-items:center}.auth-config-actions button{padding:0 14px;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.auth-config-actions button:not(:first-child){color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.auth-config-actions span{min-width:0;color:var(--muted);font-size:12px;font-weight:850;overflow-wrap:anywhere}.api-diagnostics-panel{display:grid;gap:12px;margin:0 0 16px;padding:14px;background:#ffffffb8;border:1px solid var(--line);border-radius:8px}.api-diagnostics-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-diagnostics-heading div{display:grid;gap:3px;min-width:0}.api-diagnostics-heading span,.api-diagnostics-grid span{color:var(--muted);font-size:12px;font-weight:850}.api-diagnostics-heading strong{color:var(--ink);font-size:14px}.diagnostic-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:var(--leaf-dark);background:#2f6f5e1f;border:1px solid rgba(47,111,94,.2);border-radius:8px;font-size:12px;font-weight:900;white-space:nowrap}.diagnostic-badge.failed{color:var(--coral);background:#c864501f;border-color:#c8645047}.api-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.api-diagnostics-grid>div{display:grid;gap:4px;min-width:0;padding:10px;background:#fbfaf6b8;border:1px solid rgba(223,222,214,.8);border-radius:8px}.api-diagnostics-grid strong{min-width:0;color:var(--ink);font-size:13px;font-weight:900;overflow-wrap:anywhere}.api-diagnostics-grid small{min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}.diagnostic-result.ok{border-color:#2f6f5e3d}.diagnostic-result.failed{border-color:#c8645057;background:#c8645014}.diagnostic-result.failed strong{color:var(--coral)}.member-panel{display:grid;gap:12px;margin:10px 0 16px;padding:14px;background:#ffffffb3;border:1px solid var(--line);border-radius:8px}.member-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-panel-heading div{display:grid;gap:2px}.member-panel-heading span,.member-note{color:var(--muted);font-size:13px;font-weight:800}.member-panel-heading strong{color:var(--ink);font-size:16px}.permission-badge{flex:0 0 auto;padding:4px 10px;color:var(--muted);background:#f1f1ef;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.permission-badge.enabled{color:var(--leaf-dark);background:#e4efe9;border-color:#c8ded4}.member-list{display:grid;gap:6px}.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 10px;background:#ffffff9e;border:1px solid rgba(223,222,214,.72);border-radius:8px}.member-identity{display:grid;min-width:0}.member-row span,.member-row small{overflow-wrap:anywhere}.member-row span{color:var(--ink);font-weight:850}.member-row small{color:var(--muted);font-weight:800}.member-owner{color:var(--leaf-dark);font-size:13px}.member-actions{display:flex;align-items:center;gap:8px}.member-actions select,.member-actions button{min-height:34px;border-radius:8px;font:inherit;font-weight:850}.member-actions select{max-width:98px;padding:0 8px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.member-actions button{padding:0 10px;color:var(--coral);background:var(--white);border:1px solid var(--line);cursor:pointer}.member-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.member-invite input,.member-invite button{min-height:40px;border-radius:8px;font:inherit;font-weight:800}.member-invite input{min-width:0;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.member-invite button{padding:0 14px;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.invitation-list{display:grid;gap:6px}.invitation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:8px 10px;background:#fffaf1;border:1px solid #ecd7a6;border-radius:8px}.invitation-row div{display:grid;min-width:0}.invitation-row span,.invitation-row small{overflow-wrap:anywhere}.invitation-row span{color:var(--ink);font-weight:850}.invitation-row small{color:var(--muted);font-weight:800}.invitation-row button{min-height:34px;padding:0 12px;color:var(--coral);background:var(--white);border:1px solid #ecd7a6;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.member-invite input:disabled,.member-invite button:disabled,.child-editor input:disabled,.child-editor button:disabled,.upload-form input:disabled,.upload-form select:disabled,.upload-form textarea:disabled,.upload-actions button:disabled,.memory-form input:disabled,.memory-form select:disabled,.memory-form textarea:disabled,.memory-actions button:disabled,.memory-edit-form input:disabled,.memory-edit-form select:disabled,.memory-edit-form textarea:disabled,.media-edit-form input:disabled,.media-edit-form textarea:disabled,.memory-detail-actions button:disabled,.member-actions select:disabled,.member-actions button:disabled,.invitation-row button:disabled,.quick-add-menu button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.member-note{min-height:20px;margin:0}.billing-panel,.audit-panel,.notification-panel,.export-panel,.import-panel{display:grid;gap:12px;margin:10px 0 16px;padding:14px;background:#ffffffb3;border:1px solid var(--line);border-radius:8px}.billing-heading,.audit-heading,.notification-heading,.export-heading,.import-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.billing-heading div,.audit-heading div,.notification-heading div,.export-heading div,.import-heading div{display:grid;gap:2px}.billing-heading span,.audit-heading span,.audit-row small,.billing-note,.billing-period span,.billing-metrics span,.notification-heading span,.notification-note,.export-heading span,.export-note,.export-metrics span,.import-heading span,.import-note,.import-metrics span{color:var(--muted);font-size:13px;font-weight:800}.billing-heading strong,.audit-heading strong,.notification-heading strong,.export-heading strong,.import-heading strong{color:var(--ink);font-size:16px}.audit-list{display:grid;gap:8px}.audit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;background:#ffffffad;border:1px solid rgba(223,222,214,.74);border-radius:8px}.audit-row div{display:grid;gap:2px;min-width:0}.audit-row span{color:var(--ink);font-size:14px;font-weight:900;overflow-wrap:anywhere}.audit-row small{overflow-wrap:anywhere}.billing-metrics,.export-metrics,.import-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.notification-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-options label{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;color:var(--ink);background:#ffffffad;border:1px solid rgba(223,222,214,.74);border-radius:8px;font-size:14px;font-weight:850}.notification-options input{width:18px;height:18px}.notification-quiet-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-quiet-hours label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:850}.notification-quiet-hours input,.notification-actions button{min-height:40px;border-radius:8px;font:inherit;font-weight:850}.notification-quiet-hours input{min-width:0;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line)}.notification-actions button{width:100%;color:var(--white);background:var(--leaf);border:0;cursor:pointer}.notification-options input:disabled,.notification-quiet-hours input:disabled,.notification-actions button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.notification-note{min-height:20px;margin:0}.billing-metrics div,.export-metrics div,.import-metrics div,.billing-period{display:grid;gap:4px;min-width:0;padding:10px 12px;background:#ffffffad;border:1px solid rgba(223,222,214,.74);border-radius:8px}.billing-metrics strong,.export-metrics strong,.import-metrics strong,.billing-period strong{color:var(--leaf-dark);font-size:15px;overflow-wrap:anywhere}.billing-actions,.export-actions,.import-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.billing-actions button,.export-actions button,.import-actions button{min-height:40px;padding:0 12px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.billing-actions button:disabled,.export-actions button:disabled,.import-actions button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.billing-note,.export-note,.import-note{min-height:20px;margin:0}.view-toggle{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 18px;padding:4px;background:#ffffffb3;border:1px solid var(--line);border-radius:999px}.view-tab{min-height:34px;padding:0 18px;color:var(--muted);background:transparent;border:0;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.view-tab.active{color:var(--ink);background:var(--white);box-shadow:0 4px 16px #1e292614}.child-tab{min-width:86px;min-height:42px;padding:0 16px;color:var(--leaf-dark);background:#ffffffb3;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:800;cursor:pointer}.child-tab.active{color:var(--white);background:var(--leaf);border-color:var(--leaf)}.child-summary{display:grid;gap:2px;margin-bottom:18px;padding:16px;background:#ffffffad;border:1px solid rgba(223,222,214,.9);border-radius:8px}.child-summary span{color:var(--muted)}.library-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.library-tools label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:800}.library-search,.library-search-note{grid-column:1 / -1}.library-toggle{grid-column:1 / -1;display:flex!important;align-items:center;gap:8px!important}.library-toggle input{width:auto;min-height:auto}.library-tools input,.library-tools select{width:100%;min-height:42px;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:750}.library-search-note{min-height:20px;margin:0;color:var(--muted);font-size:13px;font-weight:800}.library-tools select:disabled{color:#9ba39f;background:#ffffff7a;cursor:not-allowed}.hero{position:relative;display:grid;align-items:end;min-height:88vh;padding:120px 40px 72px;overflow:hidden}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#121f1dbd,#121f1d61 45%,#121f1d14),linear-gradient(0deg,#121f1d70,#121f1d05 42%)}.hero-content{position:relative;max-width:710px;color:var(--white)}.eyebrow{margin:0 0 12px;color:var(--coral);font-size:14px;font-weight:800;letter-spacing:0}.hero .eyebrow{color:#ffd894}h1,h2,h3,p{margin-top:0}h1{margin-bottom:20px;font-size:clamp(44px,7vw,78px);line-height:1.05;letter-spacing:0}h2{margin-bottom:16px;font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:0}h3{margin-bottom:8px;font-size:20px;line-height:1.25}.hero-copy{max-width:640px;color:#ffffffe6;font-size:20px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.proof-strip div{padding:26px 40px;background:var(--paper)}.proof-strip strong,.proof-strip span{display:block}.proof-strip span{color:var(--muted)}.section{padding:96px 40px}.section-heading{max-width:820px;margin:0 auto 42px;text-align:center}.section-heading p,.timeline-copy p,.app-copy p{color:var(--muted)}.section-heading.narrow{max-width:760px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto}.feature-item,.timeline-item,.album-card,.price-card{min-height:230px;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:8px}.feature-icon{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:36px;color:var(--white);background:var(--leaf);border-radius:8px;font-weight:800}.feature-item p,.timeline-item p,.price-card p{color:var(--muted)}.timeline-lab{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:42px;align-items:start;background:#eef3ef}.timeline-copy{position:sticky;top:104px;max-width:560px}#mediaUpload{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.timeline-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;min-width:0}.timeline-date{display:inline-block;margin-bottom:14px;color:var(--coral);font-weight:800}.timeline-item h3{overflow-wrap:anywhere}.timeline-item.selected{border-color:#2f6f5e75;box-shadow:0 12px 32px #2f6f5e1f}.timeline-item.featured-media{border-color:#e9b85aa3}.timeline-card-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:8px}.timeline-card-tools label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:900}.timeline-card-tools input{width:16px;height:16px;accent-color:var(--leaf)}.timeline-card-tools span{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;color:#795826;background:#e9b85a38;border:1px solid rgba(233,184,90,.34);border-radius:8px;font-size:12px;font-weight:900}.memory-timeline-item{position:relative;display:grid;align-content:start;gap:12px;background:linear-gradient(180deg,#fffffff5,#fbfaf6f5),var(--white)}.memory-timeline-item.letter{border-color:#2f6f5e5c}.memory-timeline-item.diary{border-color:#e9b85a8f}.memory-timeline-mark{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:34px;padding:0 12px;color:var(--leaf-dark);background:#bfd5dc75;border:1px solid rgba(47,111,94,.18);border-radius:8px;font-size:13px;font-weight:900}.memory-timeline-item.diary .memory-timeline-mark{color:#795826;background:#e9b85a38;border-color:#e9b85a57}.memory-timeline-item small{color:var(--muted);font-weight:850}.memory-timeline-item button{width:fit-content;min-height:38px;padding:0 14px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.timeline-item p,.album-card p{display:-webkit-box;min-height:52px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.album-card{display:grid;gap:14px;min-width:0;overflow:hidden;text-align:left}.album-card-button{display:grid;gap:12px;width:100%;min-width:0;padding:0;color:inherit;text-align:inherit;background:transparent;border:0;font:inherit;cursor:pointer}.album-cover{position:relative;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;width:100%;min-width:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:8px;background:var(--sky)}.album-cover>*{display:block;width:100%;min-width:0;height:100%;min-height:0}.album-cover img,.album-cover video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}.album-cover-main{grid-column:1;grid-row:1 / span 2}.album-cover>:nth-child(2){grid-column:2;grid-row:1}.album-cover>:nth-child(3){grid-column:2;grid-row:2}.album-cover-placeholder{display:grid;place-items:center;width:100%;min-width:0;height:100%;min-height:0;color:var(--white);background:var(--leaf);font-weight:900}.album-count{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:750}.album-modal{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:#121f1db8}.album-modal[hidden]{display:none}.album-modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(88vh,920px);overflow:hidden;background:var(--paper);border-radius:8px;box-shadow:var(--shadow)}.album-modal-header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--line)}.album-modal-header span{color:var(--muted);font-weight:800}.album-modal-header h2{margin-bottom:0;font-size:30px}.reaction-button{flex:0 0 auto;min-width:72px;height:42px;color:#9f2f45;background:#ffe3ea;border:1px solid #ffc4d0;border-radius:999px;font-weight:900}.reaction-button.active{color:var(--white);background:#d9365f;border-color:#d9365f}.reaction-button:disabled{cursor:not-allowed;opacity:.55}.reaction-status{margin:-14px 24px 16px;color:var(--muted);font-size:13px;font-weight:800}.album-modal-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:50%;font-size:26px;line-height:1;cursor:pointer}.album-modal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);min-height:0}.album-modal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px;overflow:auto}.album-modal-media{display:grid;aspect-ratio:1;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:8px}.album-modal-media img,.album-modal-media video{width:100%;height:100%;object-fit:cover}.media-tile-button{display:grid;place-items:stretch;width:100%;min-width:0;height:100%;min-height:0;padding:0;overflow:hidden;color:inherit;background:transparent;border:0;font:inherit;cursor:pointer}.media-tile-button img,.media-tile-button video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}.album-comments{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:18px;background:#ffffff9e;border-left:1px solid var(--line);overflow:hidden}.album-comments-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.album-comments-heading div{display:grid;gap:2px}.album-comments-heading span,.album-comment-status,.album-comment-empty{color:var(--muted);font-size:13px;font-weight:800}.album-comments-heading strong{color:var(--ink);font-size:16px}.album-comment-form{display:grid;gap:8px}.album-comment-form textarea{width:100%;min-height:92px;resize:vertical;padding:10px 12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:750}.album-comment-form button{min-height:40px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.album-comment-form textarea:disabled,.album-comment-form button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.media-modal{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:#121f1dc2}.media-modal-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);width:min(1120px,100%);max-height:min(88vh,920px);overflow:hidden;background:var(--paper);border-radius:8px;box-shadow:var(--shadow)}.media-modal-viewer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0}.media-modal-header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--line)}.media-modal-header span{color:var(--muted);font-weight:800}.media-modal-header h2{margin-bottom:0;font-size:30px;overflow-wrap:anywhere}.media-modal-frame{display:grid;min-height:0;padding:18px;background:var(--white)}.media-modal-frame img,.media-modal-frame video{width:100%;max-height:58vh;object-fit:contain;border-radius:8px}.media-modal-viewer>p,.media-detail-status{margin:0;padding:0 24px 24px;color:var(--muted);font-weight:800;overflow-wrap:anywhere}.media-detail-body,.media-edit-form{display:grid;gap:14px;padding:0 24px 24px;overflow:auto}.media-detail-body p{margin:0;color:var(--muted);font-weight:800;white-space:pre-wrap;overflow-wrap:anywhere}.media-edit-form{grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr)}.media-edit-form label,.media-edit-description,.media-featured-toggle{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:850}.media-edit-description,.media-featured-toggle{grid-column:1 / -1}.media-featured-toggle{display:flex;align-items:center}.media-edit-form input,.media-edit-form textarea{min-width:0;min-height:42px;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:850}.media-featured-toggle input{width:18px;min-height:18px}.media-edit-form textarea{min-height:120px;padding-top:10px;resize:vertical}.memory-modal{position:fixed;z-index:55;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:#121f1db8}.memory-modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(88vh,760px);overflow:hidden;background:var(--paper);border-radius:8px;box-shadow:var(--shadow)}.memory-detail-body,.memory-edit-form{display:grid;gap:14px;min-height:0;padding:24px;overflow:auto}.memory-detail-body p{margin:0;color:var(--ink);white-space:pre-wrap}.memory-detail-body small,.memory-detail-status{color:var(--muted);font-weight:850}.memory-edit-form{grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr)}.memory-edit-form label,.memory-edit-body{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:850}.memory-edit-body,.memory-detail-actions{grid-column:1 / -1}.memory-edit-form input,.memory-edit-form select,.memory-edit-form textarea{min-width:0;min-height:42px;padding:0 12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:850}.memory-edit-form textarea{min-height:180px;padding-top:10px;resize:vertical}.memory-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.memory-detail-actions button{min-height:42px;padding:0 14px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.memory-detail-actions button:nth-child(2){color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.memory-detail-actions button.danger{color:var(--coral);background:var(--white);border:1px solid #f0c5bb}.memory-detail-status{min-height:24px;margin:0;padding:0 24px 24px}.media-comments{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:18px;background:#ffffff9e;border-left:1px solid var(--line);overflow:hidden}.album-comment-status{min-height:20px;margin:0}.album-comment-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto}.album-comment{display:grid;gap:6px;padding:10px 12px;background:var(--white);border:1px solid var(--line);border-radius:8px}.album-comment div{display:flex;align-items:center;justify-content:space-between;gap:10px}.album-comment strong,.album-comment p{overflow-wrap:anywhere}.album-comment strong{color:var(--ink);font-size:14px}.album-comment time{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:800}.album-comment p{margin:0;color:var(--muted);font-size:14px}.album-comment-empty{display:grid;place-items:center;min-height:88px;padding:12px;background:#ffffffb8;border:1px dashed var(--line);border-radius:8px}.media-tile{display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:4 / 3;margin-bottom:18px;overflow:hidden;border-radius:8px;background:var(--sky)}.media-tile img,.media-tile video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}.sample-photo{background:linear-gradient(135deg,#2f6f5ed1,#e9b85ad6),url(/assets/hero-family.png) center / cover}.sample-video{color:var(--white);background:linear-gradient(135deg,#c86450d1,#21312fe6),url(/assets/hero-family.png) center / cover;font-weight:900}.sample-alt{background:linear-gradient(135deg,#bfd5dcdb,#e9b85ac7),url(/assets/hero-family.png) center / cover}.preview-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}.load-more-panel{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;margin-top:6px}.load-more-panel span{color:var(--muted);font-size:14px;font-weight:850}.load-more-panel button{min-height:42px;padding:0 16px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.load-more-panel button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.batch-toolbar{grid-column:1 / -1;display:grid;gap:10px;margin:0 0 18px;padding:14px;background:#ffffffb8;border:1px solid var(--line);border-radius:8px}.batch-toolbar>div:first-child{display:grid;gap:2px}.batch-toolbar span,.batch-toolbar p{color:var(--muted);font-size:13px;font-weight:850}.batch-toolbar strong{color:var(--ink)}.batch-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.batch-actions button{min-height:40px;padding:0 12px;color:var(--white);background:var(--leaf);border:0;border-radius:8px;font:inherit;font-weight:900;cursor:pointer}.batch-actions button:nth-child(3),.batch-actions button:nth-child(4){color:var(--leaf-dark);background:var(--white);border:1px solid var(--line)}.batch-actions button:disabled{color:#9ba39f;background:#ffffff7a;border:1px solid var(--line);cursor:not-allowed}.batch-toolbar p{min-height:20px;margin:0}.calendar-view{grid-column:1 / -1;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:8px}.calendar-heading{display:grid;gap:2px;margin-bottom:18px;text-align:center}.calendar-heading strong{font-size:26px}.calendar-heading span,.calendar-weekdays{color:var(--muted)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{margin-bottom:6px;font-size:13px;font-weight:800;text-align:center}.calendar-cell{position:relative;display:grid;align-content:space-between;gap:8px;min-height:82px;padding:8px;overflow:hidden;background:#f1f1ef;border-radius:8px}.calendar-cell strong{position:relative;z-index:1;color:#5a5f5c}.calendar-cell.has-media{color:var(--white);background:linear-gradient(180deg,#21312f0d,#21312fc7),url(/assets/hero-family.png) center / cover}.calendar-cell.has-memory:not(.has-photo):not(.has-video){color:var(--leaf-dark);background:#bfd5dc75;border:1px solid rgba(47,111,94,.18)}.calendar-cell.has-media strong{color:var(--white)}.calendar-cell.has-memory:not(.has-photo):not(.has-video) strong{color:var(--leaf-dark)}.calendar-cell span{z-index:1;align-self:end;font-size:12px;font-weight:900;line-height:1.25;overflow-wrap:anywhere;text-align:right}.app-section{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:64px;align-items:center;max-width:1120px;margin:0 auto}.phone-shell{width:min(100%,330px);min-height:640px;padding:14px;justify-self:center;background:#1f2827;border-radius:34px;box-shadow:var(--shadow)}.phone-status{width:108px;height:22px;margin:0 auto 12px;background:#0f1615;border-radius:0 0 18px 18px}.app-screen{display:flex;flex-direction:column;min-height:580px;padding:20px;background:var(--paper);border-radius:24px}.app-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.app-top span{color:var(--coral);font-size:13px;font-weight:800}.story-card{padding:22px;color:var(--white);background:linear-gradient(180deg,#21312f0f,#21312fd1),url(/assets/hero-family.png) center / cover;border-radius:8px;aspect-ratio:1 / 1.05}.story-card span{font-size:13px;font-weight:800}.story-card h3{margin-top:150px}.story-card p{color:#ffffffdb}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 auto}.mini-grid div{aspect-ratio:1;border-radius:8px;background:var(--sky)}.mini-grid div:nth-child(2){background:var(--sun)}.mini-grid div:nth-child(3){background:var(--coral)}.mini-grid div:nth-child(4){background:var(--leaf)}.app-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px;color:var(--muted);font-size:12px;text-align:center}.app-copy{max-width:620px}.store-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.qr-box{display:grid;place-items:center;width:74px;height:74px;color:var(--leaf-dark);background:linear-gradient(90deg,transparent 46%,var(--leaf-dark) 46% 54%,transparent 54%),linear-gradient(0deg,transparent 46%,var(--leaf-dark) 46% 54%,transparent 54%),var(--white);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:900}.migration-section{background:#f6eee7}.app-flows{background:#f7f7f3}.flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto}.flow-card{min-height:240px;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:8px}.flow-card span{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:42px;color:var(--ink);background:#ffdb05;border-radius:999px;font-weight:900}.flow-card p{color:var(--muted)}.migration-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1120px;margin:0 auto}.migration-steps div{display:grid;gap:10px;min-height:128px;padding:22px;background:#ffffffb8;border:1px solid rgba(223,222,214,.8);border-radius:8px}.migration-steps strong{color:var(--coral);font-size:28px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1120px;margin:0 auto}.price-card{min-height:260px}.price-card.featured{color:var(--white);background:var(--leaf-dark);border-color:var(--leaf-dark)}.price-card.featured p{color:#ffffffd1}.price{margin:18px 0;color:var(--ink);font-size:34px;font-weight:900}.featured .price{color:var(--white)}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:28px 40px;color:var(--muted);border-top:1px solid var(--line)}.quick-add{position:fixed;z-index:30;right:34px;bottom:34px;display:grid;justify-items:end;gap:14px}.quick-add-button{display:grid;place-items:center;width:74px;height:74px;color:var(--ink);background:#ffdb05;border:0;border-radius:50%;box-shadow:var(--shadow);font-size:42px;line-height:1;cursor:pointer}.quick-add-menu{display:grid;gap:10px}.quick-add-menu button,.quick-add-menu label{justify-content:flex-start;gap:10px;min-width:190px;box-shadow:0 14px 40px #1e292624}.blue-dot,.gold-dot,.pink-dot,.green-dot{display:grid;place-items:center;width:34px;height:34px;color:var(--white);border-radius:50%;font-weight:900}.blue-dot{background:#4cb4f6}.gold-dot{background:#ffbd20}.pink-dot{background:#fb4d91}.green-dot{background:#2fbf71}@media(max-width:900px){.site-header{height:64px;padding:0 20px}.nav-links,.header-action{display:none}.hero{min-height:82vh;padding:96px 22px 48px}.hero-shade{background:linear-gradient(90deg,#121f1dc7,#121f1d66),linear-gradient(0deg,#121f1d6b,#121f1d0a)}.hero-copy{font-size:17px}.proof-strip,.feature-grid,.timeline-lab,.timeline-panel,.library-tools,.family-context,.auth-config-panel,.app-section,.flow-grid,.migration-steps,.pricing-grid{grid-template-columns:1fr}.proof-strip div,.section{padding-left:22px;padding-right:22px}.timeline-copy{position:static}.app-section{gap:36px}.phone-shell{min-height:580px}.site-footer{flex-direction:column;padding:24px 22px}.quick-add{right:18px;bottom:18px}.quick-add-button{width:64px;height:64px}.auth-config-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-config-actions span{grid-column:1 / -1}.api-diagnostics-grid{grid-template-columns:1fr}.album-modal{padding:12px}.album-modal-body{grid-template-columns:1fr;overflow:auto}.album-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.album-comments{border-top:1px solid var(--line);border-left:0;overflow:visible}.media-modal,.memory-modal{padding:12px}.memory-modal-panel{overflow:auto}.media-modal-panel{grid-template-columns:1fr;overflow:auto}.media-modal-frame img,.media-modal-frame video{max-height:48vh}.media-comments{border-top:1px solid var(--line);border-left:0;overflow:visible}.member-row,.member-actions,.member-invite,.child-editor,.upload-form,.upload-actions,.memory-form,.memory-actions,.media-edit-form,.memory-edit-form,.batch-actions,.billing-metrics,.billing-actions,.notification-options,.notification-quiet-hours,.export-metrics,.export-actions,.import-metrics,.import-actions,.invitation-row{grid-template-columns:1fr}.member-actions{display:grid}.member-actions select,.member-actions button,.member-invite button,.child-editor button,.upload-actions button,.memory-actions button,.memory-detail-actions button,.batch-actions button,.billing-actions button,.import-actions button,.invitation-row button{max-width:none;width:100%}}@media(max-width:520px){h1{font-size:40px}h2{font-size:30px}.hero-actions,.store-row{align-items:stretch;flex-direction:column}.button,.store-button,.upload-button{width:100%}}.app-site-header{position:sticky}.app-main{min-height:100vh;padding-top:0;background:#eef5f0}.app-workspace{display:grid;grid-template-columns:minmax(320px,520px) minmax(0,1fr);gap:32px;align-items:start;width:min(1520px,calc(100% - 48px));min-height:calc(100vh - 72px);margin:0 auto;padding:32px 0 48px}.app-workspace h1{margin:0 0 16px;font-size:clamp(38px,6vw,68px);line-height:.96}.app-workspace .timeline-copy{grid-column:1;max-width:none}.app-workspace .batch-toolbar,.app-workspace .timeline-panel{grid-column:2;min-width:0}.app-workspace .timeline-panel{max-height:calc(100vh - 136px);overflow:auto}.app-roadmap{background:var(--paper)}.roadmap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(1180px,calc(100% - 40px));margin:28px auto 0}.roadmap-item{display:grid;align-content:start;gap:10px;min-height:210px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 34px #1e292614}.roadmap-item span{width:fit-content;padding:4px 9px;color:var(--leaf-dark);background:#2f6f5e1f;border-radius:999px;font-size:12px;font-weight:850}.roadmap-item.in-progress span{color:#8a5d11;background:#e9b85a38}.roadmap-item.queued span{color:#5c6a76;background:#bfd5dc52}.roadmap-item strong{color:var(--ink);font-size:20px;line-height:1.2}.roadmap-item p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}.preview-list{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;min-width:0}@media(max-width:1100px){.app-workspace{grid-template-columns:1fr;width:min(100% - 32px,900px)}.app-workspace .timeline-copy,.app-workspace .batch-toolbar,.app-workspace .timeline-panel{grid-column:1}.app-workspace .timeline-copy{position:static}.app-workspace .timeline-panel{max-height:none}}@media(max-width:900px){.app-workspace{min-height:auto;padding-top:24px}.app-workspace .timeline-panel{max-height:none}.preview-list{grid-template-columns:1fr}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.roadmap-grid{grid-template-columns:1fr;width:min(100% - 28px,520px)}.roadmap-item{min-height:0}}
