:root { --ink:#123a36; --muted:#667b78; --blue:#08786d; --deep:#05665d; --gold:#d4a64e; --line:#e2eeeb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }
button,a { font:inherit; }
button { -webkit-tap-highlight-color:transparent; }
.site-header { height:76px; max-width:1180px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; font-size:18px; font-weight:720; letter-spacing:-.02em; }
.brand-mark { width:38px; height:38px; display:block; border-radius:11px; object-fit:cover; box-shadow:0 8px 22px #08786d2e; }
.secure-label { display:flex; align-items:center; gap:8px; color:#7c879a; font-size:13px; }
.secure-label i { width:8px; height:8px; border-radius:50%; background:#34c78c; box-shadow:0 0 0 5px #34c78c18; }
.hero { min-height:650px; padding:72px max(28px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:1.02fr .98fr; gap:60px; align-items:center; overflow:hidden; background:radial-gradient(circle at 78% 15%,#d9f0ea 0,transparent 31%),linear-gradient(120deg,#fbfdfc 0%,#f2faf7 50%,#edf7f3 100%); }
.hero-copy { position:relative; z-index:2; padding-bottom:18px; }
.eyebrow { color:var(--blue); font-weight:700; font-size:14px; display:flex; align-items:center; gap:10px; letter-spacing:.12em; }
.eyebrow span { width:24px; height:2px; background:var(--gold); }
h1 { margin:20px 0 22px; max-width:560px; font-size:clamp(46px,5.4vw,72px); line-height:1.1; letter-spacing:-.055em; font-weight:780; }
.lead { max-width:560px; margin:0; color:var(--muted); font-size:17px; line-height:1.9; }
.app-meta { margin-top:25px; display:flex; align-items:center; gap:9px; color:#8c95a7; font-size:12px; }
.app-meta b { color:#59657a; font-weight:650; }.app-meta i { width:1px; height:12px; background:#d6ddea; margin:0 4px; }
.download-actions { margin-top:32px; display:flex; }
.download-button { position:relative; width:230px; height:68px; border:0; border-radius:15px; color:#fff; display:grid; grid-template-columns:40px 1fr 23px; align-items:center; gap:10px; padding:0 18px; text-align:left; cursor:pointer; background:linear-gradient(135deg,#159387,#066b62); box-shadow:0 14px 32px #08786d2d; transition:transform .2s,box-shadow .2s,opacity .2s; overflow:visible; }
.download-button:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 18px 38px #08786d3b; }
.download-button:focus-visible { outline:3px solid #54bcb2; outline-offset:3px; }
.download-button:disabled { cursor:wait; opacity:.64; }
.button-icon { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:#ffffff20; font-weight:900; font-size:10px; letter-spacing:.04em; }
.download-button span:nth-child(2) { font-size:15px; font-weight:700; line-height:1.15; }.download-button small { display:block; margin-bottom:5px; opacity:.72; font-size:10px; font-weight:500; }
.download-button svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.service-state { display:flex; align-items:center; gap:8px; min-height:20px; margin:17px 0 0; color:#788499; font-size:12px; }.service-state .status-dot { width:6px; height:6px; border-radius:50%; background:#37bf8b; }.service-state.loading .status-dot { background:#f0a643; animation:pulse 1s infinite; }.service-state.error { color:#c36355; }.service-state.error .status-dot { background:#e16c5a; }.desktop-tip { margin:7px 0 0; color:#a1a9b8; font-size:11px; }
@keyframes pulse { 50% { opacity:.35; } }
.visual { position:relative; height:520px; display:grid; place-items:center; }
.orb { position:absolute; border-radius:50%; filter:blur(2px); }.orb-one { width:410px;height:410px;background:linear-gradient(145deg,#e1f2ed,#cbe9e1); }.orb-two { width:280px;height:280px;right:-100px;top:40px;background:#e8d6ac;opacity:.46; }
.phone { position:relative; z-index:2; width:262px; height:515px; padding:8px; border-radius:41px; background:linear-gradient(145deg,#27334c,#101828); box-shadow:0 45px 80px #2c4f9940; transform:rotate(4deg); }
.phone-top { position:absolute; z-index:3; width:96px;height:23px;left:50%;top:8px;transform:translateX(-50%);background:#111827;border-radius:0 0 14px 14px; }.phone-top span { display:block;width:31px;height:4px;border-radius:4px;background:#47536b;margin:8px auto; }
.phone-screen { height:100%; border-radius:34px; overflow:hidden; background:linear-gradient(#0b786d 0 28%,#fff 28%); padding:49px 16px 12px; }
.screen-brand { display:flex;align-items:center;gap:10px;color:#fff;margin:4px 5px 35px; }.screen-brand>img { width:36px;height:36px;border-radius:10px;object-fit:cover;border:1px solid #ffffff80; }.screen-brand span { font-size:14px;font-weight:700; }.screen-brand small { display:block;opacity:.72;font-size:8px;margin-top:3px;font-weight:500; }
.conversation { display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:13px 2px;border-bottom:1px solid #eff2f7; }.conversation.first { padding-top:18px; }.conversation i { width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#168b80;color:#fff;font-size:12px;font-style:normal; }.conversation i.purple { background:#6ea99b; }.conversation i.orange { background:#d1a252; }.conversation span { min-width:0; }.conversation b { display:block;font-size:11px; }.conversation small { display:block;margin-top:5px;color:#9aa4b6;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.conversation time { color:#a8b0bf;font-size:7px;align-self:start;margin-top:3px; }
.screen-nav { position:absolute;bottom:18px;left:34px;right:34px;display:flex;justify-content:space-around; }.screen-nav i { width:18px;height:4px;border-radius:5px;background:#dde3ee; }.screen-nav i.active { background:#168b80; }
.float-card { position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:13px 17px;background:#ffffffed;border:1px solid #fff;border-radius:15px;box-shadow:0 15px 35px #2c4f9927;backdrop-filter:blur(8px); }.float-card b { width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#e5f8f0;color:#24b57f; }.float-card span { font-size:11px;font-weight:700; }.float-card small { display:block;margin-top:4px;color:#99a3b5;font-size:8px;font-weight:500; }.shield-card { left:10px;top:98px; }.message-card { right:-10px;bottom:90px; }.message-card b { background:#fff0e9;color:#ef8156; }
.features { max-width:1180px; margin:auto; padding:106px 28px 115px; }.section-heading { text-align:center; }.section-heading>span { color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.2em; }.section-heading h2,.install-guide h2 { margin:13px 0 10px;font-size:36px;letter-spacing:-.035em; }.section-heading p,.guide-copy p { margin:0;color:#8490a4;font-size:14px; }
.feature-grid { margin-top:55px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }.feature-grid article { padding:32px;border:1px solid #ecf0f7;border-radius:20px;background:#fff;transition:transform .2s,box-shadow .2s; }.feature-grid article:hover { transform:translateY(-4px);box-shadow:0 18px 40px #2d4e8b12; }.feature-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:14px;font-size:22px;font-weight:600; }.feature-icon.blue { background:#e7f5f1;color:#0b7c71; }.feature-icon.violet { background:#f9f0dc;color:#bb8733; }.feature-icon.cyan { background:#e9f7f3;color:#2b998e; }.feature-grid h3 { margin:23px 0 11px;font-size:17px; }.feature-grid p { margin:0;color:#818b9d;font-size:13px;line-height:1.8; }
.install-guide { max-width:1124px;margin:0 auto 100px;padding:48px 55px;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;border-radius:26px;background:#f1f8f5; }.guide-kicker { color:var(--blue);font-size:12px;font-weight:750; }.install-guide h2 { font-size:30px; }.guide-copy p { line-height:1.8; }.install-guide ol { margin:0;padding:0;display:grid;gap:21px;list-style:none; }.install-guide li { display:flex;align-items:center;gap:16px; }.install-guide li>b { color:#b9d9d2;font-size:25px;font-weight:800; }.install-guide strong { display:block;font-size:14px; }.install-guide small { display:block;margin-top:5px;color:#8d97a9;font-size:11px; }
footer { padding:45px 28px;text-align:center;border-top:1px solid #edf0f6;color:#9aa3b2; }.footer-brand { margin-bottom:17px; }.footer-brand .brand-mark { width:30px;height:30px;border-radius:9px;font-size:15px; }.footer-brand span:last-child { font-size:15px; }.footer-brand+p { margin:0 0 12px;font-size:11px; }footer>small { font-size:10px; }
@media (max-width:900px) { .hero { grid-template-columns:1fr;min-height:auto;padding-top:52px;gap:15px;text-align:center; }.hero-copy { display:flex;flex-direction:column;align-items:center; }.eyebrow { justify-content:center; }.lead { max-width:650px; }.visual { height:510px; }.feature-grid { grid-template-columns:1fr;max-width:620px;margin-left:auto;margin-right:auto; }.install-guide { margin-left:28px;margin-right:28px;grid-template-columns:1fr;gap:35px;text-align:center; }.install-guide ol { text-align:left;max-width:430px;margin:auto;width:100%; } }
@media (max-width:600px) { .site-header { height:64px;padding:0 20px; }.brand-mark { width:32px;height:32px;border-radius:10px; }.brand { font-size:16px; }.hero { padding:40px 20px 55px; }.eyebrow { font-size:12px; }h1 { margin-top:17px;font-size:42px; }.lead { font-size:14px;line-height:1.85; }.app-meta { flex-wrap:wrap;justify-content:center; }.download-actions { width:100%;display:grid;grid-template-columns:1fr; }.download-button { width:100%;max-width:360px;margin:auto; }.visual { height:440px;margin-top:5px; }.phone { width:221px;height:432px;border-radius:35px; }.phone-screen { border-radius:28px;padding:43px 13px 10px; }.screen-brand { margin-bottom:26px; }.conversation { grid-template-columns:34px 1fr auto;padding:10px 2px; }.conversation i { width:34px;height:34px; }.shield-card { left:0;top:70px; }.message-card { right:0;bottom:65px; }.features { padding:80px 20px; }.section-heading h2 { font-size:30px; }.feature-grid { margin-top:38px;gap:14px; }.feature-grid article { text-align:left;padding:26px; }.install-guide { margin:0 20px 70px;padding:38px 24px; }.install-guide h2 { font-size:27px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.download-button,.feature-grid article { transition:none; }.service-state.loading span { animation:none; } }

/* 下载来源说明沿用现有配色，不增加外部字体、统计或追踪资源。 */
.publisher-badge { display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:10px 14px; border:1px solid #9ac9bd; border-radius:12px; background:#fff; color:var(--deep); text-decoration:none; }
.publisher-badge-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:8px; background:var(--deep); color:#fff; font-size:20px; font-weight:700; }
.publisher-badge strong { display:block; font-size:16px; line-height:1.5; }
.publisher-badge small { display:block; font-size:14px; line-height:1.5; color:#526763; }
.secure-label { font-size:14px; color:var(--deep); text-underline-offset:4px; }
.download-disclosure { max-width:560px; margin:14px 0 0; font-size:14px; line-height:1.8; color:#526763; }
.download-disclosure a,.download-info a,.footer-links a { color:var(--deep); text-underline-offset:4px; }
.download-info { max-width:1124px; margin:0 auto 64px; padding:36px; border:1px solid var(--line); border-radius:20px; scroll-margin-top:24px; }
.download-info h2 { margin:0 0 24px; font-size:28px; line-height:1.4; }
.publisher-info { margin:0; display:grid; gap:16px; font-size:16px; line-height:1.7; }
.publisher-info>div { display:grid; grid-template-columns:150px 1fr; gap:12px; }
.publisher-info dt { color:#526763; }
.publisher-info dd { margin:0; overflow-wrap:anywhere; }
.download-notes { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.download-notes h3 { margin:0 0 12px; font-size:18px; }
.download-notes p { margin:0 0 12px; font-size:16px; line-height:1.85; color:#526763; }
.download-notes code { font-size:.95em; overflow-wrap:anywhere; }
.app-meta,.service-state,.desktop-tip { font-size:14px; color:#526763; }
.app-meta { flex-wrap:wrap; }
.install-guide small { font-size:14px; line-height:1.6; color:#526763; }
footer .footer-links { font-size:14px; }
a:focus-visible { outline:3px solid #08786d; outline-offset:4px; }
@media (max-width:900px) { .download-info { margin-left:28px; margin-right:28px; }.download-notes { grid-template-columns:1fr; gap:20px; } }
@media (max-width:600px) { .download-info { margin-left:20px; margin-right:20px; padding:24px; }.publisher-info>div { grid-template-columns:1fr; gap:2px; }.download-info h2 { font-size:24px; } }
