:root{--bg:#f5f7fb;--surface:#fff;--text:#172039;--muted:#66738b;--border:#e4e9f2;--blue:#2954eb;--blue-dark:#1c3ebc;--blue-soft:#edf2ff;--green:#167c62;--red:#bd3e44;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8ea9ff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.35;letter-spacing:-.055em;margin-bottom:10px}h2{font-size:1.125rem;line-height:1.5;margin-bottom:10px}h3{font-size:1rem}p{color:var(--muted)}.muted{color:var(--muted)}.mono,.amount{font-variant-numeric:tabular-nums}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 40px;gap:64px;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:14px;font-weight:750;font-size:1.1rem;white-space:nowrap;letter-spacing:.02em}.brand-mark{display:flex;align-items:baseline;justify-content:center;padding:7px 10px;border-radius:11px;background:var(--blue);color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:-.065em}.brand-mark span{font-size:.65rem;letter-spacing:-.04em;margin-left:2px}.topnav{display:flex;align-items:center;gap:32px;height:100%;font-size:.9375rem;color:var(--muted)}.topnav a{height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px}.topnav a[aria-current],.topnav a:hover{color:var(--blue);border-color:var(--blue)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:.9375rem}.top-actions form{margin:0}.top-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{background:var(--blue-soft);color:var(--blue);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-weight:700}.layout{display:flex;min-height:calc(100vh - 82px)}.sidebar{width:224px;flex-shrink:0;border-right:1px solid var(--border);padding:38px 20px 28px;background:#fff;display:flex;flex-direction:column}.nav-label{font-size:.8125rem;color:#8a95a9;letter-spacing:.1em;margin:0 18px 16px}.sidebar nav>a{display:flex;align-items:center;gap:14px;padding:13px 18px;border-radius:10px;font-size:.9375rem;color:#56647b;margin:4px 0}.sidebar nav>a:hover{background:#f6f8fc}.sidebar nav>a[aria-current]{color:var(--blue);background:var(--blue-soft);font-weight:650}.nav-symbol{width:20px;text-align:center;font-size:1.25rem;line-height:1}.management-label{margin-top:42px}.sidebar-note{border-top:1px solid var(--border);padding:24px 12px 0;margin-top:auto;font-size:.875rem;color:#59667f}.sidebar-note p{font-size:.8125rem;margin:6px 0 0;color:#919aab}.status-dot{display:inline-block;width:7px;height:7px;background:#3b8f74;border-radius:50%;vertical-align:middle;margin-right:8px}.main{width:100%;min-width:0;max-width:1392px;margin:0 auto;padding:42px 48px 22px;display:flex;flex-direction:column}.anonymous .main{max-width:1280px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading p{margin:0;font-size:.9375rem}.eyebrow{font-size:.8125rem;letter-spacing:.12em;color:var(--muted);font-weight:550;margin-bottom:14px}.greeting-dot{color:var(--blue);margin-left:5px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:9px;padding:12px 22px;line-height:1.5;font-weight:600;font-size:.9375rem;transition:background .15s,box-shadow .15s;white-space:nowrap}.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);box-shadow:0 4px 12px #2954eb20}.button.secondary{background:#fff;color:#455371;border-color:#dce3ef}.button.secondary:hover{background:#f7f9ff;border-color:#b5c4ed}.button.small{padding:8px 16px;font-size:.875rem;gap:14px}.button.full{width:100%;margin-top:4px}.inline-link{font-size:.875rem;color:var(--blue);font-weight:550;display:inline-flex;gap:9px;align-items:center}.inline-link:hover{text-decoration:underline}.text-button{border:0;background:none;color:var(--muted);padding:4px;font-size:.875rem}.text-button:hover{color:var(--blue)}.danger{color:var(--red)}.tag{font-size:.8125rem;color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:5px 10px;white-space:nowrap}.success-tag{background:#eaf6ef;color:var(--green)}.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding:32px 0 54px}.welcome h1{font-size:3.2rem;font-weight:760;line-height:1.27;letter-spacing:-.055em;margin-bottom:25px}.welcome h1 span{color:var(--blue)}.welcome-copy p{font-size:1.05rem;line-height:1.95}.welcome-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.welcome-panel{padding:32px;border-radius:24px;background:#183cc4;color:white;box-shadow:0 24px 50px -25px #2448a375;background-image:linear-gradient(125deg,#2954eb,#193cbf);position:relative;overflow:hidden}.panel-kicker{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.16em;color:#c9d6ff;font-weight:600}.panel-kicker span{font-size:.875rem;color:white}.welcome-panel-title{font-size:2rem;line-height:1.5;margin:30px 0;letter-spacing:.02em;font-weight:600}.panel-divider{height:1px;background:#ffffff35;margin-bottom:18px}.panel-feature{display:flex;align-items:center;gap:17px;padding:13px 0}.feature-number{font-size:.8125rem;color:#cad6ff;align-self:flex-start;margin-top:2px}.panel-feature strong{display:block;font-size:.9375rem;font-weight:500}.panel-feature small{color:#c5d2ff;font-size:.8125rem}.panel-feature>span:last-child{margin-left:auto;color:#d5e1ff}.home-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{margin:0}.section-heading p{font-size:.875rem;margin:5px 0 0}.announcement h3{margin-bottom:8px}.announcement p,.joining p{font-size:.9375rem;line-height:1.85;margin-bottom:0}.joining .inline-link{margin-top:18px}.joining .eyebrow{margin-bottom:9px}.footer{display:flex;justify-content:space-between;gap:16px;padding-top:40px;margin-top:auto;font-size:.8125rem;color:#8792a7}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1010px;width:100%;margin:24px auto 40px;gap:80px;align-items:start}.auth-intro{padding-top:62px}.auth-intro h1{font-size:2.25rem;line-height:1.6;margin-bottom:20px}.auth-intro p{line-height:1.9}.auth-note{font-size:.875rem;margin-top:50px;color:#79869e}.auth-card{padding:34px 38px;box-shadow:0 14px 36px #22325506}.auth-card h2{font-size:1.65rem;letter-spacing:-.045em;margin-bottom:9px}.auth-card>.muted{font-size:.875rem}.form{margin-top:24px}.field{margin-bottom:20px}.field>label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}.optional{margin-left:8px;font-size:.75rem;font-weight:400;color:#95a0b2}input:not([type=checkbox]),textarea{width:100%;border:1px solid #dbe2ed;border-radius:8px;padding:10px 13px;background:#fff;color:var(--text);font-size:.9375rem;min-height:45px}input::placeholder{color:#98a2b3}textarea{resize:vertical}input:focus,textarea:focus{border-color:#8ca6f7}.help{font-size:.8125rem;color:#7a879b;margin-top:6px;line-height:1.7}.help ul{padding-left:20px;margin:6px 0}.checkbox-label{display:flex!important;gap:10px;align-items:flex-start;font-size:.875rem!important;font-weight:400!important;line-height:1.7}input[type=checkbox]{margin-top:5px;width:17px;height:17px;accent-color:var(--blue);flex-shrink:0}.form-errors,.field-errors{color:#a83137;font-size:.875rem}.form-errors{padding:12px 14px;border-radius:8px;background:#fff3f2;border:1px solid #f1d2cf;margin-bottom:20px}.form-errors ul,.field-errors ul{list-style:none;margin:0;padding:0}.field-errors{margin-top:5px}.invalid input,.invalid textarea{border-color:#d17b7d}.auth-switch{text-align:center;font-size:.875rem;margin:24px 0 0}.auth-switch a{color:var(--blue);margin-left:5px}.auth-recovery{border-top:1px solid var(--border);padding-top:18px;margin-top:20px;margin-bottom:0}.account-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-bottom:28px}.points-card{background:var(--blue);background-image:linear-gradient(115deg,#2d59f1,#2146d7);border-radius:var(--radius);padding:28px 32px;color:white}.points-label{display:flex;justify-content:space-between;font-size:.9375rem;color:#dce5ff}.points-label>span{font-size:.75rem;letter-spacing:.15em;color:#adbeff}.points-number{font-size:4rem;font-weight:600;line-height:1.5;letter-spacing:-.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.points-number small{font-size:.875rem;font-weight:400;letter-spacing:0;margin-left:13px;color:#dce5ff}.points-card-footer{border-top:1px solid #ffffff35;display:flex;justify-content:space-between;gap:15px;padding-top:16px;font-size:.8125rem;color:#dce5ff}.points-card-footer a{font-weight:550;color:white}.details{margin:0}.details>div{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;gap:20px;font-size:.875rem}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.identity-card .section-heading{margin-bottom:14px}.ledger-card{padding:0;overflow:hidden}.ledger-card>.section-heading{padding:25px 28px 0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{padding:13px 25px;background:#f9faff;color:#8090a7;font-weight:500;font-size:.8125rem;border-top:1px solid var(--border);white-space:nowrap}td{padding:17px 25px;border-top:1px solid #edf0f6;line-height:1.6;max-width:440px;overflow-wrap:anywhere}tbody tr:hover{background:#fcfdff}.align-right{text-align:right}.nowrap{white-space:nowrap}.amount{font-weight:650;font-size:1rem}.positive{color:var(--green)}.negative{color:var(--red)}.table-sub{display:block;font-size:.8125rem;color:#8390a6;margin-top:3px}.empty-state{text-align:center;padding:35px 24px 47px;border-top:1px solid #f0f3f8}.empty-symbol{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 15px;background:#f1f4fa;color:#8d9bb4;border-radius:14px;font-size:1.75rem}.empty-state h3{font-weight:550;margin-bottom:8px}.empty-state p{font-size:.875rem;margin-bottom:0}.empty-cell{text-align:center;padding:45px 25px;color:var(--muted)}.quiet-notice{display:flex;align-items:baseline;border:1px dashed #d5ddeb;border-radius:12px;margin:24px 0 16px;padding:16px 20px;background:#f9faff}.quiet-notice p{margin:0;font-size:.875rem}.balance-badge{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 22px}.balance-badge>span{font-size:.8125rem;color:var(--muted)}.balance-badge strong{font-size:1.8rem;line-height:1.5;color:var(--blue);font-variant-numeric:tabular-nums}.below-card{margin:18px 0}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.settings-grid .card>p{font-size:.9375rem}.settings-grid .details{border-bottom:1px solid var(--border);padding-bottom:14px}.narrow-card{max-width:640px;width:100%}.cancel-link{margin-left:16px;font-size:.875rem;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.stat span{display:block;font-size:.875rem;color:var(--muted)}.stat strong{display:block;margin-top:8px;font-size:2rem;font-weight:650;line-height:1.4;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.search-form{display:flex;gap:8px}.search-form input{max-width:240px;min-height:38px;padding:7px 12px;font-size:.875rem}.spaced{margin-top:28px}.back-link{margin-bottom:20px}.pagination{display:flex;gap:18px;align-items:center;justify-content:center;padding:20px;font-size:.8125rem;color:var(--muted);border-top:1px solid var(--border)}.result-card{margin:25px auto;padding:42px 36px}.result-card h1{font-size:1.7rem}.result-card p{font-size:.9375rem}.result-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eaf6ef;color:var(--green);font-size:1.6rem;margin-bottom:20px}.result-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.secret-value{font-family:ui-monospace,Consolas,monospace;font-size:.875rem!important}.messages{margin-bottom:20px}.notice{background:#ecf7f1;border:1px solid #cbe7d7;color:#216b4e;border-radius:10px;padding:12px 18px;font-size:.9375rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-80px;left:20px;padding:12px 20px;background:#fff;color:var(--blue);z-index:10}.skip-link:focus{top:10px}
@media(min-width:1600px){.main{padding-top:54px}.welcome{padding-top:48px;padding-bottom:72px}.welcome h1{font-size:3.6rem}}
@media(max-width:1100px){.topbar{padding:0 24px;gap:35px}.main{padding:30px 28px 20px}.sidebar{width:198px;padding-left:12px;padding-right:12px}.welcome{gap:32px}.welcome h1{font-size:2.7rem}.welcome-panel{padding:26px}.account-grid{grid-template-columns:1fr 1fr}.points-card{padding:25px}.card{padding:24px}.ledger-card{padding:0}.auth-layout{gap:42px}.auth-card{padding:30px}.settings-grid{grid-template-columns:1fr 1fr}.stats-grid{gap:12px}.top-name{max-width:100px}}
@media(max-width:800px){.topbar{height:72px;padding:0 20px;gap:22px}.topnav{display:none}.brand{font-size:1rem;gap:10px}.top-actions{gap:10px}.top-name{display:none}.layout{min-height:calc(100vh - 72px)}.sidebar{width:175px}.sidebar nav>a{padding:12px;font-size:.875rem;gap:10px}.main{padding:28px 22px 18px}.account-grid,.settings-grid{grid-template-columns:1fr}.points-number{font-size:3.4rem}.home-bottom{grid-template-columns:1fr}.welcome{grid-template-columns:1fr 1fr;gap:24px;padding-top:18px}.welcome h1{font-size:2.35rem}.welcome-panel-title{font-size:1.7rem}.welcome-copy p{font-size:.9375rem}.welcome-actions{flex-direction:column;align-items:flex-start}.auth-layout{grid-template-columns:1fr;max-width:480px;margin-top:8px;gap:25px}.auth-intro{padding:0}.auth-intro h1{font-size:1.8rem;line-height:1.5}.auth-intro p,.auth-note{display:none}.auth-intro .eyebrow{margin-bottom:8px}.page-heading{align-items:flex-start;flex-wrap:wrap}.stats-grid{grid-template-columns:1fr 1fr 1fr}.stat{padding:18px 15px}.stat strong{font-size:1.6rem}.stat span{font-size:.8125rem}.section-heading{flex-wrap:wrap}.search-form{width:100%}.search-form input{max-width:none}.footer{font-size:.75rem;padding-top:30px}.points-card-footer{font-size:.8125rem}}
@media(max-width:600px){h1{font-size:1.75rem}.topbar{padding:0 16px}.brand{gap:8px;font-size:.9375rem}.brand-mark{font-size:.9375rem;padding:6px 8px}.top-actions .button{padding:7px 10px;font-size:.8125rem;gap:5px}.login-link{font-size:.875rem}.layout{display:block}.sidebar{width:auto;padding:10px 14px;border-right:0;border-bottom:1px solid var(--border)}.sidebar>.nav-label,.sidebar-note,.management-label{display:none}.sidebar nav{display:flex;gap:6px;overflow-x:auto}.sidebar nav>a{padding:9px 12px;white-space:nowrap;flex-shrink:0;margin:0;font-size:.8125rem}.nav-symbol{display:none}.main{padding:24px 16px 18px;min-height:calc(100vh - 128px)}.welcome{grid-template-columns:1fr;gap:30px;padding:14px 0 30px}.welcome h1{font-size:2.7rem}.welcome h1 br{display:none}.welcome-copy p{font-size:1rem}.welcome-actions{flex-direction:row;gap:10px;margin-top:20px}.welcome-panel{padding:25px}.welcome-panel-title{font-size:1.9rem;margin:20px 0}.welcome-panel-title br{display:none}.panel-feature{padding:8px 0}.home-bottom{gap:16px}.card{padding:23px 20px}.ledger-card{padding:0}.ledger-card>.section-heading{padding:22px 20px 0}.page-heading{margin-bottom:22px;gap:16px}.page-heading p{font-size:.875rem}.account-grid{gap:16px;margin-bottom:22px}.points-card{padding:25px}.points-number{font-size:3.6rem}.footer{gap:10px;flex-wrap:wrap}.auth-card{padding:25px 22px}.auth-intro h1{font-size:1.7rem}.auth-layout{gap:18px}.stats-grid{gap:8px}.stat{padding:16px 12px}.stat strong{font-size:1.5rem}.stat span{font-size:.75rem}.table-scroll th,.table-scroll td{padding-left:18px;padding-right:18px}.balance-badge{padding:8px 16px}.balance-badge strong{font-size:1.5rem}.settings-grid{gap:18px}.section-heading .inline-link{font-size:.8125rem}.result-card{margin:6px 0}.empty-state{padding:28px 20px 35px}.top-actions .avatar{width:30px;height:30px}.quiet-notice{padding:14px 16px}.quiet-notice p{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
