.family-cover{position:relative;height:300px;border-radius:25px;overflow:hidden;background:#dce2cd;margin-bottom:25px}.family-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.cover-empty{position:absolute;right:0;top:-40px;bottom:-40px;width:55%}.cover-empty>svg{height:100%;width:100%;stroke:none}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#26332820,transparent)}.has-photo .cover-shade{background:linear-gradient(0deg,#1f2f2bba,transparent 80%)}.cover-text{position:absolute;bottom:32px;left:32px;color:#3a493a}.has-photo .cover-text{color:white}.cover-text .eyebrow{color:inherit;font-size:9px;letter-spacing:2px}.cover-text h2{font-size:45px;margin:12px 0}.cover-text p{font-size:12px;margin:0;opacity:.8}.cover-edit{position:absolute;right:18px;top:18px;border-radius:25px;padding:10px 14px;background:#fffef9e8;color:var(--ink);font-size:11px;z-index:1}.cover-edit svg{width:15px;height:15px;margin-right:5px}.family-mini{display:flex;align-items:center;gap:18px;min-height:170px;background:#ecebdf;width:100%}.family-mini>.icon{margin-left:auto}.mini-stack{width:95px;height:115px;flex-shrink:0;background:#e7ccbc;border:6px solid #fffdf5;box-shadow:0 5px 12px #46573b14;border-radius:8px;transform:rotate(-7deg);display:grid;place-items:center;position:relative}.mini-stack span{font-family:Georgia;font-size:45px;color:#a87b65}.mini-stack i{position:absolute;bottom:5px;right:6px;font-size:20px;color:#b56b5c}.mini-stack img{width:100%;height:100%;object-fit:cover;border-radius:3px}.family-mini h2{margin:8px 0;font-size:27px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-zone{border:1px dashed #b9c7aa!important;background:#eeefe5;border-radius:18px;padding:25px 18px;display:flex!important;flex-direction:column;align-items:center;gap:12px;text-align:center;cursor:pointer}.upload-zone svg{color:var(--green)}.upload-zone b{font-weight:500;font-size:14px}.upload-zone small{font-size:10px;color:var(--muted)}.upload-zone input{border:0;padding:4px;background:transparent;width:auto;max-width:100%;font-size:11px}.gallery-level{display:grid;grid-template-columns:50px 1fr 65px;gap:18px;background:#e9eddf;border-radius:23px;padding:25px;align-items:center}.level-icon{width:50px;height:50px;border-radius:17px;background:#fffefa;color:var(--coral);font-size:30px;display:grid;place-items:center}.level-count{font-family:Georgia;font-size:35px;text-align:center}.level-count small{display:block;font-family:Arial;font-size:9px;color:var(--muted);margin-top:5px}.gallery-level h2{margin:8px 0;font-size:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.gallery-photo{text-align:left;padding:0;overflow:hidden;border-radius:18px;background:#fffefa;border:1px solid var(--line)}.gallery-photo>img{width:100%;height:215px;object-fit:cover;display:block}.gallery-photo>div{padding:13px}.gallery-photo b{display:block;font-size:12px;font-weight:500}.gallery-photo small{display:block;color:var(--muted);font-size:9px;margin-top:8px}.gallery-empty,.random-empty{text-align:center;padding:55px 20px;background:#eeece3;border-radius:22px;margin:20px 0}.empty-frames{display:flex;justify-content:center;margin:0 0 35px}.empty-frames span{height:95px;width:80px;border:6px solid #fffefa;box-shadow:0 5px 12px #303d3510;display:grid;place-items:center;background:#d9dfcb;color:#7f9272;font-family:Georgia;font-size:30px;transform:rotate(-12deg)}.empty-frames span:nth-child(2){background:#eddbce;transform:rotate(8deg);color:#b0856c;z-index:1}.empty-frames span:nth-child(3){transform:rotate(17deg)}.gallery-empty .primary,.random-empty .primary{margin-top:25px}.gallery-empty h2,.random-empty h2{margin:12px 0}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.achievement{opacity:.6;padding:20px 15px}.achievement.unlocked{opacity:1;background:#edf0e6;border-color:#d1dbc4}.achievement>span{font-size:25px;color:var(--green);display:block;margin-bottom:15px}.achievement h3{font-size:12px}.photo-full{width:100%;max-height:58vh;object-fit:contain;border-radius:15px;background:#eeece4}.wish-art{overflow:hidden}.wish-art>img{width:100%;height:100%;object-fit:cover}.shop-link{display:inline-flex;text-decoration:none;color:var(--green);font-size:11px;margin-bottom:4px;padding:7px 0}.event-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.event-row:last-child{border:0}.event-row h3{margin-bottom:5px;font-size:13px}.event-row p{margin:0}.event-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e9eddf;color:var(--green);font-size:22px;flex-shrink:0}.event-symbol.heart{background:#f4e4dc;color:var(--coral)}.pin{margin-left:auto;color:#b7bdaf;font-size:16px;padding:8px}.pin.active{color:var(--coral)}.cal-day{position:relative;height:45px;display:grid;place-items:center;padding:0!important}.cal-day b{font-weight:400;font-size:12px;z-index:1}.heart-outline{position:absolute;font-size:43px;line-height:1;color:var(--coral);top:0px;left:50%;transform:translateX(-50%)}.star-mark{position:absolute;right:4px;top:1px;color:#829573;font-size:12px}.cal-day.has-heart{background:#fcf2e9}.cal-day.today.has-heart .heart-outline{color:#f5d3c4}.calendar-v2{gap:6px}.checkbox-label{display:flex!important;align-items:center;gap:10px;font-size:12px!important;padding-top:8px}.checkbox-label input{width:17px;height:17px;accent-color:var(--coral)}.history-toolbar{display:flex;justify-content:space-between;gap:20px;margin:20px 0}.history-toolbar .tabs{min-width:200px}.history-toolbar select{width:110px;background:#fffefa}.year-grid{margin:24px 0;overflow-x:auto}.month-row{display:flex;align-items:center;gap:8px;min-width:490px;margin-bottom:7px}.month-row>span{font-size:9px;color:var(--muted);width:30px;flex-shrink:0}.days-row{display:grid;grid-template-columns:repeat(31,1fr);gap:4px;flex:1}.days-row button{padding:0;border-radius:3px;aspect-ratio:1;min-height:10px}.days-row button:hover{outline:2px solid var(--green);outline-offset:1px}.mood-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:9px;line-height:1.8}.mood-legend span{display:flex;align-items:center;gap:5px}.mood-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.mood-chart{width:100%;height:auto;stroke:none;overflow:visible}.empty-state{text-align:center;padding:30px 15px}.empty-state svg{color:var(--green);margin:0 0 20px}.empty-state h2{margin-bottom:10px}.random-result{padding:0;overflow:hidden}.random-result>img{width:100%;max-height:320px;object-fit:cover;display:block}.random-copy{padding:28px}.random-copy h2{font-size:31px;margin:12px 0}.random-copy .sub{max-width:500px}.random-copy .chip-row{margin-top:25px}.random-empty>svg{width:40px;height:40px;color:var(--coral);margin-bottom:18px}button:disabled{opacity:.55;cursor:default}.mobile-logo{font-family:Georgia,serif;font-size:26px;color:var(--ink)}.mobile-logo span{color:var(--coral)}
@media(max-width:640px){.family-cover{height:270px}.cover-text{left:23px;bottom:25px}.cover-text h2{font-size:37px}.cover-text .eyebrow{font-size:8px;letter-spacing:1px}.cover-empty{width:70%;right:-65px;opacity:.65}.cover-shade{background:linear-gradient(90deg,#dce2cd99,transparent)}.cover-edit{font-size:10px;top:15px;right:15px}.gallery-level{padding:20px 17px;grid-template-columns:38px 1fr;gap:13px}.gallery-level h2{font-size:21px}.gallery-level .eyebrow{font-size:8px;letter-spacing:1px}.level-icon{width:38px;height:42px;font-size:26px}.level-count{display:none}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-photo>img{height:180px}.achievement-grid{grid-template-columns:1fr 1fr}.gallery-empty,.random-empty{padding:40px 16px}.gallery-empty h2{font-size:23px}.family-mini{gap:19px}.family-mini .eyebrow{font-size:8px;letter-spacing:1px}.mini-stack{width:85px;height:100px}.family-mini h2{font-size:24px}.family-mini>svg{display:none}.event-row{gap:9px}.event-row h3{font-size:12px}.event-symbol{height:34px;width:34px}.calendar-v2{gap:3px}.cal-day{height:40px}.heart-outline{font-size:38px}.star-mark{right:0}.history-toolbar{gap:10px}.history-toolbar .tabs{min-width:0;flex:1}.year-grid{margin-top:20px}.month-row{min-width:480px}.random-copy{padding:22px}.random-copy h2{font-size:26px}.family-mini .sub{font-size:11px}}
.daily-summary{width:100%;display:flex;align-items:center;gap:15px;background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:17px 20px;margin:-5px 0 20px;text-align:left}.daily-summary b{display:block;font-size:14px;font-weight:600}.daily-summary small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.daily-summary>svg{margin-left:auto;color:var(--green);width:17px}.daily-tag{margin-left:auto;font-size:10px;color:var(--muted)}.daily-date{width:160px;background:#fffefa;font-size:12px}.personal-task{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.personal-task:last-of-type{border:0}.personal-copy{flex:1;min-width:0}.personal-copy>b{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere;line-height:1.5}.personal-copy>p{font-size:11px;color:#7e887b;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.personal-copy>small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.personal-task.completed .personal-copy>b{text-decoration:line-through;color:var(--muted)}.share-heart{font-size:25px;color:#b5bbad;padding:0 4px;line-height:1}.share-heart.shared,.shared-badge{color:var(--coral)}.personal-task .check{margin-top:1px}.personal-task .text-link{padding-top:5px}.shared-badge{font-size:20px}@media(max-width:640px){.daily-summary{padding:15px 16px;gap:12px}.daily-tag{display:none}.daily-summary small{font-size:10px}.daily-date{width:145px}}
/* Time planning, clear calendar markers and a numbered mood grid. */
.time-field{display:flex;align-items:center;gap:10px}.time-field input{flex:1;min-width:0}.time-field button{white-space:nowrap;background:#fffefa}.task-time{display:inline-flex;align-items:center;background:#e9eddf;color:#526c4d;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:7px}.cal-day.has-star{background:#fff0b8;border-radius:10px;color:#58470c}.cal-day.has-star.today{background:#ffe58a;color:#58470c;box-shadow:inset 0 0 0 2px #c9aa43}.star-outline{position:absolute;width:43px;height:43px;top:50%;left:50%;transform:translate(-50%,-50%);fill:none;stroke:#d2991b;stroke-width:1.6;pointer-events:none}.cal-day.has-heart.has-star .star-outline{width:15px;height:15px;top:3px;left:auto;right:1px;transform:none;stroke-width:3}.days-header{margin-bottom:10px}.days-header>span{font-size:8px}.days-header .days-row>span{display:grid;place-items:center;font-size:9px;color:#757d70;font-variant-numeric:tabular-nums;aspect-ratio:1}.days-row button{min-height:13px;border-radius:3px}.mood-legend i{width:12px;height:12px}.year-grid{padding-bottom:6px}.wish-grid~.notice{margin-top:20px}@media(max-width:640px){.star-outline{width:38px;height:38px}.time-field input{width:50%}.days-header .days-row>span{font-size:8px}.days-row button{min-height:10px}.chip-row{gap:6px}.chip{font-size:10px}}
.cal-day.has-star,.cal-day.has-star.today{background:transparent;box-shadow:none}.cal-day.has-star::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:#fff0b8;border-radius:9px}.cal-day.has-star.today::before{background:#ffe58a;box-shadow:inset 0 0 0 2px #c9aa43}.cal-day.has-heart.has-star::before{background:#fff0b8}@media(max-width:640px){.cal-day.has-star::before{width:39px;height:39px}}
/* The daily dashboard and the family history now have distinct roles. */
.relationship-card{display:flex;align-items:center;gap:19px;padding:22px 25px;border-radius:21px;background:#f2e4dc;margin:-5px 0 22px}.relationship-heart{font-size:43px;color:#c97660;line-height:1}.relationship-card h2{font-size:28px;margin:8px 0}.relationship-card h2>span{font-size:19px;color:#9e9687}.relationship-card p{margin:0;font-size:11px;color:#8d8173;line-height:1.7}.relationship-card>.chip{margin-left:auto;background:#fff9f3;flex-shrink:0}.relationship-card .eyebrow{font-size:8px;letter-spacing:1.4px;color:#a1806c}.home-actions{grid-template-columns:repeat(3,1fr)}.home-today-grid{align-items:start}.home-footer{display:flex;align-items:center;justify-content:center;gap:16px;font-size:11px;color:var(--muted);padding:28px 0 5px}.good-today h2{font-size:23px;margin-top:8px}.good-today .sub{font-size:11px;margin:10px 0}.good-flower{font-size:35px;color:#cc9a68}.good-today textarea{min-height:90px;margin:10px 0 14px;font-size:12px;background:#f8f6ef}.good-today .primary{padding:10px 14px}.good-today .tiny{max-width:175px;line-height:1.6}.moment-entry{display:flex;align-items:flex-start;gap:13px;padding:20px 0;border-bottom:1px solid var(--line)}.moment-entry:last-child{border-bottom:0}.moment-entry>div{min-width:0}.moment-entry p{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.moment-mark{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border-radius:10px;background:#f4e5dd;color:var(--coral);font-size:19px}.moment-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:8px;line-height:1.5}.moment-meta>span:first-child{color:#71816a}.good-today .moment-entry{padding:0}.good-today .moment-entry p{font-size:12px}.moment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0}.moment-toolbar .tabs{margin:0;min-width:230px}.moment-month{display:flex;align-items:center;gap:10px}.moment-month input{max-width:175px;background:#fffefa;font-size:12px}.moment-month .text-link{white-space:nowrap}.together-small{display:flex;align-items:center;gap:15px;margin-top:25px;background:#eeece2}.together-small>span{font-size:28px;color:var(--coral)}.together-small .text-link{margin-left:auto;white-space:nowrap}.notification-explainer{color:var(--muted);font-size:11px;line-height:1.7;padding:8px 3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.moment-history{padding-top:6px;padding-bottom:6px}
@media(max-width:640px){.relationship-card{padding:19px 17px;gap:12px;flex-wrap:wrap}.relationship-heart{font-size:34px}.relationship-card h2{font-size:23px}.relationship-card .eyebrow{font-size:7px;letter-spacing:1px}.relationship-card p{font-size:10px}.relationship-card>.chip{margin-left:45px;font-size:10px;padding:7px 12px}.relationship-card>div{flex:1;min-width:210px}.home-actions .quick{padding:16px 8px}.home-actions .quick b{font-size:11px}.home-footer{font-size:10px;flex-wrap:wrap;gap:8px}.moment-toolbar{align-items:stretch;flex-direction:column;gap:12px}.moment-toolbar .tabs{min-width:0}.moment-month input{max-width:none;flex:1}.moment-month{justify-content:space-between}.moment-entry p{font-size:13px}.good-today h2{font-size:23px}.together-small{flex-wrap:wrap;padding:20px}.together-small .text-link{margin-left:43px}.good-today .tiny{max-width:160px}}
.care-block{background:#f8f3ec;border:1px solid #eee5d9;border-radius:16px;padding:17px;margin-top:5px}.care-block h3{font-size:12px;margin:0}.care-block>.sub{font-size:10px;margin-top:7px}.care-status-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.care-status{display:flex;align-items:center;gap:7px;border:1px solid #e6dfd3;background:#fffefa;border-radius:12px;padding:10px 11px;font-size:11px;text-align:left;line-height:1.4}.care-status>span{font-size:16px;line-height:1}.care-status.selected{background:#f5ded3;border-color:#d99278;color:#995c43;box-shadow:0 0 0 1px #d9927820}.care-selected{font-size:10px;line-height:1.6;color:#a27862;margin:13px 0 0}.care-selected b{font-weight:600}.care-block .text-link{font-size:9px;white-space:nowrap}.partner-care{display:flex;gap:11px;align-items:center;margin-top:16px;padding:13px 14px;background:#edf0e6;border-radius:13px}.partner-care>span{font-size:24px;color:#88966d}.partner-care p{margin:0}.partner-care small{display:block;font-size:9px;color:#8b957f}.partner-care b{display:block;font-size:12px;font-weight:500;margin-top:4px}.modal .care-status-grid{margin-top:20px}@media(max-width:640px){.care-status{padding:10px 11px;font-size:11px}.care-block{padding:16px 13px}.care-status-grid{gap:7px}}
