@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);--color-app-paper:oklch(97% .01 132);--color-app-surface:oklch(99% .006 132);--color-app-surface-2:oklch(94% .012 132);--color-app-ink:oklch(22% .06 145);--color-app-ink-2:oklch(36% .05 145);--color-app-muted:oklch(52% .04 145);--color-app-rule:oklch(86% .016 132);--color-app-rule-2:oklch(74% .022 132);--color-app-accent:oklch(34% .13 145);--color-app-accent-2:oklch(91% .03 132);--color-app-accent-ink:oklch(97% .008 132);--color-app-success:oklch(48% .135 145);--color-app-danger:oklch(50% .17 28);--color-app-focus:oklch(47% .17 45);--color-app-shadow:oklch(22% .015 55/.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;--font-app-display:"Fraunces", "DM Serif Display", ui-serif, Georgia, serif;--font-app-body:"IBM Plex Sans", "Switzer", ui-sans-serif, system-ui, sans-serif;--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-dropdown:100;--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,.field select{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,.field select:hover{border-block-end-color:var(--color-ink-2)}}.field input:focus-visible,.field select:focus-visible{border-block-end-color:var(--color-ink);box-shadow:0 2px 0 0 var(--color-focus);outline:none}.field small{color:var(--color-muted);font-size:var(--text-xs)}.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%}.image-field{align-items:end;gap:var(--space-md);grid-template-columns:64px minmax(0,1fr);display:grid}.image-preview,.table-row-name img{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-2);object-fit:cover;width:56px;height:56px}.image-preview{width:64px;height:64px;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;place-items:center;display:grid;overflow:clip}.image-preview img{object-fit:cover;width:100%;height: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-name,.table-row>span:first-child{align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.table-row-name span{align-items:center;gap:var(--space-xs);flex-wrap:wrap;min-width:0;display:flex}.table-row-name em,.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>span:nth-child(2) .pp-diet-dot{flex:none;margin-block-start:0}.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 .table-row-name,.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)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pp-app{min-height:100dvh;background:var(--color-app-paper);color:var(--color-app-ink);font-family:var(--font-app-body);padding-block-end:calc(5.5rem + env(safe-area-inset-bottom))}.pp-app *,.pp-app :before,.pp-app :after{box-sizing:border-box}.pp-app button,.pp-app input{font:inherit}.pp-app button{-webkit-tap-highlight-color:transparent}.pp-app :focus-visible{outline:2px solid var(--color-app-focus);outline-offset:3px}.pp-topbar{z-index:var(--z-sticky);justify-content:center;align-items:center;gap:var(--space-md);min-height:58px;padding:var(--space-xs) max(var(--space-md), env(safe-area-inset-left)) var(--space-xs) max(var(--space-md), env(safe-area-inset-right));background:var(--color-app-surface);border-block-end:var(--rule-hair) solid var(--color-app-rule);display:flex;position:sticky;top:0}.pp-app .pp-brand{align-items:center;gap:var(--space-sm);min-width:0;color:var(--color-app-ink);cursor:pointer;font-family:var(--font-app-display);font-size:var(--text-lg);letter-spacing:0;text-transform:none;white-space:nowrap;background:0 0;border:0;font-weight:900;line-height:1;display:inline-flex}.pp-logo{border-radius:var(--radius-pill);background:var(--color-app-accent);width:38px;height:38px;color:var(--color-app-accent-ink);place-items:center;display:inline-grid}.pp-logo .icon{width:21px;height:21px}.pp-logo--large{width:62px;height:62px;margin-block-end:var(--space-sm)}.pp-logo--large .icon{width:30px;height:30px}.pp-notice{padding:var(--space-sm) var(--space-md) 0}.pp-notice .notice{padding:var(--space-sm) var(--space-md);background:var(--color-app-surface);border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);color:var(--color-app-ink);box-shadow:0 8px 24px var(--color-app-shadow);margin:0}.pp-notice .notice--success,.pp-notice .notice--error{background:var(--color-app-surface);color:var(--color-app-ink)}.pp-notice .notice--success{border-color:var(--color-app-success)}.pp-notice .notice--error{border-color:var(--color-app-danger)}.pp-notice .notice--success span{color:var(--color-app-ink);font-family:var(--font-app-body);font-size:var(--text-base);letter-spacing:0;font-weight:700;line-height:1.35}.pp-notice .text-button{min-height:36px;color:var(--color-app-ink-2)}.pp-main{width:min(100%,80rem);padding:var(--space-md) var(--space-md) var(--space-xl);margin-inline:auto}.pp-home{place-items:center;min-height:calc(100dvh - 11rem);display:grid}.pp-home-card{border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);background:var(--color-app-surface);width:min(26rem,100%);box-shadow:0 14px 34px var(--color-app-shadow);display:grid;overflow:clip}.pp-home-card img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.pp-home-card>div{justify-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);text-align:center;display:grid}.pp-home h1,.pp-menu-head h1,.pp-cart-title h1,.pp-orders-empty h1{color:var(--color-app-ink);font-family:var(--font-app-display);font-size:var(--text-xl);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-style:normal;font-weight:800;line-height:1.1}.pp-home p{max-width:28ch;color:var(--color-app-muted);margin:0}.pp-primary,.pp-add-button,.pp-back,.pp-filter-button,.pp-filter-option,.pp-cart-strip button,.pp-order-tabs button{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;min-height:44px;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:800;display:inline-flex}.pp-primary{padding:0 var(--space-lg);background:var(--color-app-accent);color:var(--color-app-accent-ink)}.pp-primary:disabled{background:var(--color-app-rule);color:var(--color-app-muted);cursor:not-allowed;opacity:1}.pp-search-row{z-index:var(--z-sticky);gap:var(--space-sm);padding-block:var(--space-sm);background:var(--color-app-paper);grid-template-columns:minmax(0,1fr) auto;display:grid;position:sticky;top:58px}.pp-search{align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);background:var(--color-app-surface);color:var(--color-app-muted);grid-template-columns:20px minmax(0,1fr);display:grid}.pp-search input{min-width:0;color:var(--color-app-ink);background:0 0;border:0;outline:0}.pp-search input::placeholder{color:var(--color-app-muted)}.pp-filter-wrap{position:relative}.pp-filter-button{padding:0 var(--space-md);border-color:var(--color-app-rule);background:var(--color-app-surface);color:var(--color-app-ink)}.pp-filter-menu{z-index:var(--z-dropdown);gap:var(--space-2xs);min-width:11rem;padding:var(--space-xs);border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);background:var(--color-app-surface);box-shadow:0 12px 26px var(--color-app-shadow);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-xs));inset-inline-end:0}.pp-filter-option{padding:0 var(--space-sm);color:var(--color-app-ink-2);background:0 0;justify-content:flex-start}.pp-filter-option--active{background:var(--color-app-accent-2);color:var(--color-app-accent)}.pp-category-rail{gap:var(--space-sm);scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(var(--space-md) * -1);padding:var(--space-sm) var(--space-md) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-app-rule);display:flex;overflow-x:auto}.pp-category-rail::-webkit-scrollbar{display:none}.pp-category{justify-items:center;gap:var(--space-xs);min-height:6rem;padding:0 0 var(--space-sm);color:var(--color-app-ink-2);cursor:pointer;font-size:var(--text-xs);text-align:center;scroll-snap-align:start;background:0 0;border:0;flex:0 0 5.4rem;font-weight:800;display:grid;position:relative}.pp-category:after{content:"";inset-inline:var(--space-xs);background:0 0;height:2px;position:absolute;inset-block-end:0}.pp-category img,.pp-category-image{border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);object-fit:cover;width:4.5rem;height:3.5rem}.pp-category-image{background:var(--color-app-surface);color:var(--color-app-accent);place-items:center;display:grid}.pp-category span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:5.2rem;overflow:hidden}.pp-category--active{color:var(--color-app-accent)}.pp-category--active:after{background:var(--color-app-accent)}.pp-menu-head,.pp-cart-title{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-block:var(--space-lg) var(--space-md);display:flex}.pp-menu-head span,.pp-cart-title span{color:var(--color-app-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:700}.pp-empty{align-items:center;gap:var(--space-sm);min-height:9rem;padding:var(--space-lg) 0;color:var(--color-app-muted);display:flex}.pp-empty .icon{width:28px;height:28px}.pp-category-block{border-block-start:var(--rule-hair) solid var(--color-app-rule)}.pp-category-heading{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-height:56px;color:var(--color-app-ink);cursor:pointer;text-align:start;white-space:nowrap;background:0 0;border:0;font-weight:800;display:flex}.pp-chevron-open{transform:rotate(90deg)}.pp-item-list{display:grid}.pp-item{align-items:start;gap:var(--space-sm);padding:var(--space-md) 0;border-block-start:var(--rule-hair) dashed var(--color-app-rule);grid-template-columns:14px minmax(0,1fr) 72px;display:grid}.pp-diet-dot{width:14px;height:14px;border:var(--rule-hair) solid currentColor;border-radius:var(--radius-sm);color:var(--color-app-success);margin-block-start:var(--space-2xs)}.pp-diet-dot:after{content:"";border-radius:var(--radius-pill);background:currentColor;width:6px;height:6px;margin:3px;display:block}.pp-diet-dot--non-veg{color:var(--color-app-danger)}.pp-item-copy{gap:var(--space-xs);min-width:0;display:grid}.pp-item h2,.pp-cart-line h2{color:var(--color-app-ink);font-family:var(--font-app-display);font-size:var(--text-md);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-style:normal;font-weight:800;line-height:1.2}.pp-item p,.pp-cart-line p{color:var(--color-app-ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.pp-item>img,.pp-cart-line>img{border-radius:var(--radius-md);object-fit:cover;background:var(--color-app-surface-2);width:72px;height:72px}.pp-item-action{grid-column:2/4;justify-self:end;width:min(8.75rem,100%)}.pp-item-action .quantity{background:var(--color-app-surface);border-color:var(--color-app-rule);grid-template-columns:40px minmax(2.25rem,1fr) 40px}.pp-add-button{width:100%;padding:0 var(--space-md);border-color:var(--color-app-accent);background:var(--color-app-surface);color:var(--color-app-accent)}.pp-cart-strip{z-index:var(--z-sticky);inset-inline:max(var(--space-sm), env(safe-area-inset-left)) max(var(--space-sm), env(safe-area-inset-right));align-items:center;gap:var(--space-xs);width:min(34rem, calc(100% - (var(--space-sm) * 2)));min-height:54px;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-app-accent);border-radius:var(--radius-md);background:var(--color-app-accent);color:var(--color-app-accent-ink);box-shadow:0 14px 30px var(--color-app-shadow);grid-template-columns:minmax(0,1fr) auto auto;margin-inline:auto;display:grid;position:fixed;inset-block-end:calc(4.7rem + env(safe-area-inset-bottom))}.pp-cart-strip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.pp-cart-strip button{min-height:38px;padding:0 var(--space-sm);background:var(--color-app-accent-ink);color:var(--color-app-accent)}.pp-cart-strip button:last-child{color:var(--color-app-accent-ink);background:0 0;border-color:currentColor}.pp-bottom-nav{z-index:var(--z-sticky);min-height:calc(5rem + env(safe-area-inset-bottom));padding:var(--space-xs) max(var(--space-sm), env(safe-area-inset-left)) max(var(--space-xs), env(safe-area-inset-bottom)) max(var(--space-sm), env(safe-area-inset-right));background:var(--color-app-surface);border-block-start:var(--rule-hair) solid var(--color-app-rule);box-shadow:0 -10px 28px var(--color-app-shadow);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset-block-end:0;inset-inline:0}.pp-bottom-nav button{align-content:center;place-items:center;gap:var(--space-2xs);min-width:0;min-height:62px;padding:var(--space-xs) var(--space-2xs);color:var(--color-app-muted);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:0;cursor:pointer;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:0;font-weight:800;line-height:1;display:grid}.pp-bottom-nav .icon{stroke-width:2.1px;width:28px;height:28px}.pp-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.pp-bottom-nav button[aria-current=page]{background:var(--color-app-accent-2);color:var(--color-app-accent)}.pp-cart-screen,.pp-orders{gap:var(--space-md);display:grid}.pp-back{padding:0 var(--space-sm);color:var(--color-app-ink-2);background:0 0;justify-self:start}.pp-cart-list{border-block-start:var(--rule-hair) solid var(--color-app-rule);gap:0;display:grid}.pp-cart-line{gap:var(--space-sm);padding-block:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-app-rule);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;display:grid}.pp-cart-line>img{width:64px;height:64px}.pp-cart-line strong,.pp-total strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pp-cart-line .quantity{background:var(--color-app-surface);border-color:var(--color-app-rule);grid-column:2/4;justify-self:end;width:min(8.75rem,100%)}.pp-checkout{bottom:calc(4.75rem + env(safe-area-inset-bottom));gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);background:var(--color-app-surface);box-shadow:0 10px 26px var(--color-app-shadow);display:grid;position:sticky}.pp-total{justify-content:space-between;align-items:baseline;gap:var(--space-md);color:var(--color-app-ink-2);margin:0;display:flex}.pp-total strong{color:var(--color-app-ink);font-size:var(--text-lg)}.pp-field{gap:var(--space-xs);display:grid}.pp-field span{color:var(--color-app-ink-2);font-size:var(--text-sm);font-weight:800}.pp-field input{border:var(--rule-hair) solid var(--color-app-rule);border-radius:var(--radius-md);background:var(--color-app-surface);min-height:46px;color:var(--color-app-ink);padding:0 var(--space-md);outline-offset:1px;outline:2px solid #0000}.pp-field input::placeholder{color:var(--color-app-muted)}.pp-field input:focus-visible{border-color:var(--color-app-ink-2);outline-color:var(--color-app-focus)}.pp-order-tabs{border-block-end:var(--rule-hair) solid var(--color-app-rule);grid-template-columns:1fr 1fr;display:grid}.pp-order-tabs button{min-height:58px;color:var(--color-app-muted);background:0 0;border-radius:0}.pp-order-tabs button[aria-selected=true]{color:var(--color-app-accent);border-block-end-color:var(--color-app-accent)}.pp-order-tabs span{border-radius:var(--radius-pill);background:var(--color-app-surface-2);color:currentColor;min-width:1.5rem;height:1.5rem;font-size:var(--text-xs);place-items:center;display:inline-grid}.pp-orders-empty{align-content:center;place-items:center;gap:var(--space-sm);text-align:center;min-height:calc(100dvh - 15rem);display:grid}.pp-orders-empty>.icon{width:72px;height:72px;color:var(--color-app-accent)}.pp-orders-empty p{max-width:34ch;color:var(--color-app-muted);margin:0}.pp-footer{gap:var(--space-2xs);width:min(100%,80rem);padding:var(--space-lg) var(--space-md) calc(var(--space-xl) + 5rem + env(safe-area-inset-bottom));border-block-start:var(--rule-hair) solid var(--color-app-rule);color:var(--color-app-muted);font-size:var(--text-sm);margin-inline:auto;display:grid}.pp-footer p{margin:0}.pp-footer-wordmark{color:var(--color-app-ink);text-transform:uppercase;font-weight:800}@media (hover:hover) and (pointer:fine){.pp-primary:hover,.pp-add-button:hover,.pp-filter-button:hover,.pp-filter-option:hover,.pp-cart-strip button:hover,.pp-bottom-nav button:hover,.pp-order-tabs button:hover,.pp-back:hover{transform:translateY(-1px)}.pp-category:hover,.pp-item:hover h2,.pp-cart-line:hover h2{color:var(--color-app-accent)}}.pp-primary:active,.pp-add-button:active,.pp-filter-button:active,.pp-filter-option:active,.pp-cart-strip button:active,.pp-bottom-nav button:active,.pp-order-tabs button:active,.pp-back:active{transform:translateY(1px)}@media (width<=30rem){.pp-search-row{grid-template-columns:minmax(0,1fr)}.pp-filter-button{width:100%}.pp-filter-menu{width:100%;inset-inline:0 auto}.pp-cart-strip{grid-template-columns:minmax(0,1fr) auto}.pp-cart-strip button:last-child{grid-column:2}}@media (width>=40rem){.pp-main{padding-inline:var(--space-lg)}.pp-search-row{top:58px}.pp-item{grid-template-columns:14px minmax(0,1fr) 72px auto;align-items:center}.pp-item-action{grid-column:auto}.pp-cart-line{grid-template-columns:64px minmax(0,1fr) auto auto}.pp-cart-line .quantity{grid-column:auto}.pp-footer{grid-template-columns:auto minmax(0,1fr);align-items:baseline}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}
