@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Outfit-600-latin.woff2) format('woff2')}

/* 色值沿用开屏交接包：暖白底、左上黄 / 右侧紫光晕、深炭灰字 */
:root{
  color-scheme:light;
  --bg:#FBF9F4;--bg-2:#F5F1E9;--ink:#3A3840;--ink-strong:#111217;--sub:#7A746D;--muted:#968E85;
  --line:rgba(58,56,64,.10);--accent:#FFD60A;--purple:#9B7FE8;--lav:#C5B3F5;
  --glass:rgba(255,255,255,.62);--glass-line:rgba(255,255,255,.75);
  --ease:cubic-bezier(.22,1,.36,1);--easeInOut:cubic-bezier(.65,0,.35,1);
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Helvetica Neue",sans-serif;
  --brand:'Outfit',-apple-system,"Helvetica Neue",sans-serif;
  --gutter:clamp(16px,5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
::selection{background:rgba(255,214,10,.45)}

/* ===== 全页统一打光：颗粒 + 很淡的调色 ===== */
.page-grain{position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,-4%)}80%{transform:translate(4%,2%)}}

/* ===== 导航 ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 var(--gutter);max-width:1320px;margin:0 auto}
.nav.scrolled{background:rgba(251,249,244,.72);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mini-dock{width:30px;height:30px;border-radius:9px}
.logo b{font:600 24px/1 var(--brand);letter-spacing:-.9px;color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:clamp(14px,3vw,34px);font-size:14px}
.nav-links a{text-decoration:none;color:var(--sub);transition:color .2s}
.nav-links a:hover{color:var(--ink-strong)}
.nav-links .pill{color:var(--ink-strong);background:var(--glass);border:1px solid var(--glass-line);padding:8px 16px;border-radius:99px;
  box-shadow:0 4px 18px rgba(120,90,160,.10),inset 0 1px 0 #fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:560px){.nav-links .hide-sm,br.hide-sm{display:none}}

/* ===== 玻璃框（开屏里频谱飞进去的那个） ===== */
.mini-dock,.dock{position:relative;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.66);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:8px 14px 28px rgba(120,90,160,.14),inset 5px 5px 10px rgba(255,238,170,.40),inset -5px -6px 12px rgba(190,165,255,.24),inset 0 1px 0 #fff}
.mini-dock{display:flex;align-items:center;justify-content:center;gap:2px;box-shadow:3px 6px 12px rgba(120,90,160,.14),inset 2px 2px 5px rgba(255,238,170,.45),inset -2px -3px 6px rgba(190,165,255,.26),inset 0 1px 0 #fff}
.mini-dock i{display:block;width:2.4px;border-radius:2px;background:var(--accent)}
.mini-dock i:nth-child(2n){background:var(--lav)}
.mini-dock i:nth-child(1){height:5px}.mini-dock i:nth-child(2){height:10px}.mini-dock i:nth-child(3){height:15px}.mini-dock i:nth-child(4){height:9px}.mini-dock i:nth-child(5){height:13px}.mini-dock i:nth-child(6){height:7px}.mini-dock i:nth-child(7){height:4px}

/* ===== 光晕背景 ===== */
.glow{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.glow::before{content:"";position:absolute;inset:0;
  background:radial-gradient(circle min(62vw,760px) at 4% 3%,rgba(255,214,10,.29),transparent 70%),
             radial-gradient(circle min(52vw,640px) at 99% 38%,rgba(155,127,232,.20),transparent 70%)}
.fx-key{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 18% 8%,rgba(255,250,228,.85),rgba(255,240,190,.22) 45%,transparent 70%);mix-blend-mode:screen;animation:keyb 7s ease-in-out infinite}
@keyframes keyb{50%{opacity:.75}}
.fx-bounce{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 40% at 60% 105%,rgba(255,226,120,.24),transparent 70%)}
.fx-grade{position:absolute;inset:0;pointer-events:none;z-index:8;background:linear-gradient(135deg,rgba(255,214,10,.14),rgba(255,255,255,0) 45%,rgba(155,127,232,.14));mix-blend-mode:soft-light}
.fx-vig{position:absolute;inset:0;pointer-events:none;z-index:8;background:radial-gradient(ellipse 75% 65% at 50% 45%,transparent 62%,rgba(170,140,100,.06) 100%);mix-blend-mode:multiply}
.fx-leak{position:absolute;inset:-20%;pointer-events:none;z-index:7;background:linear-gradient(115deg,transparent 40%,rgba(255,246,210,.6) 50%,transparent 60%);mix-blend-mode:screen;opacity:0}
.fx-leak.go{animation:leak 1.8s cubic-bezier(.4,0,.2,1) both}
@keyframes leak{0%{opacity:1;transform:translateX(-60%)}100%{opacity:1;transform:translateX(60%)}}

