:root{--pink:#f7dfe8;--ink:#30282d;--accent:#a63e63;--muted:#75676e;--line:#e8c3d0}*{box-sizing:border-box}body{margin:0;background:var(--pink);color:var(--ink);font-family:"Microsoft YaHei",Arial,sans-serif;font-size:14px;line-height:1.7}header{max-width:920px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #fff8}header a{font-size:24px;line-height:1;letter-spacing:-1px;font-weight:600;color:var(--ink);text-decoration:none}header>span{color:var(--muted);font-size:12px}main{max-width:760px;padding:36px 28px 72px;margin:auto}.eyebrow{color:var(--accent);font-size:12px;margin:0 0 6px}h1{font-size:30px;font-weight:500;letter-spacing:-1px;margin:4px 0 12px}h2{font-size:18px;font-weight:500;margin:0 0 8px}h3{font-size:14px;font-weight:500;margin:24px 0 10px}.intro{color:var(--muted);margin-bottom:28px}.panel{padding:28px;border:1px solid #fff;border-radius:22px;background:#fff9fbc7}.panel>p{font-size:12px;color:var(--muted)}form label:not(.consent){display:block;font-size:12px;margin:18px 0 6px}input[type=tel],input[type=text]{width:100%;height:48px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:0 14px;font:inherit;font-size:16px}.consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);margin:14px 0}.consent input{margin-top:4px;accent-color:var(--accent)}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--pink);padding:11px 16px;color:var(--accent)}button:disabled{cursor:default;opacity:.55}.code-row{display:flex;gap:10px}.code-row button{flex-shrink:0;white-space:nowrap;font-size:12px}.primary{width:100%;background:var(--accent);color:#fff;border-color:var(--accent);margin-top:8px;min-height:48px}.text-button{padding:2px 0;border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:3px}.muted{color:var(--muted);font-size:12px}.feedback{color:var(--accent);font-size:13px;min-height:24px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.today{display:flex;gap:10px;justify-content:space-between;padding:16px;background:var(--pink);border-radius:12px;margin:20px 0}.today strong{font-weight:500}.today span{color:var(--accent)}.totals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.totals>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.totals span{width:100%;font-size:12px;color:var(--muted)}.totals strong{font-size:32px;font-weight:500}.totals small{font-size:11px;color:var(--muted)}#records{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}#records li,.history-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.rules{padding-top:20px}.grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.grade-grid div{border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}.grade-grid span{display:block;font-size:12px;color:var(--muted)}.grade-grid strong{font-size:24px;font-weight:500;color:var(--accent)}.rules ul{color:var(--muted);font-size:12px;padding-left:18px}dialog{width:min(480px,calc(100% - 32px));max-height:85svh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--ink);background:#fff9fb}dialog::backdrop{background:#30282d66}dialog p{font-size:13px}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:450px){header{padding:20px}main{padding:28px 20px 48px}h1{font-size:25px}.panel{padding:20px}.grade-grid div{padding:12px 6px}.code-row{gap:8px}.code-row button{padding:10px}.today{font-size:12px}}

.wordmark{position:relative;display:block;width:112px;aspect-ratio:930/474;flex-shrink:0}.wordmark span{position:absolute;inset:0}.wordmark img{display:block;width:100%;height:100%}.logo-symbol{clip-path:inset(0 50% 0 0);transform:scale(.8);transform-origin:left bottom}.logo-lettering{clip-path:inset(0 0 0 54%);transform:translateX(-10%)}
.today{align-items:center;flex-wrap:wrap}.today-status{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.today #account-phone{font-size:12px;color:var(--muted)}#today-points{white-space:nowrap;margin-left:auto}
.records-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--accent);text-underline-offset:4px}.panel .account-ps{font-size:11px;line-height:1.8;margin:20px 0 0}.feedback:empty{display:none}.records-tabs{display:flex;gap:10px;margin:18px 0}.records-tabs button{flex:1}.records-tabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}#past-month-picker label{font-size:12px;margin-right:10px}#records-month{font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px}#checkin-records #records{max-height:50svh}#checkin-records h3{margin:18px 0 8px}
.activity-rule-section{padding-top:30px;margin-top:28px;border-top:1px solid var(--line)}.activity-rule-section>h2{margin-bottom:12px}.activity-rule-section>.muted{margin:0 0 16px}.redeem-grid,.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.redeem-grid>div,.milestone-grid>div{min-width:0;border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff9fb}.redeem-grid strong{display:block;font-size:28px;color:var(--accent);font-weight:500;line-height:1.2;margin-bottom:12px}.redeem-grid strong small{font-size:11px;font-weight:400}.redeem-grid span{display:block;font-size:14px}.redeem-grid>div>small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.milestone-grid>div{background:#fff7fa}.milestone-grid span{color:var(--muted);font-size:12px}.milestone-grid span strong{font-size:21px;color:var(--accent);font-weight:500}.milestone-grid p{margin:10px 0 0;font-size:14px}.redeem-grid+.muted,.milestone-grid+.muted{margin-top:14px}@media(max-width:450px){.redeem-grid,.milestone-grid{gap:9px}.redeem-grid>div,.milestone-grid>div{padding:15px}.redeem-grid strong{font-size:25px}.redeem-grid span,.milestone-grid p{font-size:12px}.milestone-grid{grid-template-columns:1fr}}

.grade-grid{max-width:640px;gap:8px;margin:12px auto 14px}.grade-grid div{padding:9px 12px;line-height:1.35}.grade-grid strong{display:block;font-size:22px;line-height:1.15;margin-top:2px}@media(max-width:450px){.grade-grid div{padding:9px 6px}}

.grade-grid div{background:#fff9fb}
.redeem-grid,.milestone-grid{gap:9px}
.redeem-grid>div,.milestone-grid>div{padding:14px 16px;border-radius:14px}
.redeem-grid strong{font-size:25px;line-height:1.15;margin-bottom:7px}
.redeem-grid span{font-size:13px;line-height:1.45}
.redeem-grid>div>small{margin-top:2px;line-height:1.35}
.milestone-grid span strong{font-size:19px}
.milestone-grid p{margin:6px 0 0;font-size:13px;line-height:1.45}
@media(max-width:450px){.redeem-grid>div,.milestone-grid>div{padding:12px 13px}.redeem-grid strong{font-size:23px}.redeem-grid span,.milestone-grid p{font-size:12px}}

.activity-navigation{margin:-24px 0 10px}
.activity-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--accent);font-size:13px;line-height:1.4;letter-spacing:0;text-decoration:none}
.activity-back svg{flex:none;width:18px;height:18px}
.activity-back:hover{color:var(--ink)}
.icp-footer{padding:20px 16px 28px;text-align:center;color:#61565e;font-size:12px;line-height:1.8}
.icp-footer a{color:inherit;text-underline-offset:3px}
