:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1f1f1f;--color-muted:#6b6b6b;--color-border:#e6e6e6;--color-primary:#d84315;--color-primary-contrast:#fff;--color-badge-bg:#fff1eb;--color-danger:#c62828;--color-success:#2e7d32;--radius:14px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-bg:#121212;--color-surface:#1e1e1e;--color-text:#f1f1f1;--color-muted:#a5a5a5;--color-border:#2f2f2f;--color-primary:#ff7043;--color-primary-contrast:#1a1a1a;--color-badge-bg:#3a2018;--color-danger:#ef5350;--color-success:#66bb6a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}h1,h2,h3{margin:0}button,input,textarea{font:inherit;color:inherit}a{color:var(--color-primary)}.page{max-width:720px;padding:var(--gutter);margin:0 auto}.page.with-cart-bar{padding-bottom:96px}.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.muted{color:var(--color-muted)}.small{font-size:13px}.center{text-align:center}.danger{color:var(--color-danger)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.menu-hero{aspect-ratio:3;background:var(--color-border);width:100%;min-height:140px;max-height:280px;position:relative;overflow:hidden}.menu-hero img{object-fit:cover;width:100%;height:100%;animation:1.4s cubic-bezier(.2,.7,.2,1) both hero-zoom;position:absolute;inset:0}.menu-hero:after{content:"";background:linear-gradient(#0000 35%,#000000a6);position:absolute;inset:0}.menu-hero h1{z-index:1;max-width:720px;padding:var(--gutter);color:#fff;text-shadow:0 1px 8px #00000073;margin:0 auto;font-size:26px;animation:.5s ease-out .15s both rise-in;position:absolute;bottom:0;left:0;right:0}.menu-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--gutter) var(--gutter) 0;position:sticky;top:0}.menu-header>*{max-width:720px;margin-left:auto;margin-right:auto}.menu-header>:first-child{margin-top:0}.menu-header h1{font-size:22px}.closed-banner{background:var(--color-badge-bg);border-radius:10px;margin-top:8px;padding:8px 12px;font-size:14px;animation:.3s ease-out both rise-in}.search{border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;width:100%;margin-top:12px;padding:10px 14px;display:block}.section-tabs{scrollbar-width:none;gap:8px;padding:12px 0;display:flex;overflow-x:auto}.section-tabs a{border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:14px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.section-tabs a:hover,.section-tabs a:focus-visible{border-color:var(--color-primary);color:var(--color-primary)}.section-tabs a:active{background:var(--color-badge-bg)}.menu-header:not(:has(.section-tabs)){padding-bottom:var(--gutter)}.my-orders{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:14px;display:flex}.my-orders-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-order-chip{background:var(--color-badge-bg);border-radius:999px;padding:2px 10px;font-weight:600;text-decoration:none;animation:.3s ease-out both rise-in}.my-orders-history{white-space:nowrap}.menu-section{padding-top:20px;scroll-margin-top:150px}.menu-section h2{margin-bottom:4px;font-size:19px}.menu-items li{animation:.36s ease-out both rise-in;animation-delay:min(calc(var(--i,0) * 45ms), .45s)}.menu-items{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.menu-item{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;gap:12px;width:100%;padding:12px;transition:transform .15s,box-shadow .2s,border-color .2s;display:flex}@media (hover:hover){.menu-item:hover{border-color:var(--color-primary);box-shadow:0 4px 14px #00000014}}.menu-item:active{transform:scale(.98)}.menu-item img{object-fit:cover;border-radius:10px;flex-shrink:0;width:92px;height:92px}.menu-item-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.price-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price{font-weight:600}.badge{background:var(--color-badge-bg);color:var(--color-primary);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.cart-bar{left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + env(safe-area-inset-bottom));border-radius:var(--radius);background:var(--color-primary);max-width:688px;color:var(--color-primary-contrast);cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:14px 18px;font-weight:600;transition:transform .15s;animation:.32s cubic-bezier(.32,.72,0,1) both slide-up;display:flex;position:fixed;box-shadow:0 6px 20px #0003}.cart-bar:active{transform:scale(.98)}.cart-count{background:#ffffff40;border-radius:999px;min-width:26px;padding:2px 8px;animation:.35s ease-out bump}.primary-button{background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-weight:600;transition:transform .15s,opacity .15s}.primary-button:not(:disabled):active{transform:scale(.97)}.primary-button:disabled{opacity:.5;cursor:default}.primary-button.wide{width:100%}.icon-button{cursor:pointer;background:0 0;border:none;border-radius:50%;width:36px;height:36px;transition:background-color .15s,transform .15s}.icon-button:hover{background:var(--color-bg)}.icon-button:active{transform:scale(.9)}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;animation:.22s ease-out both fade-in;display:flex;position:fixed;inset:0}.sheet-backdrop.closing{pointer-events:none;animation:.2s ease-in both fade-out}.sheet{background:var(--color-surface);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:92vh;animation:.34s cubic-bezier(.32,.72,0,1) both sheet-up;display:flex}.sheet-backdrop.closing .sheet{animation:.2s ease-in both sheet-down}@media (width>=640px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px;animation-name:sheet-pop}.sheet-backdrop.closing .sheet{animation-name:sheet-pop-out}}.sheet-header{padding:14px var(--gutter) 8px;justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-header h2{font-size:18px}.sheet-body{padding:0 var(--gutter) var(--gutter);flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.sheet-body>*{animation:.32s ease-out .12s both rise-in}.sheet-body>:nth-child(2){animation-delay:.16s}.sheet-body>:nth-child(3){animation-delay:.2s}.sheet-body>:nth-child(4){animation-delay:.24s}.sheet-body>:nth-child(n+5){animation-delay:.28s}.sheet-footer{padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border)}.sheet-actions{align-items:center;gap:12px;display:flex}.sheet-actions .primary-button{flex:1}.item-sheet-image{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);width:100%;max-height:280px;animation:.5s cubic-bezier(.2,.7,.2,1) 80ms both image-reveal}.sheet-section{border-top:1px solid var(--color-border);padding-top:8px}.sheet-section h3{margin-bottom:6px;font-size:15px}.plain-list{margin:0;padding:0;list-style:none}.option-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.checkout-form .checkbox-row{flex-direction:row;font-weight:500}.checkbox-row small{font-weight:400;display:block}.option-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--color-primary)}textarea,.checkout-form input{border:1px solid var(--color-border);background:var(--color-bg);resize:vertical;border-radius:10px;width:100%;padding:10px 12px}.stepper{border:1px solid var(--color-border);border-radius:999px;align-items:center;display:inline-flex}.stepper button{width:38px;height:38px;color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:20px}.stepper button:disabled{color:var(--color-muted);opacity:.4;cursor:default}.stepper span{text-align:center;min-width:24px;font-weight:600}.cart-lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart-lines li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;animation:.28s ease-out both rise-in;display:flex}.cart-line-info{flex-direction:column;min-width:0;display:flex}.checkout-form{flex-direction:column;gap:12px;padding-top:8px;display:flex}.checkout-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}.checkout-form input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-weight:400}.reveal{animation:.22s ease-out both rise-in}.loyalty{border:1px solid var(--color-border);background:var(--color-badge-bg);border-radius:12px;flex-direction:column;gap:12px;min-width:0;margin:4px 0 0;padding:12px 14px 14px;display:flex}.loyalty legend{color:var(--color-primary);padding:0 6px;font-size:14px;font-weight:600}.loyalty p{margin:0}.error-box{background:var(--color-badge-bg);color:var(--color-danger);border-radius:10px;margin:0;padding:10px 12px}.back-link{margin-bottom:16px;text-decoration:none;display:inline-block}.order-hero{padding:24px var(--gutter);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:4px;animation:.45s cubic-bezier(.34,1.56,.64,1) both pop-in;display:flex}.order-hero p{margin:4px 0 0}.order-number{font-size:44px;line-height:1}.steps{gap:6px;margin:16px 0;padding:0;list-style:none;display:flex}.steps li{border-top:4px solid var(--color-border);color:var(--color-muted);text-align:center;transition:border-color .4s,color .4s;transition-delay:calc(var(--i,0) * 80ms);flex:1;padding-top:8px;font-size:12px}.steps li.done{border-top-color:var(--color-success);color:var(--color-text);font-weight:600}.order-summary{padding:var(--gutter);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);animation:.4s ease-out .15s both rise-in}.order-summary .muted:first-child{margin-top:0}.summary-line{justify-content:space-between;gap:12px;padding:6px 0;display:flex}.summary-line>div{flex-direction:column;display:flex}.summary-line.total{border-top:1px solid var(--color-border);margin-top:4px;padding-top:10px;font-size:18px;font-weight:700}.page-title{font-size:24px}.center-block{justify-content:center;padding:32px 0;display:flex}.history-list{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.history-card{padding:var(--gutter);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);animation:.36s ease-out both rise-in;animation-delay:min(calc(var(--i,0) * 50ms), .4s)}.history-card-header,.history-card-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-card-header{margin-bottom:8px}.history-card-header>div{flex-direction:column;display:flex}.history-card-footer{margin-top:8px}.history-card p{margin:4px 0}.status-badge{background:var(--color-badge-bg);color:var(--color-primary);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600}.status-delivered{border:1px solid var(--color-success);color:var(--color-success);background:0 0}.status-canceled{border:1px solid var(--color-border);color:var(--color-muted);background:0 0}.login-form{text-align:left;width:100%;max-width:400px}.login-form h1,.login-form p{margin:0}.attendant-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.attendant-bar-actions{align-items:center;gap:16px;display:flex}.link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.menu-choice{width:100%;padding:var(--gutter);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.menu-choice:active{transform:scale(.99)}.success-box{border:1px solid var(--color-success);color:var(--color-success);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;animation:.3s ease-out both rise-in;display:flex}.menu-footer{text-align:center;padding:32px 0 8px;font-size:13px}.menu-footer a{color:var(--color-muted)}.policy h1{font-size:24px}.policy h2{margin-top:24px;font-size:17px}.policy p,.policy li{line-height:1.55}.policy ul{padding-left:20px}.page-enter{animation:.3s ease-out both fade-in}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(120%)}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes sheet-pop{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes sheet-pop-out{to{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}@keyframes bump{40%{transform:scale(1.3)}}@keyframes hero-zoom{0%{opacity:0;transform:scale(1.08)}}@keyframes image-reveal{0%{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}}
