:root{--bg: #1a1410;--bg-elevated: #241c16;--bg-soft: #2e241c;--ink: #f3e6d4;--ink-muted: #b8a28a;--accent: #d4a017;--accent-deep: #b8860b;--sea: #3d8b7a;--danger: #c45c4a;--line: rgba(243, 230, 212, .12);--radius: 14px;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--shadow-sheet: 0 -12px 40px rgba(0, 0, 0, .45);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);background:radial-gradient(120% 80% at 10% -10%,rgba(212,160,23,.18),transparent 55%),radial-gradient(90% 60% at 100% 0%,rgba(61,139,122,.14),transparent 50%),linear-gradient(180deg,#221910 0%,var(--bg) 40%,#120e0b 100%);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.home{min-height:100dvh;display:grid;place-items:center;padding:2rem 1.25rem}.home__panel{max-width:22rem;text-align:center;animation:rise .6s ease both}.home__brand{font-family:var(--font-display);font-size:2.4rem;font-weight:700;letter-spacing:-.03em;color:var(--accent);margin:0 0 1rem}.home h1{font-family:var(--font-display);font-size:1.55rem;font-weight:500;margin:0 0 .75rem}.home__sub{color:var(--ink-muted);margin:0;font-size:.95rem}.order-page{max-width:32rem;margin:0 auto;padding-bottom:6.5rem;min-height:100dvh}.venue-header{position:relative;padding:1.75rem 1.25rem 1.5rem;overflow:hidden;animation:rise .5s ease both}.venue-header__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(26,20,16,.2),var(--bg)),radial-gradient(ellipse at 30% 20%,rgba(212,160,23,.25),transparent 55%),linear-gradient(135deg,#3a2a1c,#1a1410 60%)}.venue-header__content{position:relative}.venue-header__table{margin:0 0 .35rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.venue-header__name{font-family:var(--font-display);font-size:clamp(1.8rem,6vw,2.4rem);font-weight:700;letter-spacing:-.03em;margin:0 0 .4rem;line-height:1.1}.venue-header__meta{margin:0;color:var(--ink-muted);font-size:.88rem}.menu{padding:0 1rem 1rem}.menu-section{margin-bottom:1.75rem;animation:rise .55s ease both}.menu-section:nth-child(2){animation-delay:.08s}.menu-section__title{font-family:var(--font-display);font-size:1.15rem;font-weight:500;margin:0 0 .75rem;color:var(--ink-muted)}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.menu-item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;padding:.9rem .95rem;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s ease,border-color .2s ease}.menu-item:not(:has(.menu-item__img)){grid-template-columns:1fr auto}.menu-item__img{width:3.25rem;height:3.25rem;object-fit:cover;border-radius:.65rem}.menu-item:active:not(.is-unavailable){transform:scale(.985)}.menu-item.is-unavailable{opacity:.55}.menu-item__top{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.menu-item__top h3{margin:0;font-size:1.02rem;font-weight:600}.menu-item__price{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600;white-space:nowrap}.menu-item__desc{margin:.35rem 0 0;font-size:.86rem;color:var(--ink-muted)}.menu-item__sponsor{margin:.4rem 0 0;font-size:.75rem;color:var(--sea)}.menu-item__86{margin:.35rem 0 0;font-size:.8rem;color:var(--danger)}.menu-item__add{width:2.4rem;height:2.4rem;border-radius:999px;border:none;background:var(--accent);color:#1a1410;font-size:1.35rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.menu-item__add:hover:not(:disabled){background:#e0b52e}.menu-item__add:disabled{background:var(--bg-soft);color:var(--ink-muted);cursor:not-allowed}.watermark{text-align:center;padding:1.5rem 1rem 5rem;font-size:.78rem;color:var(--ink-muted)}.watermark strong{color:var(--accent);font-family:var(--font-display);font-weight:500}.cart-fab{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 2rem),30rem);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#1a1410;font-weight:600;cursor:pointer;box-shadow:0 10px 28px #00000059;animation:slide-up .35s ease both;z-index:20}.cart-fab__count{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:999px;background:#1a14102e;font-size:.85rem}.cart-fab__total{font-variant-numeric:tabular-nums}.cart-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}.cart-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0806049e;cursor:pointer;animation:fade-in .2s ease both}.cart-sheet__panel{position:relative;max-height:min(85dvh,40rem);display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:1.25rem 1.25rem 0 0;border-top:1px solid var(--line);box-shadow:var(--shadow-sheet);animation:sheet-up .3s ease both;padding-bottom:env(safe-area-inset-bottom)}.cart-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem .5rem}.cart-sheet__header h2{margin:0;font-family:var(--font-display);font-size:1.35rem}.cart-sheet__close{border:none;background:transparent;color:var(--ink-muted);cursor:pointer}.cart-sheet__list{list-style:none;margin:0;padding:.5rem 1.25rem;overflow-y:auto;flex:1}.cart-line{padding:.85rem 0;border-bottom:1px solid var(--line)}.cart-line__main{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.cart-line__controls{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:.5rem}.cart-line__controls button{width:2rem;height:2rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);cursor:pointer}.cart-line__notes input{width:100%;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.cart-line__notes input::placeholder{color:color-mix(in srgb,var(--ink-muted) 80%,transparent)}.cart-sheet__error{margin:0 1.25rem;color:var(--danger);font-size:.9rem}.cart-sheet__footer{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--line)}.cart-sheet__total{display:flex;justify-content:space-between;margin-bottom:.85rem;font-size:1.05rem}.btn-primary{width:100%;padding:.95rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#1a1410;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary,.btn-link{display:inline-flex;justify-content:center;align-items:center;margin:0 1.25rem 1.5rem;padding:.85rem 1rem;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;background:transparent}.status-page{max-width:32rem;margin:0 auto;padding:1.75rem 1.25rem 2rem;min-height:100dvh;animation:rise .45s ease both}.status-page__header h1{font-family:var(--font-display);font-size:1.8rem;margin:.2rem 0 .35rem}.status-page__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--accent);font-weight:600}.status-page__live{margin:0;color:var(--sea);font-size:.9rem}.status-page__cancelled{margin:0;color:var(--danger)}.status-timeline{list-style:none;margin:1.75rem 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.status-timeline__item{display:flex;align-items:center;gap:.85rem;color:var(--ink-muted)}.status-timeline__dot{width:.85rem;height:.85rem;border-radius:999px;border:2px solid var(--line);background:transparent;flex-shrink:0;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.status-timeline__item.is-done{color:var(--ink)}.status-timeline__item.is-done .status-timeline__dot{background:var(--sea);border-color:var(--sea)}.status-timeline__item.is-current .status-timeline__dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #d4a01740;animation:pulse 1.6s ease infinite}.status-summary{padding:1rem 0 1.5rem;border-top:1px solid var(--line)}.status-summary h2{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin:0 0 .75rem}.status-summary ul{list-style:none;margin:0;padding:0}.status-summary li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;color:var(--ink-muted);font-size:.95rem}.status-summary__total{display:flex;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:1.05rem}.state-screen{min-height:100dvh;display:grid;place-content:center;gap:.75rem;text-align:center;padding:2rem;color:var(--ink-muted)}.state-screen__error{color:var(--danger)}.spinner{width:2rem;height:2rem;margin:0 auto;border-radius:999px;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #d4a01733}50%{box-shadow:0 0 0 8px #d4a01714}}@keyframes spin{to{transform:rotate(360deg)}}
