[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.intro { background: #d91d30; }
.intro-stage { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }
.intro-media { position: relative; flex: none; width: 100%; aspect-ratio: 563 / 1218; }
.intro-still, #introVideo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: fill; }
.intro-still { z-index: 0; }
#introVideo { z-index: 1; pointer-events: none; }
.intro.is-ready #introVideo { visibility: hidden; }
.intro-start { position: absolute; z-index: 2; left: 27.9%; top: 56.3%; width: 53.4%; height: 10%; padding: 0; background: transparent; border: 0; cursor: pointer; clip-path: polygon(0 33%, 94.7% 0, 100% 67%, 4.3% 100%); }
.intro-start:disabled { pointer-events: none; }
.intro-start:not(:disabled):hover { background: #fff4df19; }
.intro-start:not(:disabled):active { background: #15151529; }
.intro-start:focus-visible { outline: 0; background: #55dad466; box-shadow: inset 0 0 0 5px #55dad4; }
.intro-controls { position: absolute; z-index: 5; right: 12px; top: 12px; }
.intro-controls button { border: 1px solid #fff4df80; padding: 10px 13px; min-height: 40px; color: var(--paper); background: #151515d9; font: 700 13px "Microsoft YaHei", sans-serif; cursor: pointer; }
#musicToggle[aria-pressed="false"] { color: #a8968a; }
.intro-play { position: absolute; z-index: 5; top: 38%; left: 50%; transform: translate(-50%, -50%); padding: 15px 20px; border: 3px solid var(--paper); box-shadow: 5px 5px 0 var(--red); color: var(--paper); background: var(--ink); font: 800 17px "Microsoft YaHei", sans-serif; white-space: nowrap; cursor: pointer; }
.phone.is-transitioning .screen { pointer-events: none; }

.meal.active { display: flex; flex-direction: column; overflow: hidden; }
.meal .screen-heading, .meal .search, .meal .category-row, .meal .data-note { flex-shrink: 0; }
.meal .food-grid { flex: 1; min-height: 0; overflow: auto; padding-bottom: 18px; overscroll-behavior: contain; }
.meal .selection-bar { position: relative; flex-shrink: 0; }
.selection-bar > div { min-width: 0; }
.selection-bar small { max-width: 100%; }
.finish { overflow-y: auto; }
@media (max-width: 350px) { .selection-bar small { width: 145px; } }
