:root{--bg:#faf8f4;--paper:#fffdfa;--ink:#3e3834;--muted:#918980;--line:#eae3db;--rose:#935353;--rose-dark:#7e4344;--rose-light:#f1e6e1;--sage:#748272;--serif:Georgia, "Noto Serif SC", "Songti SC", "SimSun", serif;--sans:"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}.memory-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 32px;display:grid}.memory-shortcuts button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:15px;padding:21px 18px;display:flex}.memory-shortcuts button>svg:first-child{color:var(--rose);flex-shrink:0}.memory-shortcuts button>svg:last-child{flex-shrink:0;margin-left:auto}.memory-shortcuts strong,.memory-shortcuts small{display:block}.memory-shortcuts strong{margin-bottom:7px;font-weight:500}.memory-shortcuts small{color:var(--muted);font-size:11px;line-height:1.6}.quick-record-fab{z-index:20;color:#fff;background:var(--rose-dark);border:1px solid #ffffff30;border-radius:100px;align-items:center;gap:8px;padding:14px 20px;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 6px 24px #69474225}.entry-fields{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.record-mode{background:var(--bg);border-radius:8px;gap:5px;width:fit-content;padding:5px;display:flex}.record-mode button{background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:9px 16px;display:flex}.record-mode button[aria-pressed=true]{background:var(--paper);color:var(--rose-dark);box-shadow:0 1px 5px #49382a10}.draft-banner{background:var(--rose-light);border-radius:10px;padding:18px}.draft-banner p{font-size:12px;line-height:1.7}.draft-banner>div{flex-wrap:wrap;gap:12px;display:flex}.draft-status{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.file-list.upload-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.file-list.upload-previews>span{white-space:nowrap;text-overflow:ellipsis;background:var(--bg);flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:8px;font-size:11px;display:flex;position:relative;overflow:hidden}.upload-previews img{object-fit:cover;border-radius:5px;width:100%;height:110px;display:block}.upload-previews>span>button{background:#fffdf8e8;border-radius:50%;padding:5px;position:absolute;top:12px;right:12px}.upload-video{height:110px;color:var(--rose);place-items:center;display:grid}.archive-stats{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;padding:15px 0;display:grid}.archive-stats strong,.archive-stats small{display:block}.archive-stats strong{font-family:var(--serif);font-size:24px;font-weight:400}.archive-stats small{color:var(--muted);margin-top:6px;font-size:11px}.backup-last-result{color:var(--muted);font-size:12px;line-height:1.8}@media (max-width:1000px){.memory-shortcuts{gap:10px}.memory-shortcuts button{gap:10px;padding:16px 12px}}@media (max-width:700px){.memory-shortcuts{grid-template-columns:1fr;margin:18px 0}.memory-shortcuts button{padding:17px}.memory-shortcuts small{font-size:12px}.quick-record-fab{bottom:calc(82px + env(safe-area-inset-bottom));padding:12px 17px;right:18px}.file-list.upload-previews{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}button,a{transition:background .18s,color .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #ad7777}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #ad777780}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}button svg,a svg{flex-shrink:0}button{background:0 0;border:0}input,textarea,select{min-width:0;color:var(--ink)}::selection{background:#ead1cc}svg{vertical-align:middle}.eyebrow{letter-spacing:2.4px;color:var(--rose);font-size:10px;font-weight:500;line-height:1.8}.muted{color:var(--muted)}.small-text{font-size:12px;line-height:1.9}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 21px;font-size:13px;line-height:1.3;display:inline-flex}.button.primary{background:var(--rose);color:#fff;box-shadow:0 3px 8px #93535312}.button.primary:hover{background:var(--rose-dark);transform:translateY(-1px)}.button.secondary{background:var(--paper);border-color:var(--line)}.button.secondary:hover{background:#f3ece5;border-color:#d7c5b9}.text-button{color:#817067;align-items:center;gap:8px;padding:8px 0;font-size:12px;line-height:1.7;display:inline-flex}.text-button:hover{color:var(--rose)}.icon-button{width:38px;height:38px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:var(--rose-light);color:var(--rose)}.danger{color:#a3514d}.full-width{width:100%}.spaced{margin-top:48px}.round-icon{background:var(--rose-light);width:56px;height:56px;color:var(--rose);border-radius:50%;place-items:center;display:inline-grid}.site-header{border-bottom:1px solid var(--line);background:#fffdfaf5;height:88px}.header-inner{justify-content:space-between;align-items:center;gap:30px;max-width:1248px;height:100%;margin:auto;padding:0 40px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.7px;color:var(--rose);align-items:center;gap:10px;font-size:27px;line-height:1;display:inline-flex}.brand-mark{border:1px solid #cfaaaa;border-radius:16px 16px 6px 6px;place-items:center;width:40px;height:43px;display:grid;transform:rotate(-5deg)}.brand-mark svg{transform:rotate(5deg)}.brand small{font:9px var(--sans);letter-spacing:4px;color:#a99688;margin-top:8px;display:block}.site-header nav{align-items:center;gap:28px;height:100%;display:flex}.site-header nav button{color:#8b8279;align-items:center;gap:8px;height:100%;padding:0 2px;font-size:12px;display:flex;position:relative}.site-header nav button.active{color:var(--rose)}.site-header nav button.active:after{content:"";background:var(--rose);width:24px;height:2px;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.profile-button{align-items:center;gap:12px;font-size:12px;display:flex}.avatar{color:#825a4a;width:42px;height:42px;font-family:var(--serif);background:#e9cfc4;border:2px solid #fff8ef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:inline-flex;overflow:hidden}.avatar:nth-child(2n){color:#61715a;background:#d7ddce}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.small{border-width:1px;width:29px;height:29px;font-size:12px}.demo-banner{color:#a09080;justify-content:space-between;align-items:center;gap:10px;max-width:1168px;margin:0 auto;padding:10px 0 0;font-size:10px;display:flex}.demo-banner>span,.demo-banner button{align-items:center;gap:6px;display:flex}.demo-banner button{color:#8b756b;padding:4px 0;font-size:10px}.demo-dot{background:#bb9c79;border-radius:50%;width:5px;height:5px;display:inline-block}.main-content{max-width:1248px;min-height:calc(100vh - 180px);margin:0 auto;padding:36px 40px 0}.page-intro{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.page-intro .eyebrow{margin-bottom:10px}.page-intro h1{letter-spacing:1px;font-size:29px;line-height:1.5}.page-intro h1 span{color:#7d726a}.page-intro p{color:var(--muted);letter-spacing:.4px;margin-top:9px;font-size:12px}.hero{color:#fff;background:#a39780;border-radius:10px;height:422px;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center 57%;filter:saturate(.74);width:100%;height:100%;position:absolute}.hero-shade{background:linear-gradient(90deg,#302b25ab 0%,#322b2340 53%,#3a2d2205 100%),linear-gradient(#0000 65%,#352e2a65);position:absolute;inset:0}.hero-top{justify-content:space-between;align-items:center;display:flex;position:absolute;top:28px;left:35px;right:35px}.hero-top>span{letter-spacing:2px;color:#f6eee7de;align-items:center;gap:8px;font-size:9px;display:flex}.hero-top button{color:#f3e9e2;background:#ffffff08;border:1px solid #ffffff40;border-radius:5px;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:flex}.hero-content{position:absolute;top:93px;left:53px}.hero-avatars{align-items:center;margin-bottom:19px;display:flex}.hero-avatars .avatar{border:2px solid #efe6d1b0;width:31px;height:31px;font-size:12px}.hero-avatars .avatar+.avatar{margin-left:-9px}.hero-avatars>span:last-child{letter-spacing:1px;color:#f0e6dc;margin-left:12px;font-size:12px}.hero-label{letter-spacing:3px;color:#e6ded1;font-size:13px}.day-count{font-family:var(--serif);letter-spacing:2px;align-items:baseline;gap:13px;font-size:101px;line-height:1.2;display:flex}.day-count span{font-family:var(--sans);letter-spacing:0;font-size:15px;font-weight:300}.day-count>svg{color:#f1e5d0;align-self:center;margin-left:8px;transform:rotate(-13deg)}.hero-caption{font-family:var(--serif);letter-spacing:2px;color:#fff6e7;margin-top:9px;font-size:16px}.hero-bottom{color:#efe3d3cc;letter-spacing:1.5px;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:22px;left:35px;right:35px}.hero-bottom>span:last-child{font-family:var(--serif);letter-spacing:1px;font-size:11px}.line-heart{vertical-align:middle;margin-left:8px;font-size:21px}.hero-setup{color:#fff;font-family:var(--serif);align-items:center;gap:18px;padding:20px 0;font-size:28px;display:flex}.hero-empty{background:linear-gradient(110deg,#a7897a,#b8a586 60%,#7f8a76)}.hero-empty:after{content:"";pointer-events:none;border:1px solid #fff5;border-radius:100px 100px 0 0;width:140px;height:180px;position:absolute;top:30%;right:10%;transform:rotate(12deg)}.overview{grid-template-columns:1.35fr 1fr;gap:22px;margin:20px 0 46px;display:grid}.stats{border:1px solid var(--line);background:#fffdfa;border-radius:8px;justify-content:space-around;align-items:center;min-height:94px;display:flex}.stats>div{align-items:center;gap:12px;padding:12px;display:flex}.stat-icon{color:#b18c78;display:flex}.stats strong{font:27px var(--serif);line-height:1.2;display:block}.stats strong small{font:10px var(--sans);color:var(--muted)}.stats strong+span{color:#9a8e82;margin-top:6px;font-size:10px;display:block}.upcoming{text-align:left;background:#eeeae1;border-radius:8px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex}.upcoming:hover{background:#e9e2d6}.calendar-icon{color:#9d8c70}.upcoming-copy{flex-direction:column;flex:1;gap:9px;display:flex}.upcoming-copy small{color:#9c8e7a;font-size:10px}.upcoming-copy strong{font-family:var(--serif);font-size:16px;font-weight:500}.countdown{font:33px var(--serif);color:#8b7662;align-items:baseline;gap:5px;line-height:1;display:flex}.countdown small{font:10px var(--sans)}.upcoming>svg{color:#aa9a85}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{letter-spacing:1px;font-size:23px}.tiny-flower{font-family:var(--sans);color:#bfa488;vertical-align:middle;margin-left:8px;font-size:21px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.entry-card{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:8px;width:100%;padding:0;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.entry-card:hover{transform:translateY(-4px);box-shadow:0 9px 25px #54402c0b}.entry-photo{color:#b99e86;background:#ece3d7;height:218px;position:relative;overflow:hidden}.entry-photo>img{object-fit:cover;filter:saturate(.84);width:100%;height:100%;transition:transform .5s}.entry-card:hover .entry-photo>img{transform:scale(1.035)}.entry-photo.no-photo{background:linear-gradient(140deg,#ede4d6,#e4d2c4);place-items:center;display:grid}.important-mark{color:#906258;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fcf8f1eb;border-radius:4px;align-items:center;gap:5px;padding:5px 9px;font-size:9px;display:flex;position:absolute;top:13px;left:13px}.photo-count{color:#fff;background:#37312b77;border-radius:4px;align-items:center;gap:4px;padding:4px 7px;font-size:10px;display:flex;position:absolute;bottom:12px;right:12px}.entry-card-body{padding:20px 21px 16px}.entry-card-body .eyebrow{letter-spacing:1.2px;font-size:9px}.entry-card-body h3{white-space:nowrap;text-overflow:ellipsis;margin:9px 0 10px;font-size:19px;overflow:hidden}.entry-card-body>p{color:#93877a;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;font-size:11px;line-height:1.9;display:-webkit-box;overflow:hidden}.card-meta{color:#aa9b8e;border-top:1px solid #f0eae2;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;padding-top:12px;font-size:10px;display:flex}.card-meta>span{align-items:center;gap:5px;display:flex}.card-meta .avatar{width:21px;height:21px;font-size:9px}.on-this-day{background:#f0eee5;border:1px solid #e7e4d7;border-radius:8px;align-items:center;gap:20px;margin-top:30px;padding:25px 30px;display:flex}.on-this-day .round-icon{color:#9d8f6d;background:#e7e3d2;flex-shrink:0}.on-this-day>div{flex:1}.on-this-day h3{margin:4px 0 8px;font-size:19px}.on-this-day p{color:var(--muted);font-size:11px}.on-this-day .eyebrow{color:#a39170;font-size:8px}.recap-teaser{text-align:left;background:var(--rose-light);border:1px solid #e9d9d2;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-top:24px;padding:28px 32px;display:flex}.recap-teaser h3{color:#835452;margin:8px 0;font-size:23px}.recap-teaser p{color:#ac8d80;font-size:11px}.recap-teaser:hover{background:#ecdcd7}.round-arrow{color:#a8776d;border:1px solid #c6a29a;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.page-quote{text-align:center;font-family:var(--serif);letter-spacing:1.6px;color:#a28e7d;padding:45px 0 36px;font-size:15px}.page-quote span{font-family:var(--sans);letter-spacing:3px;color:#b6a89b;margin-top:15px;font-size:8px;display:block}.site-footer{border-top:1px solid var(--line);color:#b0a396;justify-content:space-between;align-items:center;gap:15px;max-width:1168px;margin:25px auto 0;padding:23px 0 30px;font-size:10px;display:flex}.footer-brand{color:#ac8a7c;gap:6px;font-size:17px}.site-footer>span:last-child{align-items:center;gap:5px;display:flex}.mobile-nav{display:none}.filter-bar{gap:12px;margin:32px 0 20px;display:flex}.filter-bar>select{width:auto;min-width:135px}.search-box{background:var(--paper);border:1px solid var(--line);color:#b2a595;border-radius:6px;flex:1;align-items:center;gap:11px;padding:0 15px;margin:0!important;display:flex!important}.search-box input{background:0 0!important;border:0!important;outline:0!important;margin:0!important;padding:13px 0!important}.tag-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:30px;display:flex}.tag-filters button{border:1px solid var(--line);color:#978779;border-radius:20px;padding:7px 17px;font-size:11px}.tag-filters button.active{background:var(--rose);border-color:var(--rose);color:#fff}.tag-filters>span{color:var(--muted);margin-left:auto;font-size:11px}.timeline-list{max-width:920px;margin:0 auto}.timeline-item{grid-template-columns:95px 1fr;gap:22px;padding-bottom:26px;display:grid;position:relative}.timeline-item:before{content:"";border-left:1px solid #dfd1c4;position:absolute;top:0;bottom:0;left:78px}.timeline-date{padding-top:15px;position:relative}.timeline-date:after{content:"";border:2px solid var(--bg);background:#b59781;border-radius:50%;width:9px;height:9px;position:absolute;top:24px;right:12px}.timeline-date strong{font:22px var(--serif);display:block}.timeline-date>span{color:#ab9a8a;letter-spacing:2px;margin-top:7px;font-size:10px;display:block}.timeline-item .entry-card{grid-template-columns:235px 1fr;display:grid}.timeline-item .entry-photo{height:225px}.timeline-item .entry-card-body{padding:25px}.timeline-item .entry-card-body>p{-webkit-line-clamp:3;min-height:63px}.occasion-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.occasion-card{background:var(--paper);border:1px solid var(--line);color:#998875;border-radius:9px;padding:25px;position:relative}.occasion-card.featured{color:var(--rose);background:#efdfd9;border-color:#e2c9bf}.occasion-number{font:50px var(--serif);align-items:baseline;gap:10px;margin:15px 0;display:flex}.occasion-number small{font:11px var(--sans)}.occasion-card h3{color:var(--ink);margin-bottom:10px;font-size:20px}.occasion-card p{letter-spacing:1.2px;margin-bottom:19px;font-size:11px}.occasion-card .small-text{font-size:10px}.custom-dates{flex-wrap:wrap;gap:15px;margin-top:20px;display:flex}.custom-dates button{color:#988271;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.recap-list{grid-template-columns:1fr 1fr;gap:14px;display:grid}.recap-row{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:7px;align-items:center;gap:16px;padding:20px;display:flex}.recap-row>span:nth-child(2){flex:1}.recap-row strong{font:17px var(--serif);display:block}.recap-row small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.recap-row>svg{color:#b8a18c}.recap-icon{color:#ad8f75;background:#f3ece2;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.recap-row.saved .recap-icon{background:var(--rose-light);color:var(--rose)}.recap-row:hover{background:#f8f1e8}.recap-title{text-align:center;padding:10px 0 32px}.recap-title>svg{color:#b98579;margin:20px auto;display:block}.recap-title h2{margin:15px;font-size:30px}.recap-title p{color:var(--muted);font-size:12px}.recap-content{padding:25px 35px 35px}.recap-memory{border-top:1px solid var(--line);gap:18px;padding:28px 0;display:flex}.chapter-number{font:28px var(--serif);color:#c6a994}.recap-memory>div{flex:1;min-width:0}.recap-memory h3{margin:8px 0 16px;font-size:22px}.recap-memory img{object-fit:cover;border-radius:5px;width:100%;max-height:400px}.recap-memory p{white-space:pre-wrap;margin-top:15px;font-size:13px;line-height:2.2}.selection-list{background:#f6f0e9;border-radius:6px;margin:10px 0 25px;padding:15px}.selection-list label{align-items:center;gap:10px;margin:10px 0;font-size:12px;display:flex}.selection-list small{color:var(--muted);margin-left:auto}.selection-list input{width:auto}.letter-field{font-family:var(--serif);background:#f4ece3;border-radius:7px;padding:20px;font-size:18px!important}.letter-field textarea{font-family:var(--sans);background:#fffcf7;border-color:#e9dbcc}label{color:#6e6258;margin-bottom:19px;font-size:12px;line-height:1.7;display:block}input:not([type=checkbox]):not([type=file]),select,textarea{background:#fffdfa;border:1px solid #e1d8ce;border-radius:5px;width:100%;margin-top:7px;padding:12px 13px;font-size:13px;line-height:1.5;display:block}input::placeholder,textarea::placeholder{color:#bbb0a4;font-size:12px}textarea{resize:vertical;min-height:100px}input[type=checkbox]{accent-color:var(--rose);flex-shrink:0;width:16px;height:16px}label small{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.8;display:block}select{cursor:pointer}fieldset{border:1px solid var(--line);border-radius:6px;padding:15px}legend{color:var(--muted);font-size:11px}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:14px;margin-top:24px;padding-top:21px;display:flex}.form-actions>.danger{margin-right:auto}.form-error{color:#9b4c41;background:#f8e9e6;border:1px solid #efd3cc;border-radius:5px;margin-top:14px;padding:12px 15px;font-size:12px;line-height:1.9}.status-message{color:#6b7b59;background:#ecf0e5;border-radius:5px;margin-top:15px;padding:12px 15px;font-size:12px;line-height:1.9}.modal{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;width:min(500px,100% - 28px);max-height:calc(100dvh - 50px);padding:0;overflow:auto;box-shadow:0 24px 100px #372b2730}.modal.wide{width:min(740px,100% - 28px)}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2f29256e}.modal-head{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;background:#faf8f4f5;justify-content:space-between;align-items:center;padding:19px 25px;display:flex;position:sticky;top:0}.modal-head h2{font-size:19px}.entry-form{padding:25px 30px 30px}.form-intro{color:var(--muted);margin-bottom:25px;font-size:12px}.upload-zone{color:#a48b73;cursor:pointer;background:#f4eee5;border:1px dashed #cdb5a4;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:23px;display:flex;position:relative}.upload-zone strong{font-size:12px;font-weight:500}.upload-zone span{color:#a79a88;font-size:9px}.upload-zone input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.upload-zone:focus-within{outline:2px solid var(--rose)}.file-list{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.file-list>span{overflow-wrap:anywhere;background:#eee7dc;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;display:flex}.file-list button{place-items:center;padding:2px;display:grid}.check-row{color:#986d61;background:#f0e7e0;border-radius:5px;align-items:center;gap:10px;padding:12px;display:flex}.check-row small{margin-top:1px}.anniversary-links label{align-items:center;gap:7px;margin:7px 0;display:flex}.entry-detail{padding:27px 35px 30px}.detail-meta{letter-spacing:1px;color:#a58b75;justify-content:space-between;gap:15px;font-size:10px;display:flex}.detail-meta>span:last-child{align-items:center;gap:5px;display:flex}.entry-detail>h2{margin:14px 0 15px;font-size:30px;line-height:1.5}.detail-author{color:#9e8c7c;align-items:center;gap:8px;margin-bottom:23px;font-size:11px;display:flex}.detail-media{background:#e9e1d7;border-radius:7px;position:relative;overflow:hidden}.detail-media>button{cursor:zoom-in;width:100%;padding:0;display:block}.detail-media img{object-fit:contain;width:100%;max-height:430px}.detail-media.zoomed img{max-height:none}.detail-media.zoomed>button{cursor:zoom-out}.detail-media video{background:#292723;width:100%;max-height:430px;display:block}.media-nav{color:#fff;background:#4b40328c;border-radius:30px;justify-content:space-between;align-items:center;gap:13px;padding:3px 5px;font-size:11px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.media-nav button{color:#fff;border-radius:50%;width:33px;height:33px}.media-nav button:hover{background:#ffffff30}.detail-prose{white-space:pre-wrap;overflow-wrap:anywhere;margin:27px 0;font-size:14px;line-height:2.3}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#a18a73;background:#eee7dd;border-radius:4px;padding:5px 10px;font-size:10px}.detail-actions{border-top:1px solid var(--line);gap:22px;margin-top:25px;padding-top:15px;display:flex}.confirm-body{padding:25px}.confirm-body>p{color:#847568;font-size:13px;line-height:2}.empty{text-align:center;border:1px dashed var(--line);background:#fffcf750;border-radius:8px;padding:42px 25px}.empty-icon{color:#be9c85;background:#f1e7dd;border-radius:50%;place-items:center;width:65px;height:65px;margin-bottom:20px;display:inline-grid}.empty h3{margin-bottom:12px;font-size:21px}.empty p{color:var(--muted);max-width:400px;margin:0 auto;font-size:12px;line-height:2}.empty .button{margin-top:23px}.settings-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:24px;display:grid}.settings-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:24px;padding:27px}.settings-panel h2{margin-bottom:22px;font-size:21px}.settings-panel .section-heading h2{margin-bottom:0}.settings-panel h3{margin-bottom:12px;font-size:18px}.settings-panel>p{color:#9a8877;margin:12px 0 18px;font-size:12px;line-height:2}.settings-panel .text-button{margin-top:10px}.profile-heading{color:#a49280;align-items:center;gap:13px;margin:20px 0;font-size:11px;display:flex}.backup-panel{background:#f1eee4}.backup-panel h2{margin:20px 0 15px}.backup-panel>small{color:#a99a88;margin-top:13px;font-size:10px;line-height:1.8;display:block}.members>div{align-items:center;gap:12px;margin:17px 0;display:flex}.members>div>span:nth-child(2){flex:1;font-size:13px}.members small{color:#ac9c8c;margin-top:5px;font-size:10px;display:block}.members svg{color:#9da486}.privacy-badge{color:#829077;gap:7px;font-size:11px;display:flex}.demo-note{background:#f2ece0;border-radius:4px;padding:12px;color:#9a856f!important;font-size:10px!important}.trash-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.trash-list strong{font:16px var(--serif)}.trash-list small{color:#a79584;margin-top:8px;font-size:10px;display:block}.trash-list>div>div{gap:15px;display:flex}.trash-list button{margin-top:0!important}.toast{z-index:30;color:#fff9ee;background:#493e35;border-radius:7px;align-items:center;gap:12px;max-width:calc(100vw - 30px);padding:14px 18px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #2f231a20}.toast>span{max-width:500px}.toast button{color:inherit;place-items:center;padding:4px;display:grid}.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:30px;display:flex}.loading-page h1{font:35px var(--serif);color:var(--rose)}.loading-page>p{color:var(--muted);font-size:13px}.loading-page .form-error{max-width:600px}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-story{color:#fff4e5;background:#b7a08a;min-height:100dvh;position:relative}.auth-story>img{object-fit:cover;object-position:52% 50%;filter:saturate(.72);width:100%;height:100%;position:absolute;inset:0}.auth-overlay{background:linear-gradient(#0000 20%,#352b27be),#45392a22;position:absolute;inset:0}.auth-brand{color:#fff5e8;font-size:30px;position:absolute;top:50px;left:50px}.auth-story-copy{position:absolute;bottom:115px;left:50px;right:35px}.auth-story-copy .eyebrow{color:#e4cabb;font-size:10px}.auth-story-copy h1{letter-spacing:3px;margin:22px 0;font-size:37px;line-height:1.8}.auth-story-copy p{color:#e3d7c9;letter-spacing:.7px;font-size:12px;line-height:2.5}.auth-line{letter-spacing:2px;color:#d7c5b6;margin-top:40px;font-size:8px;display:block}.photo-credit{color:#e8dbca9c;font-size:9px;position:absolute;bottom:20px;left:50px}.auth-form-side{justify-content:center;align-items:center;min-height:100dvh;padding:50px 40px 90px;display:flex;position:relative}.auth-form-box{width:100%;max-width:355px}.auth-form-box>.round-icon{margin-bottom:23px}.auth-form-box>.eyebrow{font-size:9px}.auth-form-box h2{margin:13px 0;font-size:28px}.auth-form-box>p{color:var(--muted);margin-bottom:30px;font-size:11px;line-height:2.1}.auth-form-box form label{font-size:11px}.auth-form-box .button{min-height:47px}.password-field{display:block;position:relative}.password-field input{padding-right:45px!important}.password-field button{color:#a49182;padding:7px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.forgot{margin:8px 0 15px auto;font-size:11px;display:block}.auth-private{text-align:center;justify-content:center;align-items:center;gap:6px;display:flex;color:#aa9c8c!important;font-size:10px!important}.auth-demo{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}.auth-demo strong{font:17px var(--serif)}.auth-demo p{color:#a3917f;margin:10px 0 15px;font-size:10px;line-height:2}.auth-demo>.text-button{justify-content:center;margin-top:4px;font-size:10px;display:flex}.auth-footer{text-align:center;color:#b4a38e;letter-spacing:1px;font-size:10px;position:absolute;bottom:30px}.mobile-auth-brand{display:none}.reset-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:100%;max-width:410px;padding:35px}.reset-card>svg{color:var(--rose);margin-bottom:20px}.reset-card h1{font-size:25px}.reset-card>p{color:var(--muted);margin:15px 0 25px;font-size:12px;line-height:2}.reset-card>a{margin-top:16px}.setup-page{max-width:760px;margin:0 auto;padding:45px 30px 70px}.setup-page>.text-button{margin-bottom:35px;display:flex}.setup-page>.round-icon{margin-bottom:24px}.setup-page h1{margin:15px 0;font-size:34px;line-height:1.6}.setup-lead{color:#98836f;font-size:14px;line-height:2.1}.setup-steps{margin:40px 0;padding:0;list-style:none}.setup-steps li{border-bottom:1px solid var(--line);gap:23px;padding:25px 0;display:flex}.setup-steps li>span{font:25px var(--serif);color:#bf9b7c}.setup-steps h2{margin-bottom:12px;font-size:21px}.setup-steps p{color:#968371;font-size:12px;line-height:2.1}.setup-callout{color:#9b846c;background:#eee8da;border-radius:7px;align-items:center;gap:17px;margin:30px 0;padding:20px;display:flex}.setup-callout svg{flex-shrink:0}.setup-callout p{font-size:12px;line-height:2}@media (min-width:1500px){.main-content,.header-inner{max-width:1320px}.demo-banner,.site-footer{max-width:1240px}.hero{height:455px}.hero-content{top:108px}.hero-image{object-position:center 55%}.entry-photo{height:235px}}@media (max-width:1100px){.site-header nav{gap:18px}.site-header nav button{font-size:11px}.header-inner,.main-content{padding-left:28px;padding-right:28px}.demo-banner,.site-footer{margin-left:28px;margin-right:28px}.hero{height:390px}.hero-content{top:86px;left:38px}.day-count{font-size:90px}.overview{grid-template-columns:1.25fr 1fr;gap:15px}.stats>div{gap:8px;padding:10px}.stat-icon{display:none}.card-grid{gap:18px}.entry-photo{height:190px}.entry-card-body{padding:17px}.entry-card-body h3{font-size:17px}.upcoming{padding:17px}.upcoming-copy strong{font-size:14px}.timeline-item .entry-card{grid-template-columns:200px 1fr}.auth-story-copy h1{font-size:29px}.auth-brand,.auth-story-copy,.photo-credit{left:35px}.settings-grid{gap:18px}.settings-panel{padding:23px}}@media (max-width:760px){.site-header{height:70px}.header-inner{gap:12px;padding:0 20px}.brand{font-size:24px}.brand-mark{width:32px;height:36px}.brand-mark svg{width:22px}.brand small{letter-spacing:3px;margin-top:6px;font-size:8px}.site-header nav{display:none}.profile-button{padding:8px 0 8px 8px}.avatar.small{width:31px;height:31px}.desktop-only{display:none!important}.demo-banner{margin:0 20px;padding-top:9px;font-size:9px}.demo-banner button{min-height:28px;font-size:9px}.main-content{padding:25px 20px 0}.page-intro{align-items:flex-end;gap:12px;margin-bottom:23px}.page-intro h1{letter-spacing:0;font-size:24px}.page-intro h1 span{display:block}.page-intro .eyebrow{letter-spacing:1.8px;margin-bottom:6px;font-size:8px}.page-intro p{margin-top:7px;font-size:10px;line-height:1.9}.page-intro>.button{gap:6px;min-height:39px;margin-bottom:3px;padding:10px 13px;font-size:11px}.page-intro>.button svg{width:14px}.hero{border-radius:8px;height:365px}.hero-image{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#332f2869,#4131220a),linear-gradient(#0000 50%,#27252275)}.hero-top{top:18px;left:20px;right:18px}.hero-top>span{letter-spacing:1.2px;gap:6px;font-size:7px}.hero-top>span svg{width:11px}.hero-top button{padding:6px 8px;font-size:9px}.hero-content{top:86px;left:26px}.hero-avatars{margin-bottom:21px}.hero-avatars>span:last-child{margin-left:8px;font-size:10px}.hero-label{letter-spacing:2px;font-size:11px}.day-count{gap:10px;font-size:77px}.day-count span{font-size:13px}.day-count>svg{width:22px;margin-left:5px}.hero-caption{letter-spacing:1.2px;margin-top:13px;font-size:13px}.hero-bottom{letter-spacing:1px;font-size:8px;bottom:19px;left:20px;right:20px}.hero-bottom>span:last-child{font-size:8px}.line-heart{margin-left:3px;font-size:16px}.hero-setup{gap:8px;padding:18px 0;font-size:21px}.overview{grid-template-columns:1fr;gap:12px;margin:14px 0 35px}.stats{min-height:81px}.stats>div{padding:15px 6px}.stat-icon{display:none}.stats strong{font-size:27px}.stats strong+span,.stats strong small{font-size:9px}.upcoming{gap:15px;padding:17px 20px}.upcoming-copy{gap:7px}.upcoming-copy strong{font-size:15px}.upcoming-copy small{font-size:9px}.countdown{font-size:30px}.section-heading{gap:10px;margin-bottom:19px}.section-heading h2{font-size:21px}.section-heading .eyebrow{letter-spacing:1.8px;font-size:8px}.section-heading .text-button{gap:5px;font-size:10px}.card-grid{grid-template-columns:1fr;gap:19px}.entry-photo{height:220px}.entry-card-body{padding:20px 22px 15px}.entry-card-body h3{margin:9px 0;font-size:21px}.entry-card-body>p{min-height:0;font-size:12px}.card-meta{margin-top:15px;padding-top:11px;font-size:10px}.on-this-day{flex-wrap:wrap;gap:13px;margin-top:24px;padding:20px}.on-this-day .round-icon{width:43px;height:43px}.on-this-day>div{min-width:170px}.on-this-day h3{font-size:17px;line-height:1.5}.on-this-day .button{min-height:36px;margin-left:56px;padding:8px 13px;font-size:10px}.recap-teaser{padding:23px 22px}.recap-teaser h3{font-size:20px}.recap-teaser p{font-size:10px}.recap-teaser .eyebrow{font-size:8px}.round-arrow{width:36px;height:36px}.round-arrow svg{width:20px}.page-quote{letter-spacing:1px;padding:34px 0 20px;font-size:12px}.page-quote span{letter-spacing:2px;margin-top:12px;font-size:7px}.site-footer{flex-wrap:wrap;gap:13px;margin:24px 20px 82px;padding:20px 0;font-size:9px}.site-footer>span:nth-child(2){text-align:center;flex-basis:100%;order:3;font-size:9px}.footer-brand{font-size:16px}.mobile-nav{height:calc(66px + env(safe-area-inset-bottom));padding:8px 10px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:10;background:#fffdfaee;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav>button{color:#ac9a8b;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:48px;height:48px;font-size:9px;display:flex}.mobile-nav>button.active{color:var(--rose)}.mobile-nav>button.mobile-add{background:var(--rose);color:#fff;border-radius:50%;width:45px;height:45px;margin-top:-15px;box-shadow:0 4px 14px #93535325}.filter-bar{flex-wrap:wrap;gap:10px;margin:20px 0 18px}.search-box{flex-basis:100%}.filter-bar>select{flex:1;min-width:0;margin-top:0;padding:10px;font-size:11px}.tag-filters{gap:7px;margin-bottom:25px}.tag-filters button{padding:6px 12px;font-size:10px}.tag-filters>span{font-size:10px}.timeline-item{grid-template-columns:1fr;gap:10px;padding:0 0 28px 15px}.timeline-item:before{left:0}.timeline-date{align-items:center;gap:9px;min-height:10px;padding:0 0 0 3px;display:flex}.timeline-date strong{font-size:19px}.timeline-date>span{letter-spacing:1px;margin-top:0;font-size:10px}.timeline-date:after{top:8px;left:-19px;right:auto}.timeline-item .entry-card{display:block}.timeline-item .entry-photo{height:180px}.timeline-item .entry-card-body{padding:18px}.timeline-item .entry-card-body>p{-webkit-line-clamp:2;min-height:0}.timeline-item .entry-card-body h3{font-size:20px}.occasion-grid{grid-template-columns:1fr 1fr;gap:12px}.occasion-card{padding:18px}.occasion-card.featured{grid-column:span 2}.occasion-card.featured .occasion-number{font-size:60px}.occasion-card h3{font-size:17px;line-height:1.5}.occasion-number{margin:10px 0;font-size:36px}.occasion-card p{margin-bottom:10px;font-size:10px}.occasion-card .small-text{font-size:9px;line-height:1.7}.occasion-card>svg{width:21px}.recap-list{grid-template-columns:1fr}.recap-row{gap:13px;padding:18px}.recap-row strong{font-size:17px}.custom-dates{gap:6px}.custom-dates button{font-size:11px}.spaced{margin-top:35px}.settings-grid{grid-template-columns:1fr;gap:0}.settings-panel{margin-bottom:18px;padding:22px}.settings-panel h2{font-size:20px}.privacy-badge{white-space:nowrap;margin-bottom:7px;font-size:9px}.privacy-badge svg{width:13px}.trash-list>div{flex-wrap:wrap;gap:8px}.trash-list>div>span{flex-basis:100%}.toast{width:max-content;max-width:calc(100vw - 30px);padding:12px 14px;font-size:11px;bottom:88px}.modal{border-radius:10px;width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.modal.wide{width:calc(100% - 20px)}.modal-head{padding:13px 18px}.modal-head h2{font-size:17px}.entry-form{padding:20px}.form-row{gap:12px}.form-intro{font-size:11px}.upload-zone{padding:22px 12px}.upload-zone span{font-size:8px}.form-actions .button{padding:11px 16px;font-size:12px}.entry-detail{padding:22px}.entry-detail>h2{font-size:25px}.detail-meta{font-size:9px}.detail-prose{font-size:13px}.detail-media img{max-height:350px}.recap-content{padding:22px}.recap-title h2{margin:15px 0;font-size:25px}.recap-memory{gap:12px}.chapter-number{font-size:23px}.recap-memory h3{font-size:20px}.recap-memory p{font-size:12px}.selection-list label{font-size:11px}.selection-list small{font-size:9px}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-form-side{padding:105px 28px 85px}.mobile-auth-brand{font-size:25px;display:flex;position:absolute;top:30px;left:28px}.auth-form-box{max-width:380px}.auth-form-box h2{font-size:27px}.auth-form-box>.round-icon{width:50px;height:50px;margin-bottom:25px}.auth-footer{bottom:25px}.reset-card{padding:27px}.setup-page{padding:30px 24px 50px}.setup-page h1{font-size:28px}.setup-lead{font-size:12px}.setup-steps li{gap:17px}.setup-steps h2{font-size:19px}.setup-steps p{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body:has(dialog[open]){overflow:hidden}input[type=range]{accent-color:var(--rose);background:0 0!important;border:0!important;padding:8px 0!important}.home-intro-actions{align-items:center;gap:10px;display:flex}.main-content:focus{outline:none}.journal-arrival{animation:.45s both journal-arrive}@keyframes journal-arrive{0%{opacity:0}to{opacity:1}}.opening-preference-panel>p{margin-top:10px}.opening-preference-panel .opening-preference{cursor:pointer;align-items:flex-start;gap:10px;margin:22px 0 12px;display:flex}.opening-preference input{width:16px;height:16px;accent-color:var(--rose);margin:2px 0 0;padding:0}.opening-preference small{color:var(--muted);margin-top:7px;font-size:11px;display:block}@media (max-width:700px){.page-intro:has(.home-intro-actions){flex-wrap:wrap;gap:20px}.home-intro-actions{width:100%}.home-intro-actions .button{flex:1;padding:11px 12px;font-size:12px}}
