*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff;scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
body{margin:0;background:#fff;color:#111827;scrollbar-width:none;-ms-overflow-style:none;font-family:"DingTalk JinBuTi","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button{color:inherit}
[hidden]{display:none!important}
.coupon-shell{width:min(100%,560px);min-height:100vh;margin:0 auto;background:var(--page-bg,#f4f5f7)}
.top-strip{height:36px;background:#3e4a60;color:#fff;display:flex;align-items:center;padding:0 18px;overflow:hidden}
.top-strip-text{font-size:12.5px;line-height:1;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:7px;row-gap:5px;padding:8px 14px 10px}
.category-chip{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;height:36px;min-width:0;padding:4px 8px;border-radius:9px;display:flex;align-items:center;gap:7px;text-align:left;cursor:pointer;transition:background-color .16s ease,transform .16s ease}
.category-chip:hover{background:rgba(255,255,255,.62)}
.category-chip:active{transform:scale(.985)}
.category-chip.active{background:#fff}
.category-icon{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:transparent}
.category-icon img{display:block;width:100%;height:100%;object-fit:contain}
.category-logo-fallback{width:12px;height:12px;border-radius:4px;background:#d6d9df;display:block}
.category-name{min-width:0;font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.coupon-content{padding:0 14px 30px}
.coupon-list{width:100%}
.coupon-card{display:none;background:#fff;border-radius:15px;overflow:hidden;margin:0 0 15px;box-shadow:none;transform:translateZ(0)}
.coupon-card.is-visible{display:block;animation:couponFade .2s ease both}
@keyframes couponFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.cover-wrap{position:relative;width:100%;aspect-ratio:3.18/1;background:#eceff3;overflow:hidden;isolation:isolate}
.cover-wrap .coupon-cover{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;background:transparent}
.cover-mode-cover .coupon-cover{object-fit:cover;object-position:center center}
.cover-mode-contain{background:#dfe3e8}
.cover-mode-contain .cover-blur-bg{position:absolute;z-index:0;inset:-28px;background-position:center center;background-repeat:no-repeat;background-size:cover;filter:blur(22px);-webkit-filter:blur(22px);transform:scale(1.12);opacity:.88;pointer-events:none}
.cover-mode-contain .cover-blur-mask{position:absolute;z-index:1;inset:0;background:rgba(255,255,255,.10);backdrop-filter:saturate(1.08);-webkit-backdrop-filter:saturate(1.08);pointer-events:none}
.cover-mode-contain .coupon-cover{object-fit:contain!important;object-position:center center!important}
.cover-placeholder{aspect-ratio:3.18/1;background:linear-gradient(115deg,#ffef9c,#ffd629 52%,#ff9e1f);display:flex;flex-direction:column;justify-content:center;padding:24px 28px;color:#7b4300}
.cover-placeholder span{font-size:28px;line-height:1;font-weight:400;letter-spacing:.02em}.cover-placeholder small{margin-top:8px;font-size:13px;font-weight:400}
.coupon-card-footer{min-height:53px;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 13px;background:#fff}
.coupon-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;font-weight:400;color:#111}
.coupon-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}
.claim-btn{height:34px;min-width:79px;padding:0 14px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--btn-bg,#ffd400);color:var(--btn-text,#111);font-size:12px;line-height:1;font-weight:400;white-space:nowrap;transition:filter .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}
.claim-btn:hover{filter:brightness(.985)}.claim-btn:active{transform:scale(.97)}
.empty-state{text-align:center;background:#fff;border-radius:15px;padding:46px 18px;margin:0 0 15px}.empty-emoji{font-size:38px}.empty-state h2{font-size:17px;font-weight:400;margin:10px 0 7px}.empty-state p{font-size:12px;color:#8a8f98;margin:0;font-weight:400}
.closed-page{min-height:100vh;display:grid;place-items:center;text-align:center;background:#f4f5f7;color:#182230;font-family:"DingTalk JinBuTi","PingFang SC","Microsoft YaHei",sans-serif;font-weight:400}.closed-icon{font-size:44px}.closed-page h1{font-size:20px;font-weight:400;margin:12px 0 6px}.closed-page p{font-size:13px;color:#7b8494;margin:0}
@media(max-width:560px){html,body{background:var(--page-bg,#f4f5f7)}.coupon-shell{width:100%;margin:0}.top-strip{padding:0 12px}.category-grid{padding-left:10px;padding-right:10px}.coupon-content{padding-left:10px;padding-right:10px}.category-chip{padding-left:6px;padding-right:6px;gap:6px}.category-name{font-size:13.5px}.coupon-card{border-radius:14px;margin-bottom:13px}.coupon-card-footer{padding-left:11px;padding-right:10px}.claim-btn{min-width:74px;padding:0 12px}}
@media(max-width:390px){.top-strip-text{font-size:11.8px}.category-icon{width:21px;height:21px;flex-basis:21px}.category-name{font-size:12.8px}.coupon-title{font-size:13px}.coupon-actions{gap:6px}.claim-btn{height:32px;min-width:68px;padding:0 10px;font-size:11.5px}}

.copy-toast{position:fixed;left:50%;bottom:max(28px,calc(env(safe-area-inset-bottom) + 18px));z-index:999;transform:translate(-50%,16px);max-width:min(86vw,360px);padding:9px 14px;border-radius:999px;background:rgba(17,24,39,.9);color:#fff;font-size:12px;font-weight:400;line-height:1.35;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.copy-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
