.redeem-page { box-sizing: border-box; min-height: 100vh; padding: max(11.733vw, env(safe-area-inset-top)) 5.867vw 12vw; background: #f7f6f4; color: #1b1b1a; }
.redeem-brand { display: flex; align-items: center; justify-content: center; gap: 2.133vw; color: #9b6a16; font-size: 3.333vw; font-weight: 700; }
.redeem-brand img { width: 5.867vw; height: 5.867vw; }
.redeem-panel { margin-top: 9.6vw; padding: 7.733vw 5.6vw 6.4vw; background: #fff; border: 1px solid #ebe7df; border-radius: 3.2vw; box-shadow: 0 3.2vw 9.333vw rgba(74,57,30,.08); }
.redeem-kicker { color: #c28318; font-size: 3.2vw; font-weight: 700; }
.redeem-title { margin-top: 2.4vw; font-family: 'Songti SC', STSong, serif; font-size: 6.4vw; line-height: 1.35; font-weight: 700; }
.redeem-desc { margin-top: 3.2vw; color: #72716c; font-size: 3.6vw; line-height: 1.75; }
.redeem-input { box-sizing: border-box; width: 100%; height: 13.867vw; margin-top: 6.4vw; padding: 0 3.733vw; border: 1px solid #ded9cf; border-radius: 1.867vw; outline: none; background: #fbfaf8; text-align: center; color: #1b1b1a; font-size: 4.533vw; font-weight: 700; letter-spacing: .533vw; }
.redeem-input:focus { border-color: #d99a2b; }
.redeem-input.identifier { font-size: 3.867vw; letter-spacing: 0; }
.redeem-button { display: block; width: 100%; margin-top: 3.733vw; height: 12.8vw; border: 0; border-radius: 1.867vw; background: #dfa025; color: #1b1b1a; font-size: 4vw; font-weight: 700; }
.redeem-button:disabled { opacity: .65; }
.redeem-note { margin-top: 3.733vw; color: #aaa69e; text-align: center; font-size: 3.067vw; line-height: 1.6; }
.delivery-guide { margin-top: 6.4vw; padding: 5.333vw 4.267vw; border: 1px solid #eadfc8; border-radius: 2.4vw; background: #fffaf0; text-align: left; }
.delivery-guide-title { color: #24211b; font-size: 4.267vw; font-weight: 800; }
.delivery-code { display: flex; align-items: center; gap: 2.133vw; margin-top: 3.2vw; }
.delivery-code span { color: #8c887e; font-size: 3.2vw; }
.delivery-code strong { flex: 1; color: #9b6710; font-size: 4.267vw; letter-spacing: .4vw; }
.delivery-code button { border: 0; border-radius: 1.333vw; padding: 1.333vw 2.4vw; background: #efe3c5; color: #80540d; font-weight: 700; font-size: 3.2vw; }
.delivery-steps { display: grid; gap: 1.6vw; margin-top: 3.733vw; color: #605b50; font-size: 3.2vw; line-height: 1.6; }
.delivery-qr { display: block; width: 38.4vw; height: 38.4vw; margin: 4.8vw auto 3.2vw; border: 1px solid #eee7d7; background: #fff; }
.feishu-open { display: block; padding: 3.2vw; border-radius: 1.6vw; background: #3370ff; color: #fff; text-align: center; text-decoration: none; font-size: 3.733vw; font-weight: 700; }
.redeem-secondary { background: #f0e4c8; color: #6f5018; }
@media (min-width: 640px) { .redeem-page { padding-left: 24px; padding-right: 24px; } .redeem-brand { font-size: 14px; gap: 8px; } .redeem-brand img { width: 24px; height: 24px; } .redeem-panel { margin: 40px auto 0; max-width: 480px; padding: 36px 30px 32px; border-radius: 14px; } .redeem-kicker { font-size: 14px; } .redeem-title { margin-top: 12px; font-size: 30px; } .redeem-desc { margin-top: 16px; font-size: 16px; } .redeem-input, .redeem-input.identifier { height: 58px; margin-top: 30px; padding: 0 18px; border-radius: 8px; font-size: 22px; letter-spacing: 3px; } .redeem-input.identifier { font-size: 17px; letter-spacing: 0; } .redeem-button { height: 54px; margin-top: 16px; border-radius: 8px; font-size: 17px; } .redeem-note { margin-top: 16px; font-size: 13px; } }
