/* Layout: 新中式食单 — 宣纸底、墨色字、朱砂印；菜品图是胡桃木桌上的「照片」。手机底部五栏，桌面顶部导航 + 宽版双栏。 */
:root{
  --bg:#F2EADB; --bg2:#E8DCC7; --card:#FBF7EF; --card2:#F0E7D7; --ink:#211913; --ink2:#54463A; --muted:#8A7967; --line:#DCCDB6; --line2:#E8DDCB;
  --accent:#A3302A; --accent-ink:#FFF6EA; --accent-soft:#F1DCCF; --gold:#A9823F; --leaf:#4F7B60; --berry:#982A39; --sky:#41657F; --yolk:#B8862E;
  --plate:#FFFDF8; --plate2:#E9E1D3; --shadow:0 18px 40px -24px rgba(60,30,10,.5); --shadow-s:0 6px 16px -10px rgba(60,30,10,.4);
  --f-brush:"Ma Shan Zheng","STKaiti","KaiTi","Kaiti SC",serif;
  --f-disp:"Noto Serif SC","Songti SC","STSong",serif;
  --f-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --f-num:"Noto Serif SC","Songti SC",serif;
  --paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .28 0 0 0 0 .16 0 0 0 1.3 -.4'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#13100D; --bg2:#1D1813; --card:#1C1713; --card2:#28211B; --ink:#EEE4D3; --ink2:#CBBDA7; --muted:#968775; --line:#3A3028; --line2:#2E2620;
  --accent:#CF543F; --accent-ink:#1A0C07; --accent-soft:#3B211A; --gold:#C9A25A; --leaf:#8BB698; --berry:#E16B76; --sky:#86A8C4; --yolk:#D6A54F;
  --plate:#EDE5D8; --plate2:#CFC3B2; --shadow:0 18px 40px -24px rgba(0,0,0,.85); --shadow-s:0 6px 16px -10px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#13100D; --bg2:#1D1813; --card:#1C1713; --card2:#28211B; --ink:#EEE4D3; --ink2:#CBBDA7; --muted:#968775; --line:#3A3028; --line2:#2E2620;
  --accent:#CF543F; --accent-ink:#1A0C07; --accent-soft:#3B211A; --gold:#C9A25A; --leaf:#8BB698; --berry:#E16B76; --sky:#86A8C4; --yolk:#D6A54F;
  --plate:#EDE5D8; --plate2:#CFC3B2; --shadow:0 18px 40px -24px rgba(0,0,0,.85); --shadow-s:0 6px 16px -10px rgba(0,0,0,.7); color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper),var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.7;min-height:100vh}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0;-webkit-tap-highlight-color:transparent}
input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:9px 12px;width:100%}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.grow{flex:1;min-width:0}
.stack{display:flex;flex-direction:column;gap:16px}
.stack>*{min-width:0}
.small{font-size:12.5px}

/* shell */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.top-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:20px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-brush);font-size:27px;color:var(--ink);white-space:nowrap;letter-spacing:.04em}
.logo .lseal{width:34px;height:34px;flex:none}
.nav{display:flex;gap:2px;margin-left:auto}
.nav button{display:flex;align-items:center;gap:7px;padding:7px 15px;color:var(--ink2);font-family:var(--f-disp);font-weight:600;letter-spacing:.16em;position:relative;border-radius:3px;transition:color .2s}
.nav button svg{width:18px;height:18px}
.nav button[aria-current="page"]{color:var(--accent)}
.nav button[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:-11px;width:6px;height:6px;background:var(--accent);transform:translateX(-50%) rotate(45deg)}
.nav button:hover:not([aria-current]){color:var(--ink)}
main{max-width:1180px;margin:0 auto;padding-block:24px 56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (max-width:819px){
  .nav{position:fixed;left:0;right:0;bottom:0;margin:0;justify-content:space-around;background:var(--card);border-top:1px solid var(--line);padding:5px max(8px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));z-index:25}
  .nav button{flex-direction:column;gap:0;font-size:11.5px;padding:5px 10px;letter-spacing:.08em}
  .nav button svg{width:22px;height:22px}
  .nav button[aria-current="page"]::after{display:none}
  main{padding-bottom:104px}
  .logo{font-size:23px}
}

