:root { --app-purple: #a765c5; --ink: #111; --muted: #666; --line: #e0e0e0; --soft: #f5f5f7; }
* { box-sizing: border-box; }
html, body { margin: 0; background: #f6f3f7; color: var(--ink); }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 15px; line-height: 1.8; }
a { color: var(--app-purple); text-decoration: none; }
a:hover { color: #8e4cab; }
.site-shell, .wallet-shell { width: min(720px, calc(100% - 32px)); margin: 0 auto; padding: 16px 0 64px; }
.site-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.brand-link { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
.brand-mark { width: 34px; height: 34px; border-radius: 9px; margin-right: 9px; }
.brand-word strong { font-size: 17px; }.brand-word small { display: none; }
.site-nav { display: flex; gap: 14px; font-size: 14px; }.nav-cta { color: var(--app-purple); }
.paper { padding:24px; border:1px solid #ebe4ed; border-radius:20px; background:#fff; box-shadow:0 5px 16px rgba(63,31,70,.04); }
.page-heading { padding: 0 0 18px; border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 8px; color: var(--app-purple); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
h1 { margin: 0; font-size: 26px; line-height: 1.35; color: var(--ink); }
.date { margin: 7px 0 0; color: #888; font-size: 14px; }
.document { padding: 8px 0 0; }.document h2 { margin: 32px 0 10px; padding-left: 10px; border-left: 4px solid var(--app-purple); font-size: 19px; line-height: 1.45; }.document p, .document li { font-size: 15px; }.document ul { padding-left: 22px; }
.notice-box { margin-top: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fafafa; }
.site-footer { margin-top: 32px; color: #888; font-size: 13px; }.site-footer a { margin-right: 12px; }

.home-header { display:flex; align-items:center; justify-content:space-between; min-height:54px; margin:0 0 18px; padding:0 17px; border-radius:16px; background:#8f54aa; box-shadow:0 8px 20px rgba(103,50,127,.18); }
.home-brand { display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:16px; font-weight:700; letter-spacing:-.02em; }
.home-brand img { width:24px; height:24px; object-fit:cover; border-radius:7px; box-shadow:0 2px 5px rgba(24,9,29,.24); }.home-auth { display:flex; align-items:center; gap:14px; font-size:13px; font-weight:650; }.home-auth > a { color:rgba(255,255,255,.92); }.home-auth .home-register { padding:5px 11px; border:1px solid rgba(255,255,255,.6); border-radius:999px; background:rgba(255,255,255,.15); color:#fff; box-shadow:none; }.home-auth .home-register:hover { color:#8f54aa; background:#fff; }
.hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:292px; margin:0 0 24px; padding:48px 38px; border-radius:26px; background:#4d2b5a; box-shadow:0 12px 28px rgba(63,30,72,.16); }.hero::before { content:""; position:absolute; right:-60px; top:-75px; width:225px; height:225px; border:30px solid rgba(255,255,255,.08); border-radius:50%; }.hero::after { content:""; position:absolute; left:40px; bottom:-65px; width:130px; height:130px; background:rgba(209,158,222,.13); border-radius:50%; }.hero-copy,.hero-icon { position:relative; z-index:1; }.hero-copy { max-width:405px; }.hero h1 { color:#fff; font-size:42px; font-weight:750; letter-spacing:-.06em; }.hero .tagline { margin:8px 0 25px; color:rgba(255,255,255,.78); font-size:16px; }.hero-icon { width:94px; height:94px; flex:0 0 auto; border-radius:24px; box-shadow:0 14px 26px rgba(20,7,25,.35); }
.download-btn, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border: 1px solid var(--app-purple); border-radius: 22px; background: var(--app-purple); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
.download-btn:hover, .button:hover { color: #fff; background: #8e4cab; }.auth-btn, .button.ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 16px; border: 1px solid #c991ca; border-radius: 20px; background: #fff; color: #6e326f; font-size: 14px; font-weight: 600; cursor: pointer; }.coming-soon { color: #999; font-size: 13px; margin-top: 10px; }
.home-intro,.home-section { padding:22px; border:1px solid #ebe4ed; border-radius:20px; background:#fff; box-shadow:0 4px 14px rgba(63,31,70,.035); }.home-intro { margin-bottom:16px; }.home-section { margin-top:16px; }.home-intro h2, .home-section h2 { margin:0 0 13px; color:#25182a; font-size:16px; font-weight:750; letter-spacing:.01em; }.home-intro p, .home-section > p { margin:0; color:#5d5360; }.feature { display:block; margin-top:10px; padding:18px 18px 18px 54px; border:1px solid #f0eaf1; border-radius:16px; background:#fcfbfc; color:#333; }.feature::before { content:""; position:absolute; }.feature:hover { transform:translateY(-2px); border-color:#c99bd6; box-shadow:0 9px 18px rgba(74,33,84,.06); color:#333; }.feature .feature-title { color:#211522; font-size:17px; font-weight:650; }.feature p { margin:5px 0 0; color:#6d626f; font-size:14px; }.commitment { margin:16px 0 0; padding:20px 22px; border:1px solid #eaddeb; border-radius:18px; background:#fbf8fc; color:#5d5360; }.legal-section { padding-top:22px; }.legal-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }.legal-card { display:block; min-height:132px; margin:0; padding:19px; border:1px solid #eee8ef; border-radius:16px; background:#fcfbfc; color:#333; text-decoration:none; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.legal-card:hover { transform:translateY(-2px); border-color:#b889c6; box-shadow:0 8px 22px rgba(59,31,66,.06); color:#333; }.legal-card .title { color:#211522; font-size:15px; font-weight:650; }.legal-card .desc { margin:7px 0 0; color:#6d626f; font-size:13px; line-height:1.6; }

.auth-stage { width: min(440px, calc(100% - 36px)); margin: 32px auto; }.auth-card { padding:28px; }
.field-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.field-heading label { margin-bottom:6px; }
.text-button { border:0; padding:0; background:transparent; color:var(--app-purple); font:inherit; font-size:12px; cursor:pointer; }
.text-button:hover { text-decoration:underline; }.auth-card h1 { margin-top:16px; font-size:27px; }.auth-subtitle { margin:6px 0 22px; color:var(--muted); }.tabs { display:flex; margin-bottom:22px; border-bottom:1px solid var(--line); }.tabs button { padding:10px 14px; border:0; border-bottom:2px solid transparent; background:none; color:#777; font-size:15px; cursor:pointer; }.tabs button.active { border-bottom-color:var(--app-purple); color:var(--app-purple); }
.brand { color: var(--app-purple); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
label { display: block; margin: 14px 0 6px; font-size: 14px; font-weight: 600; }input { display: block; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #111; font: inherit; outline: none; }input:focus { border-color: var(--app-purple); }.code-row { display: flex; gap: 8px; }.code-row input { min-width: 0; }.code-row .button { flex: none; min-height: 46px; }.auth-submit { width: 100%; margin-top: 24px; }.notice, .auth-note { min-height: 22px; margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }.notice.error { color: #a12d49; }.notice.success { color: #31755e; }.choice-panel { margin-top: 18px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fafafa; }.choice-panel p { margin: 0 0 10px; font-size: 14px; }.choice-panel .button { width: 100%; margin-top: 8px; }.choice-panel .replace { border-color: #d9b5c2; color: #8b2544; }.captcha-wrap { margin-top: 14px; }.hidden { display: none !important; }

.wallet-card h1 { font-size:26px; }.wallet-name { margin:8px 0 0; color:var(--muted); }.amount { margin:8px 0 18px; font-size:30px; font-weight:800; }.muted { color:var(--muted); }.wallet-actions { display:flex; gap:8px; margin-top:16px; }
@media (max-width: 560px) { .site-shell, .wallet-shell { width: min(100% - 26px, 720px); padding-top: 8px; }.site-nav { gap: 10px; }.home-header { margin:0 0 14px; min-height:50px; padding:0 13px; border-radius:14px; }.hero { min-height:248px; gap:14px; padding:38px 24px; border-radius:22px; }.hero h1 { font-size:38px; }.hero .tagline { font-size:15px; }.hero-icon { width:70px; height:70px; border-radius:18px; }.home-intro,.home-section { padding:18px; border-radius:17px; }.feature { padding:16px; }.legal-grid { grid-template-columns:1fr; }.legal-card { min-height:0; }.code-row { display: grid; grid-template-columns: 1fr; }.code-row .button { width: 100%; } }
