@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/ebgaramond-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/ebgaramond-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/ebgaramond-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/ebgaramond-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/IBMPlexSans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/IBMPlexSans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --serif:"EB Garamond",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* day: an herbal page on a scrubbed table */
  --bg:#f3ecdf;--bg2:#ebe1cf;--card:#fbf7ef;--ink:#231a12;--muted:#544536;--line:#cdbd9f;--line-soft:#e0d4bd;
  --acc:#7d2614;--am:#8f2a12;--gold:#5c3f08;--wood-filter:contrast(1.45) brightness(.86);
  --pw-hi:#f4f3ef;--pw1:#d2d1cb;--pw2:#aeada6;--pw3:#8f8e87;--pw-line:rgba(70,66,58,.35);--well:#e9e7e1;--well2:#cfcdc6;
  --fg:var(--ink);--mut:var(--muted);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#16110c;--bg2:#1d1711;--card:#211a13;--ink:#f0e7d6;--muted:#cdbfa8;--line:#4a3d30;--line-soft:#2f261d;
  --acc:#eb9a7c;--am:#f2a283;--gold:#e0b25a;--wood-filter:invert(.84) hue-rotate(180deg) saturate(.65) brightness(1.06) contrast(.92);
  --pw-hi:#8d8b84;--pw1:#5e5c56;--pw2:#45433e;--pw3:#2f2d29;--pw-line:rgba(230,225,210,.22);--well:#4b4943;--well2:#36342f;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#16110c;--bg2:#1d1711;--card:#211a13;--ink:#f0e7d6;--muted:#cdbfa8;--line:#4a3d30;--line-soft:#2f261d;
  --acc:#eb9a7c;--am:#f2a283;--gold:#e0b25a;--wood-filter:invert(.84) hue-rotate(180deg) saturate(.65) brightness(1.06) contrast(.92);
  --pw-hi:#8d8b84;--pw1:#5e5c56;--pw2:#45433e;--pw3:#2f2d29;--pw-line:rgba(230,225,210,.22);--well:#4b4943;--well2:#36342f;color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
svg[hidden]{display:none}
html{-webkit-text-size-adjust:100%;scroll-padding-top:60px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.2rem/1.58 var(--serif);overflow-x:hidden;
  background-image:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--line) 9%,transparent) 3px 4px)}
a{color:var(--acc);text-underline-offset:2px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
button{font:inherit;color:inherit}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:8px;top:8px;z-index:60;background:var(--card);padding:6px 10px}
i,em{font-style:italic}

/* top bar */
.topbar{position:fixed;inset:0 0 auto 0;height:44px;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 14px;
  background:var(--bg);border-bottom:1px solid var(--line-soft);font:500 .86rem/1 var(--sans)}
.topbar a{color:var(--ink);text-decoration:none}
.topbar .home{display:flex;align-items:center;gap:7px}
.topbar .home svg{width:18px;height:18px;color:var(--gold)}
.topbar nav{display:flex;align-items:center;gap:2px}
.topbar .jump{padding:8px 9px;border-radius:6px;color:var(--muted)}
.topbar .jump:hover{color:var(--ink)}
.topbar .lang{padding:8px 9px;font-weight:600}
.tbtn{width:44px;height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer;border-radius:50%}
.tbtn svg{width:17px;height:17px}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:720px){.topbar .jump{display:none}}

main{display:block;padding-top:44px}

/* hero */
.hero{max-width:52rem;margin:0 auto;padding:clamp(1.2rem,3.4vw,2.4rem) 16px .2rem;text-align:center}
.kicker{font:600 .78rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 .9rem}
h1{font:500 clamp(2rem,4.6vw,3.2rem)/1.06 var(--serif);letter-spacing:-.01em;margin:0 0 1rem;text-wrap:balance}
.deck{font-size:clamp(1.12rem,2.2vw,1.32rem);color:var(--muted);max-width:40rem;margin:0 auto;text-wrap:pretty}
.hero-meta{font:400 .86rem/1.4 var(--sans);color:var(--muted);margin:.8rem auto 0;max-width:36rem}
@media (max-width:620px){
  .hero{padding:.9rem 16px 0}
  .kicker{font-size:.66rem;margin-bottom:.5rem}
  h1{font-size:1.72rem;margin-bottom:.6rem}
  .deck{font-size:1.02rem;line-height:1.45}
  .hero-meta{font-size:.76rem;margin-top:.5rem}
  .table-sec{padding-top:.4rem}
  .picker{margin-top:.6rem}
}
.shared-note{margin:1rem auto 0;max-width:36rem;font:500 .95rem/1.4 var(--sans);color:var(--acc)}

