:root{--ink:#403c39;--muted:#8b847c;--cream:#fffaf3;--line:#efe8df;--orange:#ed8b54;--pink:#e69caa;--purple:#8977a6;--green:#6d997f;--shadow:0 14px 45px #7b503a09;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #a999c2;outline-offset:4px}input:focus,textarea:focus{outline:2px solid #d9c6af;outline-offset:2px}a{color:inherit}button{color:inherit;border:0}input,textarea{width:100%;border:1px solid #e9dfd3;border-radius:14px;background:#fffefb;padding:13px 15px;color:var(--ink)}textarea{resize:vertical;min-height:80px}h1,h2,h3,p{margin:0}h1{font-size:40px;font-weight:800;letter-spacing:-1.3px;line-height:1.4}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:18px}small{font-size:12px}svg{display:block}.muted{color:var(--muted);font-size:14px;line-height:1.8}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:2.5px;color:#b88c70;margin-bottom:12px}.primary{border-radius:15px;padding:14px 20px;background:#ed955f;color:#fff;font-weight:750;box-shadow:0 6px 16px #ed955f22;transition:background .2s,transform .2s}.primary:hover{background:#e48650;transform:translateY(-1px)}.secondary{background:#f5eee5;padding:11px 16px;border-radius:12px;font-size:13px;font-weight:650}.text-button{background:transparent;color:#8c8378;font-size:13px;padding:9px 6px;border-radius:8px}.text-button:hover{background:#f4ede4}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-symbol{display:grid;place-items:center;width:42px;height:42px;background:#fce7bb;border:1px solid #f1d39f;border-radius:15px;color:#bb7835;font-size:28px}.brand strong{font-size:17px;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#b59d84;margin-top:3px}.initial{min-height:100dvh;display:grid;place-content:center;text-align:center;gap:14px;color:#9a8a78}.initial-sun{font-size:50px;color:#ecc16a;animation:breathe 2s ease-in-out infinite}.toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,18px);max-width:calc(100% - 32px);padding:14px 24px;background:#514c44;color:white;font-size:14px;border-radius:16px;box-shadow:0 8px 25px #403c3930;z-index:100;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.welcome{max-width:1152px;margin:0 auto;padding:36px 48px;min-height:100dvh;display:flex;flex-direction:column}.welcome-top{display:flex;justify-content:space-between;align-items:center}.welcome-top>span{font-size:12px;color:#a99b8a}.welcome-content{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center;flex:1;padding:50px 0}.welcome-story{position:relative}.welcome-story h1{font-size:45px;margin:8px 0 18px}.welcome-story h1 em{font-style:normal;color:#cc8959}.welcome-story .muted{font-size:15px;max-width:350px}.breakfast-art{width:360px;max-width:100%;margin:25px auto -10px;filter:drop-shadow(0 16px 18px #c5906022)}.story-tags{display:flex;justify-content:center;gap:10px;margin-top:15px}.story-tags span{border-radius:50px;padding:8px 13px;font-size:11px;border:1px solid #ecddca;background:#fffdf8;color:#ac8c69}.login-card{padding:37px 35px;border:1px solid #eee2d2;border-radius:28px;background:#fffdf9;box-shadow:var(--shadow);position:relative}.login-card:before{content:"";position:absolute;top:-11px;left:28px;right:28px;height:22px;border-radius:7px;background:repeating-linear-gradient(90deg,#efc6a6 0,#efc6a6 12px,#fff1dd 12px,#fff1dd 24px);opacity:.7}.login-card h2{margin:3px 0 8px}.login-card form{margin-top:26px}.login-card label,.password-form label{display:block;font-size:13px;font-weight:650;margin-top:19px}.login-card input,.password-form input{margin-top:8px}.password-input{position:relative}.password-input input{padding-right:61px}.password-toggle{position:absolute;right:7px;top:15px;padding:7px;font-size:11px;color:#9b8878;background:none}.login-card .primary{width:100%;margin-top:8px}.login-card .login-note{font-size:11px;text-align:center;color:#a79787;margin-top:20px}.form-error{color:#c66e60;font-size:13px;line-height:1.6;min-height:21px;margin:15px 0 8px}.welcome-footer{text-align:center;color:#b19f8a;font-size:11px;padding:22px 0}.role-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:800px;margin:auto;width:100%;padding:48px 0}.role-content>h1{text-align:center;font-size:34px;margin:6px 0 10px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;width:100%;margin-top:38px}.role-card{padding:35px 25px;text-align:left;border-radius:26px;border:1px solid #eddcc9;background:#fff6e8;transition:.2s;position:relative}.role-card.parent{background:#f0f2ea;border-color:#dce1d4}.role-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.role-avatar{font-size:50px;display:block;margin-bottom:22px}.role-card h2{margin-bottom:8px}.role-card p{font-size:13px;color:#9a8770;line-height:1.8}.role-card.parent p{color:#85907b}.role-arrow{position:absolute;right:24px;top:40px;color:#ae8b62;font-size:24px}.role-content .muted{text-align:center}.role-content>small{margin-top:23px;color:#b3a38f}
.app-header{background:#fffdf8e8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:14px 32px;gap:22px}.header-nav{display:flex;gap:8px;margin-left:30px;margin-right:auto}.nav-button{padding:11px 18px;border-radius:12px;background:none;font-size:14px;color:#9f9384}.nav-button.active{background:#f6ecd9;color:#997647;font-weight:700}.header-user{display:flex;align-items:center;gap:9px}.user-badge{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.user-dot{width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#f8e8df;font-size:16px}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none;padding:7px 10px;color:#9a8e80;border:1px solid #ede4d7;border-radius:10px;font-size:12px}.account-menu summary::-webkit-details-marker{display:none}.account-options{position:absolute;right:0;top:39px;background:#fffdf9;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:7px;min-width:140px}.account-options button{display:block;width:100%;text-align:left;padding:10px;border-radius:9px;background:none;font-size:12px}.account-options button:hover{background:#f8f0e6}.app-main{max-width:1180px;margin:auto;padding:30px 32px 100px}.hero{background:#f7eddf;border:1px solid #efe1cc;border-radius:26px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:208px;padding:32px 36px}.hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ead7b738;right:42px;top:17px}.hero-copy{z-index:1}.hero .eyebrow{color:#b88d5f}.hero h1{font-size:32px;margin-bottom:10px}.hero h1 em{font-style:normal;color:#c58a55}.hero p{font-size:13px;color:#a18b72;line-height:1.8}.hero-art{width:235px;height:155px;z-index:1;margin-right:40px;position:relative}.hero-art .breakfast-art{width:230px;margin:-45px 0 0;transform:rotate(-5deg)}.hero-sticker{position:absolute;right:-23px;top:4px;background:#fffdf8;box-shadow:0 4px 12px #ab824912;border:1px solid #eee0c8;border-radius:13px;padding:8px 12px;font-size:10px;color:#bc9b77;transform:rotate(10deg)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 18px}.section-head h2{font-size:19px;display:flex;align-items:center;gap:10px}.section-head h2>span{color:#bd9a71;font-size:20px}.section-head .sub{font-size:12px;color:#a99a88;font-weight:400}.date-line{display:flex;align-items:center;gap:13px}.date-line input{width:153px;padding:8px 10px;background:#fffdf9;font-size:12px;border-radius:10px}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.date-chip{background:#fffdf8;border:1px solid #eee5d8;border-radius:17px;padding:13px 4px 11px;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}.date-chip .weekday{font-size:11px;color:#a89986}.date-chip .day{font-size:22px;font-weight:650}.date-chip .date-meta{font-size:10px;color:#b7aa99;height:13px}.date-chip.active{background:#f6dfbd;border-color:#e7c896;box-shadow:0 4px 12px #cc9e4520}.date-chip.active .weekday,.date-chip.active .date-meta{color:#a07a45}.date-chip:hover{border-color:#ddbb8f}.selection-title{display:flex;align-items:center;justify-content:space-between;margin:27px 0 16px}.selection-title h2{font-size:20px}.selection-title small{font-weight:400;color:#a3937f;margin-left:8px}.progress-text{font-size:12px;color:#b1926a}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:24px;align-items:start}.menu-sections{display:grid;gap:16px}.menu-section{background:#fffefa;border:1px solid #eee5d9;border-radius:22px;padding:22px}.category-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}.category-emoji{width:45px;height:45px;display:grid;place-items:center;font-size:27px;border-radius:15px;background:#fbecdb}.purple .category-emoji{background:#efedf7}.green .category-emoji{background:#eaf1e5}.category-head h3{font-size:17px}.category-head h3 span{font-size:10px;color:#b9a086;letter-spacing:1px;margin-left:9px}.category-head p{font-size:11px;color:#aa9d8c;margin-top:5px}.category-count{margin-left:auto;font-size:11px;color:#ad9b82;background:#f8f2e9;padding:5px 9px;border-radius:8px}.category-count.done{background:#eef3e8;color:#7c9470}.group-heading{font-size:11px;color:#b1a18c;font-weight:650;letter-spacing:.5px;margin:20px 0 10px}.group-heading:first-of-type{margin-top:0}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.food-item{background:#fcf9f3;border:1px solid #f1eade;border-radius:12px;padding:12px 11px;display:flex;align-items:center;gap:8px;text-align:left;min-height:51px;font-size:12px;line-height:1.55;position:relative;transition:.15s}.food-item:hover{border-color:#e9bf99;background:#fff4e4}.food-item .food-icon{font-size:18px;flex-shrink:0}.food-item .food-name{flex:1}.food-item .check{width:16px;height:16px;border:1px solid #e0d7c8;border-radius:50%;flex-shrink:0;background:#fff}.food-item.selected{background:#fff0dc;border-color:#e4b87e;color:#956233}.food-item.selected .check{background:#d99d55;border-color:#d99d55;color:white;display:grid;place-items:center;font-size:10px}.purple .food-item.selected{background:#f0ecf8;border-color:#b5a5ce;color:#7e6a9e}.purple .food-item.selected .check{background:#a490c0;border-color:#a490c0}.green .food-item.selected{background:#edf4e8;border-color:#aac29e;color:#6d8d5d}.green .food-item.selected .check{background:#96b085;border-color:#96b085}.receipt{position:sticky;top:104px;border:1px solid #e8decf;background:#fffdf8;border-radius:22px;padding:24px 22px;box-shadow:var(--shadow)}.receipt-top{text-align:center;border-bottom:1px dashed #e6d8c7;padding-bottom:18px;margin-bottom:18px}.receipt-top .mini-sun{color:#dbb367;font-size:25px}.receipt-top h3{margin:7px 0 5px;font-size:17px}.receipt-top p{font-size:11px;color:#b19b7e}.receipt-date{margin-top:13px;font-size:11px;color:#9d8c75}.receipt-row{display:flex;align-items:center;gap:12px;margin:18px 0}.receipt-row .receipt-icon{width:35px;height:35px;border-radius:12px;background:#fbecdb;display:grid;place-items:center;font-size:22px;flex-shrink:0}.receipt-row:nth-child(3) .receipt-icon{background:#f0ebf6}.receipt-row:nth-child(4) .receipt-icon{background:#eaf2e6}.receipt-row small{display:block;color:#b3a18a;font-size:10px;margin-bottom:5px}.receipt-row strong{display:block;font-size:12px;font-weight:650;line-height:1.6}.receipt-row .pending{font-weight:400;color:#c0b3a2}.receipt label{font-size:11px;color:#a39480;display:block;margin-top:22px}.receipt textarea{font-size:12px;margin-top:8px;padding:11px;min-height:80px;background:#fcf8f1;border-color:#efe5d5}.receipt .primary{width:100%;margin-top:16px;font-size:13px}.receipt-foot{margin:12px 0 0;text-align:center;font-size:10px;line-height:1.8;color:#b4a288}.order-state{font-size:11px;padding:7px 10px;border-radius:9px;background:#f4eee4;color:#a19079;display:inline-flex;align-items:center;gap:5px}.order-state.saved{background:#edf3e7;color:#7a926c}.save-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:14px;background:#edf3e8;border:1px solid #dce6d4;margin:16px 0;font-size:12px;color:#7f956e}.save-banner button{color:#799063;background:none;font-size:11px;text-decoration:underline}.empty-state{text-align:center;padding:40px 24px;border:1px dashed #e4d5bf;border-radius:22px;background:#fffdf8}.empty-icon{font-size:43px;display:block;margin-bottom:13px}.empty-state h3{font-size:17px;margin-bottom:8px}.empty-state p{color:#a99b87;font-size:12px;line-height:1.8}.empty-state .secondary{margin-top:20px}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.history-card{background:#fffdf8;border:1px solid #eae2d5;padding:23px;border-radius:21px;display:flex;flex-direction:column;gap:18px}.history-card-top{display:flex;justify-content:space-between;gap:8px}.history-card h3{font-size:16px}.history-card .weekday-label{display:block;font-size:10px;color:#b39f81;margin-top:5px}.history-food{display:grid;gap:10px}.history-food>div{display:flex;align-items:center;gap:9px;font-size:12px}.history-food .food-category{font-size:10px;color:#b2a08a;min-width:38px}.history-note{background:#f8f2e8;border-radius:10px;padding:9px 11px;font-size:11px;color:#a28c70;white-space:pre-wrap;overflow-wrap:anywhere}.history-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #e9ddcc;padding-top:14px;margin-top:auto}.history-card-foot small{color:#b5a48c;font-size:9px}.history-card-foot button{background:#f3e5ce;color:#9f804f;border-radius:8px;font-size:10px;padding:7px 10px}.history-more{display:block;margin:24px auto 0}.parent-order{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.parent-food{border:1px solid #ebe3d6;border-radius:21px;background:#fffdf8;padding:26px;position:relative;overflow:hidden}.parent-food .category-emoji{margin-bottom:18px}.parent-food h3{font-size:18px;margin:8px 0;line-height:1.6}.parent-food .muted{font-size:11px}.parent-food small{color:#b09f89;letter-spacing:1px;font-size:10px}.parent-note{margin-top:15px;padding:17px 21px;background:#f6efe2;border:1px solid #e9ddca;border-radius:16px;display:flex;gap:12px;align-items:start;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.parent-last-update{color:#b3a18c;font-size:11px;margin-top:14px;text-align:right}.main-footer{text-align:center;font-size:11px;color:#b9a98f;padding:35px 0 0}.error-card{border:1px solid #edcbbb;background:#fff5ec;padding:18px;border-radius:15px;font-size:13px;color:#a16e54;display:flex;align-items:center;justify-content:space-between;gap:12px}.loading-card{padding:40px;text-align:center;color:#ad9c85;font-size:13px}.password-form{padding:30px;width:390px;max-width:calc(100vw - 44px)}dialog{border:1px solid var(--line);border-radius:24px;padding:0;box-shadow:0 20px 70px #483b3326;background:#fffdf8;color:var(--ink)}dialog::backdrop{background:#4c433744;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:13px;right:14px;font-size:25px;background:none;color:#a49682}.password-form h2{margin-bottom:10px}.password-form .primary{width:100%}.unavailable{padding:50px;text-align:center}.status-error{margin-bottom:18px}
@keyframes breathe{50%{transform:scale(1.08);opacity:.7}}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.menu-section,.history-card,.parent-food{animation:appear .25s ease-out}
@media(min-width:1400px){.app-main{padding-top:35px}.hero{min-height:224px}}
@media(max-width:900px){.header-inner{padding:14px 22px;gap:14px}.header-nav{margin-left:0}.app-main{padding:25px 22px 80px}.menu-layout{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.menu-section{padding:18px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-item{padding:11px 9px}.history-grid{grid-template-columns:repeat(2,1fr)}.welcome{padding:28px 32px}.welcome-content{gap:38px}.welcome-story h1{font-size:34px}.login-card{padding:30px 26px}.hero-art{margin-right:0}.hero{padding:25px 27px}.hero h1{font-size:28px}.header-user .user-badge>span:last-child{display:none}}
@media(max-width:650px){h1{font-size:30px}.welcome{padding:23px 22px;min-height:100dvh}.welcome-top>span{font-size:10px}.welcome-top .brand strong{font-size:15px}.welcome-content{display:flex;flex-direction:column;gap:27px;padding:35px 0 16px;justify-content:center}.welcome-story{text-align:center;width:100%}.welcome-story h1{font-size:29px;line-height:1.45;margin:6px 0 12px}.welcome-story .muted{margin:auto;font-size:12px}.welcome-story .breakfast-art{width:210px;margin:6px auto -30px}.story-tags{display:none}.login-card{width:100%;max-width:400px;padding:27px 25px}.login-card h2{font-size:22px}.login-card form{margin-top:17px}.login-card label{margin-top:15px}.login-card .login-note{margin-top:15px}.welcome-footer{padding:18px 0;font-size:10px}.role-content>h1{font-size:27px}.role-content{padding:40px 0}.role-grid{gap:13px;margin-top:28px}.role-card{padding:26px 19px}.role-avatar{font-size:39px;margin-bottom:18px}.role-card h2{font-size:19px}.role-card p{font-size:11px}.role-arrow{right:17px;top:32px}.role-content>small{font-size:10px}.header-inner{min-height:69px;padding:12px 16px;gap:9px;flex-wrap:wrap}.app-header .brand-symbol{width:32px;height:32px;font-size:23px;border-radius:11px}.app-header .brand strong{font-size:14px;letter-spacing:.3px}.app-header .brand small{font-size:7px}.header-nav{order:3;width:100%;border-top:1px solid #f1e9dc;padding-top:8px;gap:5px}.nav-button{padding:8px 18px;font-size:12px}.header-user{margin-left:auto;gap:6px}.user-dot{width:28px;height:28px}.account-menu summary{padding:7px;font-size:10px}.app-main{padding:18px 16px 50px}.hero{border-radius:20px;min-height:156px;padding:24px 20px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:10px}.hero h1{font-size:23px;line-height:1.5;max-width:230px}.hero p{font-size:10px;max-width:210px}.hero-art{width:95px;height:110px;margin:0 -16px 0 -12px;flex-shrink:0;align-self:end;opacity:.95}.hero-art .breakfast-art{width:139px;max-width:none;margin:-12px 0 0 -25px;transform:rotate(-12deg)}.hero-sticker{display:none}.hero:after{right:-80px;top:25px;width:180px;height:180px}.section-head{margin:24px 0 13px;gap:8px}.section-head h2{font-size:16px;gap:7px}.section-head .sub{display:none}.date-line{gap:7px}.date-line input{width:135px;font-size:11px;padding:7px 8px}.date-strip{gap:6px}.date-chip{border-radius:12px;padding:11px 2px 9px;gap:6px}.date-chip .weekday{font-size:10px}.date-chip .day{font-size:19px}.date-chip .date-meta{font-size:9px}.selection-title{margin:24px 0 15px}.selection-title h2{font-size:17px}.selection-title small{display:none}.progress-text{font-size:11px}.menu-layout{display:flex;flex-direction:column;gap:18px}.menu-sections{width:100%;gap:14px}.menu-section{padding:18px 16px;border-radius:19px}.category-head{gap:10px;margin-bottom:17px}.category-emoji{width:39px;height:39px;font-size:24px;border-radius:13px}.category-head h3{font-size:16px}.category-head h3 span{font-size:9px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.food-item{min-height:52px;font-size:11px;padding:10px 8px;gap:7px}.food-item .food-icon{font-size:17px}.food-item .check{width:14px;height:14px}.receipt{position:static;width:100%;padding:23px;border-radius:20px}.receipt-top{padding-bottom:15px;margin-bottom:16px}.receipt-top .mini-sun{font-size:24px}.receipt-row{margin:15px 0}.receipt-row strong{font-size:13px}.receipt .primary{font-size:14px;padding:15px}.save-banner{font-size:11px;padding:12px;align-items:start}.history-grid{grid-template-columns:1fr;gap:13px}.history-card{padding:21px}.history-card h3{font-size:16px}.history-food>div{font-size:13px}.parent-order{grid-template-columns:1fr;gap:12px}.parent-food{padding:19px 20px;min-height:102px}.parent-food .category-emoji{float:left;margin:8px 17px 12px 0}.parent-food h3{font-size:17px;margin:7px 0 3px}.parent-note{font-size:12px}.parent-last-update{font-size:10px}.main-footer{font-size:10px}.toast{bottom:22px;padding:12px 18px;font-size:12px}.brand{gap:8px}.password-form{padding:28px 23px}.error-card{font-size:12px}.section-head .text-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:650px){.food-item{font-size:13px}.food-item .food-icon{font-size:19px}.food-item .check{width:15px;height:15px}.category-head p{font-size:12px}}
