.cu-app{overflow-wrap:break-word;min-height:100dvh;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom));background:var(--bg)}.cu-top{z-index:10;padding:calc(var(--s3) + env(safe-area-inset-top)) var(--s4) var(--s3);background:var(--navy);color:var(--surface);position:sticky;top:0}.cu-brand{align-items:center;gap:var(--s3);max-width:1080px;margin:0 auto;display:flex}.cu-brand>div{min-width:0;display:grid}.cu-brand b{font-size:var(--fs-md);font-weight:800;line-height:1.2}.cu-brand small{color:var(--navy-ink);font-size:var(--fs-xs)}.cu-logo{border-radius:var(--r-sm);object-fit:cover;flex:none;width:40px;height:40px}.cu-offline{align-items:flex-start;gap:var(--s2);max-width:1080px;margin:var(--s3) var(--s4) 0;padding:var(--s3) var(--s4);border:1px solid var(--warn-line);border-radius:var(--r);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm);font-weight:600;display:flex}.cu-offline .icon{flex:none;margin-top:2px}.cu-tabs{gap:var(--s1);margin:var(--s3) var(--s4) 0;padding:var(--s1);border-radius:var(--pill);background:var(--surface-3);grid-template-columns:1fr 1fr;display:grid}.cu-tabs button{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--tap);border-radius:var(--pill);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700;display:inline-flex}.cu-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2)}.cu-tabs button:focus-visible,.cu-coupon:focus-visible,.cu-chip:focus-visible,.cu-history summary:focus-visible{box-shadow:var(--ring);outline:none}.cu-main{max-width:1080px;padding:var(--s4);margin:0 auto}.cu-col{min-width:0;display:none}.cu-col.is-active{display:block}@media (min-width:1024px){.cu-tabs{display:none}.cu-offline{margin:var(--s4) auto 0}.cu-main{gap:var(--s5);padding:var(--s5) var(--s4);grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;display:grid}.cu-col{display:block}.cu-col-card{position:sticky;top:88px}}.cu-panel{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.cu-panel .empty{padding:var(--s5) var(--s3)}.cu-title{font-size:var(--fs-lg);margin:0;font-weight:800;line-height:1.25}.cu-heading{align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:var(--fs-md);font-weight:800;display:flex}.cu-count{min-width:24px;height:24px;padding:0 var(--s2);border-radius:var(--pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-xs);place-items:center;font-weight:800;display:inline-grid}.cu-muted{color:var(--muted);font-size:var(--fs-sm)}.cu-section{margin-top:var(--s5)}.cu-section>.cu-panel+.cu-panel{margin-top:var(--s3)}.cu-alert{gap:var(--s2);padding:var(--s3) var(--s4);border:1px solid var(--crit-line);border-radius:var(--r);background:var(--crit-bg);color:var(--crit);font-size:var(--fs-sm);justify-items:start;font-weight:600;display:grid}.cu-auth{gap:var(--s4);max-width:480px;margin:0 auto;display:grid}.cu-auth>.cu-muted{margin:calc(var(--s2) * -1) 0 0}.cu-form{gap:var(--s4);display:grid}.cu-pin{letter-spacing:.3em;font-size:var(--fs-md)}.cu-wallet{display:grid}.cu-hello{justify-content:space-between;align-items:center;gap:var(--s3);background:var(--grad);color:var(--accent-ink);border:0;flex-wrap:wrap;display:flex}.cu-hello .cu-muted{color:var(--accent-soft)}.cu-hello-text{min-width:0;display:grid}.cu-hello .btn.primary{background:var(--surface);color:var(--accent-strong);border-color:#0000}.cu-card{gap:var(--s3);display:grid}.cu-card-head{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.cu-card-head b{min-width:0}.cu-card-count{color:var(--accent);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.cu-dots{grid-template-columns:repeat(var(--cu-cols,10), minmax(0, 40px));justify-content:space-between;gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.cu-dots li{aspect-ratio:1;border:2px dashed var(--accent-line);background:var(--surface-2);border-radius:50%;place-items:center;display:grid}.cu-dots li.on{background:var(--accent);color:var(--accent-ink);border:0}.cu-dots .icon{width:18px;height:18px}.cu-bar{border-radius:var(--pill);background:var(--surface-3);height:12px;overflow:hidden}.cu-bar span{background:var(--accent);height:100%;display:block}.cu-card-reward{margin:0;font-weight:700}.cu-list{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.cu-coupon{align-items:center;gap:var(--s3);width:100%;min-height:72px;padding:var(--s3) var(--s4);border:1px solid var(--accent-line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-1);transition:border-color var(--t1) var(--ease), box-shadow var(--t1) var(--ease);display:flex}.cu-coupon:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}.cu-coupon-icon{border-radius:var(--r);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex:none;place-items:center;display:grid}.cu-coupon-main{flex:1;gap:2px;min-width:0;display:grid}.cu-coupon-main small{color:var(--muted);font-size:var(--fs-xs)}.cu-coupon-main code,.cu-code{font-family:var(--mono);font-size:var(--fs-sm);color:var(--ink-2)}.cu-coupon-go{color:var(--accent);flex:none;justify-items:center;display:grid}.cu-coupon-go small{font-size:var(--fs-xs);font-weight:700}.cu-history{margin-top:var(--s4)}.cu-history summary{align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s2);border-radius:var(--r);color:var(--muted);cursor:pointer;font-weight:700;list-style:none;display:flex}.cu-history summary::-webkit-details-marker{display:none}.cu-history summary .icon{transition:transform var(--t1) var(--ease);margin-left:auto}.cu-history[open] summary .icon{transform:rotate(180deg)}.cu-history-row{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);display:flex}.cu-history-row .badge{flex:none}.cu-logout{margin-top:var(--s5);justify-content:center;display:flex}.cu-qr-sheet{justify-items:center;gap:var(--s3);text-align:center;display:grid}.cu-qr,.cu-qr-placeholder{aspect-ratio:1;width:min(240px,100%)}.cu-qr-placeholder{border-radius:var(--r);background:var(--surface-3);place-items:center;display:grid}.cu-qr-sheet .cu-alert{justify-items:center;width:100%}.cu-code{font-size:var(--fs-md);letter-spacing:.04em;font-weight:700}.cu-hint{max-width:32ch;margin:0;font-weight:700}.cu-app .modal-head .btn.icon-only.small{width:44px}.cu-menu{margin-top:0}.cu-chips{gap:var(--s2);margin:0 calc(var(--s4) * -1) var(--s3);padding:0 var(--s4) var(--s1);scrollbar-width:none;display:flex;overflow-x:auto}.cu-chips::-webkit-scrollbar{display:none}.cu-chip{min-height:44px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;flex:none;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.cu-chip:hover{border-color:var(--accent);color:var(--accent)}.cu-category{scroll-margin-top:80px}.cu-category+.cu-category{margin-top:var(--s5)}.cu-category h3{margin:0 0 var(--s3);font-size:var(--fs-base);color:var(--ink-2);font-weight:800}.cu-grid{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.cu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.cu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cu-item{align-content:start;gap:var(--s1);padding:var(--s2) var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);display:grid}.cu-item-photo{aspect-ratio:1;width:100%;margin-bottom:var(--s1);border-radius:var(--r);object-fit:cover;background:var(--surface-3);display:block}.cu-item-none{color:var(--faint);place-items:center;display:grid}.cu-item-none .icon{width:32px;height:32px}.cu-item-name{padding:0 var(--s1);font-size:var(--fs-sm);font-weight:600;line-height:1.3}.cu-item-price{padding:0 var(--s1);color:var(--accent-strong);font-variant-numeric:tabular-nums}.cu-skel-line{height:14px;margin:0 var(--s1)}.cu-skel-line.short{width:50%}.cu-skel-hello{border-radius:var(--r-lg);height:96px}.cu-skel-card{height:180px;margin-top:var(--s5);border-radius:var(--r-lg)}.cu-skel-row{height:72px;margin-top:var(--s5);border-radius:var(--r-lg)}
