/* ============================================================================
   POLARIS 主题  —  改颜色 / 字号 / 圆角就改下面 :root 变量
   ========================================================================== */

:root{
  --bg:        #1a7bff;   /* 品牌亮蓝（logo 同色） */
  --bg-soft:   rgba(255,255,255,.10);
  --bg-card:   rgba(255,255,255,.10);
  --line:      rgba(255,255,255,.24);
  --text:      #ffffff;
  --muted:     rgba(255,255,255,.82);
  --accent:    #ffffff;   /* 亮蓝底上的强调色用白 */
  --accent-2:  #d6e2ff;   /* 浅蓝白 */
  --star:      #ffe08a;   /* 星光金 */
  --glow:      0 10px 40px rgba(0,0,0,.18);
  --radius:    18px;
  --maxw:      1180px;
  --font:      "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--text); font-family:var(--font); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

body::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(700px 460px at 80% 2%,  rgba(93,182,255,.16), transparent 60%),
    radial-gradient(760px 520px at 6% 30%,  rgba(138,160,255,.12), transparent 60%),
    radial-gradient(560px 400px at 50% 102%,rgba(93,182,255,.08), transparent 60%); }
body::after{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:
    radial-gradient(1.4px 1.4px at 18% 26%, #fff6, transparent),
    radial-gradient(1.2px 1.2px at 72% 16%, #fff5, transparent),
    radial-gradient(1.3px 1.3px at 42% 66%, #fff5, transparent),
    radial-gradient(1.1px 1.1px at 86% 56%, #fff4, transparent),
    radial-gradient(1.2px 1.2px at 60% 88%, #fff4, transparent); }

/* 导航 */
.nav{ position:sticky; top:0; z-index:50; backdrop-filter:blur(14px);
  background:rgba(26,123,255,.68); border-bottom:1px solid var(--line); }
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:66px; }
.logo img{ height:24px; width:auto; filter:brightness(0) invert(1); }
.nav-links{ display:flex; gap:26px; align-items:center; }
.nav-links a{ color:var(--muted); font-size:14px; transition:color .2s; }
.nav-links a:hover{ color:var(--text); }

/* 按钮 */
.btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:999px;
  font-weight:600; font-size:14px; border:1px solid transparent; cursor:pointer;
  transition:transform .15s, box-shadow .2s, border-color .2s; }
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:#ffffff; color:#1560e6; box-shadow:var(--glow); }
.btn-primary:hover{ box-shadow:0 14px 44px rgba(0,0,0,.28); }
.nav-links a.btn-primary{ color:#1560e6; }   /* 覆盖 .nav-links a 的白色，避免白底白字 */
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn-sm{ padding:9px 18px; font-size:13px; }

/* ===== Hero · 极光编辑风（高级版）===== */
.hero{ position:relative; overflow:hidden; background:#0a2a5e; line-height:0; }
.hero-img{ display:block; width:100%; height:auto; }
.hero-scrim{ position:absolute; left:0; right:0; bottom:0; height:42%; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, transparent 0%, rgba(6,20,48,.20) 52%, rgba(26,123,255,.94) 100%); }
.hero-cta-float{ position:absolute; left:6.5%; bottom:8%; z-index:2; display:flex; gap:14px; flex-wrap:wrap; }
/* 极光天空 */
.hero-sky{ position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(130% 78% at 50% 128%, #1a7bff 0%, rgba(26,123,255,0) 56%),
    linear-gradient(180deg, #04102a 0%, #062146 42%, #0a3b73 72%, #1360b8 100%); }
.aurora{ position:absolute; border-radius:50%; filter:blur(64px);
  mix-blend-mode:screen; pointer-events:none; opacity:.55; }
.a1{ width:58vw; height:62vh; top:-12%; right:2%;
  background:radial-gradient(closest-side, rgba(74,240,199,.6), transparent 70%);
  animation:auroraDrift 17s ease-in-out infinite; }
.a2{ width:46vw; height:56vh; top:-6%; right:26%;
  background:radial-gradient(closest-side, rgba(96,196,255,.5), transparent 70%);
  animation:auroraDrift 21s ease-in-out infinite reverse; }
.a3{ width:52vw; height:44vh; bottom:2%; left:-8%;
  background:radial-gradient(closest-side, rgba(120,150,255,.32), transparent 70%);
  animation:auroraDrift 24s ease-in-out infinite; }
@keyframes auroraDrift{ 0%,100%{ transform:translate(0,0) scale(1); opacity:.5; }
  50%{ transform:translate(-4%,4%) scale(1.14); opacity:.75; } }
.hero-stars{ position:absolute; inset:0; z-index:1; }

.hero-inner{ position:relative; z-index:2; display:grid;
  grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.hero-copy>*{ opacity:0; transform:translateY(20px);
  animation:heroIn 1.05s cubic-bezier(0.19,1,0.22,1) forwards; }
.hero-copy>*:nth-child(1){ animation-delay:.08s; }
.hero-copy>*:nth-child(2){ animation-delay:.20s; }
.hero-copy>*:nth-child(3){ animation-delay:.34s; }
.hero-copy>*:nth-child(4){ animation-delay:.48s; }
.hero-copy>*:nth-child(5){ animation-delay:.60s; }
@keyframes heroIn{ to{ opacity:1; transform:none; } }

.eyebrow{ color:rgba(255,255,255,.72); letter-spacing:.34em; font-size:12px;
  font-weight:600; margin-bottom:22px; }
.hero-display{ font-family:"Outfit",var(--font); color:#fff; line-height:.92;
  margin:0 0 20px; letter-spacing:-.01em; }
.hero-display .l1{ display:block; font-weight:300; font-size:clamp(38px,6.4vw,96px); }
.hero-display .l2{ display:block; font-weight:600; font-size:clamp(56px,10.5vw,158px);
  text-shadow:0 0 64px rgba(120,190,255,.35); }
.hero-zh{ color:rgba(255,255,255,.86); font-size:clamp(14px,1.5vw,18px);
  letter-spacing:.02em; margin-bottom:20px; }
.hero-zh i{ margin:0 10px; font-style:normal; color:rgba(255,255,255,.4); }
.hero-lead{ color:rgba(255,255,255,.66); font-size:15px; line-height:1.7;
  max-width:500px; margin-bottom:34px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hpill{ display:inline-flex; align-items:center; gap:9px; border-radius:75px;
  padding:14px 30px; font-size:14px; font-weight:500; letter-spacing:.05em; cursor:pointer;
  -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px);
  transition:background .5s, border-color .6s cubic-bezier(0.19,1,0.22,1),
    transform .55s cubic-bezier(0.19,1,0.22,1), box-shadow .55s; }
.hpill-solid{ background:rgba(255,255,255,.92); color:#0a2a5e; border:1px solid rgba(255,255,255,.85); }
.hpill-solid::after{ content:"→"; font-size:15px; line-height:1;
  transition:transform .55s cubic-bezier(0.19,1,0.22,1); }
.hpill-solid:hover{ background:#fff; transform:translateY(-2px); box-shadow:0 16px 42px rgba(4,16,42,.34); }
.hpill-solid:hover::after{ transform:translateX(5px); }
.hpill-ghost{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.42); color:#fff; }
.hpill-ghost:hover{ background:rgba(255,255,255,.15); border-color:#fff; transform:translateY(-2px); }
.hero-stats{ display:flex; gap:40px; margin-top:52px; flex-wrap:wrap; }
.hero-stats .num{ font-family:"Outfit",var(--font); font-size:28px; font-weight:700;
  color:#fff; letter-spacing:.01em; }
.hero-stats .lbl{ font-size:12px; color:rgba(255,255,255,.55); margin-top:4px; }
.hero-visual{ position:relative; display:flex; justify-content:center;
  opacity:0; animation:heroIn 1.3s cubic-bezier(0.19,1,0.22,1) .5s forwards; }
.hero-visual::after{ content:""; position:absolute; inset:auto 0 6% 0; height:34%;
  background:radial-gradient(closest-side, rgba(120,220,255,.32), transparent 72%); filter:blur(10px); }
.hero-visual img{ position:relative; z-index:1; width:min(400px,86%);
  filter:drop-shadow(0 34px 64px rgba(0,0,0,.55)); animation:float 6.5s ease-in-out infinite; }
@keyframes float{ 50%{ transform:translateY(-16px); } }

/* 旋转 SCROLL 徽标 */
.scroll-badge{ position:absolute; left:34px; bottom:30px; z-index:3;
  width:78px; height:78px; display:grid; place-items:center; color:#fff; }
.scroll-badge svg{ position:absolute; inset:0; width:100%; height:100%;
  animation:spin 14s linear infinite; }
.scroll-badge text{ font-family:"Outfit",var(--font); font-size:9.5px; font-weight:500;
  letter-spacing:.14em; fill:rgba(255,255,255,.75); }
.scroll-arrow{ font-size:15px; opacity:.85; }
@keyframes spin{ to{ transform:rotate(360deg); } }

@media (prefers-reduced-motion: reduce){
  .aurora,.hero-visual img,.scroll-badge svg{ animation:none !important; }
  .hero-copy>*,.hero-visual{ opacity:1 !important; transform:none !important; animation:none !important; }
}

/* Part 分区 */
.section{ padding:74px 0; border-top:1px solid var(--line); }
.part-label{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.2em;
  color:var(--star); border:1px solid var(--line); border-radius:999px; padding:5px 14px; margin-bottom:16px; }
.sec-tag{ color:var(--accent-2); letter-spacing:.2em; font-size:12px; font-weight:700; }
.sec-title{ font-size:clamp(26px,3.4vw,40px); font-weight:800; margin:10px 0 8px; }
.sec-sub{ color:var(--muted); font-size:16px; max-width:720px; margin-bottom:20px; }
.block-heading{ font-size:14px; letter-spacing:.1em; color:var(--text); margin:40px 0 18px; font-weight:800;
  padding-left:14px; border-left:3px solid var(--accent); }

/* 卡片 */
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }
.card{ background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:26px;
  transition:transform .2s, border-color .2s, box-shadow .2s; }
.card:hover{ transform:translateY(-4px); border-color:var(--accent); box-shadow:var(--glow); }
.card .ic{ font-size:26px; margin-bottom:14px; }
.card h4{ font-size:17px; margin-bottom:8px; }
.card p{ color:var(--muted); font-size:14px; }

/* chips */
.chips{ display:flex; flex-wrap:wrap; gap:12px; }
.chip{ border:1px solid var(--line); background:var(--bg-soft); border-radius:999px; padding:10px 20px;
  font-weight:600; font-size:14px; transition:border-color .2s, transform .15s; }
.chip:hover{ border-color:var(--accent); transform:translateY(-2px); color:var(--accent); }

/* poem */
.poem{ max-width:780px; }
.poem p{ color:var(--muted); font-size:17px; line-height:2; }
.poem .gap{ height:12px; }
.poem .hl{ margin-top:24px; font-size:18px; font-weight:700; color:var(--text);
  border-left:3px solid var(--star); padding-left:18px; line-height:1.7; }

/* 精神体系 */
.spirit{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.spirit-cell{ background:var(--bg-soft); border:1px solid var(--line); border-radius:14px; padding:20px; text-align:center;
  transition:border-color .2s, transform .15s; }
.spirit-cell:hover{ border-color:var(--accent); transform:translateY(-3px); }
.spirit-cell .k{ font-size:34px; font-weight:800; line-height:1;
  background:linear-gradient(140deg,var(--accent),var(--star)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.spirit-cell .en{ font-size:14px; font-weight:700; margin-top:8px; }
.spirit-cell .zh{ font-size:13px; color:var(--muted); }

/* stats */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.stat{ background:var(--bg-soft); border:1px solid var(--line); border-radius:16px; padding:24px; }
.stat .num{ font-size:30px; font-weight:800; background:linear-gradient(120deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat .lbl{ color:var(--muted); font-size:13px; margin-top:6px; }
.note{ color:var(--muted); font-size:14px; margin-top:16px; }

/* NFT */
.nft{ display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; align-items:center;
  background:linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.05));
  border:1px solid var(--line); border-radius:22px; padding:34px; }
.nft-left .price{ font-size:34px; font-weight:800;
  background:linear-gradient(120deg,var(--accent),var(--star)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nft-left .note{ margin-top:14px; }
.nft-rights{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.right{ display:flex; align-items:center; gap:12px; background:var(--bg-card); border:1px solid var(--line);
  border-radius:12px; padding:16px; font-weight:600; font-size:14px; }
.right .ic{ font-size:20px; }

/* placeholder */
.placeholder{ text-align:center; border:1px dashed var(--line); border-radius:22px; padding:70px 24px;
  background:var(--bg-soft); }
.placeholder .big{ font-size:26px; font-weight:800; color:var(--muted); letter-spacing:.05em; }
.placeholder .sub{ color:var(--muted); font-size:14px; margin-top:10px; opacity:.8; }

/* phases */
.phases{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }
.phase{ background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative; overflow:hidden; }
.phase::before{ content:attr(data-no); position:absolute; top:-10px; right:8px; font-size:64px; font-weight:800;
  color:var(--line); opacity:.6; }
.phase h4{ font-size:18px; margin-bottom:8px; position:relative; }
.phase p{ color:var(--muted); font-size:14px; position:relative; }

/* timeline */
.timeline{ position:relative; padding-left:26px; }
.timeline::before{ content:""; position:absolute; left:6px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(var(--accent), transparent); }
.tl-item{ position:relative; padding:0 0 22px 0; }
.tl-item::before{ content:""; position:absolute; left:-26px; top:6px; width:12px; height:12px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 4px rgba(93,182,255,.15); }
.tl-item .when{ font-weight:800; color:var(--text); font-size:15px; }
.tl-item .what{ color:var(--muted); font-size:14.5px; margin-top:3px; }

/* partners */
.pgroup{ margin-bottom:22px; }
.pgroup .lbl{ color:var(--muted); font-size:13px; letter-spacing:.08em; margin-bottom:12px; font-weight:700; }
.plist{ display:flex; flex-wrap:wrap; gap:12px; }
.pill{ border:1px solid var(--line); background:var(--bg-soft); border-radius:12px; padding:12px 20px;
  font-weight:700; font-size:15px; transition:border-color .2s, transform .15s; }
.pill:hover{ border-color:var(--star); transform:translateY(-2px); }

/* CTA */
.cta{ text-align:center; padding:96px 0; border-top:1px solid var(--line); }
.cta h2{ font-size:clamp(26px,3.8vw,42px); font-weight:800; }
.cta .en{ display:block; font-size:.4em; color:var(--accent); font-weight:700; letter-spacing:.14em; margin-top:14px; }
.cta-actions{ display:flex; gap:14px; justify-content:center; margin-top:30px; flex-wrap:wrap; }

/* 页脚 */
.footer{ border-top:1px solid var(--line); padding:40px 0; }
.footer .wrap{ display:flex; flex-direction:column; gap:20px; }
.social{ display:flex; gap:26px; flex-wrap:wrap; }
.social a{ color:var(--muted); font-size:13px; transition:color .2s; }
.social a:hover{ color:var(--accent); }
.footer-note{ color:var(--muted); font-size:13px; }

/* 响应式 */
@media (max-width:860px){
  .hero{ padding:0; }
  .hero-cta-float{ left:50%; transform:translateX(-50%); bottom:6%; }
  .hero-inner{ grid-template-columns:1fr; gap:28px; text-align:center; }
  .hero-copy{ display:flex; flex-direction:column; align-items:center; }
  .hero-actions,.hero-stats{ justify-content:center; }
  .hero-visual{ order:-1; }
  .scroll-badge{ display:none; }
  .nft{ grid-template-columns:1fr; }
  .nav-links{ display:none; }
}
@media (max-width:520px){ .nft-rights{ grid-template-columns:1fr; } }
