@charset "UTF-8";
@import url('/dialogs.css');
:root{--bg:#f8f7f2;--ink:#343b30;--muted:#7c8173;--line:#e5e5db;--orange:#bd7857;--serif:"Songti SC","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button,a{touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #9c744f;outline-offset:4px}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}.app-shell{max-width:1080px;padding:0 48px;margin:auto}.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:600;letter-spacing:2px}.brand-mark{font-size:46px;font-weight:400;color:#b77b59;line-height:1;transform:rotate(-12deg)}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:1.7px;color:var(--muted);margin-top:6px}.profile-open{font-size:12px;color:#6e7765;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#efefe6;border:1px solid #e3e5d8;border-radius:30px;padding:10px 16px;min-height:40px}.hello-row{position:relative;padding:43px 0 35px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--muted);margin-bottom:15px}h1{font-family:var(--serif);font-size:37px;letter-spacing:2px;line-height:1.5;font-weight:500}.orange-dot{color:#b57c57}.hello-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:11px}.hello-flower{position:absolute;right:38px;top:50px;color:#d8c594;font-size:93px;font-family:serif;transform:rotate(12deg)}.mobile-br{display:none}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:12px;color:#626c58}.section-label>span:last-child{font-size:8px;letter-spacing:1.6px;color:#909684}.daily-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.daily-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:265px;border:1px solid #dedfd225;border-radius:20px;padding:24px 27px;text-align:left;overflow:hidden;transition:transform .25s,box-shadow .25s}.daily-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #5a63400b}.card-lunch{background:#f1ebdc}.card-mood{background:#f3e8e1}.card-role{background:#e9eddf}.card-calendar{background:#edece6}.card-kicker{font-size:10px;letter-spacing:1.1px;color:#858873;position:relative;z-index:1}.card-illustration{position:absolute;right:-7px;top:20px;width:238px;height:159px;pointer-events:none}.card-illustration svg{width:100%;height:100%;stroke:none;stroke-linecap:round;stroke-linejoin:round}.card-copy{position:relative;z-index:1;margin-top:70px;display:block}.card-copy strong{display:block;font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:1.4px}.card-description{display:block;font-size:12px;color:#7e8170;margin-top:10px;line-height:1.6}.card-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:23px}.card-cta{font-size:11px;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-arrow{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #a6ab9055;font-size:18px;flex-shrink:0}.keepsake-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:70px;margin-top:23px;border-bottom:1px solid var(--line);font-size:12px;padding:0 2px}.keepsake-link>span{display:flex;align-items:center;gap:10px}.keepsake-link svg{width:18px;height:18px;color:#939a83}.keepsake-note{font-size:11px;color:#909683;margin-left:8px}.keepsake-link b{font-weight:400;color:#889078;font-size:12px;margin-right:7px}footer{padding:24px 0 30px;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#8b9280}footer button{font-size:10px;padding:0;color:#77836b}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#46543d;color:#fff;padding:14px 21px;border-radius:12px;font-size:13px;margin-top:22px;min-height:48px;transition:background .2s}.primary-btn:hover{background:#56664a}.primary-btn svg{width:20px;height:20px}.profile-edit{display:flex;justify-content:space-between;gap:12px;width:100%;padding:15px;background:#eeeee4;border-radius:12px;font-size:13px}.profile-edit span{font-size:11px;color:var(--muted)}.form-error{font-size:12px;color:#a25e2e;line-height:1.8;margin-top:14px}.meal-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.meal-filters select{font-size:12px;padding:11px}.meal-detail{font-size:12px;color:#7a816b;line-height:1.9;margin-top:12px}.receipt .mood-original{margin-bottom:18px;color:#9a8068}.mood-ai-reply{white-space:pre-line}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.role-invitation{padding:20px 25px 26px;background:#ebeedf;border-radius:18px;text-align:center;margin-top:18px}.role-invitation svg{width:220px;height:150px;stroke:none;display:block;margin:0 auto}.role-invitation h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:5px 0 12px}.role-invitation p{font-size:12px;line-height:1.9;color:#7e876f}.role-caption{margin-top:18px;font-size:13px;line-height:1.9;text-align:center;color:#6f7963}.role-caption strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;margin-bottom:7px}.form-error:empty{display:none}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes slide-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
@media(max-width:740px){.app-shell{max-width:500px;padding:0 23px}.topbar{height:87px}.brand{font-size:17px;gap:8px;letter-spacing:1px}.brand-mark{font-size:37px}.brand small{font-size:6px;letter-spacing:1.1px}.profile-open{font-size:10px;max-width:110px;padding:8px 11px;min-height:36px}.hello-row{padding:29px 0 28px}.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:13px}h1{font-size:29px;line-height:1.55;letter-spacing:1.5px}.mobile-br{display:block}.hello-note{font-size:11px;margin-top:11px}.hello-flower{font-size:66px;right:14px;top:57px}.section-label{font-size:11px;margin-bottom:13px}.section-label>span:last-child{font-size:6px;letter-spacing:.7px}.daily-grid{gap:12px}.daily-card{min-height:244px;border-radius:17px;padding:17px 16px 15px}.card-kicker{font-size:8px;letter-spacing:0}.card-illustration{width:171px;height:114px;top:30px;right:50%;transform:translateX(50%)}.card-copy{margin-top:108px}.card-copy strong{font-size:20px;letter-spacing:.5px}.card-description{font-size:10px;line-height:1.7;margin-top:8px;max-width:130px;min-height:34px}.card-bottom{margin-top:12px;gap:3px}.card-cta{font-size:10px}.card-arrow{width:23px;height:23px;font-size:15px}.keepsake-link{margin-top:14px;min-height:65px;font-size:11px}.keepsake-note{font-size:9px;margin-left:2px}.keepsake-link>span{gap:7px}footer{font-size:9px;padding:22px 0 26px;gap:8px}footer button{font-size:9px}.modal-overlay{padding:0;align-items:end}.modal{max-width:500px;max-height:92dvh;border-radius:25px 25px 0 0;padding:24px 23px max(25px,env(safe-area-inset-bottom));margin:0 auto}.modal-head{margin-bottom:17px}.modal-intro{font-size:12px}.wheel-wrap{width:min(286px,80vw);height:min(286px,80vw)}.modal .primary-btn{min-height:48px}.calendar-image{max-height:65dvh;width:100%;object-fit:contain}.collection-item img{object-fit:contain}.receipt p{font-size:14px}.help-note{font-size:11px}.role-invitation{padding:10px 18px 22px}}
@media(max-width:360px){.app-shell{padding:0 17px}.daily-card{padding:15px 12px}.card-copy strong{font-size:18px}.card-kicker{font-size:7px}.card-cta{font-size:9px}.section-label>span:last-child{display:none}.hello-flower{right:0;font-size:56px}.keepsake-note{display:none}footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