/* primitives */
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px;box-shadow:inset 0 0 0 4px var(--card),inset 0 0 0 5px var(--line2)}
.eyebrow{font-size:12.5px;letter-spacing:.18em;color:var(--muted);font-family:var(--f-disp)}
.h-sec{font-family:var(--f-disp);font-weight:600;font-size:19px;letter-spacing:.1em;display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.h-sec::before{content:"";width:8px;height:8px;background:var(--accent);transform:rotate(45deg) translateY(-2px);flex:none;align-self:center}
.h-sec small{font-family:var(--f-body);font-weight:400;font-size:12.5px;letter-spacing:.02em;color:var(--muted)}
.h-sec .lnk{margin-left:auto;font-family:var(--f-body);font-weight:400;font-size:13px;letter-spacing:0;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:3px;font-weight:500;background:var(--card);color:var(--ink);border:1px solid var(--line);transition:transform .12s,background .2s,border-color .2s;letter-spacing:.06em;white-space:nowrap}
.btn:hover{border-color:var(--ink2)}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ink{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn.ghost{background:none;border-color:transparent}
.btn.ghost:hover{border-color:var(--line)}
.btn.sm{padding:4px 11px;font-size:13.5px}
.btn svg{width:16px;height:16px}
.btn[disabled]{opacity:.45;pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:3px;border:1px solid var(--line);background:var(--card);font-size:14px;color:var(--ink2);transition:background .15s,color .15s,border-color .15s}
.chip svg{width:18px;height:18px}
.chip:hover{border-color:var(--ink2);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip.sm{padding:2px 10px;font-size:13px}
.tag{display:inline-block;font-size:12px;padding:0 8px;border-radius:2px;background:var(--card2);color:var(--ink2);border:1px solid var(--line);line-height:1.8}
.tag.good{color:var(--leaf);border-color:color-mix(in srgb,var(--leaf) 50%,var(--line))}
.tag.bad{color:var(--berry);border-color:color-mix(in srgb,var(--berry) 50%,var(--line))}
.why{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:1px 10px 1px 8px;border-radius:2px;background:var(--accent-soft);color:var(--ink);font-family:var(--f-disp)}
.why::before{content:"";width:5px;height:5px;background:var(--accent);transform:rotate(45deg);flex:none}
.warn{font-size:13px;color:var(--berry);border:1px solid color-mix(in srgb,var(--berry) 40%,var(--line));border-radius:3px;padding:6px 10px;background:color-mix(in srgb,var(--berry) 7%,var(--card))}
.tipbox{background:color-mix(in srgb,var(--gold) 12%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:3px;padding:12px 14px;font-size:14px}
.tipbox b{font-family:var(--f-disp)}
.empty{padding:34px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:4px}
.empty b{display:block;font-family:var(--f-brush);font-weight:400;font-size:23px;color:var(--ink2);margin-bottom:4px}
.seg{display:flex;background:var(--card2);border-radius:3px;padding:3px;gap:3px;border:1px solid var(--line)}
.seg button{flex:1;padding:5px 8px;border-radius:2px;font-size:14px;color:var(--ink2);white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);font-weight:500}
.subnav{display:flex;gap:0;margin:-6px 0 20px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav button{padding:8px 16px 10px;font-family:var(--f-disp);font-weight:600;letter-spacing:.14em;color:var(--muted);position:relative;white-space:nowrap}
.subnav button[aria-pressed="true"]{color:var(--ink)}
.subnav button[aria-pressed="true"]::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:2px;background:var(--accent)}
details.more>summary{cursor:pointer;list-style:none;font-size:13px;color:var(--accent);font-family:var(--f-disp);display:inline-flex;align-items:center;gap:6px}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
details.more[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.vis-auto{content-visibility:auto;contain-intrinsic-size:auto 320px}

/* photo */
.photo{position:relative;display:block;width:100%;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:radial-gradient(ellipse 45% 32% at 47% 52%,color-mix(in srgb,var(--c,#8a5a3a) 70%,#2a1a10),#2a1a10 70%,#170d07);contain:paint}
.photo>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:opacity .45s}
.photo>img.on{opacity:1}
.photo .stm{position:absolute;left:var(--x);top:var(--y);width:26%;aspect-ratio:1/1.3;margin:-20% 0 0 -13%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.34),rgba(255,255,255,.09) 62%,transparent);opacity:0;animation:stm 6.4s ease-in infinite;pointer-events:none;will-change:transform,opacity}
.photo .stm:nth-of-type(2){left:calc(var(--x) - 13%);animation-delay:-2.1s}
.photo .stm:nth-of-type(3){left:calc(var(--x) + 12%);animation-delay:-4.2s}
@keyframes stm{0%{opacity:0;transform:translateY(30%) scale(.55)}30%{opacity:1}100%{opacity:0;transform:translate(-14%,-120%) scale(1.7)}}
.photo .bb{position:absolute;width:2.6%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.18);opacity:0;animation:bub 2.8s ease-out infinite;pointer-events:none}
@keyframes bub{0%{opacity:0;transform:scale(.2)}30%{opacity:1}82%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
.photo .gl{position:absolute;inset:0;pointer-events:none;-webkit-mask:radial-gradient(ellipse 34% 24% at var(--x) calc(var(--y) + 8%),#000 55%,transparent 100%);mask:radial-gradient(ellipse 34% 24% at var(--x) calc(var(--y) + 8%),#000 55%,transparent 100%)}
.photo .gl::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.2) 50%,transparent 62%);transform:translateX(-100%);animation:gl 8s ease-in-out infinite}
@keyframes gl{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* enter */
.enter>*{animation:rise .55s cubic-bezier(.2,.8,.3,1) both}
.enter>*:nth-child(2){animation-delay:.06s}.enter>*:nth-child(3){animation-delay:.12s}.enter>*:nth-child(4){animation-delay:.18s}
@keyframes rise{from{opacity:.001;transform:translateY(14px)}}
@keyframes sealIn{from{transform:scale(1.8) rotate(-20deg);opacity:0}}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:22px}
.hero>*{min-width:0}
.mount{position:absolute;right:0;top:-24px;width:min(640px,90%);height:auto;pointer-events:none;opacity:.6;z-index:-1}
.greet{font-family:var(--f-brush);font-size:clamp(34px,6vw,54px);line-height:1.15;letter-spacing:.02em;margin-top:6px}
.greet em{font-style:normal;color:var(--accent)}
.greet.s{font-size:clamp(28px,4.6vw,42px)}
.hero .sub{color:var(--ink2);margin-top:10px;max-width:58ch;font-family:var(--f-disp)}
.hero-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.almanac{display:grid;grid-template-columns:auto auto;gap:4px 16px;background:var(--card);border:1px solid var(--line);padding:14px 16px;border-radius:4px;box-shadow:inset 0 0 0 4px var(--card),inset 0 0 0 5px var(--line),var(--shadow);min-width:214px}
.al-date{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.al-date b{font-family:var(--f-disp);font-size:44px;line-height:1;color:var(--accent);font-weight:700}
.al-date span{font-size:12.5px;color:var(--ink2);font-family:var(--f-disp);line-height:1.5}
.al-cols{grid-column:1/-1;display:flex;flex-direction:row-reverse;gap:18px;justify-content:center;padding-top:6px}
.al-col{writing-mode:vertical-rl;display:flex;flex-direction:column;gap:6px;align-items:flex-start;font-family:var(--f-disp);font-size:15px;letter-spacing:.14em;color:var(--ink2);line-height:1.3}
.al-col span{white-space:nowrap}
.al-col i{font-style:normal;width:26px;height:26px;display:grid;place-items:center;writing-mode:horizontal-tb;font-family:var(--f-brush);font-size:18px;border-radius:2px}
.al-col i.yi{background:var(--accent);color:var(--accent-ink)}
.al-col i.ji{background:var(--ink);color:var(--bg)}
.al-sc{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:6px;font-size:12.5px;font-family:var(--f-disp)}
.al-sc span{color:var(--muted);font-size:12px}
@media (max-width:640px){.hero{grid-template-columns:minmax(0,1fr)}.almanac{grid-template-columns:auto minmax(0,1fr);justify-self:stretch}.al-date{grid-column:auto;border:0;padding:0;flex-direction:column;gap:2px}.al-cols{grid-column:auto;justify-content:flex-end}}

/* today */
.two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.two>*{min-width:0}
@media (max-width:980px){.two{grid-template-columns:minmax(0,1fr)}}
.checkin{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.ck-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start}
.ck-label{font-size:14px;color:var(--ink2);padding-top:4px;font-family:var(--f-disp);font-weight:600;letter-spacing:.2em}
@media (max-width:520px){.ck-row{grid-template-columns:minmax(0,1fr);gap:6px}.ck-label{padding-top:0}}
.moods{display:flex;gap:4px;flex-wrap:wrap}
.mood{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 5px 3px;border-radius:4px;width:60px;font-size:12px;color:var(--ink2);border:1px solid transparent}
.mood svg{width:34px;height:34px;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.mood:hover svg{transform:translateY(-3px) rotate(-6deg)}
.mood[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.ck-sum{font-size:13.5px;color:var(--ink2);border-top:1px dashed var(--line);padding-top:12px;font-family:var(--f-disp)}
.ck-sum b{color:var(--accent);font-weight:600}
.meals{display:flex;flex-direction:column;gap:18px}
.meal{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:box-shadow .3s}
.meal:hover{box-shadow:var(--shadow)}
.meal.now{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.meal-art{display:block;position:relative;overflow:hidden}
.meal-art .photo{height:100%;aspect-ratio:auto;min-height:250px}
.meal-body{padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.meal-top{display:flex;align-items:flex-start;gap:10px;font-size:13px}
.seal{writing-mode:vertical-rl;background:var(--accent);color:var(--accent-ink);font-family:var(--f-brush);font-size:16px;line-height:1;padding:5px 4px;border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--accent),inset 0 0 0 2.5px color-mix(in srgb,var(--accent-ink) 55%,transparent)}
.nowtag{border:1px solid var(--accent);color:var(--accent);font-size:11.5px;padding:0 7px;border-radius:2px;font-family:var(--f-disp);margin-top:2px}
.kc{margin-left:auto;font-family:var(--f-num);font-weight:700;font-size:17px}
.kc small{font-family:var(--f-body);font-weight:400;color:var(--muted);font-size:12px;margin-left:2px}
.dish{font-family:var(--f-brush);font-size:33px;line-height:1.2;letter-spacing:.03em}
.dish-btn{text-align:left}
.dish-btn:hover .dish{color:var(--accent)}
.desc{color:var(--ink2);font-size:14px}
.whys{display:flex;flex-wrap:wrap;gap:6px}
.meta{font-size:13px;color:var(--muted);display:flex;gap:0;flex-wrap:wrap}
.meta span+span::before{content:"·";margin:0 9px;color:var(--line)}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.logged{font-size:12.5px;color:var(--leaf);font-weight:500}
.alts-row{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--line);padding-top:10px;margin-top:2px}
.alts-l{font-size:12px;color:var(--muted);font-family:var(--f-disp);letter-spacing:.16em}
.alt-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.alt{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}
.alt .photo{border-radius:3px;transition:transform .25s}
.alt:hover .photo{transform:translateY(-2px)}
.alt>span:last-child{font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alt:hover>span:last-child{color:var(--accent)}
.meal.swap .meal-art .photo{animation:plateIn .7s cubic-bezier(.2,.9,.3,1)}
.meal.swap .meal-body>*{animation:rise .45s both}
@keyframes plateIn{from{transform:translateX(26%) rotate(7deg) scale(.92);opacity:0}}
@media (max-width:680px){.meal{grid-template-columns:minmax(0,1fr)}.meal-art .photo{aspect-ratio:4/3;min-height:0}.dish{font-size:30px}}

/* side cards */
.kcal-card{display:flex;flex-direction:column;gap:13px}
.ring-row{display:flex;align-items:center;gap:16px}
.ring{width:118px;height:118px;flex:none;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring-c b{font-family:var(--f-num);font-size:26px;line-height:1;font-weight:700}
.ring-c span{font-size:11.5px;color:var(--muted)}
.kstats{display:flex;flex-direction:column;gap:4px;font-size:13.5px;min-width:0;flex:1}
.kstats div{display:flex;justify-content:space-between;gap:8px}
.kstats b{font-family:var(--f-num)}
.macro{display:grid;grid-template-columns:44px minmax(0,1fr) 74px;align-items:center;gap:8px;font-size:12.5px}
.bar{height:6px;border-radius:1px;background:var(--card2);overflow:hidden}
.bar i{display:block;height:100%}
.macro .num{text-align:right;color:var(--ink2)}
.note{font-size:12.5px;background:var(--card2);border-radius:3px;padding:8px 12px;color:var(--ink2)}
.note button{color:var(--accent);font-weight:500}
.water{display:flex;gap:4px;flex-wrap:wrap}
.cup{width:25px;height:31px}
.tea-mini{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:center;text-align:left;width:100%}
.tea-mini .photo{border-radius:3px}
.tea-mini h4{font-family:var(--f-brush);font-size:23px}
.tea-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.tea-opts button{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}
.tea-opts .photo{border-radius:3px}
.tea-opts button>span:last-child{font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wuse{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.wuse div{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;color:var(--muted);text-align:center}
.wuse i{width:38px;height:38px;border-radius:3px;display:grid;place-items:center;font-style:normal;font-family:var(--f-brush);font-size:19px;color:#fff;opacity:.22;transition:opacity .4s,transform .4s}
.wuse .on i{opacity:1;transform:rotate(-6deg)}
.fast{display:flex;gap:14px;align-items:center}
.cycle-bar{display:flex;gap:2px}
.cycle-bar i{flex:1;height:9px;border-radius:1px;background:var(--card2)}
.cycle-bar i.p{background:var(--berry)}
.cycle-bar i.o{background:var(--yolk)}
.cycle-bar i.t{outline:2px solid var(--ink);outline-offset:1px}
.ask textarea{min-height:66px}
.ask-out{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.ask-reply{background:var(--card2);border-radius:3px;padding:12px 14px;font-size:14px;white-space:pre-wrap;font-family:var(--f-disp)}
.pick{display:flex;gap:10px;align-items:center;text-align:left;padding:6px;border-radius:4px;border:1px solid var(--line);background:var(--card);transition:border-color .2s;width:100%}
.pick:hover{border-color:var(--accent)}
.pick .photo{width:96px;flex:none;border-radius:2px}
.pick b{font-family:var(--f-brush);font-weight:400;font-size:20px;display:block;line-height:1.3}
.pick span{font-size:12.5px;color:var(--ink2)}
.pick .meta{font-size:12px}

/* recipes */
.search{position:relative;margin-bottom:16px}
.search input{padding:12px 16px 12px 42px;font-size:15.5px}
.search>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:var(--muted)}
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:20px}
.topic{position:relative;border-radius:4px;overflow:hidden;text-align:left;display:block}
.topic .photo{transition:transform 1s cubic-bezier(.2,.8,.3,1)}
.topic:hover .photo{transform:scale(1.06)}
.topic div{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;background:linear-gradient(transparent,rgba(15,8,4,.85));color:#F6EBDD}
.topic b{font-family:var(--f-brush);font-weight:400;font-size:22px;display:block;line-height:1.2}
.topic span{font-size:12px;opacity:.85}
.topic[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:2px}
.filters{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.f-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.f-row>.lab{font-size:13px;color:var(--ink2);width:44px;flex:none;font-family:var(--f-disp);font-weight:600;letter-spacing:.12em}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.grid.sm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rc{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;content-visibility:auto;contain-intrinsic-size:auto 280px}
.rc:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.rc .bd{padding:10px 13px 13px;display:flex;flex-direction:column;gap:3px}
.rc h4{font-family:var(--f-brush);font-size:23px;line-height:1.25}
.grid.sm .rc h4{font-size:18px}
.rc .mt{display:flex;gap:10px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.rc .miss{font-size:12px;color:var(--berry)}
.rc .hit{font-size:12px;color:var(--leaf)}
.rc .desc{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jitag{font-size:11px;color:var(--berry);border:1px solid var(--berry);padding:0 5px;border-radius:2px;margin-left:6px;font-family:var(--f-body);vertical-align:4px}
.stars{color:var(--gold);letter-spacing:1px;font-size:13px}
.more-btn{display:flex;justify-content:center;margin-top:18px}
.tea-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:20px}
.tea-hero>div:first-child .photo{height:100%;aspect-ratio:auto;min-height:270px}
.tea-hero>div:last-child{padding:22px 24px}
@media (max-width:700px){.tea-hero{grid-template-columns:minmax(0,1fr)}.tea-hero>div:first-child .photo{aspect-ratio:4/3;min-height:0}}
.tea-hero h2{font-family:var(--f-brush);font-size:40px;line-height:1.2}
.brew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.brew div{background:var(--card2);border-radius:3px;padding:8px 10px;text-align:center}
.brew b{display:block;font-family:var(--f-num);font-size:18px}
.brew span{font-size:11.5px;color:var(--muted)}
.caf{font-size:11.5px;padding:0 7px;border-radius:2px;border:1px solid var(--line);line-height:1.8}
.caf.c0{color:var(--leaf);border-color:var(--leaf)}
.caf.c2{color:var(--berry);border-color:var(--berry)}
.herb-sec{margin-bottom:24px}
.hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,170px);gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
.hscroll>*{scroll-snap-align:start}
.ingc{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:12px 14px;display:flex;flex-direction:column;gap:5px;content-visibility:auto;contain-intrinsic-size:auto 160px}
.ingc h4{font-family:var(--f-brush);font-size:22px;display:flex;align-items:center;gap:8px}
.ingc .xing{font-family:var(--f-body);font-size:11.5px;color:#fff;padding:0 7px;border-radius:2px}
.x-寒,.x-凉{background:var(--sky)}.x-平{background:var(--gold)}.x-温,.x-热{background:var(--accent)}
.ingc p{font-size:13px;color:var(--ink2)}
.seasonal{display:flex;flex-wrap:wrap;gap:6px}

/* plan */
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow-x:auto}
.wcol{display:flex;flex-direction:column;gap:6px;min-width:0}
.wh{display:flex;flex-direction:column;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-family:var(--f-disp)}
.wh b{font-size:20px;font-weight:700;line-height:1.1}
.wh span{font-size:11.5px;color:var(--muted)}
.wh.today b{color:var(--accent)}
.wh label{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);cursor:pointer}
.wh input{width:14px;height:14px;accent-color:var(--accent)}
.pcell{display:flex;flex-direction:column;gap:2px;text-align:left;border-radius:3px;padding:3px;border:1px solid transparent;position:relative}
.pcell:hover{border-color:var(--line)}
.pcell .photo{border-radius:2px}
.pcell span{font-size:12px;line-height:1.35;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcell em{font-style:normal;font-size:10.5px;color:var(--muted);letter-spacing:.1em}
.pcell.fixed::after{content:"定";position:absolute;top:6px;right:6px;width:18px;height:18px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--f-brush);font-size:12px;border-radius:2px}
.wtot{font-size:12px;text-align:center;color:var(--ink2);font-family:var(--f-num)}
@media (max-width:820px){.week{grid-template-columns:minmax(0,1fr);gap:14px}.wcol{display:grid;grid-template-columns:62px repeat(4,minmax(0,1fr));gap:6px;align-items:start}.wh{border:0;border-right:1px solid var(--line);padding:0 6px 0 0;height:100%;justify-content:center}.wtot{grid-column:1/-1;text-align:right}}
.shop-cat{margin-bottom:14px}
.shop-cat h4{font-family:var(--f-disp);font-weight:600;font-size:14px;letter-spacing:.16em;color:var(--ink2);margin-bottom:4px}
.shop-item{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px dashed var(--line);cursor:pointer}
.shop-item input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.shop-item.done .si-n{text-decoration:line-through;color:var(--muted)}
.si-n{flex:1;min-width:0}
.si-q{font-family:var(--f-num);color:var(--ink2);white-space:nowrap}
.si-f{display:block;font-size:11.5px;color:var(--muted)}

/* well */
.radar svg{width:100%;max-width:360px;height:auto;display:block;margin:0 auto}
.const-seal{width:78px;height:78px;flex:none;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--f-brush);font-size:30px;border-radius:4px;transform:rotate(-5deg);box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 5px color-mix(in srgb,var(--accent-ink) 60%,transparent);animation:sealIn .8s cubic-bezier(.3,1.6,.5,1) both}
.yj{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
@media (max-width:520px){.yj{grid-template-columns:minmax(0,1fr)}}
.lab-h{display:inline-block;font-family:var(--f-brush);font-size:17px;padding:0 10px;border-radius:2px;margin-bottom:6px;color:#fff}
.lab-h.n0{background:var(--sky)}.lab-h.n1{background:var(--gold)}.lab-h.n2{background:var(--accent)}.lab-h.n3{background:var(--ink);color:var(--bg)}
.qprog{height:4px;background:var(--card2);border-radius:2px;overflow:hidden;margin:4px 0 10px}
.qprog i{display:block;height:100%;background:var(--accent);transition:width .3s}
.qrow{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.qrow .seg{grid-column:2}
.qn{color:var(--accent);font-weight:700;font-family:var(--f-num)}
.qq{font-family:var(--f-disp)}
.qgrp{font-family:var(--f-brush);font-size:20px;color:var(--accent);margin-top:12px}
.tongues{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.tg-o{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--card);font-size:12.5px;color:var(--ink2);text-align:center}
.tg-o svg{width:64px;height:54px}
.tg-o[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.tg-o small{font-size:11px;color:var(--muted);line-height:1.3}
.sym-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.remedy{border:1px solid var(--line);border-radius:4px;padding:12px 14px;background:var(--card)}
.remedy h4{font-family:var(--f-brush);font-size:21px}
.sc-list{display:flex;flex-direction:column}
.sc-row{display:grid;grid-template-columns:28px 76px 60px minmax(0,1fr);gap:8px;align-items:baseline;padding:6px;border-bottom:1px dashed var(--line);font-size:13px}
.sc-row b{font-family:var(--f-brush);font-size:19px;font-weight:400;color:var(--ink2)}
.sc-row .sc-o{font-family:var(--f-disp);color:var(--ink2)}
.sc-row .sc-t{color:var(--muted)}
.sc-row.now{background:var(--accent-soft);border-radius:3px}
.sc-row.now b{color:var(--accent)}
.sc-row.now .sc-t{color:var(--ink)}
@media (max-width:520px){.sc-row{grid-template-columns:28px 70px minmax(0,1fr)}.sc-row .sc-t{grid-column:2/-1}}
.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}
.term{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border:1px solid var(--line);border-radius:3px;background:var(--card);font-size:11.5px;color:var(--muted)}
.term b{font-family:var(--f-brush);font-size:20px;font-weight:400;color:var(--ink2);line-height:1.3}
.term.cur{border-color:var(--accent);background:var(--accent-soft)}
.term.cur b{color:var(--accent)}
.term[aria-pressed="true"]{outline:2px solid var(--ink)}
.fest{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.fest b{font-family:var(--f-brush);font-size:21px;font-weight:400;min-width:3.5em}
.fest .num{margin-left:auto;font-size:13px;color:var(--accent)}

/* diary & me */
.diary-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start}
.diary-grid>*{min-width:0}
@media (max-width:900px){.diary-grid{grid-template-columns:minmax(0,1fr)}}
.cal-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cal-head h3{font-family:var(--f-disp);font-weight:600;font-size:20px;flex:1;letter-spacing:.08em}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .wd{font-size:12px;color:var(--muted);text-align:center;font-family:var(--f-disp)}
.cd{aspect-ratio:1/1.05;max-width:100%;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px 2px 6px;font-size:13px;border:1px solid transparent;background:var(--card2);position:relative}
.cd:hover{border-color:var(--line)}
.cd.out{visibility:hidden}
.cd .dn{font-family:var(--f-num);font-weight:600}
.cd .dk{font-family:var(--f-num);font-size:10.5px;color:var(--muted)}
.cd .dot{width:6px;height:6px;transform:rotate(45deg)}
.cd.today{border-color:var(--accent)}
.cd[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.cd[aria-pressed="true"] .dk{color:var(--bg)}
.cd .fc{width:15px;height:15px;position:absolute;top:3px;right:3px}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:10px;flex-wrap:wrap}
.legend i{display:inline-block;width:7px;height:7px;transform:rotate(45deg);margin-right:6px}
.day-slot{border-top:1px dashed var(--line);padding-block:12px;display:flex;flex-direction:column;gap:8px}
.day-slot:first-of-type{border-top:0}
.ds-h{display:flex;align-items:center;gap:8px}
.ds-h b{font-family:var(--f-disp);font-weight:600;letter-spacing:.14em;font-size:14px;color:var(--ink2)}
.ds-h .num{margin-left:auto;font-weight:700}
.entry{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 5px;border-radius:3px;background:var(--card2)}
.entry .photo,.entry .ph0{width:60px;flex:none;border-radius:2px}
.ph0{aspect-ratio:4/3;background:var(--line2);display:grid;place-items:center;font-family:var(--f-brush);color:var(--muted);font-size:20px}
.entry .en{flex:1;min-width:0}
.entry .en b{font-weight:500;display:block;overflow-wrap:anywhere}
.entry .en span{font-size:12px;color:var(--muted)}
.x{width:28px;height:28px;border-radius:2px;display:grid;place-items:center;color:var(--muted);flex:none}
.x:hover{background:var(--line);color:var(--berry)}
.chart-wrap{overflow-x:auto}
.chart-wrap svg{display:block;width:100%;min-width:300px;height:auto}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stats3 div{background:var(--card2);border-radius:3px;padding:10px 12px;min-width:0}
.stats3 b{display:block;font-family:var(--f-num);font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats3 span{font-size:12px;color:var(--muted)}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.badge{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:12px;color:var(--muted);padding:8px 4px}
.badge i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--f-brush);font-size:22px;border:2px dashed var(--line);color:var(--line)}
.badge.on i{border:0;background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 5px color-mix(in srgb,var(--accent-ink) 50%,transparent)}
.badge.on{color:var(--ink2)}
.badge b{font-family:var(--f-disp);font-size:13px;color:inherit}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink2);min-width:0}
.form .full{grid-column:1/-1}
.res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.res div{background:var(--card2);border-radius:3px;padding:10px 14px}
.res b{display:block;font-family:var(--f-num);font-size:24px}
.res span{font-size:12px;color:var(--muted)}
.res .big{grid-column:1/-1;background:var(--accent);color:var(--accent-ink)}
.res .big span{color:inherit;opacity:.85}
.split{display:flex;border-radius:2px;overflow:hidden;height:28px;font-size:12px}
.split div{display:flex;align-items:center;justify-content:center;color:#fff;min-width:0;white-space:nowrap;overflow:hidden}
.sync{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.sync i{width:7px;height:7px;transform:rotate(45deg);background:var(--muted)}
.sync.ok i{background:var(--leaf)}
.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:color-mix(in srgb,var(--berry) 12%,var(--card));border-radius:3px;padding:10px 12px;font-size:13.5px}

/* sheet */
.sheet-wrap{position:fixed;inset:0;z-index:50;background:rgba(20,10,4,.55);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.sheet{background:var(--bg);width:100%;max-width:760px;max-height:92vh;max-height:92dvh;overflow:auto;border-radius:10px 10px 0 0;padding:0 0 calc(24px + env(safe-area-inset-bottom,0px));animation:up .35s cubic-bezier(.2,.9,.3,1);overscroll-behavior:contain}
@media (min-width:820px){.sheet-wrap{align-items:center}.sheet{border-radius:8px;max-height:90vh}}
.sheet-in{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sheet-in.pt{padding-top:24px}
.sheet-close{position:sticky;top:0;display:flex;justify-content:flex-end;padding:12px 12px 0;z-index:3;height:0;overflow:visible}
.sheet-close button{width:38px;height:38px;border-radius:50%;background:rgba(20,12,6,.55);color:#F6EBDD;display:grid;place-items:center}
@keyframes up{from{transform:translateY(50px);opacity:.3}}
@keyframes fade{from{opacity:0}}
.rd-art .photo{aspect-ratio:16/10}
.rd-h{padding-top:18px;display:flex;flex-direction:column;gap:8px}
.rd-h h2{font-family:var(--f-brush);font-size:42px;line-height:1.15}
.nutri{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}
.nutri div{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:8px 6px;text-align:center}
.nutri b{display:block;font-family:var(--f-num);font-size:19px}
.nutri span{font-size:11.5px;color:var(--muted)}
.rd-sec{margin-top:22px}
.rd-sec h3{font-family:var(--f-disp);font-weight:600;font-size:18px;letter-spacing:.12em;margin-bottom:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rd-sec h3::before{content:"";width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}
.stepper{display:inline-flex;align-items:center;gap:2px;margin-left:auto;font-family:var(--f-body);font-weight:400;letter-spacing:0;font-size:13.5px;background:var(--card);border:1px solid var(--line);border-radius:3px;padding:2px}
.stepper button{width:28px;height:28px;border-radius:2px;font-size:17px;line-height:1}
.stepper button:hover{background:var(--card2)}
.ing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
@media (max-width:520px){.ing{grid-template-columns:minmax(0,1fr)}}
.ing div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.ing div span:last-child{color:var(--ink2);font-family:var(--f-num);white-space:nowrap}
.ing-g{grid-column:1/-1;font-size:12px;color:var(--muted);letter-spacing:.2em;padding-top:10px;border:0!important;font-family:var(--f-disp)}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;counter-increment:s}
.steps li::before{content:counter(s);width:26px;height:26px;border-radius:2px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--f-num);font-weight:700;font-size:13.5px}
.timer-btn{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:12.5px;padding:0 9px;border-radius:2px;border:1px solid var(--accent);color:var(--accent);vertical-align:1px}
.timer-btn svg{width:13px;height:13px}
.timer-btn:hover{background:var(--accent-soft)}
.sticky-acts{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 35%);padding-top:20px;margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.rate{display:flex;gap:4px}
.rate button{font-size:26px;color:var(--line);line-height:1}
.rate button.on{color:var(--gold)}

/* cook mode */
.cook{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--bg);display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));animation:fade .25s}
.cook-top{display:flex;align-items:center;gap:12px}
.cook-top h3{font-family:var(--f-brush);font-size:26px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cook-top button{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center}
.cook-prog{display:flex;gap:4px;margin:16px 0}
.cook-prog i{flex:1;height:3px;background:rgba(255,255,255,.18);border-radius:2px}
.cook-prog i.on{background:var(--accent)}
.cook-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;max-width:760px;margin:0 auto;width:100%;min-height:0}
.cook-body .eyebrow{color:rgba(255,255,255,.55)}
.cook-step{font-family:var(--f-disp);font-size:clamp(24px,4.4vw,38px);line-height:1.5}
.cook-acts{display:flex;gap:10px;justify-content:space-between;max-width:760px;margin:0 auto;width:100%}
.cook-acts .btn{flex:1;padding:14px;font-size:16px;background:rgba(255,255,255,.08);color:var(--bg);border-color:rgba(255,255,255,.2)}
.cook-acts .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.cook-ing{font-size:14px;color:rgba(255,255,255,.7);display:flex;flex-wrap:wrap;gap:6px 14px}

/* wheel, timer, toast, stamp */
.wheel-box{position:relative;width:min(320px,80vw);margin:10px auto}
.wheel-box svg{width:100%;height:auto;display:block}
#wheel{transition:transform 4s cubic-bezier(.15,.85,.2,1);transform-origin:50% 50%}
.pin{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:24px solid var(--accent);z-index:2}
.wheel-res{text-align:center;min-height:74px}
.wheel-res b{font-family:var(--f-brush);font-weight:400;font-size:34px;display:block;animation:rise .5s both}
.timer{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);color:var(--bg);border-radius:4px;padding:8px 10px 8px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}
@media (max-width:819px){.timer{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
.timer b{font-family:var(--f-num);font-size:18px}
.timer button{width:28px;height:28px;border-radius:2px;background:rgba(255,255,255,.15)}
.timer.ring-now{background:var(--accent);animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.05)}}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:70;background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:3px;font-size:14px;box-shadow:var(--shadow);animation:fade .25s;max-width:calc(100% - 32px)}
@media (max-width:819px){.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}
.stamp{position:fixed;left:50%;top:45%;z-index:80;pointer-events:none;width:150px;height:150px;margin:-75px 0 0 -75px;animation:stamp 1.5s cubic-bezier(.3,1.4,.5,1) both}
.stamp svg{width:100%;height:100%}
@keyframes stamp{0%{transform:scale(2.4) rotate(-24deg);opacity:0}22%{transform:scale(.94) rotate(-9deg);opacity:1}30%{transform:scale(1) rotate(-9deg)}78%{opacity:1}100%{opacity:0;transform:scale(1) rotate(-9deg)}}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}#wheel{transition:transform .01s!important}.photo .stm,.photo .bb,.photo .gl{display:none}}

/* ===== 东北大花布 ===== */
:root[data-style="dongbei"]{
  --huabu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Crect width='160' height='160' fill='%23D2131B'/%3E%3Cellipse cx='22' cy='30' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 22 30%29'/%3E%3Cpath d='M12 30 L32 30' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 22 30%29'/%3E%3Cellipse cx='64' cy='34' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 64 34%29'/%3E%3Cpath d='M54 34 L74 34' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 64 34%29'/%3E%3Cellipse cx='24' cy='62' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 24 62%29'/%3E%3Cpath d='M14 62 L34 62' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 24 62%29'/%3E%3Cellipse cx='62' cy='64' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 62 64%29'/%3E%3Cpath d='M52 64 L72 64' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 62 64%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 42 44%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 42 44%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 42 44%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 42 44%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 42 44%29'/%3E%3Cellipse cx='42' cy='32' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 42 44%29'/%3E%3Ccircle cx='42' cy='44' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='42' cy='38' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 42 44%29'/%3E%3Cellipse cx='42' cy='38' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 42 44%29'/%3E%3Cellipse cx='42' cy='38' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 42 44%29'/%3E%3Cellipse cx='42' cy='38' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 42 44%29'/%3E%3Cellipse cx='42' cy='38' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 42 44%29'/%3E%3Ccircle cx='42' cy='44' r='4.5' fill='%23F7C531'/%3E%3Cellipse cx='102' cy='108' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 102 108%29'/%3E%3Cpath d='M92 108 L112 108' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 102 108%29'/%3E%3Cellipse cx='144' cy='112' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 144 112%29'/%3E%3Cpath d='M134 112 L154 112' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 144 112%29'/%3E%3Cellipse cx='104' cy='140' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 104 140%29'/%3E%3Cpath d='M94 140 L114 140' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 104 140%29'/%3E%3Cellipse cx='142' cy='142' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 142 142%29'/%3E%3Cpath d='M132 142 L152 142' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 142 142%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 122 122%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 122 122%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 122 122%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 122 122%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 122 122%29'/%3E%3Cellipse cx='122' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 122 122%29'/%3E%3Ccircle cx='122' cy='122' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='122' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 122 122%29'/%3E%3Cellipse cx='122' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 122 122%29'/%3E%3Cellipse cx='122' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 122 122%29'/%3E%3Cellipse cx='122' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 122 122%29'/%3E%3Cellipse cx='122' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 122 122%29'/%3E%3Ccircle cx='122' cy='122' r='4.5' fill='%23F7C531'/%3E%3Cellipse cx='102' cy='-52' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 102 -52%29'/%3E%3Cpath d='M92 -52 L112 -52' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 102 -52%29'/%3E%3Cellipse cx='144' cy='-48' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 144 -48%29'/%3E%3Cpath d='M134 -48 L154 -48' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 144 -48%29'/%3E%3Cellipse cx='104' cy='-20' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 104 -20%29'/%3E%3Cpath d='M94 -20 L114 -20' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 104 -20%29'/%3E%3Cellipse cx='142' cy='-18' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 142 -18%29'/%3E%3Cpath d='M132 -18 L152 -18' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 142 -18%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 122 -38%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 122 -38%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 122 -38%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 122 -38%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 122 -38%29'/%3E%3Cellipse cx='122' cy='-50' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 122 -38%29'/%3E%3Ccircle cx='122' cy='-38' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='122' cy='-44' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 122 -38%29'/%3E%3Cellipse cx='122' cy='-44' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 122 -38%29'/%3E%3Cellipse cx='122' cy='-44' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 122 -38%29'/%3E%3Cellipse cx='122' cy='-44' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 122 -38%29'/%3E%3Cellipse cx='122' cy='-44' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 122 -38%29'/%3E%3Ccircle cx='122' cy='-38' r='4.5' fill='%23F7C531'/%3E%3Cellipse cx='-58' cy='108' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 -58 108%29'/%3E%3Cpath d='M-68 108 L-48 108' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 -58 108%29'/%3E%3Cellipse cx='-16' cy='112' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 -16 112%29'/%3E%3Cpath d='M-26 112 L-6 112' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 -16 112%29'/%3E%3Cellipse cx='-56' cy='140' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 -56 140%29'/%3E%3Cpath d='M-66 140 L-46 140' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 -56 140%29'/%3E%3Cellipse cx='-18' cy='142' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 -18 142%29'/%3E%3Cpath d='M-28 142 L-8 142' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 -18 142%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 -38 122%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 -38 122%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 -38 122%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 -38 122%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 -38 122%29'/%3E%3Cellipse cx='-38' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 -38 122%29'/%3E%3Ccircle cx='-38' cy='122' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='-38' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 -38 122%29'/%3E%3Cellipse cx='-38' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 -38 122%29'/%3E%3Cellipse cx='-38' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 -38 122%29'/%3E%3Cellipse cx='-38' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 -38 122%29'/%3E%3Cellipse cx='-38' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 -38 122%29'/%3E%3Ccircle cx='-38' cy='122' r='4.5' fill='%23F7C531'/%3E%3Cellipse cx='182' cy='108' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 182 108%29'/%3E%3Cpath d='M172 108 L192 108' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 182 108%29'/%3E%3Cellipse cx='224' cy='112' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 224 112%29'/%3E%3Cpath d='M214 112 L234 112' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 224 112%29'/%3E%3Cellipse cx='184' cy='140' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 184 140%29'/%3E%3Cpath d='M174 140 L194 140' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 184 140%29'/%3E%3Cellipse cx='222' cy='142' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 222 142%29'/%3E%3Cpath d='M212 142 L232 142' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 222 142%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 202 122%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 202 122%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 202 122%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 202 122%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 202 122%29'/%3E%3Cellipse cx='202' cy='110' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 202 122%29'/%3E%3Ccircle cx='202' cy='122' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='202' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 202 122%29'/%3E%3Cellipse cx='202' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 202 122%29'/%3E%3Cellipse cx='202' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 202 122%29'/%3E%3Cellipse cx='202' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 202 122%29'/%3E%3Cellipse cx='202' cy='116' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 202 122%29'/%3E%3Ccircle cx='202' cy='122' r='4.5' fill='%23F7C531'/%3E%3Cellipse cx='102' cy='188' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-30 102 188%29'/%3E%3Cpath d='M92 188 L112 188' stroke='%237CD38F' stroke-width='1' transform='rotate%28-30 102 188%29'/%3E%3Cellipse cx='144' cy='192' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2825 144 192%29'/%3E%3Cpath d='M134 192 L154 192' stroke='%237CD38F' stroke-width='1' transform='rotate%2825 144 192%29'/%3E%3Cellipse cx='104' cy='220' rx='14' ry='6' fill='%231E9A4A' transform='rotate%2830 104 220%29'/%3E%3Cpath d='M94 220 L114 220' stroke='%237CD38F' stroke-width='1' transform='rotate%2830 104 220%29'/%3E%3Cellipse cx='142' cy='222' rx='14' ry='6' fill='%231E9A4A' transform='rotate%28-35 142 222%29'/%3E%3Cpath d='M132 222 L152 222' stroke='%237CD38F' stroke-width='1' transform='rotate%28-35 142 222%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%280 122 202%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%2860 122 202%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%28120 122 202%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%28180 122 202%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%28240 122 202%29'/%3E%3Cellipse cx='122' cy='190' rx='11' ry='14' fill='%23F2507E' transform='rotate%28300 122 202%29'/%3E%3Ccircle cx='122' cy='202' r='15' fill='%23FF86A8'/%3E%3Cellipse cx='122' cy='196' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%2830 122 202%29'/%3E%3Cellipse cx='122' cy='196' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28102 122 202%29'/%3E%3Cellipse cx='122' cy='196' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28174 122 202%29'/%3E%3Cellipse cx='122' cy='196' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28246 122 202%29'/%3E%3Cellipse cx='122' cy='196' rx='6' ry='8' fill='%23FFC2D3' transform='rotate%28318 122 202%29'/%3E%3Ccircle cx='122' cy='202' r='4.5' fill='%23F7C531'/%3E%3Ccircle cx='124' cy='35' r='4' fill='%232F7DE0' transform='rotate%280 124 40%29'/%3E%3Ccircle cx='124' cy='35' r='4' fill='%232F7DE0' transform='rotate%2872 124 40%29'/%3E%3Ccircle cx='124' cy='35' r='4' fill='%232F7DE0' transform='rotate%28144 124 40%29'/%3E%3Ccircle cx='124' cy='35' r='4' fill='%232F7DE0' transform='rotate%28216 124 40%29'/%3E%3Ccircle cx='124' cy='35' r='4' fill='%232F7DE0' transform='rotate%28288 124 40%29'/%3E%3Ccircle cx='124' cy='40' r='2.6' fill='%23FFF6D6'/%3E%3Ccircle cx='40' cy='119' r='4' fill='%232F7DE0' transform='rotate%280 40 124%29'/%3E%3Ccircle cx='40' cy='119' r='4' fill='%232F7DE0' transform='rotate%2872 40 124%29'/%3E%3Ccircle cx='40' cy='119' r='4' fill='%232F7DE0' transform='rotate%28144 40 124%29'/%3E%3Ccircle cx='40' cy='119' r='4' fill='%232F7DE0' transform='rotate%28216 40 124%29'/%3E%3Ccircle cx='40' cy='119' r='4' fill='%232F7DE0' transform='rotate%28288 40 124%29'/%3E%3Ccircle cx='40' cy='124' r='2.6' fill='%23FFF6D6'/%3E%3Ccircle cx='84' cy='81' r='4' fill='%23F7C531' transform='rotate%280 84 86%29'/%3E%3Ccircle cx='84' cy='81' r='4' fill='%23F7C531' transform='rotate%2872 84 86%29'/%3E%3Ccircle cx='84' cy='81' r='4' fill='%23F7C531' transform='rotate%28144 84 86%29'/%3E%3Ccircle cx='84' cy='81' r='4' fill='%23F7C531' transform='rotate%28216 84 86%29'/%3E%3Ccircle cx='84' cy='81' r='4' fill='%23F7C531' transform='rotate%28288 84 86%29'/%3E%3Ccircle cx='84' cy='86' r='2.6' fill='%23FFF6D6'/%3E%3Ccircle cx='10' cy='79' r='4' fill='%23FFFFFF' transform='rotate%280 10 84%29'/%3E%3Ccircle cx='10' cy='79' r='4' fill='%23FFFFFF' transform='rotate%2872 10 84%29'/%3E%3Ccircle cx='10' cy='79' r='4' fill='%23FFFFFF' transform='rotate%28144 10 84%29'/%3E%3Ccircle cx='10' cy='79' r='4' fill='%23FFFFFF' transform='rotate%28216 10 84%29'/%3E%3Ccircle cx='10' cy='79' r='4' fill='%23FFFFFF' transform='rotate%28288 10 84%29'/%3E%3Ccircle cx='10' cy='84' r='2.6' fill='%23FFF6D6'/%3E%3Ccircle cx='150' cy='-1' r='4' fill='%23F7C531' transform='rotate%280 150 4%29'/%3E%3Ccircle cx='150' cy='-1' r='4' fill='%23F7C531' transform='rotate%2872 150 4%29'/%3E%3Ccircle cx='150' cy='-1' r='4' fill='%23F7C531' transform='rotate%28144 150 4%29'/%3E%3Ccircle cx='150' cy='-1' r='4' fill='%23F7C531' transform='rotate%28216 150 4%29'/%3E%3Ccircle cx='150' cy='-1' r='4' fill='%23F7C531' transform='rotate%28288 150 4%29'/%3E%3Ccircle cx='150' cy='4' r='2.6' fill='%23FFF6D6'/%3E%3Ccircle cx='80' cy='20' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='100' cy='60' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='20' cy='100' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='60' cy='150' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='150' cy='80' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='70' cy='110' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='110' cy='150' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3Ccircle cx='140' cy='30' r='1.6' fill='%23FFE7EE' opacity='.8'/%3E%3C/svg%3E");
  --bg:#FFF6EA; --bg2:#FFE8D3; --card:#FFFFFF; --card2:#FFF0E6; --ink:#2A140C; --ink2:#5A3424; --muted:#9A6B55; --line:#F2CDB8; --line2:#FBE3D6;
  --accent:#E3161F; --accent-ink:#FFFFFF; --accent-soft:#FFE3E1; --gold:#F2A500; --leaf:#11994A; --berry:#E0157C; --sky:#1F6FD6; --yolk:#F2A500;
  --f-brush:"ZCOOL KuaiLe","Ma Shan Zheng","Yuanti SC",sans-serif; --f-disp:"ZCOOL KuaiLe","Noto Sans SC","PingFang SC",sans-serif;
  --paper:radial-gradient(circle,#F7D5C2 1.2px,transparent 1.6px);
}
@media (prefers-color-scheme: dark){:root[data-style="dongbei"]:not([data-theme="light"]){--bg:#1D0B09;--bg2:#2A110D;--card:#2A1310;--card2:#361A15;--ink:#FFEDE3;--ink2:#F2CBB9;--muted:#C2917B;--line:#4C2821;--line2:#3A1D18;--accent:#FF3D3D;--accent-ink:#FFFFFF;--accent-soft:#4A1A17;--leaf:#33CC6F;--gold:#FFC23D;--berry:#FF5AA5;--sky:#6AA8FF;--paper:radial-gradient(circle,#3A1C16 1.2px,transparent 1.6px)}}
:root[data-style="dongbei"][data-theme="dark"]{--bg:#1D0B09;--bg2:#2A110D;--card:#2A1310;--card2:#361A15;--ink:#FFEDE3;--ink2:#F2CBB9;--muted:#C2917B;--line:#4C2821;--line2:#3A1D18;--accent:#FF3D3D;--accent-ink:#FFFFFF;--accent-soft:#4A1A17;--leaf:#33CC6F;--gold:#FFC23D;--berry:#FF5AA5;--sky:#6AA8FF;--paper:radial-gradient(circle,#3A1C16 1.2px,transparent 1.6px)}
[data-style="dongbei"] body{background:var(--paper) 0 0/18px 18px,var(--bg)}
[data-style="dongbei"] .top{background:var(--huabu) 0 0/120px 120px}
[data-style="dongbei"] .top::after{height:4px;background:var(--gold)}
[data-style="dongbei"] .logo{color:#fff;font-family:var(--f-brush);text-shadow:0 2px 0 #8E0A10,2px 0 0 #8E0A10,-2px 0 0 #8E0A10,0 -2px 0 #8E0A10}
[data-style="dongbei"] .logo .lseal rect:first-child{fill:var(--leaf)}
[data-style="dongbei"] .nav button,[data-style="dongbei"] .acct{color:#fff;font-family:var(--f-disp);font-weight:400;text-shadow:0 1px 2px rgba(80,0,0,.6)}
[data-style="dongbei"] .nav button[aria-current="page"]{background:#fff;color:var(--accent);text-shadow:none;border-radius:999px}
[data-style="dongbei"] .nav button[aria-current="page"]::after{display:none}
@media (max-width:819px){[data-style="dongbei"] .nav{background:var(--card);border-top:5px solid transparent;border-image:var(--huabu) 30 round}[data-style="dongbei"] .nav button{color:var(--ink2);text-shadow:none}[data-style="dongbei"] .nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}}
[data-style="dongbei"] .card,[data-style="dongbei"] .almanac,[data-style="dongbei"] .tea-hero{border:5px solid transparent;border-radius:14px;background:linear-gradient(var(--card),var(--card)) padding-box,var(--huabu) 0 0/90px 90px border-box;box-shadow:0 6px 0 rgba(150,20,20,.12)}
[data-style="dongbei"] .meal{border:5px solid transparent;border-radius:16px;background:linear-gradient(var(--card),var(--card)) padding-box,var(--huabu) 0 0/90px 90px border-box}
[data-style="dongbei"] .meal.now{box-shadow:0 0 0 3px var(--gold)}
[data-style="dongbei"] .rc,[data-style="dongbei"] .ingc,[data-style="dongbei"] .remedy{border:2px solid var(--line);border-radius:14px}
[data-style="dongbei"] .seal{background:var(--leaf);border-radius:6px;box-shadow:none;font-size:17px;transform:rotate(-4deg)}
[data-style="dongbei"] .greet{font-family:var(--f-brush);text-shadow:3px 3px 0 #FFD54A}
[data-style="dongbei"] .greet em{color:var(--leaf)}
[data-style="dongbei"] .dish,[data-style="dongbei"] .rc h4,[data-style="dongbei"] .rd-h h2,[data-style="dongbei"] .tea-hero h2,[data-style="dongbei"] .tea-mini h4{font-family:var(--f-brush)}
[data-style="dongbei"] .h-sec{font-family:var(--f-disp);font-weight:400;letter-spacing:.04em}
[data-style="dongbei"] .h-sec::before{width:14px;height:14px;transform:none;border-radius:50%;background:radial-gradient(circle,#F7C531 0 25%,#F2507E 26% 100%)}
[data-style="dongbei"] .btn{border-radius:999px}
[data-style="dongbei"] .btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 0 #9E0D13}
[data-style="dongbei"] .btn.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #9E0D13}
[data-style="dongbei"] .chip,[data-style="dongbei"] .tag{border-radius:999px}
[data-style="dongbei"] .chip[aria-pressed="true"],[data-style="dongbei"] .seg button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
[data-style="dongbei"] .seg{border-radius:999px}[data-style="dongbei"] .seg button{border-radius:999px}
[data-style="dongbei"] .why{background:#FFF1B8;color:#5A3424;border-radius:999px}
[data-style="dongbei"] .why::before{background:var(--leaf);border-radius:50%;transform:none}
[data-style="dongbei"] .al-col i.yi{background:var(--accent)}[data-style="dongbei"] .al-col i.ji{background:var(--leaf);color:#fff}
[data-style="dongbei"] .mount{display:none}
[data-style="dongbei"] .hero::before{content:"";position:absolute;right:-10px;top:-30px;width:150px;height:150px;border-radius:50%;background:var(--huabu) 0 0/120px 120px;opacity:.9;z-index:-1;box-shadow:0 0 0 6px var(--gold)}
@media (max-width:640px){[data-style="dongbei"] .hero::before{width:96px;height:96px;top:-14px}}
[data-style="dongbei"] .subnav button[aria-pressed="true"]::after{height:4px;border-radius:2px;background:var(--accent)}
[data-style="dongbei"] .steps li::before{border-radius:50%;background:var(--leaf)}
[data-style="dongbei"] .const-seal{background:var(--accent);border-radius:50%}
[data-style="dongbei"] .sheet{border-top:6px solid transparent;border-image:var(--huabu) 30 round}
[data-style="dongbei"] .toast{background:var(--accent);border-radius:999px}

.acct{margin-left:6px}
@media (max-width:819px){.acct{margin-left:auto}}
