.v32{--panel-accent:#D5AE45;--panel-wash:#FFF4CD;--panel-ink:#635322}.s14.v32{--panel-accent:#9E8462;--panel-wash:#F0E8D8;--panel-ink:#604D38}.s19.v32{--panel-accent:#D3A442;--panel-wash:#FFF0B9;--panel-ink:#705825}.v32 .brand-header{height:57px}.v32 .brand-header h1{font-size:28px;letter-spacing:-1.3px}.v32 .brand-dot{font-size:27px}.v32 .week-entry{border-radius:15px 15px 15px 5px;box-shadow:none;gap:5px;background:#FFFFFF91}.v32 .week-entry span{font-size:12px}.v32 .week-entry svg{width:20px;height:20px}.v32 .v31-search{box-shadow:0 2px 5px #3A3F2A02;border-color:#00000008}.v32 .meal-tabs{gap:9px}.v32 .meal-tabs button{transition:background .15s}.v32 .meal-tabs button:not(.on){color:#707461}.v32 .meal-tabs small{font-size:10px;opacity:.8}.v32 .badge{padding:5px 8px;border-radius:8px;font-size:12px}.v32 .badge.planned{color:#995011;background:#FFF0D1}.v32 .main-action{font-size:17px;font-weight:650;box-shadow:0 2px 0 #54441104}.v32 .main-action:active{transform:translateY(1px)}.v32 .main-action:disabled{background:#EAEBE6;color:#777E71;border-color:transparent;box-shadow:none;cursor:default}.v32 .meal-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.meal-topline>span{font-size:11px;color:#959989}.meal-topline>b{font-size:10px;font-weight:400;background:var(--panel-wash);color:var(--panel-ink);padding:4px 7px;border-radius:5px}.v32 .meal-heading h2{font-size:23px;letter-spacing:-.6px}.v32 .meal-receipt{padding:16px}.v32 .receipt-middle{margin-top:9px;gap:12px}.menu-names{flex:1;min-width:0}.menu-names h3{font-size:20px;line-height:1.5;letter-spacing:-.5px;margin-bottom:4px}.menu-names p{font-size:13px;line-height:1.8;color:#677162;min-height:23px}.menu-names>span{font-size:11px;color:#959A8B;display:block;margin-top:4px}.v32 .receipt-middle>.food{width:89px;height:89px;border:4px solid #FFFFFF;border-radius:50%;box-shadow:0 4px 10px #7C78450B}.meal-preference{display:flex;align-items:center;gap:7px;border-top:1px dashed #D8DACB;padding-top:10px;margin-top:11px;color:#858B7A;font-size:11px}.meal-preference svg{width:14px;height:14px}.empty-meal{display:flex;gap:12px;align-items:center;min-height:88px}.empty-meal>span{display:flex;width:51px;height:51px;align-items:center;justify-content:center;background:var(--panel-wash);color:var(--panel-ink);border-radius:50%}.empty-meal h3{font-size:18px;margin-bottom:7px}.empty-meal p{font-size:12px;color:#969C8E}.v32 .feature-links{gap:12px}.v32 .feature-links>button{border-color:#E7DFCC;padding:13px 13px 12px;box-shadow:0 2px 0 #72795704}.v32 .feature-links small{font-size:11px;color:#909683}.v32 .feature-links b{font-size:15px;letter-spacing:-.6px;margin-top:9px}.v32 .feature-links .entry-art{height:24px}.v32 .feature-links .entry-arrow{font-size:19px;color:#8D947B}.v32 .feature-links .entry-art i{font-size:12px;top:-5px;right:0;opacity:.7}.v32 nav{border-top-color:#DDDFD429;background:#FFFFFD}.v32 nav button{font-size:12px;color:#969B8D}.v32 nav .active{color:#3B4936}.v32 nav .illustrated-nav{box-shadow:0 2px 0 #4432190C;background:var(--panel-wash)}
/* 01: balanced card stack, readable lead card and quieter supporting cards. */
.s1.v32{background:linear-gradient(#FFF3A7 0,#FFF9D6 305px,#FFFEF9 580px)}.s1.v32 .interactive-deck{height:263px;margin-top:1px}.s1.v32 .slide-card{height:250px;width:252px;left:4px;border-radius:24px;border:1px solid #E9DBA5;box-shadow:0 8px 18px #8F742613}.s1.v32 .slide-card>.food{height:145px}.s1.v32 .slide-card.layer-0{background:#FFE272;transform:rotate(-4deg)}.s1.v32 .slide-caption{padding:9px 13px 12px}.s1.v32 .slide-caption h3{font-size:23px;letter-spacing:-.6px;margin:5px 0}.s1.v32 .slide-caption b{font-size:15px}.s1.v32 .slide-caption p{font-size:11px}.s1.v32 .slide-caption .badge{font-size:11px;padding:4px 7px}.s1.v32 .slide-card.layer-1{left:71px;top:7px;background:#CFEAF0;transform:rotate(4deg)}.s1.v32 .slide-card.layer-2{left:111px;top:11px;background:#FFDCCA;transform:rotate(8deg)}.s1.v32 .slide-card:not(.layer-0) .slide-caption{opacity:.22}.s1.v32 .carousel-control{color:#9F9672;gap:5px}.s1.v32 .carousel-control>button{border-radius:50%;color:#74642B}.s1.v32 .carousel-control>button:disabled{opacity:.2}.s1.v32 .slide-dots .current span{background:#7D6B2F;width:18px}.s1.v32 .card-order-action .main-action{border-radius:16px;height:47px;background:#FFE6A4;color:#765017;border-color:#E4C985}.s1.v32 .card-order-action .main-action.empty{background:#344537;color:white;border-color:#344537}.s1.v32 .card-order-action .main-action.cooking{background:#2863AD;color:white;border-color:#2863AD}.s1.v32 .card-order-action .main-action.cooked{background:#167469;color:white;border-color:#167469}.s1.v32 .card-order-action .main-action.packed{background:#E2EAE5;color:#375746;border-color:#CBD8CD}.s1.v32 .card-order-action>p{font-size:11px;margin-top:9px}.s1.v32 .feature-links{margin-top:16px}.s1.v32 .feature-links>button{min-height:103px}.s1.v32 .feature-links .favorite-entry{background:#FFF6D8;border-radius:20px 8px 20px 8px}.s1.v32 .feature-links .rank-entry{background:#EDF4F3;border-radius:8px 20px 8px 20px}
/* 14: fine editorial rules and warm neutral surfaces. */
.s14.v32{background:#FCFBF6}.s14.v32 .brand-header h1{color:#483E31}.s14.v32 .week-entry{background:#F2EEDF;border:1px solid #E7DFCE}.s14.v32 .couple-letter{height:116px;margin:7px 0 16px;border-bottom:1px solid #DDD8C9}.s14.v32 .couple-letter>.scene-art{width:219px;height:129px;bottom:-2px;right:-4px}.s14.v32 .couple-letter>div{top:7px}.s14.v32 .couple-letter p{font-size:19px;line-height:1.6;color:#74634B}.s14.v32 .couple-letter span{font-size:7px;letter-spacing:1.3px;margin-top:11px;color:#AA9F8C}.s14.v32 .meal-tabs button{background:#F3F0E7;border-radius:10px;border:1px solid #E5E0D4}.s14.v32 .meal-tabs .on{background:#806B50;border-color:#806B50;color:white}.s14.v32 .couple-receipt{background:#FFFFFD;border:1px solid #E1D9C8;border-radius:23px 23px 13px 13px;box-shadow:0 5px 0 #EFEBDD70}.s14.v32 .meal-preference{border-top-style:solid;border-color:#ECE7D9}.s14.v32 .main-action.planned{background:#F8EACD;color:#875522;border-color:#E7D3AC}.s14.v32 .feature-links{margin-top:17px}.s14.v32 .feature-links>button{min-height:101px;background:#F0EAD9;border-color:#E7DECC;border-radius:15px}.s14.v32 .feature-links .rank-entry{background:#EAF0E5;border-color:#DDE5D5}.s14.v32 .feature-links b{font-size:14px;letter-spacing:-.4px}
/* 19: one family header and an actionable receipt, with explicit role selection. */
.s19.v32{background:#FFFDF5}.s19.v32 .statusbar,.s19.v32 .wechat{background:#FFE38A}.s19.v32 .unified-hero{border-radius:0 0 32px 32px;padding-bottom:19px}.s19.v32 .hero-scene{height:119px}.s19.v32 .hero-scene>.scene-art{height:128px;width:212px;bottom:-2px;right:0}.s19.v32 .slogan{top:5px}.s19.v32 .slogan p{font-size:18px;line-height:1.7}.s19.v32 .slogan>span{margin-top:7px;letter-spacing:1.4px;font-size:8px;opacity:.4}.s19.v32 .wave-receipt{border-radius:22px 8px 22px 8px;border-color:#EADFBF;background:#FFFDF7;box-shadow:0 3px 0 #F5EDDB55;margin-top:14px}.s19.v32 .role-choice{gap:12px;margin-top:14px}.s19.v32 .role-choice>button{min-height:69px;border:1px solid #E9E4D3;background:#F8F5E9;border-radius:15px;padding:12px 10px}.s19.v32 .role-choice>button+button{background:#F1F5F3;border-color:#DFE8E3}.s19.v32 .role-choice>button[aria-pressed=true]{background:#FAE9AE;border-color:#DCBD6A;box-shadow:inset 0 0 0 1px #F6D98D}.s19.v32 .role-choice small{color:#939A84;font-size:11px}.s19.v32 .role-choice>button[aria-pressed=true] small{color:#A88330}.s19.v32 .role-choice i{top:10px;right:10px;font-size:14px;color:#A28645}.s19.v32 .role-choice b{font-size:14px}
/* Theme-matched secondary surfaces. */
.v32 .shade{background:#27332759;backdrop-filter:blur(3px)}.v32 .sheet{position:relative;max-height:758px;padding:12px 20px 29px;background:#FFFDF7;border-radius:28px 28px 0 0;overflow-y:auto;box-shadow:0 -12px 35px #24361C0D;outline:none}.sheet-handle{width:33px;height:4px;background:#DADDD2;border-radius:5px;margin:0 auto 19px}.v32 .close{position:absolute;right:10px;top:24px;margin:0;min-width:44px;min-height:44px;width:44px;height:44px;background:#F1F2EB;border-radius:50%;display:flex;align-items:center;justify-content:center}.v32 .close svg{transform:rotate(45deg);width:21px;height:21px;stroke-width:1.6}.panel-heading{padding:0 43px 17px 1px;border-bottom:1px solid #E5E7DD;margin-bottom:15px}.v32 .panel-heading small{font-size:11px;color:#A39777;margin:0 0 7px;letter-spacing:1px}.v32 .panel-heading h2{font-size:24px;line-height:1.3;margin:0;letter-spacing:-.5px}.sheet-body{position:relative}.v32 .sheet h3{font-size:17px;margin:0}.v32 .sheet .destination{display:flex;gap:7px;align-items:center;font-size:11px;line-height:1.6;color:#8A947C;margin:0 0 15px}.destination svg{width:15px;height:15px}.v32 .search-field{background:#FFFFFF;border-radius:15px;border-color:#DCE1D0;margin-bottom:13px}.v32 .search-field input{height:25px;font-size:15px}.filter-tabs{display:flex;gap:8px;margin:0 0 6px}.filter-tabs>button{min-height:40px;flex:1;border-radius:11px;background:#F3F4ED;color:#8B9480;font-size:13px}.filter-tabs>button[aria-pressed=true]{background:var(--panel-wash);color:var(--panel-ink);font-weight:650}.recipe-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #E7E9E0}.recipe-item>.food{width:66px;height:66px;border-radius:15px}.recipe-info{min-width:0;flex:1}.v32 .recipe-info h3{font-size:16px;font-weight:650}.v32 .recipe-info p{font-size:11px;line-height:1.6;color:#8B967F;margin:7px 0 0}.dish-pick{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#F4F5EE;border:1px solid #E3E7D9;border-radius:50%;color:#8A927E}.dish-pick svg{width:20px;height:20px}.dish-pick.picked{background:var(--panel-wash);border-color:var(--panel-accent);color:var(--panel-ink)}.draft-footer{position:sticky;bottom:-29px;background:#FFFDF7F7;backdrop-filter:blur(8px);border-top:1px solid #E2E6D8;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px -20px -29px;padding:15px 20px 26px}.draft-footer>div{flex:1}.draft-footer b{font-size:16px}.v32 .draft-footer small{font-size:10px;color:#929B84;margin:6px 0 0}.draft-footer .main-action{width:175px;margin:0;height:46px;font-size:15px}.v32 .search-empty{min-height:239px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 0}.v32 .search-empty>svg{width:34px;height:34px;color:#A7B097;margin-bottom:14px}.v32 .search-empty p{font-size:12px;margin:8px 0 10px;color:#909A83}.search-empty button{min-height:44px;color:var(--panel-ink);font-size:13px;text-decoration:underline;text-underline-offset:5px}.v32 .panel-lede{font-size:13px;color:#88937A;line-height:1.7;margin:0 0 17px}.owner-tabs{display:flex;gap:10px;margin-bottom:8px}.owner-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;flex:1;background:#F2F4EB;border-radius:12px;font-size:14px;color:#8A947C}.owner-tabs button[aria-selected=true]{background:var(--panel-wash);color:var(--panel-ink);font-weight:650}.owner-tabs svg{width:16px;height:16px}.v32 .owner-tabs small{display:inline-block;margin:0;background:#FFFFFF85;padding:2px 5px;border-radius:5px;font-size:10px;color:inherit}.small-order{min-width:50px;min-height:44px;color:var(--panel-ink);font-size:12px;background:var(--panel-wash);border-radius:10px}.outline-action{min-height:46px;border:1px solid #DCE2D0;border-radius:13px;width:100%;font-size:14px;color:#737E62;margin-top:16px;background:#FFFFFA}.ranking-banner{position:relative;background:var(--panel-wash);border-radius:16px;padding:17px 15px;margin-bottom:13px}.ranking-banner>span{font-size:11px;color:var(--panel-ink)}.v32 .ranking-banner h3{font:21px/1.5 KaiTi,serif;margin-top:8px;color:var(--panel-ink)}.ranking-banner>svg{position:absolute;right:20px;top:23px;width:43px;height:43px;color:var(--panel-accent);stroke-width:1.2}.v32 .ranking-note{font-size:11px;color:#9AA18D;margin:0 0 3px}.rank-item{display:flex;gap:11px;align-items:center;padding:16px 0;border-bottom:1px solid #E7E9E0}.rank-item>strong{font:23px Georgia,serif;color:var(--panel-accent)}.rank-item>.food{width:61px;height:61px;border-radius:13px}.rank-item>div{flex:1;min-width:0}.v32 .rank-item h3{font-size:15px}.rank-item>div>span{font-size:10px;color:#A0A58F;display:block;margin-top:7px}.rank-item>div>i{display:block;width:var(--bar);height:3px;background:var(--panel-accent);opacity:.4;border-radius:3px;margin-top:8px}.rank-item>button{width:36px;height:44px;color:#8C967D}.rank-item>button svg{width:18px}.v32 .cooking-intro{background:var(--panel-wash);padding:15px;border-radius:14px;margin-bottom:7px;color:var(--panel-ink)}.v32 .cooking-intro b{font-size:15px}.v32 .cooking-intro p{font-size:11px;color:var(--panel-ink);opacity:.7;margin:7px 0 0;line-height:1.7}.menu-type{font-size:10px;color:#9DA58E;white-space:nowrap}.completion-stamp{padding:9px 0 20px;text-align:center}.completion-stamp>svg{width:45px;height:45px;background:#E3EFE5;color:#3D7C54;border-radius:50%;padding:10px;margin-bottom:14px}.v32 .completion-stamp p{font-size:12px;color:#95A086;margin:8px 0 0}.profile-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-roles>button{min-height:167px;background:#F4F4EB;border:1px solid #E2E5D8;border-radius:16px;padding:18px}.profile-roles>button[aria-pressed=true]{background:var(--panel-wash);border-color:var(--panel-accent)}.profile-roles>button>svg{width:32px;height:32px;color:var(--panel-ink);margin-bottom:12px}.v32 .profile-roles p{font-size:12px;color:#929B82;margin:7px 0 14px}.profile-roles span{font-size:11px;color:var(--panel-ink)}.v32 .panel-footnote{font-size:11px;line-height:1.8;color:#9DA58E;margin:17px 0 0}.week-period{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.week-period b{font-size:16px}.week-period span{font-size:10px;color:#9AA38D}.week-table{border:1px solid #E3E7D9;border-radius:15px;overflow:hidden}.week-table-head,.week-table-row{display:grid;grid-template-columns:55px 1fr 1fr}.week-table-head{background:var(--panel-wash);font-size:12px;color:var(--panel-ink);padding:12px 8px;text-align:center}.week-table-row{min-height:59px;border-top:1px solid #E3E7D9;padding:10px 8px;font-size:11px;line-height:1.7}.week-table-row>strong{font-size:12px;padding-top:4px;text-align:center;align-self:center}.v32 .week-table-row small{margin:1px 0 0;font-size:9px;font-weight:400}.week-table-row>div{padding:1px 8px;border-left:1px solid #ECEEE5;align-self:center;text-align:center}.week-table-row.today{background:#FAF7E7}.blank-meal{color:#B0B8A1}.has-meal{color:#687B57;font-size:10px}.history-card{border-radius:17px;padding:16px;background:#F5F5EA;border:1px solid #E3E7D7}.v32 .history-card>small{font-size:11px;margin:0 0 9px}.v32 .history-card h3{font-size:16px;line-height:1.8;margin-bottom:13px}.history-card>.food{width:100%;height:147px;border-radius:13px}.v32 .sheet-body>.food{width:100%;height:174px;object-fit:cover;margin-bottom:15px}.favorite-toggles{display:flex;gap:10px}.favorite-toggles button{flex:1;min-height:44px;font-size:12px;border:1px solid #DFE4D4;border-radius:11px}.favorite-toggles button[aria-pressed=true]{background:var(--panel-wash);color:var(--panel-ink);border-color:var(--panel-accent)}
@media(prefers-reduced-motion:reduce){.v32 *{transition:none!important;animation:none!important}}
