/* Use the existing site header, background and membership palette. */
.stamp-card-page .stamp-principal{background-position:center;background-repeat:no-repeat}
.stamp-card-page .stamp-shell{width:min(600px,100%);min-width:0;margin:0 auto;padding-bottom:16px}
.stamp-card-page .stamp-panel{width:100%;margin:0 0 20px;text-align:center}
.stamp-card-page .stamp-muted{display:block;color:rgba(255,255,255,.68);font-size:13px;line-height:1.6}
.stamp-card-page .stamp-panel>small{color:#c9a96e;letter-spacing:.08em;margin-bottom:12px}
.stamp-card-page .stamp-panel>p{line-height:1.7;margin:14px 0;color:rgba(255,255,255,.9)}
.stamp-card-page .stamp-panel h2{margin:22px 0 12px;line-height:1.5;font-size:19px}
.stamp-card-page .stamp-panel h3{color:#c9a96e;font-size:18px}
.stamp-card-page .stamp-shell>h2{color:#f1d28a;text-align:center;font-size:20px;margin:24px 0 16px}
.stamp-card-page .stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px auto;max-width:420px}
.stamp-card-page .stamp-dot{aspect-ratio:1;border:1px dashed rgba(201,169,110,.65);border-radius:50%;display:grid;place-items:center;color:#c9a96e;font-size:24px;background:rgba(0,0,0,.18)}
.stamp-card-page .stamp-dot.filled{background:#9f7a37;border:1px solid #c9a96e;color:white;box-shadow:inset 0 0 0 4px rgba(0,0,0,.12)}
.stamp-card-page .stamp-qr{display:block;width:220px;max-width:100%;height:auto;margin:20px auto;padding:8px;background:white;border-radius:8px}
.stamp-card-page details{color:#c9a96e;font-size:13px}
.stamp-card-page summary{cursor:pointer}
.stamp-card-page .stamp-code{overflow-wrap:anywhere;font:12px monospace;color:#eee;margin-top:10px}
.stamp-card-page .stamp-table{max-width:100%;overflow:auto}
.stamp-card-page table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.stamp-card-page td,.stamp-card-page th{padding:10px 8px;border-bottom:1px solid rgba(201,169,110,.24);white-space:nowrap}
.stamp-card-page th{color:#c9a96e}
.stamp-card-page .stamp-back{display:flex;width:max-content;max-width:100%;margin:0 auto;text-align:center}
.stamp-card-page :focus-visible{outline:2px solid #f1d28a;outline-offset:3px}
@media(max-width:480px){.stamp-card-page .stamp-panel{padding:24px 20px}.stamp-card-page .stamp-grid{gap:9px}.stamp-card-page .stamp-dot{font-size:21px}.stamp-card-page .stamp-panel h1{font-size:23px}}

/* Latin punctuation/accents must not fall back to wide CJK glyphs. */
.stamp-card-page .stamp-shell{font-family:Arial,"Helvetica Neue","Noto Sans",sans-serif;letter-spacing:normal}
.stamp-card-page .stamp-install .home-install{background:#24292b;color:#e5c27c;border:1px solid #9f7a37;width:100%;max-width:none;margin:0 0 16px;font-family:inherit}
.stamp-card-page .stamp-install .home-install-icon{width:44px;height:44px}
.stamp-card-page .stamp-install .home-install-close{display:none}
.stamp-card-page .home-install-dialog{background:#24292b;color:#f4e6c6;border:1px solid #9f7a37}
.stamp-card-page .home-install-dialog button{background:#9f7a37}

.stamp-scroll-cue{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:20px;background:rgba(20,22,23,.8);color:rgba(255,255,255,.8);font:12px/1 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transform:translateX(-50%);min-height:44px}
.stamp-scroll-cue[hidden]{display:none}
.stamp-scroll-cue i{display:block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:stamp-scroll-bounce 1.35s ease-in-out infinite;margin-bottom:4px}
.stamp-scroll-cue:hover{color:#f1d28a}
@keyframes stamp-scroll-bounce{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(5px) rotate(45deg)}}
@media(prefers-reduced-motion:reduce){.stamp-scroll-cue i{animation:none}}

/* Keep available rewards prominent and completed rewards compact. */
.stamp-card-page .stamp-rewards{margin:24px 0;color:#eee}
.stamp-card-page .stamp-rewards-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.stamp-card-page .stamp-rewards-heading h2{font-size:19px;color:#e5c27c;line-height:1.4;margin:0;text-transform:none}
.stamp-rewards-heading h2>span{margin-right:5px}
.stamp-card-page .stamp-reward-count{flex-shrink:0;color:#d4be93;font-size:12px;line-height:1.4;border:1px solid #9f7a3755;padding:5px 9px;border-radius:20px;background:#24292bdd}
.stamp-card-page .stamp-rewards-empty{font-size:14px;color:#c6c9c6;background:rgba(33,37,41,.92);border:1px solid #c9a96e33;border-radius:10px;padding:16px 18px;margin:0 0 12px;line-height:1.6}
.stamp-card-page .stamp-reward-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.stamp-card-page .stamp-reward-top h3{margin:0;color:#e2c485;font-size:16px;line-height:1.5;text-transform:none;overflow-wrap:anywhere;text-align:left}
.stamp-card-page .stamp-reward-status{flex-shrink:0;font-size:11px;line-height:1.5;border-radius:20px;padding:3px 9px;border:1px solid #9aa19b55;background:#ffffff08;color:#bbc2bd}
.stamp-card-page .stamp-reward-status.is-available{color:#e7c87e;border-color:#c9a96e77;background:#9f7a3726}
.stamp-card-page .stamp-reward-status.is-expired{color:#cebdab}
.stamp-card-page .stamp-reward-active{padding:22px;margin:0 0 12px;border-color:#c9a96e66}
.stamp-card-page .stamp-reward-active .stamp-reward-validity{text-align:left;font-size:13px;color:#bfc5bf;margin:8px 0 0}
.stamp-card-page .stamp-reward-history{background:rgba(33,37,41,.94);border:1px solid #c9a96e33;border-radius:10px;overflow:hidden}
.stamp-card-page .stamp-reward-history>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;min-height:52px;color:#cdd0ca;font-size:14px;line-height:1.5;cursor:pointer}
.stamp-reward-history>summary::-webkit-details-marker{display:none}
.stamp-history-summary-end{display:flex;align-items:center;gap:14px;flex-shrink:0}
.stamp-history-count{border-radius:20px;padding:1px 8px;background:#ffffff0d;color:#d4be93;font-size:12px}
.stamp-history-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.stamp-reward-history[open] .stamp-history-chevron{transform:rotate(225deg);margin-top:3px}
.stamp-card-page .stamp-reward-history-list{list-style:none;padding:0 18px;margin:0}
.stamp-card-page .stamp-reward-history-item{padding:15px 0;border-top:1px solid #c9a96e26}
.stamp-card-page .stamp-reward-history-item h3{color:#d5d4ca;font-size:14px}
.stamp-card-page .stamp-reward-date{font-size:12px;line-height:1.6;color:#aeb5ae;margin:8px 0 0;text-align:left;overflow-wrap:anywhere}
.stamp-reward-date time{font-variant-numeric:tabular-nums}
@media(max-width:380px){.stamp-card-page .stamp-reward-top{flex-wrap:wrap;gap:6px}.stamp-card-page .stamp-rewards-heading h2{font-size:17px}.stamp-card-page .stamp-reward-history>summary{padding:14px}}
