section#app>div{max-width:1180px}.panel{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:1.5rem}.p-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.p-title{font-size:16px;font-weight:800}.p-badge{font-family:var(--font-mono);letter-spacing:.1em;background:var(--color-cream);border:1.5px solid var(--color-line);color:var(--color-dim);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700}span.saved{color:var(--color-spice)}.ed{-webkit-user-select:text;user-select:text;cursor:text;border-radius:8px;margin:-2px -5px;padding:2px 5px;transition:background .15s,box-shadow .15s}.ed:hover{background:#ff5d1f14}.ed:focus{background:var(--color-cream);box-shadow:inset 0 0 0 2px var(--color-tang);outline:none}.ed:empty:before{content:attr(data-ph);color:var(--color-sand);pointer-events:none}.steps{align-items:stretch;gap:8px;display:flex}.step{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:18px;flex:1;align-items:center;gap:10px;padding:10px 12px;display:flex}.step b{border:2px solid var(--color-ink);background:var(--color-butter);width:34px;height:34px;font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;font-size:15px;display:grid}.step span{font-size:12.5px;font-weight:700;line-height:1.25}.step-arr{color:var(--color-tang);flex:none;align-self:center}.shopbar{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:18px;align-items:center;gap:10px;padding:10px 12px;display:flex}.shop-e{border:2px solid var(--color-ink);background:var(--color-butter);cursor:pointer;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:25px;transition:transform .15s;display:grid}.shop-e:hover{transform:scale(1.1)}.shop-n{min-width:40px;font-size:17px;font-weight:800}.shop-today{text-align:right;font-family:var(--font-mono);color:var(--color-dim);flex:none;margin-left:auto;font-size:10.5px;font-weight:700;line-height:1.5}.shop-today b{color:var(--color-ink);font-size:15px;display:block}.mode-seg{background:var(--color-cream);border:1.5px solid var(--color-line);border-radius:18px;gap:4px;width:100%;padding:4px;display:flex}.mode-btn{color:var(--color-dim);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-size:14.5px;font-weight:800;transition:all .15s;display:inline-flex}.mode-btn[aria-pressed=true]{background:var(--color-ink);color:var(--color-cream);box-shadow:0 3px 10px -4px #1e191366}.pgrid{grid-template-columns:repeat(2,1fr);gap:10px;padding:10px 14px 16px;display:grid}@media (min-width:480px){.pgrid{grid-template-columns:repeat(3,1fr)}}.pcard{border:2px solid var(--color-line);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:20px;min-height:112px;padding:14px 12px 12px;transition:transform .14s,border-color .14s,box-shadow .14s;position:relative}.pcard:hover{border-color:var(--color-ink);box-shadow:0 5px 0 0 var(--color-ink);transform:translateY(-3px)}.pcard:active{transform:scale(.95)}.pcard .pc-e{font-size:30px;line-height:1;display:block}.pcard .pc-n{color:var(--color-ink);margin-top:8px;font-size:13.5px;font-weight:700;line-height:1.3;display:block}.pcard .pc-p{font-family:var(--font-mono);color:var(--color-spice);margin-top:4px;font-size:13px;font-weight:800;display:block}.pcard .pc-x{border:1.5px solid var(--color-line);background:var(--color-paper);width:30px;height:30px;color:var(--color-dim);cursor:pointer;border-radius:999px;place-items:center;font-size:15px;line-height:1;transition:all .15s;display:grid;position:absolute;top:7px;right:7px}.pcard .pc-x:hover{border-color:var(--color-tang);color:var(--color-tang);transform:scale(1.12)}.pcard.editing{cursor:default}.pcard.editing:hover{box-shadow:none;border-color:var(--color-line);transform:none}.pcard.editing:active{transform:none}.pcard.editing .pc-e{cursor:pointer;background:var(--color-cream);border:1.5px solid var(--color-line);border-radius:14px;place-items:center;width:48px;height:48px;transition:border-color .15s,transform .15s;display:inline-grid}.pcard.editing .pc-e:hover{border-color:var(--color-tang);transform:scale(1.1)}.pcard .pc-qty{background:var(--color-tang);color:#fff;min-width:26px;height:26px;font-family:var(--font-mono);border:2px solid #fff;border-radius:999px;place-items:center;padding:0 7px;font-size:12px;font-weight:800;display:none;position:absolute;bottom:9px;right:9px}.pcard.hasqty{border-color:var(--color-tang);background:#fff6f0}.pcard.hasqty .pc-qty{display:grid}.pcard.add-tile{min-height:112px;color:var(--color-dim);background:0 0;border-style:dashed;place-items:center;display:grid}.pcard.add-tile:hover{border-color:var(--color-tang);color:var(--color-tang)}.crow{align-items:center;gap:10px;padding:11px 16px;display:flex}.crow+.crow{border-top:1.5px dashed var(--color-line)}.crow .cr-e{flex:none;font-size:22px}.crow .cr-body{flex:1;min-width:0}.crow .cr-n{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.crow .cr-l{font-family:var(--font-mono);color:var(--color-dim);margin-top:1px;font-size:11.5px}.qty{border:1.5px solid var(--color-line);background:#fff;border-radius:999px;flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.qty button{background:var(--color-cream);width:34px;height:34px;color:var(--color-ink);cursor:pointer;border:0;border-radius:999px;font-size:17px;font-weight:800;transition:all .15s}.qty button:hover{background:var(--color-tang);color:#fff}.qty button:active{transform:scale(.9)}.qty b{text-align:center;min-width:24px;font-family:var(--font-mono);font-size:14px}.cart-empty{text-align:center;color:var(--color-dim);padding:24px 20px 28px;font-size:13.5px;font-weight:600}.cart-empty .hand{color:var(--color-spice);font-size:22px}.pay-total{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px 2px;display:flex}.pay-total .lbl{letter-spacing:.05em;color:var(--color-dim);text-transform:uppercase;font-size:13px;font-weight:800}.pay-total .val{font-family:var(--font-mono);letter-spacing:-.01em;font-size:32px;font-weight:800}.chips-label{letter-spacing:.04em;color:var(--color-dim);text-transform:uppercase;padding:10px 16px 0;font-size:13px;font-weight:800}.chips{grid-template-columns:repeat(2,1fr);gap:8px;padding:10px 16px 4px;display:grid}.chip-cash{border:2px solid var(--color-line);font-family:var(--font-mono);color:var(--color-ink);cursor:pointer;text-align:center;background:#fff;border-radius:16px;padding:13px 10px;font-size:15px;font-weight:800;transition:all .15s}.chip-cash small{letter-spacing:.1em;color:var(--color-sand);text-transform:uppercase;margin-top:2px;font-size:9.5px;font-weight:700;display:block}.chip-cash:hover{border-color:var(--color-ink);background:var(--color-butter)}.chip-cash:active{transform:scale(.95)}.chip-cash.pas{border-color:var(--color-mint);color:#0e8a5b;background:#eafbf2}.chip-cash.pas small{color:#0e8a5b}.chip-cash.bump{animation:.3s bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.recv-box{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px 0;display:flex}.recv-box .lbl{letter-spacing:.04em;color:var(--color-dim);text-transform:uppercase;font-size:13px;font-weight:800}.recv-val{font-family:var(--font-mono);text-align:right;letter-spacing:-.01em;min-width:80px;min-height:44px;font-size:34px;font-weight:800}.keypad{grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px 4px;display:grid}.keypad button{border:2px solid var(--color-line);height:58px;font-family:var(--font-mono);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:16px;font-size:21px;font-weight:800;transition:all .1s}.keypad button:hover{border-color:var(--color-ink);background:var(--color-cream)}.keypad button:active{background:var(--color-butter);transform:scale(.92)}.keypad button.fn{background:var(--color-cream);font-size:16px}.keypad button.fn:hover{background:var(--color-rose);border-color:var(--color-ink)}.keypad button.zero{grid-column:span 2}.keypad button.z000{letter-spacing:.04em;font-size:16px}.chg-box{padding:10px 16px 4px}.chg{border:2px solid #0000;border-radius:20px;justify-content:space-between;align-items:center;gap:10px;min-height:78px;padding:16px 20px;transition:all .18s;display:flex}.chg .lbl{letter-spacing:.06em;text-transform:uppercase;font-size:14px;font-weight:800}.chg .lbl small{letter-spacing:0;text-transform:none;opacity:.75;margin-top:2px;font-size:11px;font-weight:600;display:block}.chg .val{font-family:var(--font-mono);letter-spacing:-.01em;white-space:nowrap;font-size:34px;font-weight:800}.chg.ok{color:#0b7a4e;background:#eafbf2;border-color:#7dd3a8}.chg.less{color:var(--color-spice);background:#fff3e9;border-color:#f0b48a}.chg.zero{background:var(--color-cream);border-color:var(--color-line);color:var(--color-dim)}.pay-cta{padding:10px 16px 16px}.done-btn{width:100%;min-height:60px;font-size:17px}#rcModal{z-index:95;place-items:center;padding:16px 12px;display:grid;position:fixed;inset:0}.rc-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e19138c;position:absolute;inset:0}.rc-wrap{flex-direction:column;gap:10px;width:min(400px,100%);max-height:calc(100dvh - 32px);display:flex;position:relative}.rct{border:2px solid var(--color-ink);box-shadow:0 6px 0 0 var(--color-ink), 0 30px 60px -25px #1e191366;font-family:var(--font-mono);color:var(--color-ink);background:#fff;border-radius:22px;padding:22px 18px 16px;font-size:13px;position:relative;overflow-y:auto}.rct::-webkit-scrollbar{width:8px}.rct::-webkit-scrollbar-thumb{background:var(--color-line);border-radius:99px}.rct-head{text-align:center;border-bottom:2px dashed var(--color-line);padding-bottom:12px}.rct-shop-e{background:var(--color-cream);border:1.5px solid var(--color-line);cursor:pointer;border-radius:15px;place-items:center;width:50px;height:50px;font-size:27px;transition:transform .15s,border-color .15s;display:inline-grid}.rct-shop-e:hover{border-color:var(--color-tang);transform:scale(1.1)}.rct-shop-n{margin-top:8px;font-size:17px;font-weight:800}.rct-shop-sub{color:var(--color-dim);margin-top:3px;font-size:11px}.rct-meta{color:var(--color-dim);border-bottom:2px dashed var(--color-line);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 0 8px;font-size:10.5px;display:flex}.rct-item{gap:8px;padding:8px 0;display:flex}.rct-item .ri-n{flex:1;min-width:0;font-weight:700}.rct-item .ri-n small{color:var(--color-dim);font-size:11px;font-weight:400;display:block}.rct-item .ri-a{white-space:nowrap;font-weight:700}.rct-line{justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;display:flex}.rct-total{border-top:2px dashed var(--color-line);justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:10px;font-size:17px;font-weight:800;display:flex}.rct-chg{color:#0b7a4e;background:#eafbf2;border:2px solid #7dd3a8;border-radius:16px;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 16px;display:flex}.rct-chg .lbl{letter-spacing:.06em;font-size:12px;font-weight:800}.rct-chg .val{font-size:26px;font-weight:800}.rct-note{border-top:2px dashed var(--color-line);color:var(--color-dim);text-align:center;margin-top:12px;padding-top:10px;font-size:11px;line-height:1.7}.rct-foot{text-align:center;color:var(--color-sand);letter-spacing:.06em;margin-top:8px;font-size:9.5px}.h-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:background .12s;display:flex}.h-row:hover{background:#f3edff}.h-row+.h-row{border-top:1.5px dashed var(--color-line)}.h-ico{background:var(--color-cream);border:1.5px solid var(--color-line);border-radius:13px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.h-body{flex:1;min-width:0}.h-n{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.h-t{font-family:var(--font-mono);color:var(--color-sand);margin-top:1px;font-size:10.5px}.h-a{font-family:var(--font-mono);flex:none;font-size:14px;font-weight:800}.h-empty{text-align:center;color:var(--color-dim);padding:22px;font-size:13px;font-weight:600}#miniBar{z-index:45;padding:10px 14px calc(12px + env(safe-area-inset-bottom));pointer-events:none;display:none;position:fixed;bottom:0;left:0;right:0}#miniBar.on{display:block}#miniBar button{pointer-events:auto;background:var(--color-ink);width:100%;max-width:520px;color:var(--color-cream);border:2px solid var(--color-ink);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:15px 24px;font-size:15.5px;font-weight:800;transition:transform .15s;display:flex;box-shadow:0 10px 26px -8px #1e191380}#miniBar button:hover{transform:translateY(-2px)}#miniBar button:active{transform:scale(.97)}#printArea{display:none}@media print{@page{size:80mm auto;margin:6mm}html,body{background:#fff!important}body *{visibility:hidden!important}#printArea{color:#000;width:100%;font-family:JetBrains Mono,monospace;font-size:12px;position:absolute;top:0;left:0;visibility:visible!important;display:block!important}#printArea *{visibility:visible!important}#printArea .rct{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}#printArea .rct-shop-e{display:none!important}#printArea .rct-chg{color:#000!important;background:#fff!important;border:1px dashed #000!important}}@media (prefers-reduced-motion:reduce){.pcard:hover,.shop-e:hover{transform:none}}.tbtn.big{min-height:56px;font-size:16px}.tbtn.tall{padding-top:14px;padding-bottom:14px}
