:root{color-scheme:light;--color-ink: #111827;--color-muted: #667085;--color-border: #e4e7ec;--color-soft: #f7f8fa;--color-surface: #ffffff;--color-accent: #f97316;--color-danger: #b42318;--shadow-soft: 0 18px 45px rgba(17, 24, 39, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--color-ink);background:var(--color-surface)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(249,115,22,.07),transparent 320px),var(--color-surface)}a{color:inherit}button,input{font:inherit}.app-shell{width:min(100%,1120px);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 18px max(32px,env(safe-area-inset-bottom))}.platform-hero,.brand-hero{display:grid;gap:22px;align-items:end;margin:8px 0 18px;padding:22px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffe0;box-shadow:var(--shadow-soft)}.platform-hero{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.brand-hero{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.eyebrow{margin:0 0 8px;color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:3.2rem;line-height:.98;letter-spacing:0}h2{margin:0;font-size:1.28rem;letter-spacing:0}h3{margin:0;font-size:1rem;letter-spacing:0}.postal-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.postal-form label{display:flex;flex-direction:column;gap:7px;color:var(--color-muted);font-size:.86rem;font-weight:650}.postal-form input{min-height:48px;width:100%;border:1px solid var(--color-border);border-radius:8px;padding:0 14px;color:var(--color-ink);background:#fff}.postal-form input:focus{border-color:var(--color-accent);outline:3px solid rgba(249,115,22,.22)}.postal-form button,.install-panel button{min-height:48px;border:1px solid var(--color-accent);border-radius:8px;padding:0 18px;background:var(--color-accent);color:#fff;font-weight:800;cursor:pointer}.postal-form button:disabled{opacity:.5;cursor:not-allowed}.error-msg{margin:0;color:var(--color-danger);font-weight:650}.restaurant-list,.menu-list,.menu-items{display:grid;gap:14px}.restaurant-card{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:142px;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);text-decoration:none}.restaurant-card-body{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:16px}.restaurant-card-body p{margin:6px 0 0;color:var(--color-muted)}.restaurant-meta,.brand-meta,.brand-info{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.restaurant-meta span,.brand-meta span,.brand-info span,.brand-info a,.option-hint{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:var(--color-soft);color:var(--color-muted);font-size:.8rem;font-weight:700;text-decoration:none}.badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;font-size:.8rem;font-weight:800}.badge-open{color:#067a56;background:#dff8ec}.badge-preorder{color:#92400e;background:#fef3c7}.badge-closed{color:#b42318;background:#fee4e2}.image-slot{display:flex;align-items:center;justify-content:center;object-fit:cover;background:var(--color-ink);color:#fff;font-weight:900}.image-slot-cover{width:150px;height:100%}.image-slot-thumb{width:86px;height:74px;border-radius:8px;flex-shrink:0}.install-panel{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-soft)}.install-panel strong{font-size:1rem}.install-panel span{color:var(--color-muted);font-size:.9rem;font-weight:650}.brand-info{margin:0 0 18px}.category-nav{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow-x:auto;padding:10px 0;margin-bottom:14px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.category-nav a{flex:0 0 auto;border:1px solid var(--color-border);border-radius:999px;padding:9px 12px;background:#fff;color:var(--color-muted);font-size:.88rem;font-weight:800;text-decoration:none}.menu-category{scroll-margin-top:76px}.menu-category h2{margin:26px 0 12px}.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.menu-item-copy{min-width:0}.menu-item-copy p{margin:6px 0 0;color:var(--color-muted)}.menu-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.menu-item-side strong{font-size:.96rem}.option-hint{margin-top:10px}.empty-state,.loading-state,.brand-error{margin:28px 0;padding:20px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-muted)}.brand-error h1{color:var(--color-ink);font-size:2rem}.brand-topbar{position:sticky;top:0;z-index:20;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-topbar-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.cart-button{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;flex:0 0 auto;border:1px solid var(--color-accent);border-radius:999px;padding:0 16px;background:var(--color-accent);color:#fff;font-weight:800;cursor:pointer}.cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;padding:0 6px;background:#fff;color:var(--color-accent);font-size:.8rem;font-weight:900}.notice-msg{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px;padding:12px 14px;border:1px solid #fde68a;border-radius:8px;background:#fef9ec;color:#92400e;font-weight:650}.notice-msg button{flex:0 0 auto;min-height:32px;border:1px solid #fcd34d;border-radius:8px;padding:0 12px;background:#fff;color:#92400e;font-weight:800;cursor:pointer}button.menu-item{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}button.menu-item:hover{border-color:var(--color-accent)}.overlay{position:fixed;inset:0;z-index:40;display:flex}.overlay-backdrop{position:absolute;inset:0;background:#11182773}.sheet,.drawer{position:relative;z-index:1;display:flex;flex-direction:column;margin:auto auto 0;width:min(100%,560px);max-height:92vh;background:var(--color-surface);border-radius:16px 16px 0 0;box-shadow:var(--shadow-soft)}.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(100%,440px);border-radius:0}.sheet-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--color-border)}.sheet-head h2{min-width:0;overflow-wrap:anywhere}.icon-button{flex:0 0 auto;min-width:40px;min-height:40px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-ink);font-weight:800;cursor:pointer}.sheet-body{display:grid;gap:18px;padding:18px;overflow-y:auto}.sheet-desc{margin:0;color:var(--color-muted)}.option-group{margin:0;padding:0;border:0}.option-group legend{display:flex;gap:8px;align-items:baseline;padding:0 0 10px;font-weight:800}.option-note{color:var(--color-muted);font-size:.8rem;font-weight:700}.option-buttons{display:grid;gap:8px}.option-button{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:46px;border:1px solid var(--color-border);border-radius:8px;padding:0 14px;background:#fff;color:var(--color-ink);font-weight:650;text-align:left;cursor:pointer}.option-button-on{border-color:var(--color-accent);background:#f973161a;font-weight:800}.option-price{flex:0 0 auto;color:var(--color-muted);font-size:.86rem;font-weight:700}.option-group-error legend{color:var(--color-danger)}.option-error{margin:8px 0 0;color:var(--color-danger);font-size:.85rem;font-weight:700}.notes-field{display:flex;flex-direction:column;gap:7px;color:var(--color-muted);font-size:.86rem;font-weight:650}.notes-field textarea{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;color:var(--color-ink);background:#fff;resize:vertical}.notes-field textarea:focus{border-color:var(--color-accent);outline:3px solid rgba(249,115,22,.22)}.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.stepper{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:999px;padding:4px}.stepper button{min-width:38px;min-height:38px;border:0;border-radius:999px;background:var(--color-soft);color:var(--color-ink);font-size:1.2rem;font-weight:800;cursor:pointer}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper output{min-width:56px;text-align:center;font-weight:800}.sheet-foot{display:grid;gap:10px;padding:16px 18px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--color-border)}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border:1px solid var(--color-accent);border-radius:8px;padding:0 18px;background:var(--color-accent);color:#fff;font-weight:800;cursor:pointer}.cart-items{list-style:none;margin:0;padding:0;display:grid;gap:14px}.cart-item{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.cart-item:last-child{border-bottom:0;padding-bottom:0}.cart-item-head{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.cart-item-head h3{min-width:0;overflow-wrap:anywhere}.cart-item-options{list-style:none;margin:0;padding:0;display:grid;gap:2px;color:var(--color-muted);font-size:.86rem}.cart-item-note{margin:0;color:var(--color-muted);font-size:.86rem}.cart-item-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-item-unit{color:var(--color-muted);font-size:.82rem;font-weight:650}.cart-item-actions{display:flex;gap:16px}.link-button{border:0;background:none;padding:0;color:var(--color-accent);font-weight:800;cursor:pointer}.link-danger{color:var(--color-danger)}.cart-total{display:flex;align-items:center;justify-content:space-between;font-size:1.1rem;font-weight:800}.checkout-field{display:flex;flex-direction:column;gap:7px;color:var(--color-muted);font-size:.86rem;font-weight:650}.field-input{width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;color:var(--color-ink);background:#fff;font-weight:500}textarea.field-input{min-height:auto;resize:vertical}.field-input:focus{border-color:var(--color-accent);outline:3px solid rgba(249,115,22,.22)}.field-input:read-only{background:var(--color-soft);color:var(--color-muted)}.field-error{color:var(--color-danger);font-size:.82rem;font-weight:700}.field-hint{color:var(--color-muted);font-size:.82rem;font-weight:650}.checkout-fieldset{margin:0;padding:0;border:0}.checkout-fieldset legend{padding:0 0 10px;color:var(--color-muted);font-size:.86rem;font-weight:800}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segment{flex:1 1 auto;min-height:46px;border:1px solid var(--color-border);border-radius:8px;padding:0 14px;background:#fff;color:var(--color-ink);font-weight:700;cursor:pointer}.segment-on{border-color:var(--color-accent);background:#f973161a;font-weight:800}.checkout-summary{display:grid;gap:8px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-soft)}.checkout-summary h3{margin:0 0 2px}.summary-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}.summary-item{display:grid;gap:2px}.summary-item-head{display:flex;gap:12px;align-items:baseline;justify-content:space-between;font-weight:700}.summary-item-option{color:var(--color-muted);font-size:.84rem}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-muted);font-weight:700}.summary-total{color:var(--color-ink);font-size:1.05rem;font-weight:800}.payment-note{padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-muted);font-size:.86rem;font-weight:650}.payment-options{display:grid;gap:10px}.payment-option-list{display:grid;gap:8px}.payment-option{display:flex;flex-direction:column;gap:4px;width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-ink);text-align:left;cursor:pointer}.payment-option-on{border-color:var(--color-accent);background:#f973161a}.payment-option:disabled{opacity:.55;cursor:not-allowed}.payment-option-main{display:flex;flex-direction:column;gap:2px}.payment-option-label{font-weight:800}.payment-option-hint{color:var(--color-muted);font-size:.84rem;font-weight:600}.payment-option-disabled{color:#92400e;font-size:.82rem;font-weight:700}.payment-return-copy{color:var(--color-muted)}.blocker-msg{margin:0;padding:12px 14px;border:1px solid #fde68a;border-radius:8px;background:#fef9ec;color:#92400e;font-weight:700}.info-msg{margin:0;color:#067a56;font-weight:700}.checkout-actions{display:flex;gap:10px;align-items:stretch}.checkout-actions .primary-button{flex:1 1 auto}.primary-button-single{justify-content:center}.ghost-button{flex:0 0 auto;min-height:52px;border:1px solid var(--color-border);border-radius:8px;padding:0 18px;background:#fff;color:var(--color-ink);font-weight:800;cursor:pointer}.ghost-button:disabled,.primary-button:disabled{opacity:.5;cursor:not-allowed}.success-panel{display:grid;gap:8px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-soft)}.success-panel strong{font-size:1.2rem}.success-panel p{margin:0;color:var(--color-muted)}.brand-topbar-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.account-button{display:inline-flex;align-items:center;max-width:40vw;min-height:44px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--color-border);border-radius:999px;padding:0 14px;background:#fff;color:var(--color-ink);font-weight:700;cursor:pointer}.account-head{display:grid;gap:2px}.account-head strong{font-size:1.1rem}.account-email{color:var(--color-muted);font-size:.9rem}.account-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--color-border)}.account-section h3{margin:0;font-size:1rem}.account-check{display:flex;gap:8px;align-items:center;color:var(--color-ink);font-size:.9rem;font-weight:650}.address-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.address-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-soft)}.address-row-main{display:grid;gap:4px;min-width:0}.address-row-label{display:flex;gap:8px;align-items:center;font-weight:800}.address-row-text{color:var(--color-muted);font-size:.88rem}.address-row-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex:0 0 auto}.address-form{display:grid;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:8px}@media(max-width:760px){.app-shell{padding-left:12px;padding-right:12px}.platform-hero,.brand-hero,.postal-form,.restaurant-card,.menu-item{grid-template-columns:1fr}.platform-hero,.brand-hero{padding:16px}h1{font-size:2.3rem}.image-slot-cover{width:100%;height:148px}.menu-item-side{flex-direction:row-reverse;align-items:center;justify-content:space-between}}