/* ===== 通用排版 ===== */
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:600 12px/1 var(--brand);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.h-xl{font-size:clamp(34px,5.4vw,68px);line-height:1.12;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:18px 0 0;
  text-shadow:0 1px 2px rgba(40,36,48,.06),0 10px 30px rgba(110,90,160,.10)}
.h-l{font-size:clamp(26px,3.4vw,42px);line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:16px 0 0}
.lede{font-size:clamp(16px,1.5vw,19px);color:var(--sub);max-width:560px;margin:20px 0 0}
section{position:relative}
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:99px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s}
.btn-dark{background:var(--ink-strong);color:#FBF9F4;box-shadow:0 10px 30px rgba(17,18,23,.18)}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(17,18,23,.22)}
.btn-glass{background:var(--glass);color:var(--ink-strong);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(120,90,160,.10),inset 0 1px 0 #fff}
.btn-glass:hover{transform:translateY(-2px)}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}

.card{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);border-radius:28px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 80px -30px rgba(110,90,160,.22),0 8px 24px -12px rgba(40,36,48,.08)}

/* ===== 页脚 ===== */
.foot{position:relative;overflow:hidden;padding:120px 0 40px;border-top:1px solid var(--line)}
.foot .big{font:600 clamp(96px,22vw,300px)/.85 var(--brand);letter-spacing:-.05em;color:transparent;
  background:linear-gradient(180deg,rgba(58,56,64,.10),rgba(58,56,64,.02));-webkit-background-clip:text;background-clip:text;margin:0 0 40px;user-select:none}
.foot-row{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;font-size:14px;color:var(--sub)}
.foot-row nav{display:flex;flex-wrap:wrap;gap:12px 28px}
.foot-row a{text-decoration:none}
.foot-row a:hover{color:var(--ink-strong)}

/* ===== 文档页（隐私 / 支持） ===== */
.doc-hero{position:relative;padding:150px 0 60px;overflow:hidden}
.doc-hero .wrap{position:relative;z-index:2;max-width:880px}
.doc-hero .meta{font-size:14px;color:var(--muted);margin-top:18px}
.doc{max-width:880px;margin:0 auto;padding:0 var(--gutter) 40px}
.doc .card{padding:clamp(24px,5vw,56px)}
.doc h2{font-size:21px;font-weight:600;color:var(--ink);margin:44px 0 10px;display:flex;align-items:baseline;gap:14px}
.doc h2:first-child{margin-top:0}
.doc h2 .n{font:600 13px/1 var(--brand);color:var(--muted);letter-spacing:.1em;min-width:22px}
.doc h3{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 6px}
.doc p,.doc li{color:#5C5750}
.doc ul{padding-left:20px}
.doc a{color:var(--ink-strong);text-decoration-color:rgba(155,127,232,.6);text-underline-offset:3px}
.tbl{width:100%;border-collapse:collapse;font-size:15px;margin:14px 0}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl th{font-weight:600;color:var(--ink);font-size:13px;letter-spacing:.04em;background:rgba(255,255,255,.5)}
.tbl td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}
.summary{border-left:2px solid var(--accent);padding:4px 0 4px 18px;color:var(--sub);font-size:15px;margin:0 0 8px}
.faq{display:grid;gap:14px}
.faq details{border-radius:20px;padding:20px 24px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 50px -28px rgba(110,90,160,.25)}
.faq summary{cursor:pointer;list-style:none;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 24px/1 var(--brand);color:var(--muted);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:12px 0 0}
@media(max-width:600px){.tbl{display:block;overflow-x:auto}.tbl td:first-child{white-space:normal}}

@media (prefers-reduced-motion:reduce){*{transition-duration:.01s!important;animation:none!important}.reveal{opacity:1;transform:none;filter:none}}