/* picker */
.table-sec{max-width:68rem;margin:0 auto;padding:1.4rem 16px 2rem}
.picker{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:1.2rem 0 .6rem}
.pick-l{font:600 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dchips{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .55rem;max-width:58rem}
.dchip{flex:none;border:0;border-bottom:1px solid transparent;background:transparent;border-radius:0;padding:.28rem .5rem;min-height:36px;font:italic 400 1.02rem/1.2 var(--serif);cursor:pointer;color:var(--ink)}
.dchip:hover{color:var(--acc)}

.dchip[aria-pressed="true"]{color:var(--am);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.dchip.more{color:var(--muted);font:500 .8rem/1.2 var(--sans)}
@media (max-width:899px){
  .dchips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;width:calc(100% + 32px);max-width:none;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none}
  .dchips::-webkit-scrollbar{display:none}
  .dchips{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
  .dchip{min-height:42px}
}

/* the stage */
.stage-wrap{position:relative}
.stage{position:relative;width:100%;max-width:62rem;margin:0 auto;aspect-ratio:1.42;min-height:440px;--item:120px;
  background:radial-gradient(closest-side at 50% 52%,color-mix(in srgb,var(--bg2) 85%,transparent),transparent 100%)}
@media (max-width:620px){.stage{aspect-ratio:.74;min-height:0}}
/* pewter: cool grey, a lit rim, two hairlines at the well */
.plate{position:absolute;left:50%;top:50%;width:min(30%,20.5rem);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:var(--card);border:1.5px solid var(--ink);box-shadow:0 0 0 5px var(--card),0 0 0 6px color-mix(in srgb,var(--ink) 55%,transparent)}
/* hatched shadow, as an engraver would cut it: lower right only */
.plate::before{content:"";position:absolute;inset:-12px;border-radius:50%;z-index:-1;transform:translate(7px,9px);
  background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink) 55%,transparent) 0 1px,transparent 1px 4px);
  -webkit-mask:radial-gradient(circle at 42% 40%,transparent 58%,#000 60%);mask:radial-gradient(circle at 42% 40%,transparent 58%,#000 60%)}
@media (max-width:620px){.plate{width:44%}.plate .well{inset:17%}.pname{font-size:.98rem}.pcount{font-size:.6rem}}
.plate .rim{position:absolute;inset:7%;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 60%,transparent);
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--ink) 18%,transparent) 0 .5deg,transparent .5deg 6deg);
  -webkit-mask:radial-gradient(circle,transparent 66%,#000 67%);mask:radial-gradient(circle,transparent 66%,#000 67%)}
.plate .well{position:absolute;inset:19%;border-radius:50%;background:var(--card);border:1px solid color-mix(in srgb,var(--ink) 60%,transparent);
  box-shadow:0 0 0 3px var(--card),0 0 0 4px color-mix(in srgb,var(--ink) 30%,transparent);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4%;gap:.3rem}
.pyear{font:600 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);transition:color .5s}
.pname{font:italic 500 clamp(1rem,2.1vw,1.5rem)/1.08 var(--serif);text-wrap:balance;max-width:100%}
.pcount{font:500 clamp(.66rem,1.2vw,.78rem)/1.35 var(--sans);color:var(--muted);white-space:pre-line}
.stage[data-year="1491"] .pyear{color:var(--am);font:500 clamp(1.1rem,2vw,1.4rem)/1 var(--serif);letter-spacing:.06em}

