:root{--tg-bg-color:#fbfbf7;--tg-text-color:#202124;--tg-hint-color:#73766b;--tg-link-color:#f43f3f;--tg-button-color:#f43f3f;--tg-button-text-color:#fff;--tg-secondary-bg-color:#f0f1ea;--tg-section-bg-color:#fff;--tg-section-separator-color:#e5e4dc;--tg-destructive-text-color:#c9382f;--background:var(--tg-bg-color);--foreground:var(--tg-text-color);--surface:var(--tg-section-bg-color);--surface-soft:var(--tg-secondary-bg-color);--muted:var(--tg-hint-color);--line:var(--tg-section-separator-color);--primary:var(--tg-button-color);--primary-foreground:var(--tg-button-text-color);--danger:var(--tg-destructive-text-color);color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Aptos,Segoe UI Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.dark{--tg-bg-color:#121313;--tg-text-color:#f6f6f2;--tg-hint-color:#a2a69a;--tg-link-color:#ff5a58;--tg-button-color:#ff5a58;--tg-button-text-color:#171717;--tg-secondary-bg-color:#1e211d;--tg-section-bg-color:#191b19;--tg-section-separator-color:#31352f;--tg-destructive-text-color:#ff7b70}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 12% -4%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 34%), linear-gradient(180deg, var(--background), color-mix(in srgb, var(--background) 88%, var(--surface-soft)));min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}svg{stroke-width:2.15px;width:1em;height:1em}.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}.app-shell{width:min(100%,430px);min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));color:var(--foreground);margin:0 auto}.top-shell{z-index:20;margin:calc(-1 * max(12px, env(safe-area-inset-top))) -12px 0;padding:max(12px, env(safe-area-inset-top)) 12px 12px;border-bottom:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.titlebar,.delivery-row,.drawer-summary,.order-status-head,.order-meta,.section-heading,.payment-row,.total-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.titlebar{min-height:40px}.brand-lockup{text-align:center}.brand-lockup h1{margin:0;font-size:16px;font-weight:700;line-height:1.05}.brand-lockup p,.section-heading p,.drawer-title p,.order-status p,.total-card span,.cart-line-copy span,.field-note{color:var(--muted);margin:0;font-size:12px;line-height:1.25}.ghost-button,.icon-button,.address-pill,.cart-count-button,.category-rail button,.stepper button,.payment-choice button,.line-decrement,.order-status button,.submit-order,.cart-bar-button{min-height:36px;color:var(--foreground);border-radius:8px;justify-content:center;align-items:center;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s,opacity .16s;display:inline-flex}.ghost-button{color:var(--foreground);background:0 0;gap:6px;padding:0 8px;font-size:13px}.ghost-button:disabled{opacity:.38}.icon-button{background:var(--surface);width:36px;height:36px;color:var(--foreground);padding:0}.icon-button.outline{border:1px solid var(--line)}.icon-button.primary,.cart-count-button,.submit-order,.cart-bar-button{background:var(--primary);color:var(--primary-foreground)}.icon-button.dark{background:color-mix(in srgb, var(--background) 16%, transparent);color:var(--background)}.icon-button.subtle{color:var(--muted);background:0 0}.delivery-row{padding:8px 0}.address-pill{border:1px solid var(--line);background:var(--surface);flex:1;justify-content:flex-start;gap:8px;min-width:0;padding:8px 10px;font-size:14px;box-shadow:0 1px #2021240a}.address-pill span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.address-pill svg:first-child{color:var(--primary)}.address-pill svg:last-child{color:var(--muted);margin-left:auto}.cart-count-button{min-width:84px;box-shadow:0 8px 22px color-mix(in srgb, var(--primary) 24%, transparent);gap:7px;padding:0 12px;font-weight:700}.search-box{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{min-width:0;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:15px}.search-box input::placeholder,.checkout-fields input::placeholder,.checkout-fields textarea::placeholder{color:color-mix(in srgb, var(--muted) 78%, transparent)}.content-flow{flex-direction:column;gap:12px;padding:12px 0 72px;display:flex}.category-rail{scrollbar-width:none;gap:8px;margin:0 -12px;padding:0 12px 2px;display:flex;overflow-x:auto}.category-rail::-webkit-scrollbar{display:none}.category-rail button{border:1px solid var(--line);background:var(--surface);min-width:56px;color:var(--foreground);white-space:nowrap;flex:none;padding:0 14px;font-size:14px}.category-rail button.active{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground);box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 20%, transparent)}.section-heading{align-items:flex-end;padding:0 4px}.section-heading h2{margin:2px 0 0;font-size:22px;font-weight:750;line-height:1.05}.section-heading>span{background:var(--surface-soft);color:var(--foreground);border-radius:8px;flex:none;padding:7px 10px;font-size:12px;font-weight:650}.menu-list,.state-panel,.order-status{border:1px solid var(--line);background:var(--surface);border-radius:8px}.product-row{border-bottom:1px solid var(--line);grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.product-row.last{border-bottom:0}.product-image,.cart-line img{aspect-ratio:1;object-fit:cover;background:var(--surface-soft);border-radius:8px;width:100%;display:block}.product-copy{min-width:0}.product-title-line{align-items:flex-start;gap:8px;display:flex}.product-copy h3{text-wrap:pretty;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.18}.product-copy p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:13px;line-height:1.28;display:-webkit-box;overflow:hidden}.product-copy strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:15px;font-weight:750;display:block}.availability{background:var(--surface-soft);color:var(--muted);border-radius:8px;flex:none;padding:3px 6px;font-size:11px;font-weight:650}.stepper{border:1px solid var(--line);background:var(--background);border-radius:8px;grid-template-columns:32px 30px 32px;align-items:center;padding:4px;display:grid}.stepper button{width:32px;height:32px;color:var(--foreground);background:0 0}.stepper span{text-align:center;font-variant-numeric:tabular-nums;font-size:14px;font-weight:750}.cart-bar{z-index:30;padding:12px 12px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);margin:auto -12px 0;position:sticky;bottom:0}.cart-bar-button{width:100%;min-height:48px;box-shadow:0 8px 22px color-mix(in srgb, var(--primary) 24%, transparent);justify-content:space-between;padding:0 16px;font-size:16px;font-weight:750}.cart-bar-button span{align-items:center;gap:8px;display:inline-flex}.cart-bar-button:disabled{opacity:.55}.cart-drawer{z-index:40;border:1px solid var(--line);background:var(--surface);border-bottom:0;border-radius:18px 18px 0 0;margin:auto -12px 0;position:sticky;bottom:0;overflow:hidden;box-shadow:0 -18px 50px #2021242e}.drawer-top{background:var(--foreground);color:var(--background);border-radius:18px 18px 0 0;padding:10px 14px 12px}.drawer-handle{background:color-mix(in srgb, var(--background) 45%, transparent);border-radius:99px;width:36px;height:4px;margin:0 auto 12px}.drawer-title{align-items:center;gap:10px;display:flex}.drawer-title>svg{width:28px;height:28px}.drawer-title h2{margin:0;font-size:18px;line-height:1.05}.drawer-title p{color:color-mix(in srgb, var(--background) 65%, transparent)}.drawer-total strong{font-variant-numeric:tabular-nums;font-size:19px}.drawer-body{max-height:68dvh;padding:12px 14px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex;overflow-y:auto}.cart-lines{border:1px solid var(--line);background:var(--background);border-radius:8px}.cart-line{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr) auto 34px;align-items:center;gap:10px;padding:10px;display:grid}.cart-line.last{border-bottom:0}.cart-line-copy{min-width:0}.cart-line-copy p{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.cart-line>strong{font-variant-numeric:tabular-nums;font-size:14px}.line-decrement{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--foreground);grid-column:2/4;justify-self:start;gap:6px;padding:0 10px;font-size:13px}.checkout-fields{gap:12px;display:grid}.checkout-fields label{gap:6px;display:grid}.checkout-fields span,.payment-row>span{color:var(--foreground);font-size:13px;font-weight:700}.checkout-fields input,.checkout-fields textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--foreground);resize:vertical;background:0 0;border-radius:8px;outline:0;padding:8px 10px}.payment-choice{border:1px solid var(--line);background:var(--background);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.payment-choice button{min-width:88px;min-height:32px;color:var(--foreground);background:0 0;padding:0 10px;font-size:13px}.payment-choice button.active{background:var(--primary);color:var(--primary-foreground)}.field-note{line-height:1.35}.notice{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.35}.notice.error,.error-state{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger)}.total-card{border:1px solid var(--line);background:var(--background);border-radius:8px;padding:12px}.total-card p{margin:0 0 2px;font-size:14px;font-weight:750}.total-card strong{font-variant-numeric:tabular-nums;font-size:22px}.submit-order{background:var(--primary);width:100%;min-height:48px;color:var(--primary-foreground);box-shadow:0 8px 22px color-mix(in srgb, var(--primary) 24%, transparent);font-size:16px;font-weight:750}.submit-order:disabled{opacity:.55}.order-status{gap:12px;padding:12px;display:grid}.order-icon{background:var(--primary);width:44px;height:44px;color:var(--primary-foreground);border-radius:8px;place-items:center;display:grid}.order-status h3{margin:0;font-size:16px}.order-status button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--foreground);gap:6px;padding:0 10px;font-size:13px}.order-meta span{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.status-steps{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.status-steps div{gap:6px;display:grid}.status-steps span{background:var(--surface-soft);border-radius:99px;height:4px}.status-steps div.active span{background:var(--primary)}.status-steps p{color:var(--muted);margin:0;font-size:11px}.status-steps div.active p{color:var(--foreground)}.state-panel{padding:18px 14px}.state-panel.compact{padding:14px}.state-panel h3{margin:0 0 6px;font-size:16px}.state-panel p{color:var(--muted);margin:0;font-size:13px;line-height:1.35}.skeleton-row{border-bottom:1px solid var(--line);grid-template-columns:82px minmax(0,1fr) 38px;align-items:center;gap:12px;padding:12px;display:grid}.skeleton-row.last{border-bottom:0}.skeleton{background:linear-gradient(90deg, var(--surface-soft), color-mix(in srgb, var(--surface-soft) 62%, var(--surface)), var(--surface-soft));background-size:220% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton.image{aspect-ratio:1}.skeleton.action{width:38px;height:38px}.skeleton-lines{gap:8px;display:grid}.skeleton-lines span{background:var(--surface-soft);border-radius:99px;height:12px}.skeleton-lines span:first-child{width:74%}.skeleton-lines span:nth-child(2){width:100%}.skeleton-lines span:last-child{width:46%;height:15px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 38%, transparent);outline-offset:2px}button:not(:disabled):active{transform:translateY(1px)scale(.99)}button:not(:disabled):hover{filter:brightness(.98)}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=360px){.product-row{grid-template-columns:74px minmax(0,1fr) auto;gap:10px;padding:10px}.stepper{grid-template-columns:28px 26px 28px}.stepper button,.icon-button{width:32px;height:32px}.payment-row{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
