@layer components{.sheet-backdrop{position:fixed;z-index:var(--z-overlay);inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgb(20 20 18/55%)}.sheet{width:100%;max-height:92dvh;overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface)}.sheet-image{width:100%;height:215px;border-radius:0;object-fit:cover}.sheet-content{display:grid;grid-gap:18px;gap:18px;padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sheet-heading h2{margin:0;font-size:var(--text-xl);letter-spacing:-.03em}.sheet-heading p{margin:6px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.icon-button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-circle);background:var(--surface);color:var(--ink)}.dock-shell{position:fixed;z-index:var(--z-overlay);inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgb(20 20 18/55%)}.dock-shell[data-open=false]{display:none}.dock{display:grid;width:100%;height:88dvh;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface)}.dock-switch{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.dock-switch>button{display:flex;align-items:center;gap:7px;padding:8px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.dock-switch>button.active{background:var(--page);color:var(--ink)}.dock-switch .dock-close{margin-left:auto}.dock-badge{display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:var(--radius-circle);background:var(--accent);color:var(--accent-ink);font-size:var(--text-2xs);font-weight:var(--weight-bold)}.dock-panel{display:grid;height:100%;align-content:start;grid-gap:16px;gap:16px;overflow-y:auto;padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.dock-panel-host{align-content:stretch;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.dock-empty,.dock-sub{margin:0;color:var(--muted);font-size:var(--text-sm)}.quick-actions{display:grid;flex:0 0 auto;grid-gap:7px;gap:7px;padding-bottom:2px}.quick-actions button{display:flex;min-height:45px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-align:left;font-size:var(--text-sm)}.chat-thread{display:flex;min-height:0;flex-direction:column;gap:9px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-thread>:first-child{margin-top:auto}.message{max-width:86%;flex:0 0 auto;padding:10px 12px;border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant{align-self:flex-start;border:1px solid var(--line);border-bottom-left-radius:4px;background:var(--surface)}.message.user{align-self:flex-end;border-bottom-right-radius:4px;background:var(--ink);color:var(--surface)}.typing{letter-spacing:3px}.chat-composer{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.chat-composer input{min-width:0;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.chat-composer button{min-width:70px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--surface);font-weight:var(--weight-bold)}.reserve-sheet .sheet-content{display:grid;grid-gap:12px;gap:12px}.reserve-field-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.reserve-days{display:flex;gap:8px;overflow-x:auto;margin:0 -4px;padding:2px 4px 6px;scroll-snap-type:x mandatory}.reserve-day{flex:0 0 auto;display:grid;grid-gap:2px;gap:2px;min-width:64px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;scroll-snap-align:start}.reserve-day>small{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-medium)}.reserve-day>span{font-size:var(--text-sm);font-weight:var(--weight-bold)}.reserve-day.active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--surface))}.reserve-day.active>small{color:var(--accent)}.reserve-party{display:flex;align-items:center;justify-content:space-between;gap:12px}.reserve-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:8px;gap:8px}.reserve-slot{padding:9px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.reserve-slot.active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.reserve-empty{margin:0;padding:10px 0;color:var(--muted);font-size:var(--text-sm)}.reserve-form{display:grid;grid-gap:8px;gap:8px}.reserve-form>input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--text-base)}.reserve-error{margin:0;color:var(--danger);font-size:var(--text-sm);font-weight:var(--weight-medium)}.reserve-success{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:16px 0 4px;text-align:center}.reserve-success>svg{color:var(--accent)}.reserve-success>strong{font-size:var(--text-lg);font-weight:var(--weight-bold)}.reserve-success>p{margin:0;color:var(--muted);font-size:var(--text-base)}.reserve-code{display:grid;grid-gap:2px;gap:2px;justify-items:center;padding:10px 20px;border:1px dashed var(--accent);border-radius:var(--radius)}.reserve-code>small{color:var(--muted);font-size:var(--text-xs)}.reserve-code>span{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:.12em;color:var(--accent)}.album-backdrop{position:fixed;z-index:var(--z-toast);inset:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:4px;gap:4px;padding:16px;background:rgb(12 12 11/92%)}.album-stage{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;min-width:0}.album-stage img{max-width:min(92vw,720px);max-height:80dvh;border-radius:var(--radius);object-fit:contain}.album-caption{display:flex;align-items:center;gap:12px;color:rgb(255 255 255/82%);font-size:var(--text-sm);text-align:center}.album-counter{padding:3px 10px;border-radius:var(--radius-pill);background:rgb(255 255 255/14%);font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.album-nav{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:var(--radius-circle);background:rgb(255 255 255/14%);color:#fff;cursor:pointer}.album-close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-circle);background:rgb(255 255 255/14%);color:#fff;cursor:pointer}@media (max-width:519px){.album-nav{width:38px;height:38px}}.scanner-overlay{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;flex-direction:column;background:rgb(12 12 11);color:#fff}.scanner-stage{position:relative;flex:1 1;overflow:hidden}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-reticle{position:absolute;top:50%;left:50%;width:min(62vw,260px);height:min(62vw,260px);transform:translate(-50%,-55%);border:3px solid rgba(255,255,255,.9);border-radius:var(--radius-lg);box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}.scanner-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:var(--radius-circle);background:rgba(0,0,0,.5);color:#fff}.scanner-hint{position:absolute;bottom:20px;left:0;width:100%;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.6)}.scanner-fallback,.scanner-hint{text-align:center;font-size:var(--text-base)}.scanner-fallback{padding:14px 20px;background:rgba(0,0,0,.85);color:color-mix(in oklab,var(--danger) 30%,white)}.scanner-manual{display:grid;grid-gap:10px;gap:10px;padding:18px 20px calc(20px + env(safe-area-inset-bottom));background:var(--surface);color:var(--ink)}.scanner-manual label{display:grid;grid-gap:6px;gap:6px}.scanner-manual label span{font-size:var(--text-sm);font-weight:var(--weight-medium)}.scanner-manual input{min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.scanner-error{color:var(--danger)}}@layer components{@media (min-width:740px){.sheet{max-width:620px;margin-bottom:24px;border-radius:var(--radius-lg)}.landing-shell .landing-body{justify-content:flex-start;padding-top:32px}}@media (min-width:1000px){.landing-shell{width:min(100%,1120px)}.landing-shell .landing-body{display:grid;grid-template-areas:"hero  facts" "tabs  facts" "panel facts" "note  facts";grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto auto 1fr auto;grid-column-gap:28px;column-gap:28px;max-width:1120px}.landing-shell .landing-body:has(.landing-campaign){grid-template-areas:"hero     facts" "campaign facts" "tabs     facts" "panel    facts" "note     facts";grid-template-rows:auto auto auto 1fr auto}.landing-hero{grid-area:hero}.landing-campaign{grid-area:campaign}.landing-facts{grid-area:facts;align-content:start;position:-webkit-sticky;position:sticky;top:calc(var(--topbar-height) + 16px)}.landing-tabs{grid-area:tabs;margin:0;padding-inline:0}.landing-panel{grid-area:panel}.landing-note{grid-area:note}.landing-hero h1{font-size:var(--text-3xl)}.orders-view>h1,.section-title{font-size:var(--text-2xl)}.ordering-shell{display:grid;width:min(100%,1280px);align-items:start;grid-template-columns:minmax(0,1fr) 360px;padding-bottom:0}.ordering-shell>.error-banner,.ordering-shell>.notice-banner,.ordering-shell>.success-banner,.ordering-shell>.topbar{grid-column:1/-1}.ordering-shell>.content{grid-column:1;padding-bottom:32px}.ordering-shell .topbar-nav{display:flex}.ordering-shell .bottom-nav,.ordering-shell .dock-close,.ordering-shell .floating-cart,.ordering-shell .host-entry{display:none}.ordering-shell .dock-shell,.ordering-shell .dock-shell[data-open=false]{display:contents}.ordering-shell .dock{position:-webkit-sticky;position:sticky;top:var(--topbar-height);grid-column:2;height:calc(100dvh - var(--topbar-height));border-left:1px solid var(--line);border-radius:0}}}@layer reset, tokens, base, components, utilities;