.ring{position:absolute;inset:0}
.slot{position:absolute;width:calc(var(--item) * 1.3);transform:translate(-50%,-62%);display:grid;justify-items:center}
.slot > .ing{grid-area:1/1;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;
  transition:opacity .9s cubic-bezier(.4,0,.2,1) var(--delay,0ms),transform 1.1s cubic-bezier(.4,0,.2,1) var(--delay,0ms),filter .9s var(--delay,0ms)}
.ing .art{height:var(--item);width:100%;display:flex;align-items:flex-end;justify-content:center}
.ing.pic img{display:block;height:calc(100% * var(--s,1));width:auto;max-width:calc(var(--item) * 1.25);object-fit:contain;filter:var(--wood-filter)}
.ing figcaption{max-width:calc(var(--item) * 1.12);margin-left:auto;margin-right:auto}
/* no woodcut: an engraved roundel, the same weight as a drawing */
.roundel{width:calc(var(--item) * .6);height:calc(var(--item) * .6);margin-bottom:calc(var(--item) * .08);border-radius:50%;display:grid;place-items:center;
  font:italic 500 calc(var(--item) * .32)/1 var(--serif);color:var(--ink);
  border:1px solid color-mix(in srgb,var(--ink) 45%,transparent);
  box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 4px color-mix(in srgb,var(--ink) 30%,transparent);
  background:radial-gradient(circle at 40% 34%,var(--card),var(--bg2))}
/* a 14th-century miniature in an engraved ring */
.medal{width:calc(var(--item) * .66);height:calc(var(--item) * .66);margin-bottom:calc(var(--item) * .06);opacity:.88;border-radius:50%;padding:3px;
  border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);box-shadow:0 0 0 3px var(--bg),0 0 0 4px color-mix(in srgb,var(--ink) 25%,transparent)}
.medal img{display:block;width:100%;height:100%;border-radius:50%}
.is-am .roundel{color:var(--am);border-color:color-mix(in srgb,var(--am) 70%,transparent);box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 4px color-mix(in srgb,var(--am) 45%,transparent)}
.ing figcaption{margin-top:.25rem;line-height:1.15}
.ing .nm{display:block;font:italic 500 clamp(.86rem,1.35vw,1.02rem)/1.12 var(--serif);color:var(--ink)}
.ing .from{display:block;font:500 clamp(.62rem,1vw,.7rem)/1.25 var(--sans);letter-spacing:.02em;margin-top:.1rem}
.ing .inst{display:block;font:italic 400 clamp(.78rem,1.2vw,.9rem)/1.15 var(--serif);margin-top:.12rem}
.ing .from{color:var(--am)}
.ing .inst{color:var(--gold)}
.is-am .nm{color:var(--am)}
.is-sub{opacity:0;transform:scale(.94);filter:blur(2px);pointer-events:none}
/* 1491: with a substitute, the American item leaves and the substitute is stamped in; without one, a struck ghost stays */
.stage[data-year="1491"] .has-sub .is-am{opacity:0;transform:translateX(var(--dx)) scale(.88);filter:grayscale(1) blur(1px)}
.stage[data-year="1491"] .is-sub{opacity:1;transform:none;filter:none;transition-delay:calc(var(--delay,0ms) + .5s)}
.stage[data-year="1491"] .slot.am:not(.has-sub) .is-am{opacity:.62;transform:translateX(calc(var(--dx) * .5)) scale(.94);filter:grayscale(1)}
.stage[data-year="1491"] .slot.am:not(.has-sub) .is-am .nm{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--am)}
.stage.swap .ing{transition:none}
.reduce .slot > .ing{transition:opacity .2s}
@media (prefers-reduced-motion:reduce){.slot > .ing{transition:opacity .2s}.stage[data-year="1491"] .is-am{transform:none}}

.yearbar{display:flex;justify-content:center;align-items:center;margin:.2rem auto 0}
.go{min-height:48px;padding:.4rem 1.5rem;border-radius:999px;border:1px solid var(--am);background:var(--am);color:var(--bg);cursor:pointer;font:italic 500 1.2rem/1 var(--serif);
  box-shadow:0 10px 24px -14px color-mix(in srgb,var(--am) 80%,transparent)}
