/* Shared journal: consistent surfaces, clearer chapters, comfortable controls. */
:root{--paper:#faf7f0;--ink:#344b40;--green:#476553;--line:#e5e1d5}
body{background-image:radial-gradient(ellipse at 90% 4%,#e5eadb80,transparent 38%),radial-gradient(#a79b7e15 .7px,transparent .7px);background-size:100% 1100px,7px 7px}
header{max-width:1160px;height:92px}main{max-width:1080px}header .button{background:#fffdf7}.hero{min-height:460px;gap:48px}.hero h1{font-size:46px}.hero .eyebrow{letter-spacing:2.2px}.hero p{color:#667366}.hero-actions .tiny{font-size:12px}.postcard{box-shadow:0 20px 45px #49533c19,0 2px 4px #49533c0c}
.button{border-radius:12px;font-weight:500}.button.primary{background:var(--green);border-color:var(--green);box-shadow:0 4px 10px #385c4215}.button:disabled{cursor:default;transform:none;box-shadow:none}.button:disabled:hover{transform:none}
.days{border-radius:22px;background:linear-gradient(110deg,#e5ebda,#f0f2e7);padding-top:32px;padding-bottom:32px;box-shadow:0 8px 28px #59634908}.days-label{font-size:22px}.count strong{color:#47644c}.anniversary-card{border-radius:18px;background:#f6eee5;border-color:#eadfce;margin-top:12px}.anniversary-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff9f2;font-size:27px;flex-shrink:0}
.feature-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 0}.feature-shortcuts a{display:flex;align-items:center;gap:14px;border:1px solid #e2e3d6;border-radius:18px;padding:20px;background:#fffdf7;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}.feature-shortcuts a:hover{transform:translateY(-3px);background:#fffefb;box-shadow:0 8px 22px #5963490c}.shortcut-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:14px;background:#f4e7db;color:#946e51;font:25px Georgia}.feature-shortcuts a:nth-child(2) .shortcut-icon{background:#e8eddf;color:#61774c}.feature-shortcuts a:nth-child(3) .shortcut-icon{background:#f2e9df;color:#8e745f}.feature-shortcuts strong{display:block;font-size:14px;font-weight:500;color:#415a47}.feature-shortcuts small{display:block;margin-top:6px;color:#777c6d;font-size:11px;line-height:1.6}.shortcut-arrow{margin-left:auto;color:#89977b}
.sharing-bar{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin-top:12px;padding:16px 4px;gap:12px;flex-wrap:wrap}.sharing-bar .hint{color:#767d6d}.sharing-actions{flex-wrap:wrap}.sharing-actions .button{font-size:11px;min-height:36px;padding:8px 12px;background:#fffdf6}
.section{margin-top:64px}.chapter{display:flex;align-items:center;gap:12px;font-size:10px;color:#7b886b;letter-spacing:2px}.chapter:before{content:'';width:20px;height:1px;background:#a3af93}.section h2{font-size:26px;line-height:1.5;letter-spacing:.5px}.section-head{margin-bottom:20px}.section-head .text-button{border-bottom:1px solid #bac3ab}.section>.hint{line-height:1.9;margin:12px 0}.memories{gap:25px}.memory{border-radius:5px;padding:13px 13px 22px;box-shadow:0 6px 20px #5b62430a}.scene{height:210px;border-radius:3px}.memory h3{line-height:1.8}.photo-zoom{backdrop-filter:blur(8px)}
.mood-section,.date-lab,.capsule-section{padding:32px;border-radius:24px;border:1px solid #e4e1d5;box-shadow:0 7px 28px #59634905}.mood-section{background:#fffdf8}.mood-today{gap:16px;margin:24px 0 18px}.mood-card{padding:25px;border-radius:18px;background:linear-gradient(130deg,#f9eee4,#faf5ed);border-color:#eee0d1;position:relative}.mood-card:nth-child(2){background:linear-gradient(130deg,#edf2e6,#f4f6ed);border-color:#dfe6d5}.mood-card h3{font-size:21px;padding-bottom:13px;border-bottom:1px solid #d7c9b94d}.mood-card .hint{color:#747a67}.mood-emotion{font-size:26px}.mood-history{border-radius:13px;background:#faf8f1;border-color:#eae5da;padding:14px 18px}.mood-history summary{color:#69775d;min-height:28px;line-height:28px}
.date-lab{background:#edf1e5;border-color:#dfe6d3}.idea-filters{gap:18px;margin:26px 0}.idea-filters select{border-radius:12px;padding:13px;background:#fffef8;border-color:#dce2d0}.idea-result{padding:28px;border-radius:18px;background:#fffdf7;border-color:#e3e2d5;box-shadow:0 6px 16px #4f614008}.idea-kicker{font-size:11px;color:#7e765b}.idea-result ol{border-top:1px solid #e9e7da;padding-top:16px}.idea-result li::marker{color:#8b9a77;font-weight:600}
.capsule-section{background:#f5ede4;border-color:#e9ddce}.capsule-card{border-radius:16px;background:#fffbf4}.capsule-empty{border:1px dashed #d9c7b0;border-radius:16px;padding:32px 20px;background:#fffbf480}.capsule-empty:before{content:'♡';display:block;color:#b4957a;font:32px/1.4 Georgia;margin-bottom:10px}.lower{gap:28px}.panel{border-radius:20px;padding:28px;background:#fffdf8;border-color:#e3e3d6}.letter{background:#f6eadf;border-color:#eadccb}.lower .section h2{font-size:23px}.wish{padding:17px 0}.letter textarea{border-radius:12px;line-height:1.9}.author-label select{border-radius:9px}.closing{margin-top:72px}.closing p{font-size:19px}footer{font-size:11px}
dialog{border-radius:24px;background:#fcf9f2;padding:32px;box-shadow:0 28px 100px #253c3338}dialog h2{line-height:1.6;margin-bottom:22px}input,textarea,select{border-radius:10px}select:focus-visible{outline:3px solid #8a9c7140;outline-offset:2px}.mood-options span{border-radius:12px;padding:14px 8px}.dialog-actions{margin-top:22px}.dialog-actions .button{min-height:46px}.hint{color:#6e7764}
@media(min-width:801px) and (max-width:1100px){header nav{gap:16px}.hero h1{font-size:37px}.hero{gap:24px}.feature-shortcuts a{padding:16px;gap:10px}.shortcut-arrow{display:none}.lower .section h2{font-size:21px}}
@media(max-width:800px){header{height:76px}.hero{padding-top:36px;gap:4px;min-height:0}.hero h1{font-size:clamp(29px,8vw,39px)}.illustration{height:335px;margin-bottom:14px}.days{padding:25px;border-radius:20px}.days-label{font-size:20px}.count strong{font-size:52px}.anniversary-card{padding:18px;gap:12px}.feature-shortcuts{gap:8px;margin-top:20px}.feature-shortcuts a{padding:16px 5px;flex-direction:column;gap:10px;text-align:center;border-radius:16px}.feature-shortcuts strong{font-size:12px}.feature-shortcuts small{font-size:10px;margin-top:4px}.shortcut-icon{width:38px;height:38px;border-radius:12px;font-size:23px}.shortcut-arrow{display:none}.sharing-bar{padding:16px 0;gap:10px}.sharing-actions{gap:8px}.section{margin-top:42px}.section h2,.lower .section h2{font-size:22px;letter-spacing:0}.chapter{font-size:9px;letter-spacing:1.5px;gap:9px}.mood-section,.date-lab,.capsule-section{padding:22px 18px;border-radius:20px}.mood-card{padding:20px}.mood-card h3{font-size:20px}.idea-result{padding:20px 17px}.idea-result h3{font-size:22px}.idea-filters{gap:14px}.idea-filters label{grid-template-columns:76px 1fr}.idea-filters select{padding:12px 8px;font-size:16px}.panel{padding:22px 18px;border-radius:18px}.lower{gap:0}.memories{padding:3px 3px 7px}.scene{height:220px}.closing{margin:48px 12px 32px}.closing p{font-size:16px}.mobile-nav{left:10px;right:10px;bottom:8px;border:1px solid #dfe3d4;border-radius:20px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));box-shadow:0 4px 25px #354b4015}.mobile-nav a.active{border-radius:13px}.mobile-nav a{font-size:11px}dialog{padding:24px 20px;border-radius:22px}dialog h2{font-size:21px}.dialog-actions{gap:8px}.dialog-actions .button{padding:11px 15px}.anniversary-card h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.feature-shortcuts a{transition:none}}
/* A concise home, with a dedicated space for each collection. */
[hidden]{display:none!important}.home-overview{margin-top:34px}.home-overview h2{font:24px/1.5 'Songti SC',serif;margin:0}.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.overview-card{display:flex;flex-direction:column;padding:23px;background:#fffdf7;border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--ink);min-width:0;transition:transform .2s,box-shadow .2s}.overview-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #354b400b}.overview-label{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:#768069}.overview-card h3{font:19px/1.8 'Songti SC',serif;margin:20px 0 10px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.overview-card p{font-size:12px;color:#7d8371;line-height:1.8;margin:0 0 18px}.overview-open{font-size:12px;color:#647a59;margin-top:auto}.home-more{display:flex;justify-content:center;gap:12px;margin:16px 0 24px;flex-wrap:wrap}.home-more a{color:#66775c;text-decoration:none;padding:12px 18px;font-size:13px}.view-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 12px}.view-heading a{color:#66775c;text-decoration:none;font-size:14px}.view-heading>span{font:22px 'Songti SC',serif}body:not([data-view="home"]) .lower{display:block}body:not([data-view="home"]) .section{margin-top:32px}body:not([data-view="home"]) .hero{display:none}body:not([data-view="home"]) .closing{margin-top:44px}.activity-badge,[data-unread]:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-width:17px;padding:2px 6px;border-radius:20px;background:#a3634e;color:#fff;font:10px/1.5 -apple-system,sans-serif;letter-spacing:0;font-style:normal}.mobile-nav a{position:relative}.mobile-nav [data-unread]:not([hidden]){position:absolute;top:0;right:17%;font-size:9px;line-height:14px;padding:0 4px}.trash-item{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.trash-item>div{min-width:0;flex:1}.trash-item p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.trash-item button{flex-shrink:0}#trashDialog{width:min(620px,94vw)}#trashDialog h2{margin:0}#trashDialog .viewer-toolbar{align-items:flex-start}.home-overview>.hint{font-size:11px;margin-top:14px}.home-overview .section-head{gap:12px}.mobile-nav{z-index:20}
@media(max-width:800px){.overview-cards{grid-template-columns:1fr;gap:12px}.overview-card{padding:19px}.overview-card h3{font-size:19px;margin:12px 0 8px;-webkit-line-clamp:2}.overview-card p{margin-bottom:10px}.home-overview{margin-top:28px}.home-overview h2{font-size:22px}.home-more{gap:0;margin-bottom:10px}.home-more a{padding:12px 9px;font-size:12px}.view-heading{padding-top:24px}.view-heading>span{font-size:20px}body:not([data-view="home"]) .section{margin-top:24px}.trash-item{gap:10px}#trashDialog h2{font-size:20px}}
.delete-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:#f1eee3;border-radius:14px;font:16px/1.9 'Songti SC',serif;max-height:180px;overflow:auto}
@media(max-width:800px){body[data-view="home"] .illustration{height:225px;margin-bottom:12px}body[data-view="home"] .postcard{width:190px;padding:10px 10px 12px}body[data-view="home"] .caption{font-size:14px;margin-top:10px}body[data-view="home"] .oval{width:220px;height:190px}body[data-view="home"] .scribble{font-size:15px;bottom:0}body[data-view="home"] .hero h1{margin:14px 0 12px}body[data-view="home"] .hero{padding-top:24px}}
@media(max-width:600px){.anniversary-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px 12px}.anniversary-icon{width:38px;height:38px}.anniversary-card>div{min-width:0}.anniversary-card button{grid-column:2;justify-self:start;margin:0;min-height:36px;padding:0}.anniversary-card h2{line-height:1.7}.anniversary-card p{line-height:1.8}}
.album-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fffdf7;margin:24px 0 4px}.album-tools label{font-size:12px;color:#68775e;line-height:1.8;min-width:0}.album-tools input,.album-tools select{display:block;width:100%;margin-top:8px;padding:12px;background:#faf9f1;border:1px solid #dce1d1;color:var(--ink);font:14px -apple-system,sans-serif;min-height:46px}.album-status{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;margin-bottom:12px}.album-status p{margin:0}.album-month{margin-bottom:38px}.month-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:22px;gap:12px}.month-heading h3{font:28px Georgia,serif;margin:0;color:#526b4d}.month-heading h3 span{font:17px 'Songti SC',serif;color:#849075}.month-heading>span{font-size:11px;color:#7d8872}.album-empty{text-align:center;padding:48px 24px;border:1px dashed #d8dfce;border-radius:22px;background:#fffdf7}.album-empty>span{font:42px Georgia;color:#889779}.album-empty h3{font:22px 'Songti SC',serif}.album-empty p{font-size:13px;line-height:1.9;color:#78846b}.album-empty button{margin-top:14px}
@media(max-width:800px){.album-tools{grid-template-columns:1fr 1fr;padding:18px;gap:14px}.album-search{grid-column:1/-1}.album-tools input,.album-tools select{font-size:16px;padding:11px 8px}.month-heading h3{font-size:25px}.month-heading h3 span{font-size:16px}.album-month{margin-bottom:32px}.album-status{gap:8px}.album-status p{font-size:12px}.album-status button{white-space:nowrap}.album-empty{padding:32px 18px}}
.wish-overview{padding:24px 28px;background:linear-gradient(120deg,#eaf0e0,#f3f4e9);border:1px solid #dfe5d3;border-radius:20px;margin-bottom:20px}.wish-overview>p:first-child{font:20px/1.8 'Songti SC',serif;margin:0 0 16px}.wish-overview progress{display:block;width:100%;height:9px;appearance:none;border:none;border-radius:20px;overflow:hidden;background:#dce4d3;color:#708965}.wish-overview progress::-webkit-progress-bar{background:#dce4d3;border-radius:20px}.wish-overview progress::-webkit-progress-value{background:#708965;border-radius:20px}.wish-overview progress::-moz-progress-bar{background:#708965;border-radius:20px}.wish-overview .hint{margin:14px 0 0;font-size:12px}.wish-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.wish-filters button{border:1px solid #dce3d2;border-radius:24px;padding:11px 18px;min-height:44px;background:#fafbf5;color:#607353}.wish-filters button[aria-pressed="true"]{background:#476553;border-color:#476553;color:white}.wish-filters button span{font-size:11px;margin-left:5px;opacity:.8}.wish-search{display:block;font-size:12px;color:#68775e}.wish-search input{display:block;width:100%;margin-top:8px;padding:12px;font-size:15px}.wish-results{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px}.wish-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;cursor:pointer}.wish-main input{width:21px;height:21px;flex-shrink:0}.wish-main span{line-height:1.9}.wish-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.wish-empty{text-align:center;padding:30px 16px;color:#758568;line-height:1.9}.wish-empty>span{font:32px Georgia;color:#9ba88a}.wish-empty p{font-size:14px}.wish.done{background:#f2f5ec;border-radius:12px;padding-left:12px;padding-right:8px;margin-top:8px;border-bottom:0}.wish.done .wish-main span{text-decoration:line-through;color:#75836b}
@media(max-width:600px){.wish-overview{padding:22px 18px}.wish-overview>p:first-child{font-size:18px}.wish-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wish-filters button{font-size:12px;padding:11px 4px}.wish-filters button span{margin-left:2px}.wish-search input{font-size:16px}.wish{flex-wrap:wrap;gap:8px}.wish-main{flex-basis:100%;padding:4px 0}.wish-tools{margin-left:auto}.wish .delete{min-height:40px;min-width:40px}.wish-plan{min-height:40px}.wish-empty{padding:24px 8px}}
.identity-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.identity-choice{display:flex;align-items:center;flex-direction:column;gap:12px;min-width:0;border:1px solid #dfe3d3;border-radius:18px;background:#fffdf7;padding:22px 12px;color:var(--ink);font:inherit;cursor:pointer}.identity-choice[aria-pressed="true"]{border:2px solid #73886a;background:#eef3e6;padding:21px 11px}.identity-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f3e6d8;color:#9b7959;font:27px Georgia}.identity-choice:nth-child(2) .identity-avatar{background:#e6ecdc;color:#69805b}.identity-choice strong{font:19px/1.6 'Songti SC',serif;overflow-wrap:anywhere}.identity-choice small{font-size:11px;color:#758368;line-height:1.8}.sharing-actions .identity-trigger{border-color:#acbba0;background:#edf2e5;color:#46613d;max-width:100%;overflow-wrap:anywhere;white-space:normal}.identity-choice:focus-visible{outline:3px solid #bc8d65;outline-offset:3px}@media(max-width:400px){.identity-choices{gap:9px}.identity-choice{padding:18px 9px}.identity-choice[aria-pressed="true"]{padding:17px 8px}.identity-choice strong{font-size:17px}}
@media(max-width:800px){.sharing-actions .identity-trigger{flex:1 0 100%;text-align:left;padding:12px 15px;min-height:44px}.sharing-actions .button:not(.identity-trigger){flex:1 0 auto;white-space:nowrap}}

.note-search-tools{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:16px 0}.note-search-tools label{font-size:12px;color:#786b58}.note-search-tools input,.note-search-tools select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dfd5c3;background:#fffaf2;color:var(--ink);font:inherit;border-radius:10px;min-height:44px}.note-search-status{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:12px}.note-search-status .text-button{white-space:nowrap}@media(max-width:600px){.note-search-tools{grid-template-columns:1fr}.note-search-tools input,.note-search-tools select{font-size:16px}.note-search-status{font-size:12px}}
.cinema-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin:24px 0;background:#e9ecdf;border:1px solid #d8decb;border-radius:22px}.cinema-invite h2{font:25px/1.6 'Songti SC',serif;margin:12px 0}.cinema-invite p{font-size:13px;color:#6f7c62;line-height:1.9;margin:0}.cinema-invite button{flex-shrink:0}#cinemaDialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#18251f;color:#fff;overflow:hidden}#cinemaDialog::backdrop{background:#18251f}#cinemaStage,.cinema-frame{position:absolute;inset:0}.cinema-frame{background:radial-gradient(ellipse at 25% 30%,#49614b,#17291f 75%);animation:cinema-fade .8s ease both}.cinema-image{width:100%;height:100%;object-fit:contain;animation:cinema-zoom 7s ease-out both}.cinema-shade{position:absolute;inset:0;background:linear-gradient(transparent 20%,#0b171b24 40%,#0b171bd9 100%)}.cinema-words{position:absolute;left:8%;right:8%;bottom:160px;text-shadow:0 2px 14px #0006}.cinema-words h2{font:clamp(28px,5vw,62px)/1.5 'Songti SC',serif;color:#fffdf1;margin:18px 0;overflow-wrap:anywhere}.cinema-kicker{font-size:12px;letter-spacing:3px;color:#dfdbc7}.cinema-sub{font-size:16px;line-height:1.9;color:#e1e7d7}.cinema-close{position:absolute;z-index:3;top:max(22px,env(safe-area-inset-top));right:24px;padding:12px 20px;background:#18251fa8;border:1px solid #ffffff50;border-radius:30px;color:white}.cinema-controls{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:8%;right:8%;z-index:2}.cinema-controls>div{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}.cinema-controls button{background:#ffffff13;border:1px solid #ffffff40;border-radius:30px;color:white;padding:12px 20px;min-height:44px}.cinema-controls button:disabled{opacity:.3;cursor:default}.cinema-controls span{font-size:12px;color:#e0e4d4;white-space:nowrap}.cinema-controls progress{display:block;width:100%;height:3px;appearance:none;border:0;background:#ffffff30}.cinema-controls progress::-webkit-progress-bar{background:#ffffff30}.cinema-controls progress::-webkit-progress-value{background:#d3dcb5}.cinema-paused .cinema-image{animation-play-state:paused}body:has(#cinemaDialog[open]){overflow:hidden}@keyframes cinema-fade{from{opacity:0}to{opacity:1}}@keyframes cinema-zoom{from{transform:scale(1)}to{transform:scale(1.045)}}@media(max-width:600px){.cinema-invite{flex-direction:column;align-items:stretch;padding:24px 20px}.cinema-invite h2{font-size:22px}.cinema-words{bottom:160px;left:7%;right:7%}.cinema-kicker{font-size:10px;letter-spacing:1.5px}.cinema-sub{font-size:13px}.cinema-controls{left:5%;right:5%}.cinema-controls>div{gap:8px}.cinema-controls button{font-size:12px;padding:10px 12px}}@media(prefers-reduced-motion:reduce){.cinema-frame,.cinema-image{animation:none!important}}
.challenge-invite{margin:28px 0;padding:30px;border:1px solid #d4decc;border-radius:18px;background:linear-gradient(120deg,#e5eddf,#fff8e9);display:flex;gap:24px;align-items:center;justify-content:space-between}.challenge-invite h2{font:26px/1.5 "Songti SC",serif;color:#4d6148;margin:10px 0}.challenge-invite p{font-size:13px;line-height:1.9;color:#72806a}.challenge-invite button{flex-shrink:0}#challengeDialog{width:min(620px,94vw);max-height:88dvh;overflow:auto;box-sizing:border-box}#challengeDialog h2{font-size:23px}.challenge-status{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.challenge-status span{padding:10px 14px;background:#edf1e6;border-radius:30px;font-size:12px}.challenge-question{border:0;padding:0;margin:24px 0}.challenge-question legend{font-weight:600;font-size:15px;line-height:1.8;margin-bottom:10px}.challenge-question label{display:flex;gap:10px;align-items:center;padding:12px;background:#fffdf6;border:1px solid #dedfcf;border-radius:9px;margin:8px 0;font-size:14px;cursor:pointer}.challenge-question label:has(:checked){background:#e5eddf;border-color:#879e76}.challenge-question input{width:17px;height:17px;accent-color:#617b50;flex-shrink:0}.challenge-score{font:64px Georgia;color:#657d54;margin-top:24px}.challenge-result>p{text-align:center}.challenge-score{text-align:center}.challenge-result article{padding:16px 0;border-bottom:1px solid #dedfcf}.challenge-result h3{font-size:15px}.challenge-result article p{font-size:13px;overflow-wrap:anywhere}#challengeDialog details{margin-top:22px}#challengeDialog summary{cursor:pointer;font-size:13px;padding:10px 0}@media(max-width:600px){.challenge-invite{padding:23px;flex-direction:column;align-items:stretch}.challenge-invite h2{font-size:23px}#challengeDialog{padding:22px}.challenge-status{gap:6px}.challenge-status span{padding:8px 10px}}
#challengePerson{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #d7dfcd;border-radius:10px;background:#fffdf6;color:#4d6148;font:inherit}.challenge-meter{margin:22px 0;color:#627754;font-size:13px}.challenge-meter progress{display:block;width:100%;height:7px;margin-top:10px;accent-color:#829b6c}.challenge-meter progress::-webkit-progress-bar{background:#e6eadf;border-radius:10px}.challenge-meter progress::-webkit-progress-value{background:#829b6c;border-radius:10px}#challengeContent button[type=submit]{width:100%;min-height:46px}
#installDialog{width:min(540px,94vw);max-height:85dvh;overflow:auto}#installDialog h3{font-size:15px;margin-top:24px}#installDialog p{font-size:13px;line-height:1.9}.install-icon{width:72px;height:72px;border-radius:18px;margin:8px 0}#installNow[hidden]{display:none}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-nav{padding-bottom:calc(10px + env(safe-area-inset-bottom))}footer{padding-bottom:calc(85px + env(safe-area-inset-bottom))}}

/* Milestones, Flashback, Footprints, Mood Calendar, Postcard & Backup */
.anniversary-actions{margin-left:auto;display:flex;align-items:center;gap:14px;flex-shrink:0}
.milestones-box{margin-top:16px;padding:24px 28px;border:1px solid #e4dfd1;border-radius:20px;background:#fffdf8;box-shadow:0 6px 24px #59634906}
.milestones-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.milestones-head h2{font:21px/1.5 "Songti SC",serif;margin:4px 0 0;color:var(--ink)}
.numeric-milestone-bar{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:14px;background:#f2f5eb;border:1px solid #dfe6d3}
.numeric-next{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#4a6144}
.numeric-next strong{font:600 15px "Songti SC",serif;color:#354b40}
.milestone-badges{display:flex;gap:8px;flex-wrap:wrap}
.milestone-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:20px;font-size:11px;border:1px solid #d7dfd0;background:#fffdf8;color:#738068}
.milestone-pill.reached{background:#476553;border-color:#476553;color:#fff}
.milestone-pill.upcoming{border-color:#b88c73;background:#fbf2ea;color:#8c5e47;font-weight:500}
.custom-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.milestone-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px;border-radius:14px;border:1px solid #e6dfd2;background:#faf7f0;min-width:0}
.milestone-card-main{min-width:0;flex:1}
.milestone-card h3{font:500 15px/1.5 "Songti SC",serif;margin:0 0 4px;overflow-wrap:anywhere;color:var(--ink)}
.milestone-card p{font-size:12px;color:#6e7865;margin:0;line-height:1.6}
.milestone-countdown{font:600 13px "Songti SC",serif;color:#99654c;margin-top:6px;display:block}
.milestone-card .delete{border:0;background:transparent;color:#8b7059;padding:4px 6px;font-size:14px;opacity:.7}
.milestone-card .delete:hover{opacity:1}

.flashback-box{margin-top:16px;padding:20px 24px;border-radius:18px;border:1px dashed #d6cab8;background:linear-gradient(120deg,#f8efe4,#fdfbf5);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.flashback-main{display:flex;align-items:center;gap:16px;flex:1;min-width:220px}
.flashback-thumb{width:68px;height:68px;border-radius:10px;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px #0001;flex-shrink:0;background:#e9ecdf}
.flashback-badge{display:inline-block;padding:3px 9px;border-radius:12px;background:#e9dccd;color:#7d5a44;font-size:11px;margin-bottom:6px}
.flashback-main h3{font:17px/1.6 "Songti SC",serif;margin:0 0 4px;color:#4a3f35;overflow-wrap:anywhere}
.flashback-main p{font-size:12px;color:#7c7061;margin:0}
.flashback-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.feature-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature-shortcuts a:nth-child(4) .shortcut-icon{background:#e4ece8;color:#486b5a}

.mood-calendar-box{margin:20px 0;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#faf8f1}
.mood-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.mood-calendar-head strong{font:18px "Songti SC",serif;color:var(--ink)}
.mood-weekdays,.mood-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.mood-weekdays{font-size:11px;color:#7a8470;margin:12px 0 6px}
.mood-day-cell{min-height:52px;padding:6px 4px;border-radius:10px;border:1px solid #e6e4d8;background:#fffdf8;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-size:11px;color:#6c7664;cursor:pointer;transition:border-color .15s,background .15s}
.mood-day-cell:hover,.mood-day-cell.selected{border-color:#7d9471;background:#eef3e7}
.mood-day-cell.today{border-color:#b58367;background:#fbf3eb}
.mood-day-cell.empty{border-color:transparent;background:transparent;cursor:default}
.mood-day-icons{font-size:14px;line-height:1.2;letter-spacing:1px;min-height:18px}

.footprint-section{padding:32px;border-radius:24px;border:1px solid #dce3d2;background:#f2f5eb}
.footprint-map{margin:20px 0 14px;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #23352b18}
.footprint-map-svg{display:block;width:100%;height:auto}
.fp-map-stage{position:relative;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab;overflow:hidden}
.fp-map-controls{position:absolute;top:12px;right:12px;z-index:4;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:14px;background:#15251dd9;border:1px solid #8ea89455;backdrop-filter:blur(8px);box-shadow:0 4px 14px #0004}
.fp-ctrl-btn{appearance:none;border:1px solid #7f9a8655;background:#22382dd9;color:#f3ecdc;border-radius:9px;padding:5px 10px;font:500 12px/1.2 -apple-system,sans-serif;cursor:pointer;min-height:28px;transition:background .15s,border-color .15s}
.fp-ctrl-btn:hover{background:#314f40;border-color:#b8ccb8}
.fp-ctrl-btn:active{transform:scale(.96)}
.fp-zoom-badge{font:11px/1 -apple-system,monospace;color:#cfe0d2;padding:0 4px;min-width:36px;text-align:center}
.fp-route-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#14231c;border-top:1px solid #355042;color:#dce6d5;font-size:12px}
.fp-route-kicker{color:#b8ccb4;font-size:11.5px;margin-right:2px}
.fp-route-arrow{color:#e6c47a;font:11px/1 monospace;letter-spacing:-.5px;opacity:.9}
.fp-route-chip{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid #d9b87288;background:#1f352b;color:#fffdf6;font:12.5px/1.3 -apple-system,"PingFang SC",sans-serif;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}
.fp-route-chip:hover{background:#2c4a3c;border-color:#f2d48f;transform:translateY(-1px)}
.fp-route-chip strong{color:#ffe6a8;font-weight:600}
.fp-route-num{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e5c278;color:#13261d;font:700 11px/1 -apple-system,sans-serif}
@media(max-width:600px){.fp-map-controls{top:8px;right:8px;gap:4px;padding:4px 6px}.fp-ctrl-btn{padding:4px 8px;font-size:11px;min-height:26px}.fp-route-bar{padding:10px 12px;gap:6px}.fp-route-chip{padding:5px 10px;font-size:12px}}
.footprint-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#fffdf8;border:1px solid #e1e6d8;border-radius:14px;margin-bottom:20px;font-size:13px;color:#51664c}
.footprint-tools{margin-bottom:18px}
.footprint-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.footprint-card{padding:22px;border-radius:16px;background:#fffdf8;border:1px solid #e2e5d7;display:flex;flex-direction:column;gap:10px;min-width:0}
.footprint-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.footprint-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:#e8efe1;color:#4d6649;font-size:11px}
.footprint-card h3{font:19px/1.5 "Songti SC",serif;margin:2px 0;color:var(--ink);overflow-wrap:anywhere}
.footprint-card p{font-size:13px;line-height:1.8;color:#687461;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.footprint-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.footprint-photo-thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;border:1px solid #dcded0;padding:0;background:#e9ecdf;cursor:zoom-in}
.footprint-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.footprint-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;border-top:1px dashed #e5e7dc;font-size:11px;color:#7c8674}

.viewer-toolbar-actions{display:flex;align-items:center;gap:8px}
.postcard-dialog{width:min(560px,94vw)}
.postcard-controls{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-bottom:14px}
.postcard-controls label.field{margin:0}
.postcard-controls select,.postcard-controls input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);background:#fffdf8;color:var(--ink)}
.postcard-canvas-wrap{background:#e9ecdf;padding:12px;border-radius:14px;text-align:center}
#postcardCanvas{width:100%;max-width:380px;height:auto;border-radius:8px;box-shadow:0 8px 24px #0002}

.backup-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.backup-stat{padding:14px;border-radius:12px;background:#f3f5eb;border:1px solid #dfe5d4;text-align:center}
.backup-stat strong{display:block;font:24px Georgia,serif;color:#476553}
.backup-stat span{font-size:11px;color:#6c7864}
.backup-actions{display:flex;flex-direction:column;gap:10px;margin:16px 0}
#milestoneRepeat,#milestoneCategory,#footprintTag,#footprintStatus,#photoFilter,#ticketPerson,#studyPerson{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);font:inherit}
.upload-filter-warm{filter:sepia(.18) saturate(1.12) contrast(1.03) brightness(1.02)}
.upload-filter-vintage{filter:sepia(.32) contrast(.96) brightness(1.03) saturate(.92)}
.upload-filter-forest{filter:saturate(1.14) contrast(1.04) hue-rotate(-6deg)}

/* Header Music Box */
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.music-box-wrap{display:inline-flex;align-items:center;gap:4px;background:#fffdf7;border:1px solid #d6dbca;border-radius:30px;padding:3px 10px 3px 4px}
.music-btn{border:0!important;background:transparent!important;padding:7px 11px!important;min-height:34px!important;font-size:12px!important;color:#47634e;border-radius:20px!important}
.music-btn[aria-pressed="true"]{background:#47634e!important;color:#fff!important;animation:music-pulse 2.4s infinite ease-in-out}
.music-track-select{border:0;background:transparent;color:#5a6d55;font-size:11.5px;padding:4px 2px;cursor:pointer;max-width:112px}
@keyframes music-pulse{0%,100%{box-shadow:0 0 0 0 #47634e40}50%{box-shadow:0 0 0 6px #47634e00}}

/* Next Meetup Countdown & Real-Time Poke Bar */
.meetup-poke-grid{display:grid;grid-template-columns:1.05fr 1.25fr;gap:16px;margin-top:16px}
.meetup-card,.poke-card{padding:22px 24px;border-radius:20px;border:1px solid #e3ded0;background:#fffdf8;box-shadow:0 6px 22px #59634906;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.meetup-card{background:linear-gradient(125deg,#eef3e7,#faf8f1);border-color:#d8e2ce}
.meetup-head{display:flex;align-items:flex-start;gap:14px}
.meetup-icon{width:44px;height:44px;border-radius:14px;background:#fffdf8;border:1px solid #d9e3cf;display:grid;place-items:center;font-size:22px;flex-shrink:0}
.meetup-card h2,.poke-card h2{font:600 18px/1.5 "Songti SC",serif;margin:4px 0;color:var(--ink)}
.meetup-card p{font-size:12.5px;color:#62735b;margin:0;line-height:1.7}
.meetup-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed #d7e0ce;padding-top:10px}
.poke-card{background:linear-gradient(125deg,#fbf2ea,#fffdf8);border-color:#ead9c9}
.poke-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.poke-badge{padding:4px 10px;border-radius:20px;background:#f2e2d4;color:#8c5b3f;font-size:11px;font-weight:500}
.poke-status{font-size:12.5px;color:#786150;margin:0;padding:8px 12px;border-radius:10px;background:#fffaf4;border:1px solid #efe2d4;line-height:1.6}
.poke-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.poke-btn{appearance:none;border:1px solid #e5d2c0;background:#fffdf9;color:#5e493a;border-radius:12px;padding:9px 6px;font:500 12px/1.3 -apple-system,"PingFang SC",sans-serif;cursor:pointer;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poke-btn:hover{background:#f8eadc;border-color:#cfa787;transform:translateY(-2px)}
.poke-btn:active{transform:scale(.96)}

/* Dual Study & Target City Check-in Box */
.study-box{margin-top:16px;padding:24px 28px;border:1px solid #dce3d2;border-radius:20px;background:linear-gradient(120deg,#f2f5eb,#faf9f2);box-shadow:0 6px 24px #59634906}
.study-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.study-check-btn{min-height:38px!important;padding:8px 16px!important;font-size:12.5px!important}
.study-stats-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:#fffdf8;border:1px solid #e0e6d6;font-size:12.5px;color:#4f6449;margin-bottom:14px}
.study-today-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.study-person-card{padding:16px 18px;border-radius:14px;background:#fffdf9;border:1px solid #e3e6da;display:flex;flex-direction:column;gap:6px}
.study-person-card.checked{border-color:#93ad87;background:#f5f9f1}
.study-person-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.study-person-head strong{font:600 15px "Songti SC",serif;color:var(--ink)}
.study-person-badge{font-size:11px;padding:3px 9px;border-radius:14px;background:#edf1e6;color:#627556}
.study-person-card.checked .study-person-badge{background:#476553;color:#fff}
.study-person-card p{font-size:12.5px;color:#66735f;margin:0;line-height:1.6}

/* Footprint Map Story Popover & Wishlist Styling */
.fp-route-wish{background:#2d1622!important;border-color:#e888a888!important}
.fp-route-wish strong{color:#ffc2d6!important}
.fp-wish-num{background:#f093b0!important;color:#28121d!important}
.fp-popover{margin:0 0 16px;padding:18px 20px;border-radius:16px;background:#182a21;color:#f4f7f0;border:1px solid #d9b87288;box-shadow:0 8px 24px #182a2128;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fp-popover h3{font:600 17px/1.4 "Songti SC",serif;color:#ffe6a8;margin:4px 0}
.fp-popover p{font-size:12.5px;color:#d2dfd0;margin:4px 0 0;line-height:1.6}
.fp-popover-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fp-popover-actions .button{background:#274033;border-color:#88a48e;color:#fff;font-size:12px;min-height:36px;padding:7px 14px}
.fp-popover-actions .button.primary{background:#d9a84e;border-color:#d9a84e;color:#14241c;font-weight:600}
.footprint-card.fp-wish-card{background:linear-gradient(135deg,#fff9fb,#fffdf8);border-color:#ebd0da}
.footprint-tag.wish-badge{background:#fae3ec;color:#9c4668}

/* Train & Flight Ticket Stubs Collection */
.ticket-section{margin-top:34px;padding-top:26px;border-top:1px dashed #cad4be}
.ticket-head h3{font:600 21px/1.5 "Songti SC",serif;margin:4px 0 0;color:var(--ink)}
.ticket-head h3 small{font:12px -apple-system,sans-serif;color:#738068;margin-left:10px}
.ticket-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.ticket-stub{position:relative;border-radius:16px;background:linear-gradient(135deg,#f4f8fb 0%,#fdfbf6 100%);border:1px solid #c9d8e2;box-shadow:0 6px 18px #2b45550d;padding:18px 20px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;top:54%;width:16px;height:16px;border-radius:50%;background:#f2f5eb;border:1px solid #c9d8e2}
.ticket-stub:before{left:-9px}.ticket-stub:after{right:-9px}
.ticket-stub-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#527082;border-bottom:1px dashed #cddbe4;padding-bottom:8px}
.ticket-code{font:700 12px/1 monospace;padding:3px 8px;border-radius:6px;background:#dfeaf2;color:#284b63}
.ticket-route{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}
.ticket-station{font:700 20px/1.3 "Songti SC",serif;color:#213a4a}
.ticket-arrow{flex:1;text-align:center;color:#68889c;font-size:12px;letter-spacing:1px}
.ticket-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:#5c7485}
.ticket-note{font-size:12.5px;color:#465b69;background:#ffffffb8;padding:8px 11px;border-radius:8px;border-left:3px solid #7ea38;margin:0}
.ticket-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Voice Note Recorder & Audio Bubble */
.voice-record-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:8px 0;border-radius:10px;background:#fffaf2;border:1px dashed #dccbb6}
.voice-btn{padding:7px 13px!important;min-height:36px!important;font-size:12px!important;background:#f5e8d8!important;border-color:#d8c2a8!important;color:#694e36!important}
.voice-btn.recording{background:#b84a39!important;border-color:#b84a39!important;color:#fff!important;animation:music-pulse 1.2s infinite}
#voicePreviewAudio{height:32px;max-width:210px}
.message-audio{display:block;width:100%;max-width:250px;height:36px;margin:8px 0 4px;border-radius:18px}

/* 10,000 Meals Counter & Love Coupons Pack */
.meals-coupons-grid{margin-top:16px;display:grid;grid-template-columns:1fr 1.15fr;gap:16px}
.meals-card,.coupons-card{padding:22px 24px;border:1px solid #e4dccd;border-radius:20px;background:linear-gradient(125deg,#fdf8ef,#fffdf9);box-shadow:0 6px 22px #59634908;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.coupons-card{background:linear-gradient(125deg,#f8f2f5,#fffdf9);border-color:#e6d5de}
.meals-card h2,.coupons-card h2{font:600 18px/1.5 "Songti SC",serif;margin:4px 0;color:var(--ink)}
.meals-progress{width:100%;height:10px;border-radius:99px;overflow:hidden;appearance:none;border:0;background:#ede3d2}
.meals-progress::-webkit-progress-bar{background:#ede3d2;border-radius:99px}
.meals-progress::-webkit-progress-value{background:linear-gradient(90deg,#d89b56,#c96f53);border-radius:99px}
.meals-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.meals-actions .button{flex:1;min-height:38px;font-size:12.5px;padding:8px 12px}
.coupon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.coupon-item{position:relative;padding:11px 13px;border-radius:12px;background:#fffdf9;border:1px dashed #d6bac8;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:transform .15s,border-color .15s}
.coupon-item:hover{transform:translateY(-1px);border-color:#bd8ba5}
.coupon-item.used{opacity:.62;background:#f6f3f4;border-style:solid}
.coupon-info{min-width:0;flex:1}
.coupon-info strong{display:block;font:600 13.5px/1.4 "Songti SC",serif;color:#4a3340;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coupon-info small{display:block;font-size:11px;color:#846a78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.coupon-use-btn{appearance:none;border:1px solid #cfa5b9;background:#fbf0f5;color:#7d3f5d;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0}
.coupon-use-btn:hover:not(:disabled){background:#7d3f5d;color:#fff;border-color:#7d3f5d}
.coupon-use-btn:disabled{cursor:default;background:#eee8eb;border-color:#dcd2d7;color:#8c7d84}
.coupon-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:4px}

/* Virtual Companion Pet & Daily Gentle Care (Water + Goodnight) */
.care-pet-grid{margin-top:16px;display:grid;grid-template-columns:1.05fr 1fr;gap:16px}
.pet-card,.care-card{padding:22px 24px;border:1px solid #dce3d2;border-radius:20px;background:linear-gradient(125deg,#f4f8ef,#fffdf9);box-shadow:0 6px 22px #59634908;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.care-card{background:linear-gradient(125deg,#eff5f8,#fffdf9);border-color:#d2e0e8}
.pet-card h2,.care-card h2{font:600 18px/1.5 "Songti SC",serif;margin:4px 0;color:var(--ink)}
.pet-stage{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:#fffdf9;border:1px solid #e4eadc}
.pet-avatar{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#fff4dc,#fde8d7);border:1px solid #edd5be;display:grid;place-items:center;font-size:30px;flex-shrink:0;transition:transform .25s}
.pet-avatar:hover{transform:scale(1.08) rotate(-4deg)}
.pet-bubble{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.pet-bubble p{font-size:12.5px;color:#55664f;margin:0;line-height:1.5}
.care-people-list{display:flex;flex-direction:column;gap:10px}
.care-person-row{padding:11px 14px;border-radius:12px;background:#fffdf9;border:1px solid #d9e5ec;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.care-person-info strong{font:600 14px "Songti SC",serif;color:#2c4251;display:block}
.care-person-info small{font-size:11.5px;color:#627b8a;display:block;margin-top:2px}
.care-person-actions{display:flex;align-items:center;gap:6px}
.care-btn{appearance:none;border:1px solid #bfd3df;background:#f3f9fc;color:#2f5268;border-radius:12px;padding:5px 10px;font-size:11.5px;font-weight:500;cursor:pointer;transition:transform .15s,background .15s}
.care-btn:hover:not(:disabled){background:#2f5268;color:#fff;border-color:#2f5268;transform:translateY(-1px)}
.care-btn.done{background:#3e5c4b;border-color:#3e5c4b;color:#fff}

@media(max-width:800px){
 .header-actions{gap:6px}
 .music-track-select{display:none}
 .meetup-poke-grid,.meals-coupons-grid,.care-pet-grid,.study-today-cards,.ticket-list,.ticket-form-row,.coupon-list{grid-template-columns:1fr}
 .poke-buttons,.coupon-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
 .feature-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .custom-milestones,.footprint-list{grid-template-columns:1fr}
 .milestones-box,.study-box,.footprint-section,.mood-calendar-box{padding:20px 16px}
 .mobile-nav{grid-template-columns:repeat(5,1fr)}
 .postcard-controls{grid-template-columns:1fr}
}
@media(max-width:600px){
 .anniversary-actions{grid-column:2;justify-self:start;margin:0}
 .mood-day-cell{min-height:46px;padding:4px 2px}
 .mood-day-icons{font-size:12px}
}
