:root{--canvas: #ffffff;--ground: #f4f3ef;--paper: #ffffff;--primary: #000000;--ink-900: #1a1c1c;--ink-700: #444748;--ink-500: #747878;--ink-300: #c4c7c7;--line: #d7d9d9;--line-soft: #e7e8e8;--line-control: #9a9d9d;--gold: #725b2f;--gutter: 16px;--r-sm: 4px;--r-nav: 12px;--ease: cubic-bezier(.2, 0, .2, 1);--d-base: .24s;--f-serif: "Noto Serif SC", "Songti SC", Georgia, serif;--f-ui: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;color:var(--ink-900);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}button{color:inherit}.num{font-variant-numeric:tabular-nums}.download-page{min-height:100vh;min-height:100svh;background:var(--ground)}.wx-hint{display:none;gap:8px;align-items:center;padding:12px 20px;background:var(--ink-900);color:#fff;font-size:13px;line-height:1.5}.is-wechat .wx-hint{display:flex}.wx-hint .arrow{margin-left:auto;font-size:18px}.download-wrap{max-width:1040px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,8vw,96px) clamp(24px,5vw,60px)}.download-intro{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:480px;margin:0 auto;width:100%}.download-brand{width:150px;height:auto;margin-bottom:clamp(22px,4vw,34px)}.download-headline{font-family:var(--f-serif);font-weight:600;font-size:clamp(28px,4.4vw,42px);line-height:1.28;letter-spacing:0;margin:0;color:var(--ink-900);text-wrap:balance}.download-sub{font-size:clamp(14px,1.4vw,16px);line-height:1.7;color:var(--ink-500);margin:16px 0 0;max-width:30ch}.download-actions{display:flex;flex-direction:column;gap:12px;margin-top:clamp(28px,4vw,38px);width:100%;max-width:300px}.download-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:opacity .16s var(--ease),background .16s var(--ease),color .16s var(--ease),transform 60ms}.download-button:active{transform:translateY(1px)}.download-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.download-button.is-primary{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.download-button.is-ghost{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}.download-icon{width:18px;height:18px;flex:0 0 auto}.download-note{margin:16px 0 0;font-size:12px;color:var(--ink-300);letter-spacing:0}.register-page{min-height:100vh;min-height:100svh;background:#e9eaea}.app-frame{position:relative;width:100%;max-width:420px;min-height:100vh;min-height:100svh;margin:0 auto;background:var(--canvas);box-shadow:0 0 0 1px #0000000a}.register-sheet{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--canvas);opacity:0;transform:translateY(12px);transition:opacity var(--d-base) var(--ease),transform var(--d-base) var(--ease)}.register-sheet.on{opacity:1;transform:translateY(0)}.sheet-bar{min-height:44px;display:flex;align-items:center;justify-content:flex-start;padding:8px var(--gutter) 4px}.nav-back{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 0;border:none;background:none;cursor:pointer;color:var(--ink-700);font-size:14px}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.sheet-body.with-bar{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.sheet-body.is-success{display:flex;flex-direction:column;justify-content:center}.px{padding-left:var(--gutter);padding-right:var(--gutter)}.brand{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 0 16px}.brand-lockup{width:172px;height:auto;margin-bottom:8px}.brand-sub{font-size:12px;line-height:1.75;color:var(--ink-500);text-align:center}.tabs{display:flex;justify-content:flex-start;gap:28px;margin-bottom:12px}.tab{font-size:14px;color:var(--ink-500);padding:0 0 8px;border:none;border-bottom:2px solid transparent;cursor:pointer;background:none}.tab.on{color:var(--ink-900);font-weight:500;border-bottom-color:var(--primary)}.form{display:flex;flex-direction:column;padding-bottom:56px}.field{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.lbl{font-size:12px;font-weight:500;letter-spacing:0;color:var(--ink-500)}.input-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:3px}.input{flex:1;min-width:0;height:30px;font-size:14px;color:var(--ink-900);border:none;outline:none;background:transparent}.input::placeholder{color:var(--ink-300)}.cc{display:flex;align-items:center;gap:2px;padding:0 8px 0 0;border:none;border-right:1px solid var(--line);background:transparent;cursor:pointer}.cc-txt{font-size:14px;color:var(--ink-900)}.code-btn{flex:0 0 auto;padding:0;border:none;background:none;font-size:14px;color:var(--ink-900);cursor:pointer;white-space:nowrap}.code-btn.off{color:var(--ink-300);cursor:default}.agree{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.cb{width:15px;height:15px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-control);margin-top:4px}.cb.on{background:var(--primary);border-color:var(--primary)}.agree-txt{font-size:12px;line-height:1.5;color:var(--ink-500)}.link{color:var(--ink-900)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:0 22px;border:1px solid var(--primary);border-radius:var(--r-sm);background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .16s var(--ease)}.btn:disabled{opacity:.32;cursor:not-allowed}.form-title{display:block;font-family:var(--f-serif);font-size:23px;font-weight:600;color:var(--ink-900);margin:20px 0 8px}.form-desc{font-size:13px;line-height:1.75;color:var(--ink-500);margin:0 0 28px}.eye{flex:0 0 auto;padding:2px 0;border:none;background:none;color:var(--ink-500);cursor:pointer}.err{font-size:11px;color:#b54747}.rules{background:#f7f7f5;padding:16px;margin:8px 0 24px;border-radius:4px}.caps{display:block;margin-bottom:12px;font-size:12px;font-weight:500;color:var(--ink-500)}.rule{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--ink-300)}.rule svg.ok,.rule-txt.ok{color:var(--ink-900)}.rule-txt{font-size:13px;color:var(--ink-500)}.success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 0 24px;transform:translateY(-10vh)}.sc-badge{width:52px;height:52px;border-radius:999px;background:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.sc-title{font-size:21px;font-weight:500;color:var(--ink-900);margin:0 0 8px}.sc-sub{font-size:14px;line-height:1.6;color:var(--ink-500);margin:0 0 34px;white-space:nowrap}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#1a1c1c6b;display:flex;align-items:flex-end;justify-content:center}.rsheet{width:100%;max-width:420px;max-height:70vh;display:flex;flex-direction:column;background:var(--paper);border-top-left-radius:var(--r-nav);border-top-right-radius:var(--r-nav);box-shadow:0 -8px 32px #1a1c1c2e;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.rsheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter) 8px}.rsheet-title{font-size:15px;font-weight:500;color:var(--ink-900)}.close{padding:2px;display:inline-flex;cursor:pointer;border:none;background:none}.rsheet-list{flex:1;min-height:0;overflow-y:auto;padding:0 var(--gutter)}.loading{padding:24px 0;text-align:center;font-size:13px;color:var(--ink-500)}.group-head{padding:12px 0 4px;background:var(--paper)}.group-title{font-size:11px;color:var(--ink-500);font-weight:500}.ri{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 0;border:none;border-bottom:1px solid var(--line-soft);background:transparent;cursor:pointer;text-align:left}.ri-name{color:var(--ink-700)}.ri.on .ri-name{color:var(--ink-900);font-weight:500}.ri-code{font-size:14px;color:var(--ink-500)}.dlbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:420px;z-index:300;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 22px #1a1c1c1a}.dl-logo{width:34px;height:34px;flex:0 0 auto;object-fit:contain}.dl-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.dl-name{font-size:13px;font-weight:500;color:var(--ink-900);line-height:1.35}.dl-info small{font-size:11px;color:var(--ink-500)}.dl-btn{flex:0 0 auto;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:500;padding:8px 18px;border-radius:var(--r-sm);cursor:pointer}.dl-close{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--ink-300)}.toast{position:fixed;left:50%;top:42%;transform:translate(-50%);z-index:600;max-width:min(70%,320px);padding:10px 16px;background:#1a1c1ce0;color:#fff;font-size:13px;border-radius:var(--r-sm);text-align:center;pointer-events:none}.agreement-page{min-height:100vh;min-height:100svh;background:#e9eaea}.agreement-frame{width:100%;max-width:420px;min-height:100vh;min-height:100svh;margin:0 auto;background:var(--canvas);box-shadow:0 0 0 1px #0000000a}.agreement-bar{min-height:44px;display:flex;align-items:center;padding:8px var(--gutter) 4px}.agreement-content{padding:20px var(--gutter) 56px}.agreement-title{font-family:var(--f-serif);font-size:23px;line-height:1.35;font-weight:600;color:var(--ink-900);margin:0 0 8px}.agreement-version{font-size:11px;color:var(--ink-500);margin:0 0 16px}.agreement-card{background:#f7f7f5;padding:16px;border-radius:4px;font-size:13px;line-height:1.9;color:var(--ink-700);overflow-wrap:anywhere}.agreement-card h1,.agreement-card h2,.agreement-card h3,.agreement-card h4,.agreement-card p{margin-top:0}.agreement-card h1,.agreement-card h2,.agreement-card h3{color:var(--ink-900);line-height:1.45}.agreement-card h2,.agreement-card h3{font-size:15px;margin-bottom:8px}.agreement-card p{margin-bottom:12px}.agreement-card ul,.agreement-card ol{padding-left:1.4em}.agreement-state{min-height:calc(100vh - 44px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px var(--gutter);color:var(--ink-500);font-size:14px;text-align:center}@media (max-width: 420px){.register-page,.agreement-page{background:var(--canvas)}.app-frame,.agreement-frame{box-shadow:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}