.go:hover{filter:brightness(1.08)}
.stage-wrap[data-year="1491"] .go{background:transparent;color:var(--am)}

/* desktop: text, choice and result on the left, the table on the right, in one screen */
@media (min-width:1100px){
  .top{display:grid;grid-template-columns:minmax(21rem,27rem) minmax(0,1fr);grid-template-areas:"hero stage" "picker stage" "result stage";
    grid-template-rows:auto auto 1fr;column-gap:2.4rem;max-width:92rem;margin:0 auto;padding:0 28px;align-items:start}
  .top .table-sec{display:contents}
  .top .hero{grid-area:hero;text-align:left;padding:2.2rem 0 0;max-width:none;margin:0}
  .top .hero .deck,.top .hero .hero-meta,.top .shared-note{margin-left:0;margin-right:0}
  .top .picker{grid-area:picker;align-items:flex-start;margin:1.3rem 0 .4rem}
  .top .dchips{justify-content:flex-start}
  .top .stage-wrap{grid-area:stage;position:sticky;top:52px;padding-top:.6rem}
  .top .stage{aspect-ratio:auto;height:min(calc(100vh - 132px),58rem);min-height:560px;max-width:none}
  .top .result{grid-area:result;margin:1rem 0 2rem;max-width:none}
  h1{font-size:clamp(2.1rem,2.9vw,2.9rem)}
}

/* result */
.result{max-width:42rem;margin:1.4rem auto 0;padding:1.2rem 1.3rem 1rem;background:var(--card);border:1px solid var(--line-soft);border-radius:4px}
.r-h{font:600 .74rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
#r-main{margin:0 0 .6rem;font-size:1.18rem}
.result h3{font:italic 500 1.15rem/1.2 var(--serif);margin:.9rem 0 .4rem;color:var(--gold)}
.subs{list-style:none;padding:0;margin:0}
.subs li{margin:0 0 .7rem;padding-left:.9rem;border-left:2px solid var(--line);font-size:1.04rem}
.subs b{font-weight:600}
.subs .inst{font:italic 400 1rem/1 var(--serif);color:var(--muted)}
.nosub{color:var(--muted);font-style:italic;margin:.4rem 0}
.clear{border:1px solid var(--line);background:transparent;border-radius:999px;min-height:40px;padding:.2rem .9rem;font:500 .85rem/1 var(--sans);cursor:pointer}
.r-clear{margin:.4rem 0 0}

/* share row */
.share-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:.8rem 0 0}
.share-row .lbl{font:500 .8rem/1 var(--sans);color:var(--muted);margin-right:4px}
.share-row a,.share-row button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-soft);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;padding:0}
.share-row a:hover,.share-row button:hover{border-color:var(--acc);color:var(--acc)}
.share-row svg{width:17px;height:17px}
.share-row .meta{font:.8rem var(--sans);color:var(--muted)}
@media (pointer:coarse){.share-row a,.share-row button{width:44px;height:44px}}

/* sections */
.sec{max-width:42rem;margin:0 auto;padding:3.2rem 16px 1rem}
.sec h2{font:500 clamp(1.7rem,3.6vw,2.3rem)/1.12 var(--serif);margin:0 0 1rem;text-wrap:balance}
.sec h2::before{content:"";display:block;width:2.4rem;height:2px;background:var(--acc);margin:0 0 1.1rem}
.sec p{margin:0 0 1rem;text-wrap:pretty}
.sec .big{font:italic 500 clamp(1.35rem,2.8vw,1.75rem)/1.3 var(--serif);text-align:center;margin:1.6rem 0;color:var(--acc)}
.more a{font:500 .95rem/1.3 var(--sans)}
.fig{margin:1.6rem 0;width:min(64rem,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%)}
.fig figcaption,.wood figcaption,.scan figcaption{font:400 .86rem/1.4 var(--sans);color:var(--muted);margin-top:.6rem}

