/* thisweek.menu: one stylesheet for every page.
   Direction A, "Shared note": the household note, made calm and permanent.
   Kitchen-sage ground (thyme in dark), plain sans, ruled lines, today marked with a dot. */

@font-face{font-family:'Onest';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/fonts/onest-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('/fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, 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:'Martian Mono';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('/fonts/martian-mono-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('/fonts/martian-mono-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}

:root{
  color-scheme:light dark;

  --ground:#EEF2EA;
  --ink:#1F261E;
  --secondary:#6C786A;
  --accent:#D9A200;
  --rule:#D5DECF;

  --body:'Onest', ui-sans-serif, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --mono:'Martian Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --t-label:0.6875rem;
  --t-small:0.875rem;
  --t-body:1.125rem;
  --t-wordmark:1.75rem;

  --text:30rem;
  --gap-section:4rem;
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#1A2318;
    --ink:#E6ECDF;
    --secondary:#9DAA96;
    --accent:#F2C230;
    --rule:#2F3A2B;
  }
}
@media (max-width:480px){ :root{--gap-section:3rem;} }

*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; background:var(--ground); color:var(--ink); font-family:var(--body);
  font-size:var(--t-body); line-height:1.5; -webkit-font-smoothing:antialiased;}

.page{max-width:calc(var(--text) + 2 * 24px); margin:0 auto;
  padding-block:clamp(3.5rem, 12vh, 7rem) 3rem;
  padding-left:max(24px, env(safe-area-inset-left, 0px)); padding-right:max(24px, env(safe-area-inset-right, 0px));
  display:flex; flex-direction:column; gap:var(--gap-section); min-height:100vh;}

a{color:inherit; text-decoration:none; border-bottom:1px solid var(--rule);}
a:hover{border-bottom-color:var(--ink);}
a:focus-visible, button:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:2px;}

.label{font-family:var(--mono); font-size:var(--t-label); letter-spacing:.08em; text-transform:uppercase; color:var(--secondary); margin:0;}

/* Letterhead */
.wordmark{font-size:var(--t-wordmark); font-weight:600; letter-spacing:-.01em; line-height:1.15; margin:0;}
.tagline{margin:.4rem 0 0; color:var(--secondary); text-wrap:balance;}

.garnish{display:block; height:21px; width:auto; color:var(--secondary); margin:0 0 1rem -2px; transform:rotate(-6deg); transform-origin:left center; overflow:visible;}

/* The week */
.week-head{display:flex; justify-content:space-between; gap:1rem; margin-bottom:.9rem;}
.days{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); transition:opacity .5s ease, transform .5s ease;}
.days.out{opacity:0; transform:translateY(4px);}
.days li{display:flex; gap:.75rem; align-items:baseline; padding:.55rem 0; border-bottom:1px solid var(--rule); min-height:2.75rem;}
.day{font-family:var(--mono); font-size:.75rem; color:var(--secondary); width:2.75rem; flex:none; position:relative;}
.today .day{color:var(--accent);}
.today .day::before{content:""; position:absolute; left:-.8rem; top:50%; width:.4rem; height:.4rem; margin-top:-.2rem; border-radius:50%; background:var(--accent);}
.dish{min-width:0;}
.dish:empty::after{content:"\00a0";}

/* Call to action */
.get{padding-block:.5rem 3rem;}
.soon{margin:0 0 1.25rem; color:var(--ink);}
.signup{display:flex; gap:.5rem; flex-wrap:wrap; align-items:flex-end;}
.signup input[type=email]{flex:1 1 12rem; min-width:0; font:inherit; font-size:1rem; color:var(--ink);
  background:transparent; border:0; border-bottom:1px solid var(--rule); padding:.6rem 0; border-radius:0;}
.signup input[type=email]::placeholder{color:var(--secondary);}
.signup input[type=email]:focus{outline:none; border-bottom-color:var(--accent);}
.signup button{font-family:var(--mono); font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
  background:var(--ink); color:var(--ground); border:0; padding:.8rem 1.1rem; border-radius:999px;}
.signup button[disabled]{opacity:.6; cursor:default;}
.hp{position:absolute; left:-9999px;}
.fine{font-size:var(--t-small); color:var(--secondary); margin:1rem 0 0;}
.fine.done{color:var(--ink);}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

/* Signature divider: place settings and plates. Each Plot Network app has its own. */
.sig{display:block; align-self:flex-start; height:20px; width:auto; color:var(--secondary); margin-top:auto; overflow:visible;}

/* Footer */
.footer{display:grid; gap:.9rem; font-size:var(--t-small); color:var(--secondary); margin-top:calc(-1 * var(--gap-section) + 1.5rem);}
.footer p{margin:0;}
.footer .links{display:flex; flex-wrap:wrap; gap:.4rem 1.25rem;}
.footer .links a, .footer .copyright{font-family:var(--mono); font-size:var(--t-label); letter-spacing:.08em; text-transform:uppercase;}
.footer .links a{border-bottom-color:transparent;}
.footer .links a:hover, .footer .links a[aria-current="page"]{border-bottom-color:currentColor;}

/* Inner pages */
.back{font-family:var(--mono); font-size:var(--t-label); letter-spacing:.08em; text-transform:uppercase; color:var(--secondary); border:0;}
.masthead{display:grid; gap:.75rem;}
.masthead h1{font-size:var(--t-wordmark); font-weight:600; letter-spacing:-.01em; line-height:1.15; margin:0;}
.doc{font-size:1rem;}
.doc h2{font-size:1rem; font-weight:600; margin:2rem 0 .5rem;}
.doc h2:first-child{margin-top:0;}
.doc p, .doc ul{margin:0 0 .75rem;}
.doc ul{padding-left:1.1rem;}
.doc li{margin-bottom:.4rem;}

@media (prefers-reduced-motion: reduce){ .days{transition:none;} }
