@font-face {
  font-family: Figtree;
  src: url(/consumer/figtree.woff2) format("woff2");
  font-weight: 450;
  font-display: swap;
}
@font-face {
  font-family: Figtree;
  src: url(/consumer/figtree-650.woff2) format("woff2");
  font-weight: 650;
  font-display: swap;
}
@font-face {
  font-family: Figtree;
  src: url(/consumer/figtree-700.woff2) format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Bricolage Grotesque";
  src: url(/consumer/bricolage.woff2) format("woff2");
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Figtree fallback";
  src: local("Arial"), local("ArialMT");
  size-adjust: 100%;
  ascent-override: 95%;
  descent-override: 25%;
  line-gap-override: 0%;
}
:root {
  color-scheme: light;
  --paper:#f7f9fc;
  --surface:#fff;
  --wash:#eef2f6;
  --sunk:#e3e9ef;
  --ink:#0e161c;
  --ink-2:#2a3844;
  --muted:#4f5f6b;
  --faint:#5d6974;
  --line:rgb(14 22 28 / .1);
  --line-strong:rgb(14 22 28 / .2);
  --line-field:rgb(14 22 28 / .52);
  --pass:#176b45;
  --pass-press:#10553a;
  --pass-live:#1f9d63;
  --pass-wash:#e6f3ec;
  --down:#a23a29;
  --down-wash:#f9ece8;
  --amber:#d4893a;
  --caution:#7a4d00;
  --amber-wash:#fdf1dc;
  --display:"Bricolage Grotesque",ui-rounded,system-ui,sans-serif;
  --body-font:"Figtree","Figtree fallback",ui-sans-serif,system-ui,sans-serif;
  --sm:.8125rem;
  --body:.875rem;
  --r-chip:6px;
  --r-ctl:10px;
  --r-card:16px;
  --r-pill:999px;
  --shadow-card:0 0 0 1px rgb(14 22 28 / .06),0 1px 2px rgb(14 22 28 / .04),0 12px 28px -18px rgb(14 22 28 / .18);
  --shadow-pop:0 0 0 1px rgb(14 22 28 / .08),0 18px 48px -12px rgb(14 22 28 / .28);
  --ease:cubic-bezier(.22,1,.36,1);
  --spring:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017 19.4%,1.067 22.2%,1.099 25.1%,1.108 27.2%,1.107 29.4%,1.086 33.3%,1.02 42.6%,1.001 47.1%,.991 52.4%,.998 68.6%,1);
  --t-fast:140ms;
  --t-med:240ms;
  --t-slow:420ms;
  font-family: var(--body-font);
  font-weight: 450;
  font-size: 16px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
  caret-color: var(--pass);
}
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
html {
  overflow-x: clip;
}
body {
  margin: 0;
  overflow-x: clip;
  background:
    radial-gradient(
      900px 420px at 8% -8%,
      #dfe8df 0%,
      transparent 55%),
    radial-gradient(
      700px 360px at 100% 0%,
      #e7efe8 0%,
      transparent 48%),
    var(--paper);
}
p {
  margin: 0;
}
button,
input {
  font: inherit;
}
::selection {
  background: color-mix(in srgb, var(--pass) 22%, #fff);
  color: var(--ink);
}
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .45rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-ctl);
  background: var(--surface);
  color: var(--ink);
  font-size: var(--body);
  font-weight: 650;
  cursor: pointer;
}
@media (hover:hover) {
  button:hover:enabled {
    background: var(--wash);
    border-color: var(--line-strong);
  }
}
button:disabled {
  background: var(--wash);
  color: var(--faint);
  border-color: transparent;
  cursor: default;
}
.primary {
  background: var(--pass);
  color: #fff;
  border-color: var(--pass);
}
@media (hover:hover) {
  .primary:hover:enabled {
    background: var(--pass-press);
    border-color: var(--pass-press);
    color: #fff;
  }
}
.primary:active:enabled {
  background: var(--pass-press);
  border-color: var(--pass-press);
}
input {
  min-height: 2.75rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: .6rem .8rem;
  border: 1px solid var(--line-field);
  border-radius: var(--r-ctl);
  background: var(--surface);
  color: var(--ink);
  font-size: 1rem;
}
input::placeholder {
  color: var(--faint);
}
input[aria-invalid=true] {
  border-color: var(--down);
}
:focus-visible {
  outline: 2px solid var(--pass);
  outline-offset: 2px;
}
input:focus-visible {
  outline: 2px solid var(--pass);
  outline-offset: 2px;
  border-color: var(--ink);
}
.skip {
  position: fixed;
  left: 0;
  top: -5rem;
  z-index: 30;
  transform: translateX(-100%);
  padding: .7rem 1rem;
  border-radius: var(--r-ctl);
  background: var(--ink);
  color: #fff;
  font-weight: 650;
}
.skip:focus {
  top: 1rem;
  left: 1rem;
  transform: none;
}
.error {
  margin: .5rem 0 0;
  font-size: var(--sm);
  font-weight: 650;
  color: var(--down);
}
.hint {
  color: var(--muted);
  font-size: var(--sm);
}
label {
  display: block;
  margin: 0 0 .4rem;
  padding: 0;
  font-size: var(--sm);
  font-weight: 650;
  color: var(--ink-2);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.65rem;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--ink);
  white-space: nowrap;
}
.brand-mark {
  display: block;
  flex: none;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 11px;
  object-fit: contain;
  box-shadow: 0 0 0 1px var(--line);
}
.brand-word span {
  display: inline-block;
  margin-left: .07em;
}
.eyebrow {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pass);
}
h1 {
  margin: .45rem 0 .5rem;
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}
h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 650;
  line-height: 1.25;
}
.intro {
  max-width: 62ch;
  color: var(--muted);
  font-size: 1rem;
  text-wrap: pretty;
}
.masthead {
  position: sticky;
  top: 0;
  z-index: 12;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 3.75rem;
  padding: .55rem 2rem;
  border-bottom: 1px solid var(--line);
}
.masthead::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--paper) 80%, transparent);
  -webkit-backdrop-filter: saturate(1.5) blur(16px);
  backdrop-filter: saturate(1.5) blur(16px);
}
.source-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: .15rem .75rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--muted);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
#logout {
  margin-inline-start: auto;
  min-height: 2.5rem;
  border-radius: var(--r-pill);
  padding-inline: 1rem;
  border-color: var(--line);
}
body.kitchen main {
  max-width: 50rem;
  margin: 0 auto;
  padding: 1.75rem 2rem 3rem;
}
.hero {
  margin: 0 0 1.5rem;
}
.entry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem .75rem;
  margin: 0 0 1rem;
}
#notice {
  flex: 1 1 18rem;
  padding: .6rem .9rem;
  border-radius: var(--r-ctl);
  background: var(--wash);
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
}
#notice:empty {
  flex: 0 0 0;
  padding: 0;
  background: none;
}
.entry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.entry-actions:not(:has(> :not([hidden]))) {
  display: none;
}
.entry:has(#notice:empty):not(:has(.entry-actions > :not([hidden]))) {
  margin: 0;
}
.entry-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .45rem 1.25rem;
  border-radius: var(--r-pill);
  background: var(--ink);
  color: #fff;
  font-size: var(--body);
  font-weight: 700;
  text-decoration: none;
}
@media (hover:hover) {
  .entry-action:hover {
    background: var(--ink-2);
  }
}
body.kitchen:has(#workspace[hidden]) .entry {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  grid-template-rows: 1fr auto auto 1fr;
  justify-items: start;
  gap: .75rem 1.25rem;
  max-width: 36rem;
  margin: 0;
  padding: 1.25rem 1.5rem 1.25rem 1.25rem;
  border-radius: var(--r-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
body.kitchen:has(#workspace[hidden]) .entry::before {
  content: "";
  grid-area: 1 / 1 / -1;
  width: 6.5rem;
  aspect-ratio: 1;
  background: url(/consumer/chef-cooking.webp) center / contain no-repeat;
}
body.kitchen:has(#workspace[hidden]) #notice {
  grid-area: 2 / 2;
  padding: 0;
  background: none;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 650;
}
body.kitchen:has(#workspace[hidden]) .entry-actions {
  grid-area: 3 / 2;
}
.book-entry {
  margin: 0 0 1.25rem;
}
.book-entry-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1rem;
  padding: 0 1.25rem 1.1rem;
}
.book-entry-actions .primary {
  min-height: 2.75rem;
  padding-inline: 1.5rem;
  border-radius: var(--r-pill);
}
.book-entry-actions .hint {
  margin: 0;
}
.book-entry-status {
  margin: 0;
  padding: 0 1.25rem 1.1rem;
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
}
.book-entry-status:empty {
  display: none;
}
.card {
  min-width: 0;
  border-radius: var(--r-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  overflow: clip;
  scroll-margin-top: 5rem;
}
.card-head {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1.1rem 1.25rem 1rem;
}
.card-icon {
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: .3rem;
  border-radius: var(--r-ctl);
  background: var(--wash);
  object-fit: contain;
}
.card-head .hint {
  margin-top: .15rem;
  max-width: 58ch;
}
#chef-form,
#ticket-form,
#table-form,
#chef-check-form {
  padding: 0 1.25rem 1.1rem;
}
.input-row {
  display: flex;
  gap: .5rem;
}
.input-row input {
  flex: 1;
}
.input-row button {
  flex: none;
}
.rows {
  list-style: none;
  margin: 0;
  padding: 0;
}
#chefs-section {
  margin: 0 0 1rem;
}
.chefs-more {
  display: flex;
  width: calc(100% - 2.5rem);
  margin: .75rem 1.25rem;
  border-radius: var(--r-pill);
}
.chefs-more[hidden] {
  display: none;
}
@media (width<72rem) {
  #chefs[data-folded] > li:nth-child(n+4) {
    display: none;
  }
}
.row {
  display: grid;
  align-items: center;
  gap: .75rem;
  padding: .6rem 1rem .6rem 1.25rem;
  border-top: 1px solid var(--line);
}
@media (hover:hover) {
  .row:hover {
    background: color-mix(in srgb, var(--wash) 45%, transparent);
  }
}
.chef-row {
  grid-template-columns: 2.25rem minmax(0, 1fr) auto;
}
.avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: hsl(var(--avatar-hue,210) 42% 92%);
  box-shadow: inset 0 0 0 1px var(--line);
  color: hsl(var(--avatar-hue,210) 38% 32%);
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1;
}
.chef-copy {
  display: grid;
  min-width: 0;
}
.chef-handle {
  font-weight: 650;
  overflow-wrap: anywhere;
}
.chef-meta {
  font-size: .75rem;
  color: var(--faint);
}
.remove {
  min-height: 2.75rem;
  padding-inline: .85rem;
  border-color: transparent;
  background: transparent;
  color: var(--muted);
  font-size: var(--sm);
}
@media (hover:hover) {
  .remove:hover:enabled {
    background: var(--down-wash);
    border-color: transparent;
    color: var(--down);
  }
}
.chef-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .2rem .5rem;
  min-width: 0;
}
.chef-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .75rem;
}
.verdict {
  display: inline-flex;
  align-items: center;
  min-height: 1.25rem;
  padding: 0 .5rem;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: var(--wash);
  color: var(--muted);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.verdict[data-verdict=still_cooking] {
  background: var(--pass-wash);
  color: var(--pass);
}
.verdict[data-verdict=send_back] {
  background: var(--amber-wash);
  color: var(--caution);
}
.verdict[data-verdict=unserved] {
  border-style: dashed;
  border-color: color-mix(in srgb, var(--caution) 50%, transparent);
  background: transparent;
  color: var(--caution);
}
.verdict[data-verdict=not_on_book] {
  border-style: dashed;
  border-color: var(--line-strong);
  background: transparent;
}
.verdict-unavailable {
  font-size: .75rem;
  color: var(--faint);
}
.receipt-link {
  display: inline-block;
  padding-block: .35rem;
  margin-block: -.35rem;
  color: var(--ink-2);
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
@media (hover:hover) {
  .receipt-link:hover {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: .15em;
  }
}
.receipt-link:active {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
:is(.stamp-guide, .term-guide) {
  border-top: 1px solid var(--line);
}
#chefs:empty ~ .stamp-guide {
  display: none;
}
:is(.stamp-guide, .term-guide) > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.75rem;
  padding: .6rem 1.25rem;
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
  list-style: none;
  cursor: pointer;
}
:is(.stamp-guide, .term-guide) > summary::-webkit-details-marker {
  display: none;
}
@media (hover:hover) {
  :is(.stamp-guide, .term-guide) > summary:hover {
    color: var(--ink);
  }
}
:is(.stamp-guide, .term-guide) > summary:focus-visible {
  outline-offset: -2px;
}
@supports (content:"x" / "") {
  :is(.stamp-guide, .term-guide) > summary::after {
    content: "+" / "";
    flex: none;
    color: var(--muted);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1;
  }
  :is(.stamp-guide, .term-guide)[open] > summary::after {
    content: "\2212" / "";
  }
}
:is(.stamp-guide, .term-guide) > dl {
  display: grid;
  gap: .85rem;
  margin: 0;
  padding: .15rem 1.25rem 1.15rem;
}
:is(.stamp-guide, .term-guide) dd {
  max-width: 58ch;
  margin: .3rem 0 0;
  color: var(--muted);
  font-size: var(--sm);
  text-wrap: pretty;
}
.term-guide dt {
  color: var(--ink);
  font-size: var(--sm);
  font-weight: 650;
}
.priced-tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.25rem;
  padding: 0 .5rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--ink-2);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.price-chef {
  min-height: 0;
  padding: .35rem .1rem;
  margin-block: -.35rem;
  border-color: transparent;
  background: transparent;
  color: var(--pass);
  font-size: .75rem;
  font-weight: 650;
  white-space: nowrap;
}
@media (hover:hover) {
  .price-chef:hover:enabled {
    background: transparent;
    border-color: transparent;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: .15em;
  }
}
.price-chef[aria-expanded=true] {
  color: var(--ink);
}
.swap {
  grid-column: 1 / -1;
  display: grid;
  gap: .5rem;
  margin: .1rem 0 .2rem;
  padding: .75rem;
  border-radius: var(--r-ctl);
  background: var(--wash);
}
.swap-prompt {
  margin: 0;
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
  overflow-wrap: anywhere;
}
.swap-choices {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.swap-choice {
  gap: .45rem;
  max-width: 100%;
  padding: .3rem .85rem .3rem .3rem;
  border-radius: var(--r-pill);
  overflow-wrap: anywhere;
}
.swap-choice .avatar {
  width: 1.75rem;
  height: 1.75rem;
  font-size: .6875rem;
}
.swap-cancel {
  border-color: transparent;
  background: transparent;
  color: var(--muted);
}
.price-status {
  margin: 0;
  padding: .7rem 1.25rem;
  border-top: 1px solid var(--line);
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
}
.price-status:empty {
  display: none;
}
.calls {
  margin: 0 0 1rem;
}
.calls .card-head {
  padding-bottom: .85rem;
}
.calls-chefs {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin: 0;
  padding: 0 1.25rem .9rem;
  list-style: none;
}
.calls-chefs li {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2rem;
  max-width: 100%;
  padding: .15rem .75rem .15rem .2rem;
  border-radius: var(--r-pill);
  background: var(--wash);
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
  overflow-wrap: anywhere;
}
.calls-chefs .avatar {
  width: 1.6rem;
  height: 1.6rem;
  font-size: .6875rem;
}
.calls-limit {
  margin: 0;
  padding: 0 1.25rem .9rem;
  color: var(--muted);
  font-size: var(--sm);
}
.calls-limit:empty {
  padding-block: 0;
}
.calls-status {
  margin: 0;
  padding: .75rem 1.25rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--sm);
  font-weight: 650;
}
.calls-status:empty {
  display: none;
}
.calls[data-stale] .calls-status {
  color: var(--caution);
}
.calls-new {
  margin: 0;
  padding: .75rem 1.25rem;
  border-top: 1px solid var(--line);
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
}
.call-new {
  padding: 0 .5rem;
  border-radius: var(--r-pill);
  background: var(--amber-wash);
  color: var(--caution);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.25rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.calls-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.call {
  display: grid;
  gap: .6rem;
  min-width: 0;
  padding: .85rem 1.25rem;
  border-top: 1px solid var(--line);
}
.call:focus-visible {
  outline-offset: -2px;
}
.call-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .6rem;
  min-width: 0;
}
.call-head .avatar {
  width: 1.75rem;
  height: 1.75rem;
  font-size: .6875rem;
}
.call-chef {
  font-weight: 650;
  overflow-wrap: anywhere;
}
.call-chain {
  padding: 0 .5rem;
  border-radius: var(--r-pill);
  background: var(--wash);
  color: var(--muted);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.25rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.call-times {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0 .6rem;
  margin-inline-start: auto;
  color: var(--faint);
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
}
:is(.call-posted, .call-observed, .call-revision) {
  white-space: nowrap;
}
@media (min-width:48rem) {
  .call-times > * + *::before {
    content: "\b7" / "";
    margin-inline-end: .6rem;
    color: var(--faint);
  }
}
.call-revision[data-revision=withdrawn] {
  color: var(--ink);
  font-weight: 650;
}
.call-token-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 .4rem;
  min-width: 0;
  margin: -.3rem 0 0;
  padding-inline-start: 2.35rem;
  color: var(--faint);
  font-size: .75rem;
}
.call-ticker {
  color: var(--ink);
  font-size: var(--sm);
  font-weight: 700;
  letter-spacing: .01em;
}
.call-token-picture {
  align-self: center;
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  background: var(--line);
}
.call-token-picture[hidden] {
  display: none;
}
.call-prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-radius: var(--r-ctl);
  background: var(--wash);
}
.call-price {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  align-content: start;
  row-gap: .2rem;
  min-width: 0;
  padding: .55rem .8rem .6rem;
  border-inline-start: 1px solid var(--line);
}
.call-price:first-child {
  border-inline-start: 0;
}
.call-prices[data-head-start] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.call-price dt {
  color: var(--muted);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.call-price dd {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .15rem .5rem;
  margin: 0;
  min-width: 0;
}
.price-usd {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.price-micro {
  -webkit-user-select: none;
  user-select: none;
}
.price-micro sub {
  margin-inline: .05em;
  font-size: .7em;
  line-height: 0;
  vertical-align: -.25em;
}
.price-at {
  color: var(--faint);
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.price-missing {
  color: var(--muted);
  font-size: var(--sm);
  overflow-wrap: anywhere;
}
.call-change {
  padding: 0 .45rem;
  border-radius: var(--r-pill);
  font-size: .75rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.call-change[data-direction=up] {
  background: var(--pass-wash);
  color: var(--pass);
}
.call-change[data-direction=down] {
  background: var(--down-wash);
  color: var(--down);
}
.call-unpriced {
  color: var(--muted);
  font-size: var(--sm);
}
.call-trace {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem 1rem;
  min-width: 0;
  color: var(--faint);
  font-size: .75rem;
}
.call-token-label {
  color: var(--muted);
  font-weight: 650;
}
.call-token {
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
:is(.call-copy, .call-copy-done) {
  display: none;
  min-width: max(1.5rem, 24px);
  min-height: max(2rem, 24px);
  margin-block: -.4rem;
  margin-inline-start: .5rem;
  padding: 0 .7rem;
  border-radius: var(--r-pill);
  color: var(--ink-2);
  font-size: .75rem;
  font-weight: 650;
  vertical-align: middle;
}
:is(.call-copy, .call-copy-done):active {
  background: var(--wash);
  border-color: var(--ink-2);
}
.call-copied {
  color: var(--ink-2);
  font-weight: 650;
}
.call-copied:not(:empty) {
  margin-inline-start: .5rem;
}
@media (hover: none) and (pointer: coarse) {
  :is(.call-copy, .call-copy-done) {
    display: inline-flex;
  }
}
@media (hover: none) and (pointer: coarse) {
  .call-token-line {
    row-gap: .375rem;
    margin-top: 0;
  }
  .call-token-line :is(.call-copy, .call-copy-done) {
    margin-block: 0;
  }
}
.call-post {
  display: inline-block;
  margin-inline-start: auto;
  padding-block: .35rem;
  margin-block: -.35rem;
  color: var(--muted);
  font-weight: 650;
  text-underline-offset: .15em;
  white-space: nowrap;
}
@media (hover:hover) {
  .call-post:hover {
    color: var(--ink);
  }
}
.call-post:active {
  color: var(--ink);
}
.calls-more {
  margin: .75rem 1.25rem 0;
  border-radius: var(--r-pill);
}
.calls-source {
  display: flex;
  flex-wrap: wrap;
  gap: .15rem 1rem;
  margin: 0;
  padding: .75rem 1.25rem 1rem;
  border-top: 1px solid var(--line);
  color: var(--faint);
  font-size: .75rem;
}
.calls-more:not([hidden]) + .calls-source,
.calls-more:not([hidden]) + .calls-history-controls[hidden] + .calls-source {
  margin-top: .75rem;
}
.paper-badge {
  align-self: center;
  margin-inline-start: auto;
  padding: 0 .5rem;
  border-radius: var(--r-pill);
  background: var(--amber-wash);
  color: var(--caution);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.25rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.paper-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .15rem .75rem;
  margin: 0;
  padding: .1rem 1.25rem 1rem;
  font-variant-numeric: tabular-nums;
}
.paper-headline-result {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.15;
}
.paper-headline-result[data-direction=up] {
  color: var(--pass);
}
.paper-headline-result[data-direction=down] {
  color: var(--down);
}
.paper-headline-words {
  color: var(--muted);
  font-size: var(--sm);
  text-wrap: pretty;
}
.paper-breakdown {
  border-top: 1px solid var(--line);
}
.paper-breakdown > summary {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .6rem 1.25rem;
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
  list-style: none;
  cursor: pointer;
}
.paper-breakdown > summary::-webkit-details-marker {
  display: none;
}
@media (hover:hover) {
  .paper-breakdown > summary:hover {
    color: var(--ink);
  }
}
.paper-breakdown > summary:focus-visible {
  outline-offset: -2px;
}
.paper-summary-count {
  color: var(--muted);
  font-weight: 450;
}
@supports (content:"x" / "") {
  .paper-breakdown > summary::after {
    content: "+" / "";
    margin-inline-start: auto;
    flex: none;
    color: var(--muted);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1;
  }
  .paper-breakdown[open] > summary::after {
    content: "\2212" / "";
  }
}
.paper-scroll {
  max-width: 34rem;
  margin: 0 1.25rem 1rem;
  overflow-x: auto;
}
.paper-scroll:has(> .paper-grid[hidden]) {
  display: none;
}
.paper-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--sm);
  font-variant-numeric: tabular-nums;
}
.paper-grid caption {
  padding: 0 0 .35rem;
  color: var(--ink-2);
  font-weight: 650;
  text-align: start;
}
.paper-grid :is(th, td) {
  padding: .4rem 0;
  border-top: 1px solid var(--line);
  text-align: start;
  vertical-align: baseline;
}
.paper-grid :is(th, td) + :is(th, td) {
  padding-inline-start: .75rem;
}
.paper-grid thead th {
  border-top: 0;
  color: var(--muted);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.paper-grid tbody th {
  color: var(--ink-2);
  font-weight: 450;
}
.paper-grid .paper-figure {
  text-align: end;
  white-space: nowrap;
}
.paper-grid td.paper-figure {
  font-weight: 650;
}
.paper-grid td[data-direction=up] {
  color: var(--pass);
}
.paper-grid td[data-direction=down] {
  color: var(--down);
}
.paper-grid td > [aria-hidden] {
  color: var(--faint);
  font-weight: 450;
}
.paper-each {
  margin: 0;
  padding: .25rem 1.25rem .35rem;
  color: var(--ink-2);
  font-size: var(--sm);
  font-weight: 650;
}
.paper-row {
  display: grid;
  gap: .15rem;
  min-width: 0;
  padding: .65rem 1.25rem;
  border-top: 1px solid var(--line);
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
  content-visibility: auto;
  contain-intrinsic-size: auto 5.5rem;
}
.paper-row p {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.paper-leg,
.paper-state {
  color: var(--muted);
}
.paper-row > .paper-result {
  justify-self: start;
  margin-top: .2rem;
  padding: .05rem .5rem;
  border-radius: var(--r-chip);
  background: var(--wash);
  font-weight: 650;
}
.paper-result[data-direction=up] {
  color: var(--pass);
  background: var(--pass-wash);
}
.paper-result[data-direction=down] {
  color: var(--down);
  background: var(--down-wash);
}
@media (min-width:40rem) {
  .paper-row {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1rem;
  }
  .paper-row > p {
    grid-column: 1;
  }
  .paper-row > .paper-result {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    margin-top: 0;
  }
}
.calls-source a {
  color: var(--muted);
  font-weight: 650;
  text-underline-offset: .15em;
}
@media (hover:hover) {
  .calls-source a:hover {
    color: var(--ink);
  }
}
.calls-source a:active {
  color: var(--ink);
}
.call-chart {
  grid-column: 1/-1;
  padding: .45rem .8rem .5rem;
  border-block-start: 1px solid var(--line);
}
.call-chart dd {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 3.25rem auto;
  grid-template-areas: "plot scale" "axis .";
  column-gap: .4rem;
  margin: 0;
  content-visibility: auto;
  contain-intrinsic-size: auto 4.5rem;
}
.chart-plot {
  grid-area: plot;
  min-width: 0;
  padding: .1875rem .25rem;
}
.call-chart svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.chart-scale {
  grid-area: scale;
  position: relative;
  min-width: 2.5rem;
}
.chart-axis {
  grid-area: axis;
  position: relative;
  height: .875rem;
  margin: .25rem .25rem 0;
  container-type: inline-size;
}
.call-chart[data-before] dd {
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  grid-template-areas: "before plot scale" "before axis .";
  column-gap: 0;
}
.call-chart[data-before] .chart-plot {
  padding-inline-start: 0;
}
.call-chart[data-before] .chart-axis {
  margin-inline-start: 0;
}
.call-chart[data-before] .chart-scale {
  margin-inline-start: .4rem;
}
.chart-before {
  grid-area: before;
  display: grid;
  grid-template-rows: subgrid;
  min-width: 0;
}
.chart-before svg {
  padding: .1875rem 0 .1875rem .25rem;
  border-radius: 4px 0 0 4px;
  background: var(--sunk);
}
.chart-before-axis {
  position: relative;
  height: .875rem;
  margin: .25rem 0 0 .25rem;
}
.chart-before-axis .chart-word {
  top: 0;
  left: 0;
}
@media (forced-colors:active) {
  .chart-before svg {
    outline: 1px solid GrayText;
    outline-offset: -1px;
  }
}
.chart-word {
  position: absolute;
  color: var(--muted);
  font-size: .625rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.chart-scale .chart-word {
  inset-inline-start: 0;
  top: calc(.1875rem + (100% - .375rem) * var(--at, .5));
  transform: translateY(-50%);
}
.chart-axis .chart-word {
  top: 0;
  left: calc(100% * var(--at, 0));
  transform: translateX(-50%);
}
.chart-axis .chart-word:first-child {
  transform: none;
}
.chart-axis .chart-word:last-child {
  transform: translateX(-100%);
}
@container (max-width:15rem) {
  .chart-tick {
    display: none;
  }
}
.call-chart path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.chart-post {
  stroke: var(--muted);
  stroke-width: 1px;
  stroke-dasharray: 2 3;
}
.chart-grid {
  stroke: var(--line-strong);
  stroke-width: 1px;
}
.chart-level {
  stroke: var(--muted);
  stroke-width: 1px;
  stroke-dasharray: 4 3;
  stroke-linecap: butt;
}
.chart-line {
  stroke: var(--muted);
  stroke-width: 1.5px;
}
.chart-lone {
  stroke: var(--muted);
  stroke-width: 3.5px;
}
.chart-dot {
  stroke: var(--ink-2);
  stroke-width: 5px;
}
.chart-plus60 {
  stroke-width: 4px;
}
.chart-now {
  stroke: var(--muted);
  stroke-width: 6px;
}
.call-chart:where([data-direction=up]) :is(.chart-line, .chart-lone, .chart-now) {
  stroke: var(--pass);
}
.call-chart:where([data-direction=down]) :is(.chart-line, .chart-lone, .chart-now) {
  stroke: var(--down);
}
@media (forced-colors:active) {
  .call-chart :is(.chart-line, .chart-lone, .chart-dot, .chart-now) {
    stroke: CanvasText;
  }
  .call-chart :is(.chart-post, .chart-level, .chart-grid) {
    stroke: GrayText;
  }
}
.empty {
  margin: 0;
  padding: 1.25rem 1.25rem 1.5rem;
  border-top: 1px solid var(--line);
  text-align: center;
  color: var(--muted);
  font-size: var(--sm);
}
.empty::before {
  content: "";
  display: block;
  width: 7rem;
  height: 7rem;
  margin: 0 auto .5rem;
  background: center / contain no-repeat;
}
#empty-chefs::before {
  background-image: url(/consumer/chef-empty-rail.webp);
}
#empty-tables::before {
  display: none;
}
.table-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.table-copy {
  display: grid;
  gap: .1rem;
  min-width: 0;
  padding-top: .45rem;
}
.table-name {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.table-count {
  font-size: .75rem;
  color: var(--faint);
}
.table-seats {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  min-width: 0;
}
.table-hint {
  font-size: var(--sm);
  color: var(--muted);
}
.seat {
  min-height: 2.75rem;
  padding: .35rem .8rem;
  border-radius: var(--r-pill);
  font-size: var(--sm);
  overflow-wrap: anywhere;
}
.seat[aria-pressed=true] {
  background: var(--pass-wash);
  border-color: color-mix(in srgb, var(--pass) 45%, transparent);
  color: var(--pass);
}
.seat[aria-pressed=true]::before {
  content: "\2713" / "";
}
.points {
  margin-top: 1.25rem;
}
#chef-check-allowance {
  margin: .5rem 0 0;
}
#chef-check-status {
  margin: 0 1.25rem .5rem;
}
#chef-check-status:empty {
  display: none;
}
.chef-checks-list {
  margin-top: .75rem;
}
.chef-check-row .chef-copy {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: .75rem;
}
.chef-check-state {
  justify-self: end;
  font-size: var(--sm);
  font-weight: 650;
  color: var(--ink-2);
  white-space: nowrap;
}
.chef-check-row[data-state=queued] .chef-check-state {
  color: var(--muted);
}
.chef-check-row .chef-meta {
  grid-column: 1 / -1;
}
.points-body {
  display: grid;
  gap: .6rem;
  min-width: 0;
  max-width: 34rem;
  padding: 0 1.25rem 1.25rem;
}
.points-balance {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.points-body label {
  margin: .2rem 0 0;
}
.points-body input {
  font-size: var(--sm);
  font-weight: 650;
  color: var(--ink-2);
}
#points-redeem {
  justify-self: start;
}
.account-links {
  margin: 1.25rem 0 0;
  padding-inline: 1.1rem;
}
.pass-bar {
  z-index: 10;
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 1.25rem 0 0;
  padding: .6rem .6rem .6rem 1.1rem;
  border-radius: var(--r-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
#workspace[data-unsaved] .pass-bar {
  position: sticky;
  bottom: 1rem;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  box-shadow: var(--shadow-pop);
  -webkit-backdrop-filter: saturate(1.5) blur(16px);
  backdrop-filter: saturate(1.5) blur(16px);
}
#workspace:not([data-unsaved]):has(#chefs:empty):has(#undo[hidden]) .pass-bar {
  display: none;
}
.pass-bar footer {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem .75rem;
  min-width: 0;
}
#save-status {
  flex: 1 1 9rem;
  font-size: var(--sm);
  font-weight: 650;
  color: var(--muted);
}
#save {
  flex: none;
  white-space: nowrap;
}
#undo {
  flex: none;
  border-radius: var(--r-pill);
  border-color: var(--line);
  white-space: nowrap;
}
body.signin {
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(
      980px 480px at 8% -8%,
      #dfe8df 0%,
      transparent 55%),
    radial-gradient(
      720px 420px at 100% 4%,
      #e7efe8 0%,
      transparent 50%),
    linear-gradient(
      165deg,
      #f7faf7 0%,
      var(--paper) 42%,
      #eef2ef 100%);
}
.wash {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(
      112deg,
      #f7f9fc 0%,
      #f7f9fcd4 36%,
      #f7f9fca8 68%,
      #f7f9fc22 100%),
    linear-gradient(
      180deg,
      #f7f9fcf0 0%,
      #f7f9fcd0 48%,
      #f7f9fcf2 100%),
    url(/consumer/chef-wash.webp) right center / cover no-repeat;
}
body.signin main {
  max-width: 26rem;
  margin: 0 auto;
  padding: clamp(3rem, 10vh, 6rem) 1.25rem 3rem;
}
body.signin .brand {
  gap: .85rem;
  font-size: clamp(2.5rem, 7vw, 3.1rem);
  letter-spacing: -.055em;
  line-height: .92;
}
body.signin .brand-mark {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 14px;
  box-shadow: none;
}
body.signin .eyebrow {
  margin-top: 1.35rem;
}
body.signin h1 {
  margin: .55rem 0 .65rem;
  font-size: clamp(2.2rem, 6vw, 2.75rem);
  line-height: .98;
}
body.signin .intro {
  font-size: 1.05rem;
  line-height: 1.45;
  max-width: 20.5em;
}
.perks {
  list-style: none;
  display: grid;
  gap: .6rem;
  margin: 1.5rem 0 0;
  padding: 0;
}
.perks li {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.perks img {
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: .3rem;
  border-radius: var(--r-ctl);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  object-fit: contain;
}
.perks span {
  color: var(--muted);
  font-size: var(--body);
}
.perks strong {
  display: block;
  color: var(--ink);
  font-weight: 650;
}
.signin-card {
  margin: 1.75rem 0 0;
  padding: 1.25rem;
  border-radius: var(--r-card);
  background: var(--surface);
  box-shadow: var(--shadow-pop);
}
#login [role=status] {
  margin: 0 0 .9rem;
  color: var(--muted);
  font-size: var(--sm);
  font-weight: 650;
}
#login p {
  margin: 0;
}
#login p + p,
#login button + p,
#login p + button,
#login .row + button,
#login section > button {
  margin-top: .6rem;
}
#login .storage-reason {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 650;
}
#login .storage-help {
  margin-top: .35rem;
  color: var(--muted);
  font-size: var(--sm);
  text-wrap: pretty;
}
#login .storage-help + button {
  margin-top: .9rem;
}
#login button {
  width: 100%;
  min-height: 3rem;
  border-radius: var(--r-pill);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
}
#login button:not(.primary) {
  border: 1.5px solid var(--ink);
  background: transparent;
}
@media (hover:hover) {
  #login button:not(.primary):hover:enabled {
    background: var(--ink);
    color: #fff;
  }
}
#login button:disabled {
  opacity: .65;
  background: var(--wash);
  border-color: transparent;
  color: var(--faint);
}
#login button.primary,
#login button.primary:active:enabled {
  background: var(--ink);
  border-color: var(--ink);
}
@media (hover:hover) {
  #login button.primary:hover:enabled {
    background: var(--ink-2);
    border-color: var(--ink-2);
  }
}
#login button.primary:disabled {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
#login p > button.primary::before {
  content: "";
  flex: none;
  width: 1.05rem;
  height: 1.05rem;
  background: url(/consumer/x-mark.svg) center / contain no-repeat;
}
#login .row {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 .9rem;
  padding: .7rem .9rem;
  border-radius: var(--r-ctl);
  background: var(--wash);
}
#login .row::before {
  content: "";
  flex: none;
  width: 2rem;
  height: 2rem;
  background: url(/consumer/tab-account.png) center / contain no-repeat;
}
#login .row p {
  min-width: 0;
  font-weight: 650;
  overflow-wrap: anywhere;
}
#login > button {
  margin-top: .25rem;
}
#login .escape-why {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 650;
  text-wrap: balance;
}
#login .escape-how {
  margin-top: .35rem;
  color: var(--muted);
  font-size: var(--sm);
  text-wrap: pretty;
}
#login .escape-how + a,
#login .escape-how + button {
  margin-top: .9rem;
}
#login .escape-open {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: .45rem 1rem;
  border: 1px solid var(--pass);
  border-radius: var(--r-pill);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  text-decoration: none;
}
@media (hover:hover) {
  #login .escape-open:hover {
    background: var(--pass-press);
    border-color: var(--pass-press);
  }
}
#login .escape-open + button {
  margin-top: .6rem;
}
#login .escape-status {
  color: var(--muted);
  font-size: var(--sm);
  text-wrap: pretty;
}
#login .escape-here {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: .35rem;
  margin: .9rem 0 -.6rem;
  padding-top: .3rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--sm);
}
#login .escape-here button {
  width: auto;
  min-height: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-chip);
  background: none;
  color: var(--ink);
  font-size: inherit;
  font-weight: 650;
  letter-spacing: 0;
  text-decoration: underline;
  text-underline-offset: .18em;
}
@media (hover:hover) {
  #login .escape-here button:hover:enabled {
    background: none;
    color: var(--pass);
  }
}
noscript {
  display: block;
  margin-top: 1rem;
  color: var(--muted);
  font-size: var(--sm);
}
.signin-privacy {
  margin: 1rem .25rem 0;
  color: var(--muted);
  font-size: .8125rem;
  line-height: 1.5;
  text-wrap: pretty;
}
.site-foot {
  margin: 0 auto;
  padding: 0 2rem 2.5rem;
  color: var(--muted);
  font-size: .8125rem;
  line-height: 1.5;
}
.site-legal {
  max-width: 62ch;
  margin: 0;
  text-wrap: pretty;
}
body.kitchen .site-foot {
  max-width: 50rem;
}
body.signin .site-foot {
  max-width: 26rem;
  padding-inline: 1.5rem;
}
.signin-privacy .nobreak {
  white-space: nowrap;
}
.signin-keep > summary {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2.75rem;
  padding-inline: .4rem;
  margin-inline: -.4rem;
  color: var(--ink-2);
  font-weight: 650;
  list-style: none;
  cursor: pointer;
}
.signin-keep > summary::-webkit-details-marker {
  display: none;
}
.signin-keep > summary:focus-visible {
  outline-offset: -2px;
}
@media (hover:hover) {
  .signin-keep > summary:hover {
    color: var(--ink);
  }
}
@supports (content:"x" / "") {
  .signin-keep > summary::after {
    content: "+" / "";
    color: var(--muted);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1;
  }
  .signin-keep[open] > summary::after {
    content: "\2212" / "";
  }
}
.signin-keep > p {
  max-width: 58ch;
}
.signin-keep > p + p {
  margin-top: .45rem;
}
.seats {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 1.5rem 0 0;
  padding: .3rem .85rem;
  border-radius: var(--r-pill);
  background: var(--pass-wash);
  color: var(--pass);
  font-size: var(--sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.seats::before {
  content: "";
  flex: none;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--pass-live);
}
.seats-slot {
  display: flex;
  align-items: flex-start;
  min-height: calc(1.5rem + .6rem + var(--sm)*1.5 + 2px);
}
.seats-slot ~ #login {
  margin-top: 1rem;
}
.seats-slot:has(> .seats[hidden]):has(~ .preview-full:not([hidden])) {
  display: none;
}
#login:has(> p:only-child) {
  min-height: calc(2.5rem + var(--sm)*1.5 + .9rem + 6.6rem);
}
.preview-full p {
  font-size: 1rem;
  line-height: 1.4;
  text-wrap: pretty;
}
.preview-full a {
  color: var(--pass);
  font-weight: 700;
  text-underline-offset: .18em;
}
.seat-link {
  min-height: 2.75rem;
  margin: .5rem 0 0;
  padding: .25rem 0;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: var(--sm);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: .18em;
}
@media (hover:hover) {
  .seat-link:hover:enabled {
    background: none;
    color: var(--ink);
  }
}
.preview-full ~ #login {
  margin-top: 1rem;
}
.waitlist {
  display: grid;
  gap: .6rem;
  min-width: 0;
  max-width: 34rem;
  font-size: var(--body);
  color: var(--ink-2);
}
.waitlist label {
  margin: .2rem 0 0;
}
.waitlist input {
  font-size: var(--sm);
  font-weight: 650;
  color: var(--ink-2);
}
#copy-status:empty {
  display: none;
}
.share-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1rem;
}
.share-actions .follow {
  color: var(--pass);
  font-size: var(--sm);
  font-weight: 700;
  text-underline-offset: .18em;
}
body.kitchen:has(#workspace[hidden]) .waitlist {
  grid-area: 3 / 2;
}
body.kitchen:has(#waitlist:not([hidden])) .entry-actions {
  grid-area: 4 / 2;
}
@media (min-width:60rem) {
  .pass-bar {
    width: fit-content;
    max-width: 100%;
    margin-inline-start: auto;
    padding: .45rem .45rem .45rem 1.1rem;
    border-radius: var(--r-pill);
  }
  .pass-bar footer {
    flex-wrap: nowrap;
  }
  #save,
  #undo {
    border-radius: var(--r-pill);
  }
}
@media (min-width:72rem) {
  body.kitchen:has(#calls-section:not([hidden])) main {
    max-width: 76rem;
  }
  #workspace:has(#calls-section:not([hidden])) {
    --side:22rem;
    --side-gap:1.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--side);
    grid-template-rows: repeat(5, auto) 1fr;
    column-gap: var(--side-gap);
    align-items: start;
  }
  #workspace:has(#calls-section:not([hidden])) > * {
    grid-column: 2;
    min-width: 0;
  }
  #workspace:has(#calls-section:not([hidden])) > #calls-section {
    grid-column: 1;
    grid-row: 1 / 7;
  }
  #workspace:has(#calls-section:not([hidden])) > #paper-section {
    grid-column: 1;
    grid-row: 7;
  }
  #workspace:has(#calls-section:not([hidden])) > .card:not(#calls-section, #paper-section) {
    margin-bottom: 1rem;
  }
  .chefs-more {
    display: none;
  }
  #workspace:has(#calls-section:not([hidden])) > #ticket-section .call-prices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #workspace:has(#calls-section:not([hidden])) > .pass-bar {
    justify-self: end;
    max-width: var(--side);
  }
  #workspace[data-unsaved]:has(#calls-section:not([hidden])) {
    padding-bottom: 5.5rem;
  }
  body.kitchen:has(#calls-section:not([hidden])) .site-foot {
    max-width: 76rem;
  }
  body.kitchen:has(#workspace[data-unsaved]):has(#calls-section:not([hidden])) .site-foot {
    padding-bottom: 6.5rem;
  }
  #workspace[data-unsaved]:has(#calls-section:not([hidden])) > .pass-bar {
    position: fixed;
    bottom: 1rem;
    right: max(2rem, calc((100% - 76rem) / 2 + 2rem));
    margin: 0;
    max-width: min(34rem, calc(100% - 4rem));
  }
}
@media (min-width:48rem) {
  .call-price[data-price=now] dd {
    row-gap: 0;
    align-content: start;
    min-height: calc(1rem*1.5 + .15rem + .75rem*1.5);
  }
  .call-price[data-price=now] dd::after {
    content: "";
    flex-basis: 100%;
    order: 1;
  }
  .call-price[data-price=now] .call-change {
    order: 2;
    margin-block-start: .15rem;
  }
}
@media (max-width:47.99rem) {
  .masthead {
    gap: .5rem;
    padding: .5rem 1rem;
    min-height: 3.5rem;
  }
  .brand {
    font-size: 1.3rem;
    gap: .4rem;
  }
  .brand-mark {
    width: 2rem;
    height: 2rem;
    border-radius: 9px;
  }
  .source-pill {
    padding-inline: .55rem;
    font-size: .625rem;
  }
  .pass-bar {
    flex-wrap: wrap;
    padding: .55rem .55rem .55rem .9rem;
    gap: .5rem;
  }
  .pass-bar #undo {
    flex: 1 1 auto;
  }
  .pass-bar footer {
    flex: 1 1 100%;
  }
  body.kitchen main {
    padding: 1.25rem .75rem 1.5rem;
  }
  body.kitchen .site-foot {
    padding: 0 1rem 1.5rem;
  }
  .hero {
    margin-bottom: 1.1rem;
  }
  body.kitchen h1 {
    font-size: 1.65rem;
  }
  body.kitchen .intro {
    font-size: var(--body);
  }
  .wash {
    background:
      linear-gradient(
        180deg,
        #f7f9fcf6 0%,
        #f7f9fcf0 48%,
        #f7f9fcf2 100%),
      url(/consumer/chef-wash.webp) center 18% / cover no-repeat;
  }
  .card-head {
    padding: 1rem 1rem .9rem;
  }
  .points-body {
    padding: 0 1rem 1rem;
  }
  #chef-form,
  #ticket-form,
  #table-form,
  #chef-check-form {
    padding-inline: 1rem;
  }
  :is(.stamp-guide, .term-guide) > :is(summary, dl),
  .paper-breakdown > summary,
  .paper-headline,
  .paper-each {
    padding-inline: 1rem;
  }
  .paper-scroll {
    margin-inline: 1rem;
  }
  .row {
    padding: .55rem .5rem .55rem 1rem;
  }
  body.kitchen:has(#workspace[hidden]) .entry {
    grid-template-columns: 5rem minmax(0, 1fr);
    padding: 1rem;
  }
  body.kitchen:has(#workspace[hidden]) .entry::before {
    width: 5rem;
  }
  body.kitchen:has(#waitlist:not([hidden])) .entry {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    grid-template-rows: none;
    column-gap: .85rem;
  }
  body.kitchen:has(#waitlist:not([hidden])) .entry::before {
    grid-area: 1 / 1;
    width: 3.25rem;
  }
  body.kitchen:has(#waitlist:not([hidden])) #notice {
    grid-area: 1 / 2;
  }
  body.kitchen:has(#waitlist:not([hidden])) .waitlist {
    grid-area: 2 / 1 / auto / -1;
    justify-self: stretch;
  }
  body.kitchen:has(#waitlist:not([hidden])) .entry-actions {
    grid-area: 3 / 1 / auto / -1;
  }
  .calls-chefs,
  .calls-limit,
  .calls-status,
  .calls-source,
  .price-status {
    padding-inline: 1rem;
  }
  .call {
    gap: .5rem;
    padding: .75rem 1rem;
  }
  .calls-more {
    margin-inline: 1rem;
  }
  .call-prices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .call-price {
    padding: .5rem .6rem .55rem;
  }
  .call-price[data-price=now] {
    grid-column: 1/-1;
    border-inline-start: 0;
    border-block-start: 1px solid var(--line);
  }
  .call-prices[data-head-start] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .call-price[data-price=before] {
    grid-column: 1/-1;
    border-inline-start: 0;
    border-block-end: 1px solid var(--line);
  }
  .call-price[data-price=before] + .call-price {
    border-inline-start: 0;
  }
  .call-price dt {
    line-height: 1.3;
  }
  .call-price dd {
    gap: .1rem .35rem;
  }
  .price-usd {
    font-size: .875rem;
  }
  .price-at {
    flex-basis: 100%;
  }
  .call-price[data-price=now] .price-at {
    flex-basis: auto;
  }
  .call-chart {
    padding: .35rem .6rem .4rem;
  }
  .call-chart dd {
    grid-template-rows: 2.75rem auto;
  }
}
@media (max-width:22.5rem) {
  .price-usd {
    font-size: .8125rem;
  }
  .call-token-line {
    padding-inline-start: 0;
  }
  .source-pill {
    display: none;
  }
  .input-row {
    flex-wrap: wrap;
  }
  .input-row button {
    flex: 1 1 100%;
  }
}
html:has(body.kitchen) {
  scroll-padding: 5rem 0 6.5rem;
}
@media (max-width:47.99rem) {
  html:has(body.kitchen) {
    scroll-padding: 4.5rem 0 8.5rem;
  }
}
@media (max-height:20rem) {
  .masthead {
    position: relative;
  }
  html:has(body.kitchen) {
    scroll-padding-top: .5rem;
  }
}
@media (prefers-reduced-motion:no-preference) {
  button,
  .entry-action,
  .row,
  #login .escape-open {
    transition:
      background-color var(--t-fast) var(--ease),
      box-shadow var(--t-fast) var(--ease),
      color var(--t-fast) var(--ease),
      scale var(--t-fast) var(--ease);
  }
  button:active:enabled,
  .entry-action:active,
  #login .escape-open:active {
    scale: .97;
  }
  .card-icon,
  .perks img {
    transition: transform var(--t-slow) var(--spring);
  }
  @media (hover:hover) {
    .card-head:hover .card-icon,
    .perks li:hover img {
      transform: scale(1.12) rotate(-6deg);
    }
  }
  body.kitchen .masthead {
    animation: allday-fade-flat .28s var(--ease) both;
  }
  body.kitchen .hero {
    animation: allday-lift .28s .05s var(--ease) both;
  }
  body.kitchen .entry {
    animation: allday-fade .28s .09s var(--ease) both;
  }
  #workspace:not([hidden]) .card {
    animation: allday-fade .28s .05s var(--ease) both;
  }
  #workspace:not([hidden]) .card + .card {
    animation-delay: .1s;
  }
  .row.is-new {
    animation: pass-pop var(--t-slow) var(--spring) both, pass-blush .9s var(--ease);
  }
  #undo:not([hidden]),
  #workspace[data-unsaved] .pass-bar {
    animation: pass-pop var(--t-med) var(--ease);
  }
  .empty:not([hidden]) {
    animation: allday-fade .24s var(--ease) both;
  }
  .verdict.is-arriving {
    animation: allday-fade .24s var(--ease) both;
  }
  :is(.stamp-guide, .term-guide)[open] > dl {
    animation: allday-fade .24s var(--ease) both;
  }
  body.signin .brand {
    animation: rise .34s var(--ease) both;
  }
  body.signin .hero > .eyebrow {
    animation: rise .34s 40ms var(--ease) both;
  }
  body.signin .hero > h1 {
    animation: rise-lift .34s 70ms var(--ease) both;
  }
  body.signin .hero > .intro {
    animation: rise .34s .1s var(--ease) both;
  }
  body.signin .perks li {
    animation: rise .36s .14s var(--ease) both;
  }
  body.signin .perks li + li {
    animation-delay: .18s;
  }
  body.signin .signin-card {
    animation: rise .36s .22s var(--ease) both;
  }
  .wash {
    animation: allday-fade-flat .6s var(--ease);
  }
  @keyframes allday-fade {
    from {
      opacity: 0;
      transform: translateY(3px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes allday-fade-flat {
    from {
      opacity: 0;
    }
  }
  @keyframes allday-lift {
    from {
      transform: translateY(3px);
    }
    to {
      transform: none;
    }
  }
  @keyframes rise {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes rise-lift {
    from {
      transform: translateY(8px);
    }
    to {
      transform: none;
    }
  }
  @keyframes pass-pop {
    from {
      opacity: 0;
      transform: translateY(.5rem) scale(.97);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes pass-blush {
    0% {
      background-color: color-mix(in srgb, var(--pass-live) 18%, transparent);
    }
    60% {
      background-color: color-mix(in srgb, var(--pass-live) 6%, transparent);
    }
    100% {
      background-color: transparent;
    }
  }
}
@media (forced-colors:active) {
  .card,
  .pass-bar,
  .signin-card,
  body.kitchen:has(#workspace[hidden]) .entry,
  .seats {
    border: 1px solid CanvasText;
  }
  .call-prices,
  .call-change,
  .call-chain,
  .call-new,
  .calls-chefs li {
    border: 1px solid CanvasText;
  }
  .remove,
  #login button:not(.primary),
  .seat {
    border: 1px solid ButtonText;
  }
  .masthead::before {
    background: Canvas;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .wash {
    display: none;
  }
}
.calls-history-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  padding: .75rem 1.25rem 0;
}
.calls-history-controls[hidden] {
  display: none;
}
.calls-history-controls .calls-more {
  margin: 0;
  min-height: 44px;
}
.calls-history-controls:not([hidden]) + .calls-source {
  margin-top: .75rem;
}
@media (max-width:480px) {
  .calls-history-controls {
    padding-inline: 1rem;
  }
}
