#header .header-checkin{font-weight:700;color:#16804b;background:#e9f8ef;border-color:#a9dec0;white-space:nowrap;gap:5px}
#header .checkin-icon{width:18px;height:18px;color:inherit;flex-shrink:0}
.dark #header .header-checkin{color:#85edaf;background:#183a2c;border-color:#396c50}
#header .points{display:inline-flex;align-items:baseline;gap:5px;font-size:14px;font-weight:700;color:#854400;background:#fff1cb;border:1px solid #e6bb61;padding:8px 12px;white-space:nowrap;box-shadow:0 1px 3px #8a5b0012}
#header .points strong{font-size:23px;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums;color:inherit}
.dark #header .points{background:#47330d;color:#ffe1a1;border-color:#a47b2e}
.rewards-dialog{width:min(530px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);overflow:auto;box-sizing:border-box}
.rewards-dialog::backdrop{background:#14213b80}
.rewards-dialog h2{margin:0 35px 18px 0;font-size:23px}
.rewards-dialog .close{position:sticky;float:right;top:0;margin:-6px -6px 0 0;z-index:1}
.rewards-tabs{display:flex;gap:8px;margin-bottom:18px}
.rewards-tabs button{flex:1;font-weight:700}
.rewards-tabs button.active{background:var(--soft);border-color:var(--blue);color:var(--blue)}
.rewards-summary{background:var(--soft);padding:12px 14px;border-radius:10px;margin-bottom:14px}
.rewards-summary>strong{font-size:18px}.rewards-summary b{color:var(--blue);font-size:24px}
.rewards-summary p{font-size:13px;line-height:1.65;margin:5px 0 0;color:var(--muted)}
.calendar-month{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:8px}
.calendar-month button{font-size:22px;padding:2px 14px}
.checkin-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-week{text-align:center;font-size:13px;color:var(--muted);padding:4px}
.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:49px;border:1px solid transparent;border-radius:8px;font-size:15px;font-variant-numeric:tabular-nums;background:var(--bg)}
.calendar-day small{height:15px;font-size:10px}.calendar-day.checked{background:#e1f5e8;color:#176a3a;font-weight:700}.calendar-day.today{border-color:var(--blue)}.calendar-day.future{opacity:.4}
.dark .calendar-day.checked{background:#143c2a;color:#a2edbc}
.calendar-checkin{width:100%;margin-top:16px;font-weight:700;min-height:43px}
.invite-label{display:block;font-size:14px;font-weight:700;margin:10px 0 6px}
.invite-copy{display:flex;gap:7px}.invite-copy input{width:100%;min-width:0;flex:1;font-size:13px}.invite-copy button{white-space:nowrap}
.invite-code{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:10px 0;font-size:13px}.invite-code strong{overflow-wrap:anywhere;letter-spacing:.5px}.invite-code button{padding:5px 8px;font-size:12px}
.invitation-totals{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0;border-block:1px solid var(--border);font-size:14px}.invitation-totals b{color:var(--blue);font-size:21px}
.invitation-records{max-height:190px;overflow:auto}.invitation-records>div{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;font-size:12px}.invitation-records strong{color:var(--blue)}
.rewards-message{margin:10px 0 0;font-size:13px;overflow-wrap:anywhere;color:var(--blue)}
.account-rewards{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.wechat-binding-dialog{width:480px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:26px;text-align:center;overflow:auto}
.wechat-binding-dialog::backdrop{background:#14213b99;backdrop-filter:blur(3px)}
.wechat-binding-dialog .close{float:right;padding:3px 10px;font-size:23px}
.wechat-mark{width:64px;height:64px;margin:15px auto 20px;padding:13px;border-radius:18px;background:#e2f8ec;color:#07bc63}.wechat-mark svg{width:100%;height:100%}
.wechat-binding-dialog h2{font-size:21px;line-height:1.5;margin:12px 0}.wechat-binding-dialog p,.wechat-binding-body{font-size:14px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.wechat-binding-body:not(:empty){padding:14px;margin-top:12px;background:var(--soft);border-radius:9px}
.wechat-binding-actions{display:flex;gap:12px;margin-top:22px}.wechat-binding-actions button{flex:1;min-height:44px;font-weight:700}.wechat-green{background:#05b85f;color:white;border-color:#05b85f}
.wechat-binding-qr{display:block;width:200px;height:200px;max-width:100%;object-fit:contain;margin:12px auto;background:white;border:8px solid white;box-sizing:border-box;border-radius:8px}.wechat-binding-body small{display:block;font-size:12px;line-height:1.65}.wechat-binding-dialog{box-sizing:border-box}
@media(max-width:460px){.wechat-binding-dialog{padding:18px}.wechat-binding-dialog h2{font-size:18px}.wechat-binding-actions{gap:8px}.wechat-binding-actions button{padding:9px 8px}.wechat-binding-dialog p,.wechat-binding-body{font-size:13px}}
@media(max-width:720px){#header .points{font-size:12px;padding:7px 9px;gap:3px}#header .points strong{font-size:20px}#header .header-checkin{font-size:13px;padding:7px 9px}.rewards-dialog{padding:18px}.calendar-day{min-height:42px}.checkin-calendar{gap:3px}.invite-copy{flex-wrap:wrap}.invite-copy input{flex-basis:100%}.rewards-summary>strong{font-size:16px}}
@media(max-width:720px) and (max-height:650px){.rewards-dialog{padding:14px}.rewards-dialog h2{font-size:20px;margin-bottom:12px}.rewards-dialog .close{padding:4px 10px;min-height:30px}.rewards-tabs{margin-bottom:10px}.rewards-tabs button{padding:7px 10px}.rewards-summary{padding:10px;margin-bottom:8px}.rewards-summary p{font-size:12px;line-height:1.45}.calendar-month{margin:8px 0}.calendar-month button{font-size:19px}.calendar-week{padding:2px}.calendar-day{min-height:32px;font-size:14px;line-height:17px}.calendar-day small{height:11px;line-height:11px}.calendar-checkin{margin-top:10px;min-height:36px;padding:8px 10px}.rewards-message{margin-top:6px}}
