@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700;9..144,900&family=IBM+Plex+Sans:wght@400;500;700&family=JetBrains+Mono:wght@500&display=swap";:root{--color-paper:oklch(97% .012 115);--color-paper-2:oklch(94% .015 118);--color-paper-3:oklch(90% .018 120);--color-ticket:oklch(98% .008 112);--color-ticket-2:oklch(91% .02 115);--color-ink:oklch(26% .1 145);--color-ink-2:oklch(36% .09 145);--color-muted:oklch(54% .065 142);--color-grid:oklch(90% .01 118);--color-rule:oklch(83% .018 125);--color-rule-2:oklch(70% .022 130);--color-accent:oklch(34% .13 145);--color-accent-ink:oklch(97% .008 112);--color-danger:oklch(48% .17 28);--color-success:oklch(40% .14 145);--color-focus:oklch(40% .16 145);--color-shadow:oklch(26% .1 145/.14);--font-display:"Fraunces", "DM Serif Display", ui-serif, Georgia, serif;--font-body:"IBM Plex Sans", "Switzer", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.2rem;--text-lg:1.5rem;--text-xl:1.875rem;--text-2xl:2.35rem;--text-display:clamp(2.4rem, 9vw, 3.8rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--radius-sm:.25rem;--radius-md:.375rem;--radius-pill:999px;--page-gutter:clamp(.875rem, 4vw, 1.25rem);--z-base:1;--z-raised:10;--z-sticky:200}*{box-sizing:border-box}html,body{background:var(--color-paper);min-width:320px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.5;overflow-x:clip}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}h1,h2,h3,p{margin-block:0}h1,h2{min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;font-style:normal;line-height:1.02}h1{font-size:var(--text-display);font-weight:900}h2{font-size:var(--text-xl);font-weight:700}h3{font-size:var(--text-md);line-height:1.2}.nav-mast,.page-shell,.foot-mast{width:min(30rem,100%);margin-inline:auto}.nav-mast{text-align:center;justify-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--page-gutter) 0;grid-template-columns:1fr;display:grid}.mast-name{align-items:center;gap:var(--space-xs);color:var(--color-ink);font-family:var(--font-display);overflow-wrap:anywhere;letter-spacing:-.02em;font-size:clamp(2rem,11vw,3.25rem);font-style:normal;font-weight:900;line-height:.95;text-decoration:none;display:inline-flex}.icon{stroke:currentColor;flex:none;width:1.05em;height:1.05em}.brand-icon{width:.72em;height:.72em;color:var(--color-accent);stroke:currentColor;flex:none}.category-icon{color:currentColor}.mast-nav{justify-content:center;align-items:center;display:flex}.mast-nav a,.foot-links a{min-height:44px;color:var(--color-ink-2);white-space:nowrap;align-items:center;font-weight:700;display:inline-grid}.mast-rule{width:100%;margin:var(--space-sm) 0 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule)}.page-shell{padding:var(--space-lg) var(--page-gutter) calc(var(--space-3xl) + var(--space-xl))}.menu-layout,.admin-layout,.cart-screen{gap:var(--space-lg);display:grid}.menu-panel,.admin-panel,.order-panel,.inventory-head>*,.category-block,.product-grid{min-width:0}.inventory-head{gap:var(--space-md);margin-block-end:var(--space-lg);display:grid}.inventory-head p,.cart-head p,.muted{color:var(--color-muted)}.field{gap:var(--space-xs);display:grid}.field span{color:var(--color-ink-2);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.field-label{align-items:center;gap:var(--space-xs);display:inline-flex}.field input{border:none;border-block-end:var(--rule-hair) solid var(--color-rule-2);width:100%;min-height:48px;color:var(--color-ink);padding:0 0 var(--space-xs);outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out);background:0 0;border-radius:0;outline:2px solid #0000}.field input::placeholder{color:var(--color-muted)}@media (hover:hover) and (pointer:fine){.field input:hover{border-block-end-color:var(--color-ink-2)}}.field input:focus-visible{border-block-end-color:var(--color-ink);box-shadow:0 2px 0 0 var(--color-focus);outline:none}.category-tabs-wrapper{z-index:var(--z-sticky);margin-inline:calc(var(--page-gutter) * -1);background:var(--color-paper);border-block-end:var(--rule-hair) solid var(--color-rule);align-items:stretch;display:flex;position:sticky;top:0}.tabs-arrow{background:var(--color-paper);color:var(--color-ink);cursor:pointer;min-height:44px;transition:background-color var(--dur-short) var(--ease-out);border:none;border-radius:0;flex:0 0 2.5rem;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.tabs-arrow:hover{background:var(--color-paper-2)}}.category-tabs{scroll-snap-type:x proximity;scrollbar-width:none;padding:0 var(--space-xs);flex:1;gap:0;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.tab,.primary-button,.secondary-button,.danger-button,.text-button,.quantity button,.back-button{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hair) solid transparent;min-height:44px;color:var(--color-ink);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;border-radius:0;font-weight:700;display:inline-flex}.tab{padding:var(--space-sm) var(--space-md);color:var(--color-muted);font-size:var(--text-sm);letter-spacing:.03em;scroll-snap-align:start;border-block-end:2px solid #0000}.tab--active{border-block-end-color:var(--color-ink);color:var(--color-ink)}.secondary-button,.back-button{padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:0 0}.danger-button{padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);color:var(--color-danger)}.text-button{color:var(--color-ink-2);text-underline-offset:.2em;padding:0 var(--space-xs);background:0 0;border-color:#0000;text-decoration:underline}.primary-button{width:100%;padding:0 var(--space-lg);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-accent-ink)}@media (hover:hover) and (pointer:fine){.primary-button:hover{background:var(--color-ink-2);border-color:var(--color-ink-2)}.secondary-button:hover,.back-button:hover,.danger-button:hover,.quantity button:hover{background:var(--color-paper-2)}.tab:hover{color:var(--color-ink)}}.tab:active,.primary-button:active,.secondary-button:active,.danger-button:active,.quantity button:active,.back-button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}.category-block{gap:0;padding-block-start:var(--space-xl);display:grid}.category-block h2{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.04em;text-transform:uppercase;margin-block-end:var(--space-md);font-style:normal;font-weight:900;line-height:1.02;display:block}.category-block h2 .category-icon{display:none}.product-grid{grid-template-columns:1fr;gap:0;display:grid}.product{gap:var(--space-xs) var(--space-md);padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);border:none;border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.product:before{content:"•";left:0;top:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-md);line-height:1.2;position:absolute}.product .quantity{grid-column:1/-1}.product__category{display:none}.product__price{color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);align-self:start;font-weight:500}.quantity{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-2);grid-template-columns:44px minmax(2.5rem,1fr) 44px;align-items:center;min-height:44px;display:grid;overflow:clip}.quantity button{color:var(--color-ink);background:0 0;border:0;border-radius:0;padding:0}.quantity span{text-align:center;font-family:var(--font-mono);font-weight:500}.cart-bar{z-index:var(--z-sticky);inset-inline:max(var(--space-xs), env(safe-area-inset-left)) max(var(--space-xs), env(safe-area-inset-right));align-items:center;gap:var(--space-sm);min-height:60px;width:min(calc(100% - (var(--space-xs) * 2)), 29rem);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-accent-ink);padding:var(--space-xs) var(--space-md);box-shadow:0 8px 24px var(--color-shadow);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;margin-inline:auto;font-weight:700;display:grid;position:fixed;inset-block-end:max(var(--space-xs), env(safe-area-inset-bottom))}.cart-bar:disabled{background:var(--color-paper-3);border-color:var(--color-rule);color:var(--color-muted);box-shadow:none;opacity:1}.cart-bar__count{justify-content:center;align-items:center;gap:var(--space-2xs);border:var(--rule-hair) solid currentColor;border-radius:var(--radius-sm);min-width:3.5rem;padding:var(--space-xs) var(--space-sm);text-align:center;display:inline-flex}.cart-bar__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.cart-bar strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cart-head{gap:var(--space-xs);display:grid}.cart-list,.table-list,.order-history,.order-lines{gap:0;display:grid}.cart-item{gap:var(--space-xs) var(--space-md);padding:var(--space-md) 0;border:none;border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.cart-item h2{font-family:var(--font-body);font-size:var(--text-md);font-weight:700;line-height:1.2}.cart-item .quantity{grid-column:1/-1}.cart-item>strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);align-self:start}.checkout-panel{bottom:var(--space-sm);gap:var(--space-md);padding:var(--space-lg) 0;border-block-start:var(--rule-hair) solid var(--color-ink);background:var(--color-paper);border-radius:0;display:grid;position:sticky}.order-total{gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2);font-size:var(--text-lg);grid-template-columns:minmax(0,1fr) auto;padding-block-end:var(--space-sm);display:grid}.order-total strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.order-form,.admin-login,.item-form{gap:var(--space-md);display:grid}.notice{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border:none;border-block-start:2px solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;margin-block-end:var(--space-lg);display:flex}.notice--success{align-items:stretch;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);background:var(--color-ink);color:var(--color-accent-ink);border-radius:var(--radius-sm);border:none;flex-direction:column}.notice--success span{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;font-style:normal;font-weight:900;line-height:1.1}.notice--success .text-button{color:var(--color-paper-3);font-size:var(--text-sm);-webkit-text-decoration-color:var(--color-muted);text-decoration-color:var(--color-muted);align-self:flex-start;padding:0}.notice--error{border-block-start-color:var(--color-danger)}.admin-layout{align-items:start}.admin-panel{gap:var(--space-md);padding:var(--space-lg) 0;border:none;border-block-start:var(--rule-hair) solid var(--color-ink);background:0 0;border-radius:0;display:grid}.admin-panel h1,.admin-panel h2{font-size:var(--text-xl);letter-spacing:.02em;text-transform:uppercase;font-weight:900}.admin-panel h1{font-size:var(--text-display);letter-spacing:-.01em;text-transform:none}.admin-locked{color:var(--color-muted)}.stats-grid{gap:var(--space-xs);grid-template-columns:1fr;display:grid}.stat-card{align-items:end;gap:var(--space-xs);padding:var(--space-md) var(--space-md);background:var(--color-ink);color:var(--color-accent-ink);border-radius:var(--radius-sm);border:none;grid-template-columns:minmax(0,1fr) auto;display:grid}.stat-card strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-lg)}.stat-card span{color:var(--color-paper-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1}.admin-tabs{top:var(--space-xs);z-index:var(--z-sticky);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);padding:var(--space-2xs);grid-template-columns:1fr 1fr;gap:0;display:grid;position:sticky;overflow:clip}.admin-tabs .tab{padding-inline:var(--space-sm);border-radius:var(--radius-sm);border-block-end:none;justify-content:center}.admin-tabs .tab--active{background:var(--color-ink);color:var(--color-accent-ink);border-block-end:none}.button-row,.row-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.button-row .primary-button{flex:100%}.table-row{gap:var(--space-xs);padding:var(--space-md) 0;border:none;border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr);display:grid}.table-row>span:first-child{align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.table-row>span:first-child em{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-xs);padding:var(--space-3xs) var(--space-xs);font-style:normal}.table-row--hidden{color:var(--color-muted)}.table-row--editing{padding-block:var(--space-md);border-block-start:2px solid var(--color-ink);border-block-end:2px solid var(--color-ink);background:0 0}.table-row--editing .item-form{gap:var(--space-md);display:grid}.table-row>span:nth-child(2){align-items:center;gap:var(--space-xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;display:inline-flex}.table-row>strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md)}.order-card{gap:var(--space-xs);padding:var(--space-md) 0;border:none;border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.order-card--fulfilled{color:var(--color-muted)}.order-card>strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);align-self:start}.order-time{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;font-weight:500}.order-card ul{color:var(--color-muted);grid-column:1/-1;margin:0;padding-inline-start:var(--space-lg)}.order-card .primary-button{grid-column:1/-1}.empty-state{align-items:center;gap:var(--space-sm);padding:var(--space-xl) 0;color:var(--color-muted);text-align:start;background:0 0;border:none;border-radius:0;display:flex}.empty-state__icon{flex:none;width:1.4rem;height:1.4rem}.foot-mast{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--page-gutter);border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);display:flex}.foot-wordmark{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.01em;font-style:normal;font-weight:900}.foot-links{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.back-button{color:var(--color-ink-2);text-underline-offset:.2em;border-color:#0000;padding:0;text-decoration:underline}@media (width<=21.5rem){.nav-mast{text-align:start;justify-items:start}.cart-bar{grid-template-columns:auto minmax(0,1fr)}.cart-bar strong{grid-column:1/-1}}@media (hover:hover) and (pointer:fine){.product:hover h3,.cart-item:hover h2,.table-row:hover>span:first-child,.order-card:hover h3{color:var(--color-accent)}.product,.cart-item,.table-row,.order-card{transition:color var(--dur-short) var(--ease-out)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}
