@font-face{font-family:"ZCOOL KuaiLe";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/zcool.woff2") format("woff2")}
@font-face{font-family:"Kalam";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/kalam.woff2") format("woff2")}
:root{
  --paper:#EAF0F5; --ink:#41352A; --ink-soft:#7C6C5B; --ink-faint:#AC9C89;
  --pink:#5F7799; --pink-soft:#E5EBF3; --butter:#E2B858; --butter-soft:#F7ECCC;
  --mint:#7FC3A4; --mint-soft:#E1F2E9; --sky:#5F7799; --sky-soft:#E5EBF3;
  --card:#FFFDF7; --warn:#A96F10; --warn-bg:#FCF0CE; --danger:#BE5147; --danger-bg:#FAE3DF;
  --wobble:18px 22px 20px 24px / 22px 18px 24px 20px;
  --wobble-sm:10px 13px 11px 14px / 13px 10px 14px 11px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background-color:var(--paper);
  background-image:radial-gradient(#D4DFEA 1.2px, transparent 1.2px);
  background-size:24px 24px;
  color:var(--ink);font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;overflow-x:hidden;
  font-size:15px;line-height:1.7;padding:calc(2.5rem + env(safe-area-inset-top)) calc(1.25rem + env(safe-area-inset-right)) calc(4rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left))
}
.wrap{max-width:620px;margin:0 auto}
header{display:flex;align-items:center;gap:16px;margin-bottom:.5rem}
h1{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;font-weight:400;font-size:27px;letter-spacing:.05em;
  text-decoration:underline wavy var(--pink) 2.5px;text-underline-offset:8px}
.sub{color:var(--ink-soft);font-size:13px;margin:1rem 0 2.2rem}
.cat-mark{flex:none;transform:rotate(-4deg);border-radius:50%;border:2.5px solid var(--ink);box-shadow:3px 3px 0 rgba(65,53,42,.15);object-fit:cover}
.lang-seg{margin-left:auto;align-self:center;flex:none;padding:2px}
.lang-seg button{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:12.5px;padding:3px 11px;letter-spacing:.02em}
section{margin-bottom:2.2rem;padding-top:1.7rem;border-top:2px dashed #C7D5E2}
.sec-label{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;font-weight:400;font-size:19px;letter-spacing:.04em;
  margin-bottom:1.1rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sec-label::before{content:"";width:32px;height:13px;background:var(--butter);opacity:.75;
  border-radius:2px 3px 2px 3px;transform:rotate(-5deg);flex:none}
section:nth-of-type(2) .sec-label::before{background:var(--mint)}
section:nth-of-type(3) .sec-label::before{background:var(--pink)}
section:nth-of-type(4) .sec-label::before{background:var(--pink)}
section:nth-of-type(5) .sec-label::before{background:var(--sky)}
.sec-label small{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:12px;color:var(--ink-faint);letter-spacing:0}
.cat-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 1.7rem}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:"ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14.5px;letter-spacing:.05em;color:var(--ink-soft);background:var(--card);
  border:2px solid var(--ink);border-radius:999px;padding:5px 16px;cursor:pointer;
  box-shadow:2px 2px 0 rgba(65,53,42,.12)}
.chip.on{background:var(--butter);color:var(--ink);transform:rotate(-1.2deg)}
.chip .del{font-family:sans-serif;font-size:13px;line-height:1;color:var(--ink-faint);
  border:0;background:none;cursor:pointer;padding:10px 6px;margin:-10px -8px -10px -4px}
.chip .del.arm{color:var(--danger);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:12px;font-weight:500}
.chip.on .del{color:var(--ink)}
.chip.add{border-style:dashed;color:var(--ink-faint);background:transparent;box-shadow:none;font-size:15px}
.row{display:flex;align-items:center;gap:12px;margin-bottom:.9rem;flex-wrap:wrap}
.row label{font-size:13.5px;color:var(--ink-soft);min-width:88px}
input[type=number],input[type=date],input[type=text],select{
  font-family:"Kalam","ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:15.5px;color:var(--ink);
  background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble-sm);
  padding:7px 12px;outline:none;min-width:0;box-shadow:2px 2px 0 rgba(65,53,42,.12)
}
select{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:13.5px}
input[type=number]{width:110px}
input[type=text]{width:150px;font-family:"ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;letter-spacing:.04em}
input[type=number]:focus,input[type=date]:focus,input[type=text]:focus,select:focus{box-shadow:2px 2px 0 rgba(65,53,42,.12),0 0 0 3.5px var(--pink-soft)}
select{cursor:pointer}
.seg{display:inline-flex;background:var(--card);border:2px solid var(--ink);border-radius:999px;
  padding:3px;box-shadow:2px 2px 0 rgba(65,53,42,.12)}
.seg button{font-family:"ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:13.5px;letter-spacing:.03em;
  border:0;background:transparent;color:var(--ink-soft);padding:4px 15px;border-radius:999px;cursor:pointer}
.seg button.on{background:var(--butter);color:var(--ink)}
.stage-badge{display:inline-flex;align-items:center;gap:7px;background:var(--pink-soft);color:#48607F;
  border:2px solid var(--ink);font-size:13px;font-weight:500;padding:4px 14px;border-radius:999px;
  transform:rotate(-1.2deg);box-shadow:2px 2px 0 rgba(65,53,42,.12)}
.stage-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--pink)}
.hint{font-size:12.5px;color:var(--ink-faint);margin-top:.2rem}
.food-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble);
  padding:1.05rem 1.2rem;margin-bottom:1rem;box-shadow:3px 4px 0 rgba(65,53,42,.14);position:relative}