/* recipes chart */
.rec{max-width:52rem}
.ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:1rem}
.ctrl-l{font:600 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:100%}
.presets,.chips{display:flex;flex-wrap:wrap;gap:6px}
.presets{margin-right:.4rem}
.presets button{border:0;border-bottom:1px solid var(--acc);background:transparent;border-radius:0;min-height:36px;padding:.25rem .3rem;font:600 .8rem/1 var(--sans);color:var(--acc);cursor:pointer}
.gchip{border:1px dashed var(--line);border-radius:999px;min-height:36px;padding:.25rem .75rem;font:italic 400 .95rem/1.1 var(--serif);cursor:pointer;background:transparent;color:var(--muted);text-decoration:line-through}
.gchip[aria-pressed="true"]{background:var(--card);border:1px solid var(--ink);color:var(--ink);text-decoration:none}
.bars{display:grid;gap:.45rem}
.cz{display:grid;grid-template-columns:minmax(9rem,13rem) 1fr 3.2rem;align-items:center;gap:.7rem;font:500 .9rem/1.2 var(--sans)}
.cz small{color:var(--muted);font-weight:400}
.ct{height:16px;background:var(--line-soft);border-radius:2px;overflow:hidden}
.cf{display:block;height:100%;width:var(--v);background:color-mix(in srgb,var(--am) 55%,var(--line));transition:width .5s cubic-bezier(.4,0,.2,1)}
.cz.eu .cf{background:var(--am)}
.cz.eu{font-weight:600}
.cv{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:620px){.bars,.pantry ol{padding-right:44px}}
@media (max-width:560px){.cz{grid-template-columns:1fr 3rem;row-gap:.2rem}.cz .ct{grid-column:1/-1;grid-row:2}}

/* books */
.books{max-width:52rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bk{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-top:2px solid var(--ink)}
.bk-v{font:500 clamp(2.4rem,6vw,3.6rem)/1 var(--serif);color:var(--am)}
.bk-t{height:6px;background:var(--line-soft)}
.bk-t span{display:block;height:100%;width:var(--v);background:var(--am)}
.bk-l{font:600 .86rem/1.3 var(--sans)}
.bk-n{font:400 .8rem/1.2 var(--sans);color:var(--muted)}
@media (max-width:620px){.books{grid-template-columns:1fr}}

/* galleries */
.gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1rem 1.6rem;margin:1.8rem 0;width:min(64rem,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%)}
.wood{margin:0;text-align:center;max-width:12rem}
.wood img{display:block;height:clamp(150px,22vw,240px);width:auto;max-width:100%;object-fit:contain;margin:0 auto;filter:var(--wood-filter)}
.wood figcaption{font-size:.78rem}
.wood.solo{max-width:24rem;margin:1.6rem auto}
.wood.solo img{height:clamp(240px,40vw,380px)}

