.loy-accent{--loy-a:var(--accent,var(--brand,#b4521f));--loy-on:var(--on,#fff)}.loy-wrap{max-width:560px;margin:0 auto}.loy-card{background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);overflow-wrap:anywhere;box-shadow:var(--elev);border-radius:28px;margin:0 0 18px;padding:22px 20px}.loy-card h1,.loy-card h2,.loy-card h3{margin:0 0 4px}.loy-reward{font-weight:800}.loy-stamps{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:10px;margin:18px 0 12px;padding:0;list-style:none;display:grid}.loy-s{aspect-ratio:1;border:2px dashed var(--line);font:800 15px var(--f-sans,system-ui,sans-serif);color:color-mix(in srgb,var(--ink) 55%,transparent);border-radius:50%;justify-content:center;align-items:center;display:flex}.loy-s.on{border:2px solid var(--loy-a,var(--ink));background:var(--loy-a,var(--ink));color:var(--loy-on,var(--bg))}.loy-s.gift{border-style:solid;border-color:var(--loy-a,var(--ink));color:var(--loy-a,var(--ink))}.loy-prog{margin:0;font-weight:700}.loy-bar{background:var(--soft,var(--tint));border-radius:999px;height:10px;margin:8px 0 0;overflow:hidden}.loy-bar i{background:var(--loy-a,var(--ink));border-radius:999px;height:100%;display:block}.loy-ready{border:2px solid var(--ok,var(--loy-a,var(--ink)));background:var(--ok-bg,var(--tint));border-radius:18px;margin:14px 0 0;padding:12px 14px;font-weight:700}.loy-qr{border-radius:14px;width:min(100%,260px);margin:12px auto 8px;overflow:hidden}.loy-qr svg{width:100%;height:auto;display:block}.loy-code{text-align:center;letter-spacing:.14em;margin:4px 0 0;font:800 22px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.loy-note{margin:8px 0 0;font-size:14px}.loy-center{text-align:center}.loy-acts{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.loy-acts form{margin:0}.loy-acts .btn{white-space:normal;text-align:center;height:auto;min-height:48px}.loy-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.loy-row{border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);box-shadow:var(--elev);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.loy-row b{display:block}.loy-row .muted{font-size:14px}.loy-mini{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.loy-mini i{border:2px solid var(--line);border-radius:50%;width:12px;height:12px;display:inline-block}.loy-mini i.on{background:var(--loy-a,var(--ink));border-color:var(--loy-a,var(--ink))}.loy-tool-in{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.loy-tool-in>div{flex:1;min-width:180px}.loy-tool-in input{text-transform:uppercase;letter-spacing:.12em;font-weight:700}.loy-scan{margin-top:12px}.loy-video{background:var(--soft,var(--tint));object-fit:cover;border-radius:18px;width:100%;max-height:60vh;margin-bottom:8px;display:block}.loy-res{border:2px solid var(--line);border-radius:18px;margin:14px 0;padding:12px 14px;font-weight:700}.loy-res.ok{border-color:var(--ok,var(--ink));background:var(--ok-bg,var(--tint))}.loy-res.ko{border-color:var(--err-ink,var(--ink));color:var(--err-ink,inherit)}.loy-hist{margin:8px 0 0;padding:0;list-style:none}.loy-hist li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;font-size:14.5px;display:flex}.loy-hist code{letter-spacing:.08em;font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace}.loy-sub,.qr-sub,.ds-sub{margin:20px 0 6px;font-size:17px}.loy-state{margin:10px 0;font-weight:700}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:14px;display:grid}.qr-item{border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);min-width:0;box-shadow:var(--elev);border-radius:20px;flex-direction:column;gap:8px;padding:14px;display:flex}.qr-item h3{margin:0;font-size:16px}.qr-img{border-radius:10px;width:100%;max-width:200px;margin:0 auto;overflow:hidden}.qr-img svg{width:100%;height:auto;display:block}.qr-url{overflow-wrap:anywhere;margin:0;font-size:12.5px}.qr-acts{flex-wrap:wrap;gap:8px;display:flex}.qr-acts .btn{white-space:normal;text-align:center;flex:1;min-width:0;height:auto;min-height:44px;padding-top:6px;padding-bottom:6px}.qr-pick{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.qr-pick a{border:2px solid var(--line);min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.qr-pick a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.qr-sheet{background:var(--paper,#fff);color:var(--paper-ink,#000);border:1px solid var(--line);aspect-ratio:210/297;text-align:center;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4%;width:min(100%,560px);margin:16px auto;padding:6%;display:flex;overflow:hidden}.qr-sheet .qr-name{font:700 clamp(22px,7vw,40px)/1.1 var(--f-serif,Georgia,serif);overflow-wrap:anywhere;margin:0}.qr-sheet .qr-say{font:600 clamp(16px,4.6vw,26px)/1.25 var(--f-sans,system-ui,sans-serif);margin:0}.qr-sheet .qr-big{width:62%;max-width:100%}.qr-sheet .qr-big svg{width:100%;height:auto;display:block}.qr-sheet .qr-link{font:500 clamp(10px,2.6vw,14px)/1.3 var(--f-sans,system-ui,sans-serif);overflow-wrap:anywhere;margin:0}.qr-tools{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ds-list{margin:10px 0 0;padding:0;list-style:none}.ds-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.ds-list form{margin:0}.ds-day{text-transform:capitalize;margin:16px 0 0;font-size:15px}.ds-copy{margin-top:14px}.ds-today{background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);box-shadow:var(--elev);border-radius:30px;padding:22px 22px 6px}.ds-dish{border-bottom:1px dashed var(--line);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.ds-dish:last-child{border-bottom:0}.ds-dish b{font-size:17px;display:block}.ds-dish p{margin:2px 0 0;font-size:14.5px}.ds-price{white-space:nowrap;font-weight:800}.ds-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;display:flex}.ds-doc{background:var(--card,#fff);max-width:760px;color:var(--ink);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;margin:0 auto;padding:28px 26px}.ds-doc h1{font:700 clamp(28px,7vw,40px)/1.1 var(--f-serif,Georgia,serif);margin:0}.ds-doc .ds-sub2{margin:4px 0 0;font-size:14px}.ds-doc h2{font:700 20px/1.2 var(--f-serif,Georgia,serif);border-bottom:2px solid var(--ink);break-after:avoid;margin:26px 0 6px;padding-bottom:4px}.ds-item{border-bottom:1px dotted var(--line);break-inside:avoid;justify-content:space-between;gap:16px;padding:7px 0;display:flex}.ds-item b{font-weight:700}.ds-item p{margin:1px 0 0;font-size:13.5px}.ds-al{margin-top:1px;font-size:12.5px;font-style:italic;display:block}.ds-foot{break-inside:avoid;align-items:center;gap:18px;margin-top:26px;display:flex}.ds-foot .qr-img{flex:none;width:120px}.ds-foot p{margin:0;font-weight:600}@media print{.loy-noprint{display:none!important}body:has(.ds-doc) .tb{display:none!important}body:has(.ds-doc) .tabbar{display:none!important}body:has(.ds-doc) .lg-links{display:none!important}body:has(.ds-doc) .devbar{display:none!important}body:has(.ds-doc) .hd{display:none!important}body:has(.ds-doc) .apptabs{display:none!important}body:has(.ds-doc) .edge{display:none!important}body:has(.ds-doc) .edge-arrow{display:none!important}body:has(.ds-doc){color:#000!important;background:#fff!important;min-height:0!important;padding:0!important}body:has(.ds-doc) .shop{color:#000!important;background:#fff!important;min-height:0!important;padding:0!important}body:has(.ds-doc) .shop-in{padding:0!important}.ds-doc{color:#000;background:#fff;border:0;border-radius:0;max-width:none;padding:0;font-size:11pt}.ds-doc .muted{color:#333}.ds-doc h2{border-color:#000}@page{size:A4;margin:14mm}body:has(.qr-sheet) *{visibility:hidden}:is(body:has(.qr-sheet) .qr-sheet,body:has(.qr-sheet) .qr-sheet *){visibility:visible}body:has(.qr-sheet) .qr-sheet{aspect-ratio:auto;color:#000;background:#fff;border:0;border-radius:0;gap:10mm;width:100%;height:100%;margin:0;padding:18mm;position:fixed;inset:0}body:has(.qr-sheet) .qr-sheet .qr-name{font-size:44pt}body:has(.qr-sheet) .qr-sheet .qr-say{font-size:28pt}body:has(.qr-sheet) .qr-sheet .qr-link{font-size:12pt}body:has(.qr-sheet){padding:0!important}}@media (max-width:420px){.ds-doc{padding:20px 16px}.ds-foot{flex-direction:column;align-items:flex-start}}