.food-card:nth-of-type(odd){transform:rotate(-.35deg)}
.food-card:nth-of-type(even){transform:rotate(.3deg)}
.food-card::after{content:"";position:absolute;top:-9px;left:24px;width:46px;height:15px;
  border-radius:2px;transform:rotate(-3deg);opacity:.8}
.food-card:nth-of-type(2)::after{background:var(--mint-soft);border:1.5px solid var(--mint)}
.food-card:nth-of-type(3)::after{background:#FAE4D3;border:1.5px solid #E8A87C}
.food-card:nth-of-type(4)::after{background:var(--butter-soft);border:1.5px solid var(--butter)}
.food-card:nth-of-type(5)::after{background:#F0EADD;border:1.5px solid var(--ink-faint)}
.food-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.food-name{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;font-size:16.5px;letter-spacing:.04em;display:flex;align-items:baseline;gap:9px}
.food-tag{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:11.5px;color:var(--ink-faint);letter-spacing:0}
.food-card .row{margin-bottom:.55rem}
.food-card .row:last-child{margin-bottom:0}
.food-card input[type=number]{width:96px;padding:5px 10px;font-size:14.5px}
.food-card select{padding:5px 10px}
.food-card .row label{min-width:80px;font-size:13px}
.results{background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble);
  padding:1.4rem 1.5rem;box-shadow:4px 5px 0 rgba(65,53,42,.14);transform:rotate(-.3deg)}
.res-hero{margin-bottom:1.1rem}
.res-hero .who{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;font-size:19px;color:var(--pink);letter-spacing:.04em}
.res-hero .lead{font-size:14.5px;color:var(--ink-soft)}
.res-hero .big{font-family:"ZCOOL KuaiLe","Kalam","Yuanti SC","YouYuan",sans-serif;font-size:38px;line-height:1.15;color:var(--ink)}
.res-hero .big small{font-size:14px;color:var(--ink-faint);margin-left:4px;font-family:-apple-system,"PingFang SC",sans-serif}
.how{margin-top:1.1rem;border-top:2px dashed #E4D4B6;padding-top:.75rem}
.how summary{font-size:13px;color:var(--ink-soft);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px}
.how summary::before{content:"▸";transition:transform .15s;color:var(--pink)}
.how[open] summary::before{transform:rotate(90deg)}
.how p{font-size:12.5px;color:var(--ink-soft);margin-top:.5rem;line-height:1.8}
.how b{font-weight:500}
.res-top{display:flex;flex-wrap:wrap;gap:1.7rem;margin-bottom:1.15rem}
.res-item .k{font-size:12px;color:var(--ink-soft);margin-bottom:1px;letter-spacing:.03em}
.res-item .v{font-family:"ZCOOL KuaiLe","Kalam","Yuanti SC","YouYuan",sans-serif;font-size:29px;line-height:1.25;color:var(--ink)}
.res-top .res-item:nth-child(2) .v{color:var(--pink)}
.res-item .v small{font-size:13px;color:var(--ink-faint);margin-left:3px;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:#F3E9D3;
  border:2px solid var(--ink);margin-bottom:.7rem}
.bar div{height:100%}
.bar .b-wet{background:#8FCDB0}
.bar .b-hm{background:#EBAD82}
.bar .b-fd{background:#E2B858}
.bar .b-dry{background:#E2D8C6}
.legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:12.5px;color:var(--ink-soft)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:11px;height:11px;border-radius:3px 4px 3px 4px;border:1.5px solid var(--ink);display:inline-block}
.plan{margin-top:1.1rem;border-top:2px dashed #E4D4B6;padding-top:1.1rem;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:11px}
.plan .p{border:2px solid var(--ink);border-radius:var(--wobble-sm);padding:.65rem .85rem;
  box-shadow:2px 2px 0 rgba(65,53,42,.12)}
.plan .p:nth-child(1){background:var(--mint-soft);transform:rotate(-.8deg)}
.plan .p:nth-child(2){background:#FAE7D8;transform:rotate(.7deg)}
.plan .p:nth-child(3){background:var(--butter-soft);transform:rotate(-.5deg)}
.plan .p:nth-child(4){background:#F2ECDF;transform:rotate(.6deg)}
.plan .p .k{font-size:12px;color:var(--ink-soft);margin-bottom:0}
.plan .p .v{font-family:"ZCOOL KuaiLe","Kalam","Yuanti SC","YouYuan",sans-serif;font-size:20px}
.plan .p .v small{font-size:12px;color:var(--ink-soft);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.notice{border:2px solid var(--ink);border-radius:var(--wobble-sm);padding:.65rem 1rem;font-size:13px;
  margin-top:.9rem;display:none;box-shadow:2px 3px 0 rgba(65,53,42,.13);transform:rotate(.4deg)}
.notice.warn{display:block;background:var(--warn-bg);color:var(--warn)}
.notice.danger{display:block;background:var(--danger-bg);color:var(--danger);transform:rotate(-.4deg)}
.notice.info{display:block;background:var(--mint-soft);color:#2F7D5D}
.water{background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble);
  padding:1.3rem 1.5rem;box-shadow:3px 4px 0 rgba(65,53,42,.14);transform:rotate(.25deg)}
.water .v.w{color:var(--ink)}
.water .res-top .res-item:nth-child(3) .v{color:var(--sky)}
.wbar{background:#F0F0E6}
.wbar .wb-food{background:var(--sky)}
.wbar .wb-drink{background:#DEE6F1}
.wlegend{color:var(--ink-soft)}
.sched{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);
  border:2px solid var(--ink);border-radius:16px 19px 17px 20px/19px 16px 20px 17px;overflow:hidden;
  font-size:13.5px;box-shadow:3px 4px 0 rgba(65,53,42,.14)}
.sched th{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;font-weight:400;font-size:13.5px;letter-spacing:.05em;
  color:var(--ink);text-align:left;padding:9px 13px;border-bottom:2px dashed #E4D4B6;background:var(--butter-soft)}
.sched td{padding:9px 13px;border-bottom:2px dashed #EFE3CB;font-family:"Kalam","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.sched tbody tr:last-child td{border-bottom:none}
.sched .t{font-family:"ZCOOL KuaiLe","Yuanti SC","YouYuan","PingFang SC",sans-serif;color:var(--pink);white-space:nowrap;letter-spacing:.03em}
.sched .kc{color:var(--ink-faint);font-size:12.5px;white-space:nowrap}
.sched .zero{color:var(--ink-faint)}
input[type=checkbox]{accent-color:var(--pink)}
.btn{font-family:"ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;letter-spacing:.05em;
  color:var(--ink);background:var(--butter);border:2px solid var(--ink);border-radius:999px;
  padding:7px 20px;cursor:pointer;box-shadow:2px 2px 0 rgba(65,53,42,.14)}
.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(65,53,42,.14)}
.btn.ok{background:var(--mint-soft);border-color:var(--mint);color:#2F7D5D}
.btn.warnbtn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn);font-size:12.5px}
.wchart-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble);
  padding:1.1rem 1.2rem .9rem;box-shadow:3px 4px 0 rgba(65,53,42,.14);transform:rotate(-.25deg);margin-bottom:.9rem}
.wchart-card svg{width:100%;height:auto;display:block}
.wchart-empty{color:var(--ink-faint);font-size:13px;text-align:center;padding:1.2rem 0}
.wlog-list{display:flex;flex-direction:column;gap:6px;margin-top:.8rem}
.wlog-item{display:flex;align-items:center;gap:12px;font-size:13.5px;background:var(--card);
  border:2px solid var(--ink);border-radius:var(--wobble-sm);padding:6px 13px;
  box-shadow:2px 2px 0 rgba(65,53,42,.1)}
.wlog-item .d{font-family:"Kalam",sans-serif;color:var(--ink-soft);min-width:96px}
.wlog-item .w{font-family:"ZCOOL KuaiLe","Kalam",sans-serif;font-size:15.5px}
.wlog-item .diff{font-size:12px;color:var(--ink-faint);margin-left:auto}
.wlog-item .rm{border:0;background:none;color:var(--ink-faint);cursor:pointer;font-size:13px;padding:10px 12px;margin:-10px -12px}
section:nth-of-type(6) .sec-label::before{background:var(--sky)}
::selection{background:var(--pink-soft)}
footer{margin-top:2.4rem;font-size:12px;color:var(--ink-faint);line-height:1.8;
  border-top:2px dashed #C7D5E2;padding-top:1.2rem}
@media (max-width:560px){
  body{padding:calc(1.4rem + env(safe-area-inset-top)) calc(.9rem + env(safe-area-inset-right)) calc(3rem + env(safe-area-inset-bottom)) calc(.9rem + env(safe-area-inset-left));font-size:14.5px}
  header{gap:11px}
  .cat-mark{width:46px;height:46px}
  h1{font-size:21px;text-underline-offset:6px}
  .deco-paw{display:none}
  .sub{font-size:12px;margin:.8rem 0 1.8rem}
  section{margin-bottom:1.8rem;padding-top:1.4rem}
  .sec-label{font-size:17.5px}
  .row{gap:8px 10px;margin-bottom:.8rem}
  .row label{min-width:100%;font-size:13px;margin-bottom:-2px}
  .food-card .row label{min-width:100%}
  input[type=number]{width:104px}
  input[type=date]{width:100%;max-width:210px}
  select{flex:1;min-width:120px}
  .seg{flex-wrap:wrap}
  .seg button{padding:4px 12px;font-size:13px}
  .food-card{padding:.95rem 1rem;margin-bottom:1.1rem}
  .food-card::after{width:38px;height:13px;top:-8px;left:18px}
  .results,.water{padding:1.1rem 1.1rem}
  .res-top{gap:.8rem 1.4rem;margin-bottom:1rem}
  .res-item .v{font-size:24px}
  .res-hero .big{font-size:31px}
  .plan{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .plan .p .v{font-size:18px}
  .sched, .sched thead, .sched tbody, .sched tr, .sched td{display:block}
  .sched{border:none;box-shadow:none;background:transparent;border-radius:0;overflow:visible}
  .sched thead{display:none}
  .sched tr{background:var(--card);border:2px solid var(--ink);border-radius:var(--wobble-sm);
    box-shadow:2px 3px 0 rgba(65,53,42,.13);margin-bottom:.85rem;padding:.55rem .95rem .65rem}
  .sched tr:nth-child(odd){transform:rotate(-.4deg)}
  .sched tr:nth-child(even){transform:rotate(.35deg)}
  .sched td{border:none;padding:3px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .sched td::before{content:attr(data-label);color:var(--ink-faint);font-size:12px;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;flex:none}
  .sched td.t{font-size:17px;border-bottom:2px dashed #EFE3CB;padding-bottom:6px;margin-bottom:3px;justify-content:flex-start}
  .sched td.t::before{content:none}
  .sched td.kc{font-size:13px}
  .notice{font-size:12.5px;padding:.6rem .85rem}
  .legend{gap:.5rem .9rem;font-size:12px}
  .wlegend span{align-items:flex-start}
  .wlegend i{margin-top:4px}
}