/* pantry */
.pantry{max-width:48rem}
.pantry ol{list-style:none;margin:0;padding:0;columns:2;column-gap:2.4rem}
.pantry li{display:grid;grid-template-columns:7.4rem 1fr 2rem;align-items:center;gap:.5rem;font:500 .86rem/1.2 var(--sans);padding:.18rem 0;break-inside:avoid}
.pt{height:9px;background:var(--line-soft)}
.pt span{display:block;height:100%;width:var(--v);background:var(--gold)}
.pv{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
@media (max-width:620px){.pantry ol{columns:1}}

/* 1453 */
.venice{max-width:44rem}
.vleg{display:flex;gap:1.2rem;font:400 .82rem/1 var(--sans);color:var(--muted);margin-bottom:.6rem}
.vleg i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
.k0{background:var(--line)}.k1{background:var(--am)}
.vr{display:grid;grid-template-columns:8rem 1fr;align-items:center;gap:.6rem;margin:.5rem 0;font:500 .9rem/1.2 var(--sans)}
.vt{display:grid;gap:3px}
.v0,.v1{display:block;height:15px;width:var(--v);font:600 .72rem/15px var(--sans);text-align:right;padding-right:5px;color:var(--bg)}
.v0{background:var(--line);color:var(--ink)}.v1{background:var(--am)}
.pepper{max-width:52rem}
.pepper svg{width:100%;height:auto;display:block;font:400 11px var(--sans)}
.pb{fill:color-mix(in srgb,var(--muted) 40%,transparent)}
.pb.hi{fill:var(--am)}.pb.spike{fill:var(--gold)}
.gl{stroke:var(--line-soft)}
.ax{fill:var(--muted)}
.mk{stroke:var(--ink);stroke-dasharray:3 3}
.mkt{fill:var(--ink);font:600 11px var(--sans)}
.timeline{list-style:none;margin:1.6rem 0;padding:0;border-left:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:6.4rem 1fr;gap:.6rem;padding:.3rem 0 .3rem .9rem;position:relative;font-size:1.02rem}
.timeline li::before{content:"";position:absolute;left:-4px;top:.85rem;width:7px;height:7px;border-radius:50%;background:var(--line)}
.timeline b{font:600 .9rem/1.6 var(--sans);font-variant-numeric:tabular-nums}
.timeline li.hl::before{background:var(--am)}
.timeline li.hl b{color:var(--am)}
.pull{margin:2rem 0;padding:0 0 0 1.2rem;border-left:3px solid var(--acc)}
.pull p{font:italic 500 clamp(1.3rem,2.8vw,1.65rem)/1.3 var(--serif);margin:0 0 .5rem}
.pull footer{font:400 .84rem/1.3 var(--sans);color:var(--muted)}

/* the maize page */
.scan{margin:1.8rem auto;max-width:30rem}
.scan img{display:block;width:100%;height:auto;box-shadow:0 20px 40px -22px rgba(30,18,6,.55);border-radius:2px}

/* method */
.meth p{font-size:1.02rem;color:var(--muted)}
.meth h3{font:600 .8rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:2rem 0 .8rem}
.sources{padding-left:1.2rem;font:400 .84rem/1.45 var(--sans);color:var(--muted)}
.sources li{margin:.35rem 0}
.foot{max-width:42rem;margin:3rem auto 0;padding:1.4rem 16px 3rem;border-top:1px solid var(--line-soft);font:400 .84rem/1.5 var(--sans);color:var(--muted)}

/* rail */
.rail{display:none}
@media(min-width:1180px){
.rail{--col:64rem;--gut:1.25rem;display:flex;flex-direction:column;position:fixed;top:50%;left:calc(50% + var(--col)/2 + var(--gut));transform:translateY(-50%);z-index:30;margin:0;padding:.4rem 0;opacity:0;transition:opacity .4s}
body.railon .rail{opacity:1}
.rail::before{content:"";position:absolute;left:calc(.875rem - .5px);top:1.1rem;bottom:1.1rem;width:1px;background:var(--line)}
.rail-dot{position:relative;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;text-decoration:none;border-radius:50%}
.rail-dot .dot{width:6px;height:6px;border-radius:50%;background:var(--mut);box-shadow:0 0 0 3px var(--bg);transition:transform .2s,background .2s;flex:none}
.rail-dot:hover .dot,.rail-dot:focus-visible .dot{background:var(--acc);transform:scale(1.25)}
.rail-dot[aria-current=true] .dot{background:var(--acc);transform:scale(1.4)}
.rail-label{position:absolute;right:calc(100% + .3rem);top:50%;transform:translate(6px,-50%);padding:.22rem .65rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--fg);font:600 .8rem/1.3 var(--sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1;transform:translate(0,-50%)}
}
@media(min-width:1400px){
.rail-label{right:auto;left:calc(100% + .15rem);max-width:calc(50vw - var(--col)/2 - var(--gut) - 3.25rem);overflow:hidden;text-overflow:ellipsis;border-color:transparent;background:transparent;color:var(--mut);transform:translate(-4px,-50%)}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{color:var(--acc)}
}
@media print{.topbar,.rail,.share-row,.yearbar,.picker{display:none}}
