/* Taster: two A4 sheets. Every size inside a sheet scales with --s, which taster.js lowers until the content fits the page. */
.taster-page{background:#E9EDF2;color:#1B1F27}
.tbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;gap:16px;padding-inline:16px;padding-block:10px;background:color-mix(in srgb,#F2F4F7 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid #D8DDE4}
.tbar .brand{color:#1B1F27}
.tbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tbar .btn.quiet{color:#1B1F27;border-color:#D8DDE4;background:#FFFFFF}
.tmsg{max-width:640px;margin:48px auto 16px;padding-inline:16px;font-size:18px;color:#59606C}
.tpick{display:block;max-width:640px;margin:0 auto 48px;padding-inline:16px;font:inherit}

.sheets{display:grid;gap:24px;justify-items:center;padding-inline:16px;padding-block:24px 48px}
.sheet{--s:1;width:100%;max-width:210mm;background:#FFFFFF;color:#1B1F27;box-shadow:0 1px 2px rgba(20,30,50,.08),0 12px 32px rgba(20,30,50,.10);border-radius:6px;overflow:hidden}
.sheet.a4{width:210mm;height:297mm}
.sbody{height:100%;display:flex;flex-direction:column;gap:calc(4.2mm * var(--s));padding:calc(12mm * var(--s)) calc(13mm * var(--s)) calc(9mm * var(--s));font-size:calc(9.6pt * var(--s));line-height:1.42}
.sheet:not(.a4) .sbody{padding:20px 18px}
.sheet h1,.sheet h2,.sheet h3{font-family:var(--display);font-stretch:110%;font-weight:800;letter-spacing:-.01em;margin:0;text-wrap:balance}
.sheet h1{font-size:calc(25pt * var(--s));line-height:1.02;font-stretch:118%}
.sheet h2{font-size:calc(11.5pt * var(--s));line-height:1.15}
.sheet h3{font-size:calc(10.5pt * var(--s));line-height:1.2}
.sheet p{margin:0}
.sheet ul,.sheet ol{margin:0;padding-left:1.25em}

.shead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:calc(3mm * var(--s));border-bottom:2px solid #1B1F27;font-size:calc(8.6pt * var(--s))}
.sbrand{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:800;font-stretch:118%;font-size:calc(11pt * var(--s))}
.sbrand svg{width:1.6em;height:1.6em}
.smeta{display:flex;gap:1.1em;flex-wrap:wrap;justify-content:flex-end;color:#59606C;font-variant-numeric:tabular-nums}
.smeta b{color:#2459C9;font-weight:600}
.example-flag{align-self:flex-start;padding:.35em .9em;border-radius:99px;background:#FFF4CC;color:#7A5600;font-weight:600;font-size:calc(8.6pt * var(--s))}
.t-summary{color:#3B414D;max-width:62ch;font-size:calc(10.2pt * var(--s))}

.t-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:calc(4mm * var(--s))}
.t-goal,.t-targets{border-radius:calc(4mm * var(--s));padding:calc(3.6mm * var(--s)) calc(4mm * var(--s));display:grid;gap:.45em;align-content:start}
.t-goal{background:#1B1F27;color:#FFFFFF}
.t-goal h2{color:#AFC4FF}
.goal-line{display:flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:800;font-size:calc(17pt * var(--s));font-variant-numeric:tabular-nums;line-height:1.1}
.goal-line svg{width:1.7em;flex:none;color:#F2B300}
.goal-sub{color:#C9D0DB;font-size:calc(8.8pt * var(--s))}
.t-targets{background:#EEF2FB}
.t-targets ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(2.4mm * var(--s))}
.t-targets li{display:grid;gap:.1em}
.t-targets .v{font-family:var(--display);font-weight:800;font-size:calc(15pt * var(--s));line-height:1.05;font-variant-numeric:tabular-nums}
.t-targets .v small{font-family:var(--body);font-weight:500;font-size:.55em;color:#59606C;margin-left:.2em}
.t-targets .l{color:#59606C;font-size:calc(8.4pt * var(--s))}

.t-house{display:grid;gap:.5em}
.t-house ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.45em .5em}
.t-house li{display:inline-flex;align-items:center;gap:.45em;padding:.3em .8em .3em .45em;border:1px solid #D8DDE4;border-radius:99px;font-size:calc(8.8pt * var(--s))}
.t-house li i{width:.95em;height:.95em;border-radius:50%;background:var(--pc)}
.t-house li b{font-weight:600}
.t-house li span{color:#59606C}
.pc0{--pc:#2459C9}.pc1{--pc:#D9302F}.pc2{--pc:#F2B300}.pc3{--pc:#1E9E61}

.t-day{display:grid;gap:calc(3mm * var(--s))}
.small-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(3mm * var(--s))}
.meal{border:1px solid #D8DDE4;border-radius:calc(3.5mm * var(--s));padding:calc(3mm * var(--s)) calc(3.4mm * var(--s));display:grid;gap:.35em;align-content:start}
.meal .slot{display:flex;justify-content:space-between;gap:.6em;color:#2459C9;font-weight:600;font-size:calc(8.4pt * var(--s))}
.meal .slot span{color:#59606C;font-weight:500}
.meal ul{color:#3B414D}
.meal .mnote{color:#59606C;font-size:calc(8.4pt * var(--s))}
.dinner{border:2px solid #1B1F27;border-radius:calc(4mm * var(--s));padding:calc(3.6mm * var(--s)) calc(4mm * var(--s));display:grid;gap:.6em}
.dinner .dhead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3em 1em;align-items:baseline}
.dinner .dhead h3{font-size:calc(13pt * var(--s))}
.dinner .dmeta{display:flex;gap:1em;flex-wrap:wrap;color:#59606C;font-size:calc(8.6pt * var(--s));font-variant-numeric:tabular-nums}
.dinner .dmeta b{color:#1B1F27;font-weight:600}
.dcols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:calc(4mm * var(--s))}
.dcols h4{margin:0 0 .3em;font-size:calc(8.8pt * var(--s));color:#2459C9}
.dcols ol li,.dcols ul li{margin-bottom:.15em}
.swaps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4em 1.2em;padding-top:.55em;border-top:1px dashed #C9D0DB}
.swaps p{font-size:calc(8.8pt * var(--s))}
.swaps b{font-weight:600}

.t-shop{display:grid;gap:calc(2.6mm * var(--s))}
.shop-cols{columns:3;column-gap:calc(5mm * var(--s))}
.shop-sec{break-inside:avoid;margin-bottom:calc(3mm * var(--s))}
.shop-sec h3{font-size:calc(9pt * var(--s));color:#2459C9;margin-bottom:.25em}
.shop-sec ul{list-style:none;padding:0;display:grid;gap:.2em}
.shop-sec li{display:grid;grid-template-columns:1.1em minmax(0,1fr) auto;gap:.45em;align-items:baseline}
.shop-sec li::before{content:"";width:.85em;height:.85em;border:1.4px solid #8A93A3;border-radius:2px;transform:translateY(.1em)}
.shop-sec .qty{color:#59606C;font-variant-numeric:tabular-nums;text-align:right;max-width:7.5em}
.cupboard{padding:calc(2.4mm * var(--s)) calc(3.4mm * var(--s));border-radius:calc(3mm * var(--s));background:#F4F6F9;color:#3B414D;font-size:calc(8.8pt * var(--s))}
.cupboard b{color:#1B1F27}

.t-train{display:grid;gap:calc(2mm * var(--s))}
.t-train table{width:100%;border-collapse:collapse;font-size:calc(9pt * var(--s))}
.t-train th{text-align:left;font-weight:600;color:#59606C;border-bottom:1.5px solid #1B1F27;padding:.3em .4em .3em 0}
.t-train td{padding:.32em .4em .32em 0;border-bottom:1px solid #E3E8EF;font-variant-numeric:tabular-nums}
.t-train td:last-child,.t-train th:last-child{width:34%}
.tnote{color:#59606C;font-size:calc(8.4pt * var(--s))}

.t-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:calc(5mm * var(--s));align-items:start}
.t-week{display:grid;gap:calc(2mm * var(--s))}
.t-week ul{list-style:none;padding:0;display:grid;gap:.3em}
.t-week li{display:grid;grid-template-columns:6.6em minmax(0,1fr) 1em;gap:.5em;align-items:center;padding:.35em .6em;border-radius:calc(2mm * var(--s));background:#F4F6F9}
.t-week li b{font-weight:600}
.t-week li span{color:#3B414D}
.t-week li svg{width:1em;height:1em;color:#8A93A3}
.t-buy{display:grid;gap:calc(2.2mm * var(--s));padding:calc(4mm * var(--s));border-radius:calc(4mm * var(--s));background:#2459C9;color:#FFFFFF}
.t-buy h2{color:#FFFFFF;font-size:calc(14pt * var(--s))}
.t-buy p{color:#E3EAFF}
.buy-price{display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap}
.buy-price span{font-family:var(--display);font-weight:800;font-size:calc(24pt * var(--s));line-height:1;color:#FFFFFF}
.buy-price small{font-size:calc(9pt * var(--s));color:#E3EAFF}
.buy-row{display:flex;align-items:center;justify-content:space-between;gap:calc(3mm * var(--s))}
.t-buy .btn{background:#FFFFFF;color:#2459C9;border-color:#FFFFFF;min-height:0;padding:.7em 1.3em;font-size:calc(10pt * var(--s))}
.t-buy .btn[aria-disabled="true"]{opacity:.7;pointer-events:none}
.t-buy .tnote{color:#C9D6FF}
.t-buy .tnote a{color:#FFFFFF}
.qr{margin:0;width:calc(23mm * var(--s));flex:none;background:#FFFFFF;padding:calc(1.6mm * var(--s));border-radius:calc(1.6mm * var(--s))}
.qr svg{display:block;width:100%;height:auto}
.qr:empty{display:none}
.disclaimer{font-size:calc(7.6pt * var(--s));color:#59606C;margin-top:auto}
.sfoot{display:flex;justify-content:space-between;gap:12px;padding-top:calc(2mm * var(--s));border-top:1px solid #D8DDE4;color:#8A93A3;font-size:calc(7.6pt * var(--s));font-variant-numeric:tabular-nums}
.t-day + .sfoot{margin-top:auto}
.sbody > .sfoot:last-child{margin-top:auto}

@media (max-width:820px){
  .sheet:not(.a4) .t-top,.sheet:not(.a4) .small-meals,.sheet:not(.a4) .dcols,.sheet:not(.a4) .swaps,.sheet:not(.a4) .t-bottom{grid-template-columns:minmax(0,1fr)}
  .sheet:not(.a4) .t-targets ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet:not(.a4) .shop-cols{columns:2}
  .sheet:not(.a4) .smeta{display:none}
}

@page{size:A4;margin:0}
@media print{
  html,body{background:#FFFFFF!important}
  .tbar,.tmsg,.tpick{display:none!important}
  .sheets{display:block;padding:0}
  .sheet{width:210mm!important;height:297mm!important;max-width:none;box-shadow:none;border-radius:0;break-after:page;page-break-after:always}
  .sheet:last-child{break-after:auto;page-break-after:auto}
  .t-goal,.t-targets,.t-buy,.cupboard,.t-week li,.example-flag{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
