.cp-page{box-sizing:border-box;max-width:460px;min-height:100dvh;color:var(--c-ink);font-family:var(--font-ui-stack);gap:14px;margin:0 auto;padding:18px 16px 40px;display:grid}.cp-page h1,.cp-page h2,.cp-page p{margin:0}.cp-mono{font-family:var(--font-mono-stack);letter-spacing:.04em;font-size:11px}.cp-muted{color:var(--c-muted);font-size:13px;line-height:1.45}.cp-top{justify-content:space-between;align-items:center;padding:4px 4px 0;display:flex}.cp-business{font-size:16px;font-weight:600}.cp-top .cp-mono{color:var(--c-muted)}.cp-card{isolation:isolate;border-radius:var(--r-xl);box-shadow:var(--shadow-card);animation:c-rise .6s var(--ease) both;gap:10px;padding:22px;display:grid;position:relative;overflow:hidden}.cp-card>*{z-index:1;position:relative}.cp-artwork{width:100%;height:100%;inset:0;z-index:0!important;position:absolute!important}.cp-sheen{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:40%;animation:5.5s ease-in-out infinite c-sheen;top:0;bottom:0;left:0;position:absolute!important}.cp-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cp-logo{object-fit:contain;max-width:120px;max-height:44px}.cp-program{opacity:.75}.cp-status{font-family:var(--font-mono-stack);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb, currentColor 16%, transparent);border-radius:999px;padding:5px 10px;font-size:10px}.cp-holder{font-family:var(--font-display-stack);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);align-items:center;gap:12px;font-size:30px;line-height:1.08;display:flex;margin-top:6px!important}.cp-photo{object-fit:cover;border-radius:50%;width:52px;height:52px}.cp-category,.cp-headline,.cp-event,.cp-expiry{opacity:.85;font-size:14px;line-height:1.45}.cp-balance{gap:12px;margin-top:6px;display:grid}.cp-amount{align-items:baseline;gap:8px;display:flex}.cp-amount strong{letter-spacing:-.05em;font-size:56px;font-weight:700;line-height:.9}.cp-amount span{opacity:.75;font-size:16px}.cp-card .stamp-grid{grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));gap:10px;max-width:none;margin:0}.cp-card .stamp-circle{aspect-ratio:1;justify-self:center;width:100%;max-width:56px;height:auto}.cp-card .stamp-pending{opacity:.75}.cp-card .stamp-complete{animation:c-pop .45s var(--ease) both;box-shadow:0 4px 10px #0000002e}.cp-card .stamp-complete:nth-child(2){animation-delay:50ms}.cp-card .stamp-complete:nth-child(3){animation-delay:.1s}.cp-card .stamp-complete:nth-child(4){animation-delay:.15s}.cp-card .stamp-complete:nth-child(5){animation-delay:.2s}.cp-card .stamp-complete:nth-child(n+6){animation-delay:.25s}.cp-progress{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:6px;height:6px;overflow:hidden}.cp-progress span{height:100%;animation:c-fill 1s var(--ease) both;background:currentColor;border-radius:6px;display:block}.cp-next{opacity:.9;font-size:14px}.cp-credit .trivu-credit{border-top:1px solid color-mix(in srgb, currentColor 20%, transparent);background:0 0;margin-top:8px;padding:16px 0 0}.cp-panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);gap:10px;padding:18px;display:grid}.cp-panel h2{font-size:15px;font-weight:600}.cp-panel>p{color:var(--c-muted);font-size:14px;line-height:1.55}.cp-notice{color:var(--c-muted);font-size:14px}.cp-code{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px}.cp-qr{background:var(--white);width:104px;height:104px;image-rendering:pixelated;border-radius:12px;padding:6px}.cp-qr.cp-pdf417{width:150px;height:auto}.cp-code-text{font-family:var(--font-mono-stack);letter-spacing:.08em;word-break:break-all;font-size:20px;margin:4px 0 6px!important}.cp-ready{border-color:color-mix(in srgb, var(--c-accent) 45%, var(--c-line));grid-template-columns:auto minmax(0,1fr);align-items:center}.cp-ready-icon{background:var(--c-lime);width:40px;height:40px;color:var(--ink-800);animation:c-pop .5s var(--ease) both;border-radius:50%;place-items:center;font-weight:700;display:grid}.cp-ready p{color:var(--c-muted);font-size:13px;margin-top:2px!important}.cp-wallet{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.cp-wallet-btn{border-radius:var(--r-md);background:var(--black);min-height:50px;color:var(--white);flex:160px;justify-content:center;align-items:center;font-size:14px;font-weight:600;text-decoration:none;display:flex}.cp-wallet .google-wallet-save img{width:auto;height:50px;display:block}.cp-hint{text-align:center;color:var(--c-muted);font-size:12px;line-height:1.5}.cp-goals,.cp-history{margin:0;padding:0;list-style:none}.cp-goals li,.cp-history li{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:14px;display:flex}.cp-goals li:last-child,.cp-history li:last-child{border-bottom:0}.cp-goals .cp-mono,.cp-history time{color:var(--c-muted);white-space:nowrap}.cp-redeem{color:var(--c-accent);font-weight:600}.cp-terms summary{cursor:pointer;color:var(--c-muted);font-size:13px;font-weight:600}.cp-terms p{color:var(--c-muted);white-space:pre-line;font-size:13px;line-height:1.55;margin-top:8px!important}.cp-footer{text-align:center;color:var(--c-muted);font-size:12px}.cp-footer a{color:inherit;text-decoration:underline}.cp-code{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px;padding:24px 20px 22px}.cp-qr{aspect-ratio:1;width:min(64vw,248px);height:auto;box-shadow:0 0 0 1px var(--c-line), 0 14px 30px -18px #10291f73;border-radius:20px;padding:12px}.cp-qr.cp-pdf417{aspect-ratio:auto;width:min(84vw,340px)}.cp-code>div{justify-items:center;gap:4px;display:grid}.cp-code-text{letter-spacing:.12em;color:var(--c-ink);font-size:22px;font-weight:600;margin:2px 0 4px!important}.cp-business{letter-spacing:-.01em;font-size:17px;font-weight:650}.cp-credit .trivu-credit{gap:8px;padding-top:12px}.cp-credit .trivu-credit span{opacity:.75;font-size:10px}.cp-credit .trivu-credit img{width:64px;height:21px}.cp-preview-wrap{width:100%;max-width:380px;margin-inline:auto}.cp-card-preview{text-align:left;animation:none}.cp-card-preview .cp-holder{font-size:26px}.cp-preview-phone .cp-preview-screen{scrollbar-width:none;background:var(--c-bg);max-height:600px;color:var(--c-ink);font-family:var(--font-ui-stack);border-radius:0 0 28px 28px;gap:10px;padding:10px 10px 4px;display:grid;overflow-y:auto}.cp-preview-phone .cp-preview-screen::-webkit-scrollbar{display:none}.cp-preview-phone .cp-card{padding:18px}.cp-preview-phone .cp-code{gap:10px;padding:16px 14px}.cp-preview-phone .cp-qr{width:150px}
