:root{--bg:#fff9fc;--paper:#fff;--ink:#382d32;--muted:#9d8f96;--line:#efdee6;--orange:#f35495;--orange-dark:#db4681;--peach:#fff0f6;--green:#d8578b;--sage:#fff0f7;--serif:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
body{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='62' viewBox='0 0 62 62'%3E%3Cpath fill='%23fdebf2' opacity='.65' d='M13 16l-3-3c-3-3 1-6 3-3 2-3 6 0 3 3zM44 47l-2-2c-2-2 1-4 2-2 2-2 4 0 2 2z'/%3E%3C/svg%3E");font-size:14px;color:var(--ink)}
button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-color:#f46ca4}input:focus,select:focus,textarea:focus{outline-color:#f6a4c7}button{transition:background .2s,color .2s,transform .2s,box-shadow .2s}button:active{transform:scale(.96)}.heart-app{min-height:100dvh;padding-bottom:110px}.heart-header{height:88px;background:#fffcfdf5;border-bottom:1px solid #f0e0e7;position:sticky;top:0;z-index:35;backdrop-filter:blur(16px)}.header-inner{max-width:1080px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px}.heart-brand{display:flex;align-items:center;text-align:left;gap:10px;padding:0}.heart-brand strong{display:block;font-size:24px;line-height:1.5;letter-spacing:1px;font-weight:750}.heart-brand small{display:block;font-size:14px;color:#9f9197;line-height:1.7}.heart-cloud{position:relative;isolation:isolate;width:62px;height:41px;display:grid;place-items:center;color:white;font-size:25px;background:#ef2456;border-radius:50%;transform:rotate(-7deg);box-shadow:0 7px 12px #ed275621;flex-shrink:0}.heart-cloud:before,.heart-cloud:after{content:'';position:absolute;z-index:-1;border-radius:50%;background:#ef2456;width:31px;height:30px;top:7px}.heart-cloud:before{left:-5px}.heart-cloud:after{right:-5px;top:4px}.chef-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #eedfe6;border-radius:16px;background:#fff;font-size:27px;box-shadow:0 5px 13px #e4b9c711;flex-shrink:0}.chef-button:hover,.chef-button.on{background:#fff0f6;border-color:#f09bbb}.desktop-motto{font-size:13px;color:#ba9aa9;letter-spacing:1px}.heart-main{max-width:1080px;margin:auto}.kitty-hero{height:370px;position:relative;overflow:hidden}.kitty-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,#5d1d2f08 50%,#53241d60 100%)}.kitty-copy{position:absolute;bottom:40px;left:40px;color:white;text-shadow:0 2px 8px #713e4730}.kitty-label{display:inline-block;background:#fffaf4ee;color:#df548c;border-radius:30px;padding:7px 14px;font-size:15px;font-weight:650;text-shadow:none}.kitty-copy h1{font-size:44px;font-weight:750;letter-spacing:1px;line-height:1.4;margin-top:9px}.kitty-copy p{font-size:18px;margin-top:4px;letter-spacing:.6px}.personal-note{position:relative;z-index:2;margin:-16px 24px 0;padding:17px 22px;display:flex;align-items:center;gap:15px;background:white;border:1px solid #f4e1e9;border-radius:23px;box-shadow:0 12px 30px #efc4d43b;min-height:77px}.personal-note p{font-size:16px;line-height:1.7;flex:1}.personal-note strong{color:#e4568e;font-weight:650}.letter-emoji{font-size:27px}.note-bow{font-size:23px}.heart-content{padding:28px 24px 20px}.menu-content{padding-top:31px}.menu-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;gap:12px}.menu-heading h2{font-size:25px;letter-spacing:.2px;line-height:1.45}.menu-heading>span{font-size:14px;color:#9f9298;white-space:nowrap}.heart-content .category-row{display:flex;overflow-x:auto;gap:10px;margin:0 -24px 28px 0;padding:0 24px 4px 0;scrollbar-width:none;scroll-snap-type:x proximity}.category-row::-webkit-scrollbar{display:none}.category-pill{white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:5px;min-height:45px;padding:8px 15px;border:1px solid #ecdce4;box-shadow:0 4px 12px #ead8df14;background:#fff;border-radius:15px;font-size:16px;font-weight:650;scroll-snap-align:start}.category-pill.active{background:#f14f91;color:white;border-color:#f14f91;box-shadow:0 7px 15px #f35f9821}.category-pill:hover{box-shadow:0 5px 15px #e998b738;border-color:#f19abf}.dish-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.dish-section-heading h2{font-size:25px;line-height:1.4;white-space:nowrap}.quiet-filter{color:#a08c97;font-size:14px;padding:0;text-align:right}.quiet-filter:hover,.quiet-filter.active{color:#e65791}.heart-dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.heart-dish{background:#fff;border:1px solid #eddde5;border-radius:25px;padding:12px;box-shadow:0 6px 21px #e8c7d224;transition:transform .22s,box-shadow .22s,border-color .22s;min-width:0;align-self:start}.heart-dish:hover{transform:translateY(-2px);box-shadow:0 10px 28px #e8b3c746;border-color:#f2b3cf}.heart-dish.matched{border-color:#f06d9f;box-shadow:0 0 0 2px #f792b519,0 8px 22px #ecc3d132}.dish-main-row{display:flex;position:relative;gap:13px;min-height:116px}.dish-thumb{position:relative;flex-shrink:0;width:112px;height:116px;border-radius:18px;overflow:hidden;padding:0;background:linear-gradient(145deg,#ffe3d7,#f5adbd);display:grid;place-items:center}.dish-thumb>span{font-size:47px}.dish-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.heart-dish:hover .dish-thumb img{transform:scale(1.055)}.dish-thumb i{position:absolute;bottom:5px;right:8px;color:#fff9f2;font-size:19px;font-style:normal;text-shadow:0 1px 5px #7b543b2f}.dish-info{flex:1;min-width:0;display:flex;flex-direction:column;padding-top:2px;padding-bottom:2px}.dish-name-button{text-align:left;padding:0 23px 0 0;line-height:1.5}.dish-name-button h3{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dish-description{font-size:13px;color:#a18f98;line-height:1.8;margin-top:9px;padding-right:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dish-bottom{margin-top:auto;padding-top:8px;padding-right:32px;display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.cook-time,.difficulty{font-size:11px;color:#b098a5;white-space:nowrap}.difficulty{letter-spacing:1px}.taste-tag{font-size:11px;color:#dd6896;background:#fff0f7;border-radius:7px;padding:3px 6px;white-space:nowrap}.dish-favorite{position:absolute;right:2px;top:2px;color:#cfadbD;font-size:24px;line-height:1;padding:3px;width:30px;height:30px}.dish-favorite.saved{color:#ed528b}.dish-add{position:absolute;bottom:0;right:0;border-radius:50%;width:34px;height:34px;background:#f35b9a;color:white;font-size:31px;line-height:1;display:grid;place-items:center;padding:0;box-shadow:0 6px 13px #f36c9d30}.dish-add.has-quantity{font-size:17px}.dish-add:hover{background:#e84386;box-shadow:0 6px 16px #e6559760}.dish-expanded{padding:12px 1px 2px;border-top:1px dashed #f0dce5;margin-top:12px}.detail-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px}.detail-meta>span,.dish-expanded>p{color:#ad8c9c;font-size:11px}.dish-expanded .vote-row{border:0;margin-top:8px;padding-top:0}.dish-expanded .vote-btn{height:36px;font-size:12px}.pick-inline{font-size:11px;color:#db5189;white-space:nowrap}.menu-tools{border:1px solid #f0dae5;border-radius:17px;background:#fff;padding:14px;margin-bottom:15px}.menu-tools .search-box{height:42px}.menu-tools .filter-panel{margin:8px 0 0}.menu-bottom-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:28px 0 12px;font-size:12px;color:#b37895}.menu-bottom-tools button{padding:8px 0}.heart-footnote{font-size:11px;text-align:center;color:#c5a5b5}.heart-tabbar{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(18px);border-top:1px solid #ecdde4;z-index:40;box-shadow:0 -6px 25px #f1e0e841;padding-bottom:env(safe-area-inset-bottom)}.heart-tabbar>div{max-width:800px;display:flex;margin:auto;height:77px;align-items:stretch}.heart-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:1px;flex-direction:column;font-size:13px;color:#ae98a4;font-weight:600;min-width:0;padding:4px 0}.tab-symbol{position:relative;font-size:27px;line-height:1.25;display:grid;place-items:center;width:51px;height:38px}.heart-tab.active{color:#e14d86}.heart-tab:hover{background:#fff4f9}.cart-tab .tab-symbol{background:#f35594;border:4px solid white;border-radius:18px;width:47px;height:41px;box-shadow:0 5px 15px #eeb4cc70;transform:translateY(-12px);margin-bottom:-9px;font-size:28px}.tab-count{position:absolute;right:-5px;top:-3px;font-size:10px;background:#f12662;color:#fff;min-width:16px;height:16px;border-radius:10px;font-style:normal;font-weight:500;display:grid;place-items:center;padding:0 4px;line-height:1}.cart-tab .tab-count{right:-10px;top:-7px}.page-intro{margin:0 0 23px}.page-intro h1{font-size:28px;line-height:1.5;font-weight:750}.page-intro p{color:#aa97a2;font-size:15px;line-height:1.7;margin-top:5px}.order-list{display:grid;gap:20px}.order-card{background:white;border:1px solid #ecdae4;border-radius:24px;box-shadow:0 8px 22px #e9cbd52b;overflow:hidden}.order-header{padding:17px 18px 13px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px dashed #eadce3}.order-header h2{font-size:19px;line-height:1.55}.order-header p{font-size:15px;color:#a9929e;margin-top:5px}.order-status{font-size:13px;white-space:nowrap;border-radius:12px;color:#df5e94;background:#fff0f7;padding:7px 10px;font-weight:650}.order-status.complete{background:#f3f7ef;color:#7f996e}.order-body{padding:12px 18px 17px}.order-items{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:15px;color:#927d89;line-height:1.7}.order-note{margin-top:12px;padding:12px 11px;border-radius:14px;background:#fff6f6;color:#ac97a1;font-size:14px;overflow-wrap:anywhere}.order-progress{display:flex;margin:24px 0 0;padding:0 2px}.order-step{flex:1;position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;color:#c9b9c1;font-size:12px;white-space:nowrap;gap:8px}.order-step:after{content:'';position:absolute;width:100%;height:2px;left:50%;top:4px;background:#e8d9e1}.order-step:last-child:after{display:none}.order-step>i{position:relative;z-index:1;display:block;width:10px;height:10px;border-radius:50%;background:#e8d9e1}.order-step.done{color:#de588f;font-weight:650}.order-step.done>i,.order-step.line-done:after{background:#f26b9e}.order-advance{margin-top:22px;width:100%}.cart-list{display:grid;gap:12px}.cart-item{display:flex;align-items:center;gap:12px;border:1px solid #eddce5;border-radius:20px;background:white;padding:13px;box-shadow:0 5px 16px #efd3e024}.cart-item img{width:70px;height:70px;object-fit:cover;border-radius:14px}.cart-emoji{width:70px;text-align:center;font-size:35px}.cart-info{flex:1;min-width:0}.cart-info h3{font-size:15px}.cart-info p{font-size:12px;color:#b09ba6;margin-top:5px}.quantity-control{display:flex;gap:9px;align-items:center}.quantity-control button{display:grid;place-items:center;border:1px solid #f0bed3;background:#fff4f9;color:#e8548d;border-radius:50%;width:27px;height:27px;padding:0;font-size:19px;line-height:1}.quantity-control span{font-size:13px}.checkout-card{margin-top:21px;background:white;border:1px solid #efdde7;border-radius:22px;padding:20px}.checkout-card>label{font-weight:650;font-size:16px}.checkout-card textarea{display:block;width:100%;border:0;background:#fff6f9;margin-top:13px;border-radius:13px;min-height:85px;resize:vertical;padding:12px;color:#805a6c}.checkout-card textarea::placeholder{color:#bea6b3}.checkout-total{display:flex;justify-content:space-between;margin:20px 0;font-size:14px}.checkout-total strong{color:#e4528b}.checkout-card .primary-btn{width:100%}.cart-conflict{color:#dd638f;font-size:10px;display:block;line-height:1.5;margin-top:4px}.us-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.us-shortcuts button{background:#fff;border:1px solid #eedce6;border-radius:18px;display:flex;flex-direction:column;padding:17px 8px;align-items:center;font-size:26px;gap:4px}.us-shortcuts span{font-size:14px;font-weight:650}.us-shortcuts small{font-size:10px;color:#b098a6}.us-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.us-panels .panel{width:auto;margin:0;background:#fff9fc;border-color:#ecdde5}.us-panels .room-panel{display:block}.us-panels .people-switcher{margin:18px 0}.us-panels .person-switch{padding:5px}.us-panels .random-panel{display:block}.us-panels .panel-heading h3{font-size:16px}.us-panels .quick-decide{display:flex}.us-panels .match-panel{background:white}.us-panels .match-empty{padding:20px;display:block;text-align:center}.us-panels .empty-heart{margin:0 auto 10px}.us-panels .love-note{grid-column:1/-1}.back-link{color:#cb80a2;font-size:13px;padding:0 0 17px}.section-caption{font-size:13px;color:#ae98a4;margin-bottom:15px}.add-custom{margin-bottom:20px}.primary-btn{background:#f35495;color:white;border-radius:14px;min-height:45px;font-size:14px}.primary-btn:hover{background:#e74989}.secondary-btn{background:#fff2f8;color:#d8578b;border-color:#efd4e1;font-size:14px;min-height:43px}.modal{background:#fffdfE;border-color:#f1dae5;border-radius:25px}.modal h2,.empty-state h3{font-family:var(--sans)}.modal-subtitle{font-size:13px}.modal-eyebrow{color:#c781a2}.modal .input-field{color:#9c7087}.modal .input-field input,.modal .input-field textarea,.modal .input-field select{border-color:#ebd7e2;background:#fffafd}.room-code{color:#d9578c;background:#fff0f7}.empty-state{background:#ffffffb0;border-color:#f0dce6;border-radius:24px}.empty-state p{font-size:13px}.empty-state h3{font-size:21px}.text-button{font-size:12px}.vote-btn{border-color:#eacbd9}.vote-btn.selected{background:#ffe8f2;color:#dc4e8a;border-color:#f491b8}.vote-btn.no.selected{background:#f3e9ed;color:#a36a83}.heart-app .edit-actions{padding-top:12px}.error-banner{position:relative;z-index:36;margin:0;background:#fff0f5;border-color:#eebbd0;color:#b25e7f}.turn-notice{background:#fff0f7;color:#c0638b}#toast{background:#824b68;bottom:97px;font-size:13px;box-shadow:0 5px 20px #7a426344}
@media(min-width:721px){.heart-main{padding-top:22px}.kitty-hero{border-radius:26px;margin:0 24px}.personal-note{margin:-18px 50px 0}.menu-content{padding-top:30px}.order-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-list,.checkout-card{max-width:750px;margin-left:auto;margin-right:auto}.heart-content>.page-intro{margin-top:5px;margin-bottom:27px}.heart-tabbar>div{height:75px}.dish-main-row{min-height:127px}.dish-thumb{width:125px;height:127px}.dish-name-button h3{font-size:19px}.heart-content .category-row{gap:13px}.category-pill{padding-left:18px;padding-right:18px}}
@media(max-width:720px){.heart-header{height:74px}.header-inner{padding:0 18px;gap:9px}.heart-brand{gap:7px}.heart-brand strong{font-size:21px;letter-spacing:1px}.heart-brand small{font-size:12px}.heart-cloud{width:50px;height:35px;font-size:22px}.heart-cloud:before,.heart-cloud:after{height:26px;width:26px;top:5px}.chef-button{height:46px;width:46px;border-radius:15px;font-size:25px}.desktop-motto{display:none}.kitty-hero{height:242px}.kitty-copy{left:22px;bottom:23px}.kitty-copy h1{font-size:31px;margin-top:9px;letter-spacing:.8px}.kitty-copy p{font-size:14px;margin-top:4px}.kitty-label{font-size:14px;padding:6px 11px}.personal-note{margin:-15px 16px 0;min-height:72px;padding:13px 16px;gap:12px;border-radius:22px}.personal-note p{font-size:14px;line-height:1.65}.letter-emoji{font-size:23px}.note-bow{font-size:20px}.heart-content{padding:25px 16px 18px}.menu-content{padding-top:31px}.menu-heading h2{font-size:22px}.menu-heading>span{font-size:13px}.menu-heading{margin-bottom:15px}.heart-content .category-row{margin-right:-16px;padding-right:16px;margin-bottom:28px;gap:9px}.category-pill{min-height:43px;font-size:15px;padding:8px 13px;border-radius:14px}.dish-section-heading h2{font-size:23px}.quiet-filter{font-size:12px}.dish-section-heading{margin-bottom:12px}.heart-dishes{grid-template-columns:minmax(0,1fr);gap:13px}.heart-dish{border-radius:23px;padding:11px}.dish-main-row{gap:13px;min-height:112px}.dish-thumb{width:100px;height:112px;border-radius:17px}.dish-name-button h3{font-size:18px}.dish-description{font-size:13px;margin-top:10px;line-height:1.75}.dish-favorite{font-size:23px}.dish-bottom{gap:5px;padding-right:30px;flex-wrap:wrap}.cook-time,.difficulty{font-size:11px}.taste-tag{font-size:11px;padding:3px 5px}.difficulty{letter-spacing:0}.dish-add{width:33px;height:33px;font-size:29px}.dish-add.has-quantity{font-size:17px}.page-intro{margin-bottom:21px}.page-intro h1{font-size:26px;line-height:1.55}.page-intro p{font-size:14px;margin-top:6px}.order-header{padding:17px 17px 12px}.order-header h2{font-size:19px}.order-header p{font-size:15px}.order-body{padding:11px 17px 16px}.order-items{font-size:14px;gap:8px 12px}.order-note{font-size:13px;padding:11px}.order-progress{margin-top:25px}.order-step{font-size:12px;gap:8px}.us-panels{grid-template-columns:1fr;gap:14px}.us-panels .room-panel{display:block}.us-panels .people-switcher{display:flex;justify-content:space-around}.us-panels .panel-heading h3{font-size:17px}.us-panels .random-panel .primary-btn{margin-top:14px}.us-panels .random-panel h3{font-size:18px}.us-panels .random-panel>p{font-size:13px}.us-panels .matched-item{min-width:210px}.us-panels .match-panel .panel-heading h3{font-size:17px}.us-panels .quick-decide button{font-size:13px}.us-panels .person-switch>strong{font-size:14px}.us-panels .status-pill{font-size:11px}.us-shortcuts{gap:7px}.us-shortcuts small{font-size:9px}.modal-overlay{padding:12px}.modal{padding:28px 22px}.modal-subtitle{font-size:13px}.empty-state{padding:42px 16px}.heart-tabbar>div{height:77px}.heart-tab{font-size:13px}.heart-app{padding-bottom:100px}.cart-info h3{font-size:14px}.cart-item{gap:10px;padding:12px}.cart-item img{width:65px;height:65px}.quantity-control{gap:7px}.quantity-control button{width:25px;height:25px}}
@media(max-width:360px){.header-inner{padding:0 14px}.heart-brand strong{font-size:19px}.heart-brand small{font-size:11px}.heart-cloud{width:44px}.heart-content{padding-left:13px;padding-right:13px}.heart-content .category-row{margin-right:-13px;padding-right:13px}.personal-note{margin-left:13px;margin-right:13px;padding:12px;gap:9px}.personal-note p{font-size:13px}.kitty-copy{left:18px}.kitty-copy h1{font-size:28px}.kitty-copy p{font-size:12px}.dish-main-row{gap:10px}.dish-thumb{width:86px;height:111px}.dish-name-button h3{font-size:16px}.dish-description{font-size:12px}.dish-bottom{gap:4px}.cook-time,.difficulty,.taste-tag{font-size:10px}.difficulty{display:none}.dish-section-heading h2{font-size:21px}.quiet-filter{font-size:11px}.order-header h2{font-size:17px}.order-items{font-size:13px}.order-step{font-size:11px}.cart-item img{width:52px;height:60px}.cart-info h3{font-size:13px}.us-shortcuts span{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:721px){.kitty-hero>img{object-position:center top}}

.order-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.order-delete{display:inline-flex;align-items:center;justify-content:center;min-height:30px;min-width:48px;padding:3px 9px;border-radius:8px;color:#c37b99;font-size:12px;line-height:1.5}.order-delete:hover{background:#fff0f6;color:#de497f}.order-delete:focus-visible{outline:2px solid #ef88b1;outline-offset:1px}
