:root{--brand: #2f7fd1;--bg: #14171C;--card: #1c2027;--edge: #2a2f38;--tx: #f2f0e9;--sub: #9aa0ab;--go: #1d9e75}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--tx)}.center{min-height:100%;display:grid;place-items:center;text-align:center;padding:24px}.soon h1{margin:0 0 6px}.soon p{color:var(--sub)}.spinner{width:34px;height:34px;border:3px solid var(--edge);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--sub);font-size:13px}.err{color:#f2a49e;font-size:14px;margin:8px 0}.link{background:none;border:0;color:var(--brand);font-size:15px;cursor:pointer;padding:8px 0}.store{max-width:680px;margin:0 auto;padding:0 14px 120px}.shead{display:flex;align-items:center;gap:14px;padding:18px 4px 12px;position:sticky;top:0;background:var(--bg);z-index:5}.slogo{width:52px;height:52px;border-radius:12px;object-fit:cover;background:var(--card)}.slogoQ{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;font-size:26px}.stitle h1{margin:0;font-size:20px}.ssub{color:var(--sub);font-size:13px}.cats{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px;position:sticky;top:74px;background:var(--bg);z-index:4}.cats button{flex:none;background:var(--card);border:1px solid var(--edge);color:var(--sub);border-radius:999px;padding:8px 14px;font-size:14px;white-space:nowrap;cursor:pointer}.cats button.on{background:var(--brand);border-color:transparent;color:#fff;font-weight:600}.items{display:grid;gap:8px}.sitem{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:15px 16px;text-align:left;cursor:pointer;color:var(--tx)}.sitem:active{transform:scale(.995)}.sitem.off{opacity:.5}.siname{font-size:15px}.siprice{font-weight:600;color:var(--sub);font-variant-numeric:tabular-nums}.cartBar{position:fixed;left:50%;transform:translate(-50%);bottom:16px;width:min(652px,calc(100% - 28px));display:flex;align-items:center;gap:12px;background:var(--brand);color:#fff;border:0;border-radius:14px;padding:15px 18px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 10px 30px #0006}.cbc{background:#ffffff40;border-radius:8px;padding:2px 9px}.cbt{margin-left:auto;font-variant-numeric:tabular-nums}.checkout{padding-top:6px}.checkout h2{margin:6px 0 14px}.checkout label{display:block;font-size:12px;color:var(--sub);margin:12px 0 5px}.checkout input{width:100%;background:var(--card);border:1px solid var(--edge);color:var(--tx);border-radius:10px;padding:12px 13px;font-size:16px}.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{flex:1;min-width:90px;background:var(--card);border:1px solid var(--edge);color:var(--sub);border-radius:10px;padding:11px;font-size:14px;cursor:pointer}.seg button.on{background:var(--brand);border-color:transparent;color:#fff;font-weight:600}.seg input[type=time]{flex:1}.cartReview{margin:16px 0;border-top:1px dashed var(--edge);padding-top:12px}.cline{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.cline em{color:var(--sub);font-style:normal}.payNote{color:var(--sub);font-size:13px}.cta{width:100%;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:16px;font-size:17px;font-weight:700;cursor:pointer;margin-top:8px}.cta:disabled{opacity:.45}.sabout{margin-top:28px;padding:16px 4px;border-top:1px solid var(--edge);color:var(--tx)}.sabout p{margin:4px 0}.sheetWrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:var(--bg);width:100%;max-width:680px;max-height:88vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:20px 18px 90px;position:relative}.sheetX{position:absolute;top:14px;right:14px;background:var(--card);border:1px solid var(--edge);color:var(--tx);width:34px;height:34px;border-radius:50%;cursor:pointer}.sheetTitle{margin:0 40px 4px 0}.sheetDesc{color:var(--sub);margin:0 0 12px}.optGroup{padding:12px 0;border-top:1px solid var(--edge)}.optGroup.child{border-left:3px solid var(--brand);padding-left:12px}.optGroup h3{margin:0 0 10px;font-size:15px;display:flex;gap:8px;align-items:center}.req{font-size:11px;color:var(--sub);border:1px solid var(--edge);border-radius:6px;padding:1px 6px;font-style:normal}.optPills{display:flex;flex-wrap:wrap;gap:8px}.opt{background:var(--card);border:1px solid var(--edge);color:var(--tx);border-radius:10px;padding:10px 13px;font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center}.opt.on{background:var(--brand);border-color:transparent;color:#fff}.opt.off{opacity:.45}.opt .d{font-size:12px;opacity:.8}.sheetFoot{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;background:var(--bg);padding:12px 0 0;margin-top:8px}.qty{display:flex;align-items:center;gap:4px}.qty button{width:40px;height:44px;background:var(--card);border:1px solid var(--edge);color:var(--tx);border-radius:10px;font-size:20px;cursor:pointer}.qty span{min-width:30px;text-align:center;font-size:16px}.add{flex:1;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:15px;font-size:16px;font-weight:700;cursor:pointer}.statusView{padding:30px 4px}.statusCard{background:var(--card);border:1px solid var(--edge);border-radius:16px;padding:28px 22px;text-align:center}.tick{width:56px;height:56px;border-radius:50%;background:var(--go);color:#fff;display:grid;place-items:center;font-size:28px;margin:0 auto 12px}.ref{font-size:15px}.ref strong{letter-spacing:.04em}.statusPill{display:inline-block;margin:12px 0;padding:8px 16px;border-radius:999px;background:var(--bg);border:1px solid var(--edge);font-weight:600}.statusPill.ready{background:#1d9e7533;color:#4fd0a0;border-color:transparent}.statusPill.rejected{background:#d6483f33;color:#f2a49e;border-color:transparent}.addrAuto{position:relative}.addrBusy{position:absolute;right:12px;top:12px;color:var(--sub)}.addrList{list-style:none;margin:4px 0 0;padding:4px;position:absolute;z-index:20;left:0;right:0;background:var(--card);border:1px solid var(--edge);border-radius:10px;max-height:240px;overflow-y:auto;box-shadow:0 8px 24px #00000040}.addrList li{padding:10px 11px;border-radius:7px;font-size:15px;cursor:pointer}.addrList li:active,.addrList li:hover{background:var(--edge)}.addrAttr{color:var(--sub);font-size:11px;margin:4px 2px 0}
