/* 超级助手落地 — 中心小语 · 干净主次 */
:root{
  --bg:#F7F8FC;--bg2:#EEF2F8;
  --fill2:rgba(255,255,255,.86);
  --fill-solid:#FFFFFF;
  --t:#0B1220;--t2:#5B6578;--t3:#8B95A8;
  --a:#007AFF;--a2:#3D8BFF;--violet:#8B7CFF;
  --on-a:#FFFFFF;--red:#FF3B30;
  --r:16px;--r-lg:24px;
  --st:env(safe-area-inset-top,0px);
  --sb:env(safe-area-inset-bottom,0px);
  --sl:env(safe-area-inset-left,0px);
  --sr:env(safe-area-inset-right,0px);
  --ease:cubic-bezier(.32,.72,0,1);
  --nav-h:56px;
  --content:1040px;
  --px:max(24px,var(--sl));
  --px-r:max(24px,var(--sr));
  --mx:0;--my:0;--sy:0;
  --nav-bg:rgba(247,248,252,.72);
  --nav-bd:transparent;
  --card-bd:rgba(11,18,32,.05);
  --glow-a:rgba(0,122,255,.14);
  --glow-b:rgba(139,124,255,.10);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#070A12;--bg2:#0D1220;
    --fill2:rgba(18,24,40,.78);
    --fill-solid:#121828;
    --t:#E8ECF4;--t2:#9AA3B8;--t3:#6B758A;
    --a:#0A84FF;--a2:#5B9CFF;--violet:#A894FF;
    --red:#FF453A;
    --nav-bg:rgba(7,10,18,.72);
    --card-bd:rgba(255,255,255,.07);
    --glow-a:rgba(10,132,255,.20);
    --glow-b:rgba(168,148,255,.12);
  }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
html,body{
  margin:0;padding:0;min-height:100%;
  background:var(--bg);color:var(--t);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body{position:relative;isolation:isolate}
a{color:var(--a);text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
.br-m{display:none}

/* Ambient */
.fx-root{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fx-glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.85;will-change:transform}
.fx-glow-a{
  width:min(720px,95vw);height:min(420px,55vw);
  left:calc(50% - min(360px,48vw));
  top:2%;
  background:radial-gradient(circle,var(--glow-a),transparent 70%);
  transform:translate3d(calc(var(--mx) * .35px), calc(var(--my) * .25px + var(--sy) * -.04px), 0);
}
.fx-glow-b{
  width:min(520px,85vw);height:min(380px,50vw);
  right:-6%;
  top:42%;
  background:radial-gradient(circle,var(--glow-b),transparent 70%);
  transform:translate3d(calc(var(--mx) * -.4px), calc(var(--my) * -.2px + var(--sy) * -.06px), 0);
}
.fx-orb{
  position:absolute;border-radius:50%;
  border:1px solid rgba(0,122,255,.12);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),rgba(0,122,255,.06) 45%,transparent 70%);
  filter:blur(.2px);
  will-change:transform;
  opacity:.55;
  animation:fx-float 12s var(--ease) infinite alternate;
}
@media (prefers-color-scheme:dark){
  .fx-orb{
    border-color:rgba(10,132,255,.18);
    background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),rgba(10,132,255,.1) 45%,transparent 70%);
    opacity:.4;
  }
}
.fx-orb-a{
  width:min(180px,28vw);height:min(180px,28vw);
  left:12%;top:22%;
  animation-duration:14s;
  transform:translate3d(calc(var(--mx) * .55px), calc(var(--my) * .4px + var(--sy) * -.08px), 0);
}
.fx-orb-b{
  width:min(120px,20vw);height:min(120px,20vw);
  right:14%;top:58%;
  animation-duration:10s;animation-delay:-3s;
  transform:translate3d(calc(var(--mx) * -.65px), calc(var(--my) * .35px + var(--sy) * -.1px), 0);
}
@keyframes fx-float{
  from{margin-top:0}
  to{margin-top:-14px}
}
.fx-particles{position:absolute;inset:0;width:100%;height:100%;opacity:.22}

/* Nav */
.nav,main,.site-foot{position:relative;z-index:2}
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:flex-start;
  height:calc(var(--nav-h) + var(--st));
  padding:var(--st) var(--px-r) 0 var(--px);
  background:var(--nav-bg);
  -webkit-backdrop-filter:saturate(140%) blur(16px);
  backdrop-filter:saturate(140%) blur(16px);
  border-bottom:1px solid var(--nav-bd);
  transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.nav.is-scrolled{
  --nav-bg:rgba(247,248,252,.92);
  --nav-bd:rgba(11,18,32,.06);
  box-shadow:0 6px 20px rgba(11,18,32,.03);
}
@media (prefers-color-scheme:dark){
  .nav.is-scrolled{
    --nav-bg:rgba(7,10,18,.92);
    --nav-bd:rgba(255,255,255,.08);
    box-shadow:0 6px 20px rgba(0,0,0,.3);
  }
}
.nav-brand{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--t)!important;font-size:16px;font-weight:600;
  min-height:44px;padding:0 4px;
}
.nav-logo{width:28px;height:28px;border-radius:7px;display:block}

/* Hero — 中心小语 */
.hero{
  width:100%;max-width:var(--content);
  margin:0 auto;
  padding:clamp(48px,10vh,100px) var(--px) clamp(40px,7vh,72px) var(--px-r);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.eyebrow{
  margin:0 0 28px;font-size:13px;font-weight:500;letter-spacing:.08em;
  color:var(--a);
}
.hero-avatar-wrap{
  position:relative;
  margin:0 0 22px;
}
.hero-avatar-wrap::after{
  content:"";
  position:absolute;inset:-10px;
  border-radius:28%;
  background:radial-gradient(circle,rgba(0,122,255,.18),transparent 70%);
  z-index:-1;
  filter:blur(12px);
}
.hero-avatar{
  width:clamp(112px,22vw,160px);
  height:clamp(112px,22vw,160px);
  border-radius:28%;
  display:block;
  box-shadow:
    0 2px 8px rgba(11,18,32,.06),
    0 16px 48px rgba(0,122,255,.14);
  background:var(--fill-solid);
}
.hero-name{
  margin:0 0 8px;
  font-size:clamp(36px,8vw,56px);
  font-weight:700;letter-spacing:-.03em;line-height:1.1;
  color:var(--t);
}
.hero-role{
  margin:0 0 22px;
  font-size:14px;font-weight:500;letter-spacing:.04em;
  color:var(--a);
}
.lede{
  margin:0 0 28px;max-width:26em;
  font-size:clamp(16px,2.2vw,19px);line-height:1.7;color:var(--t2);
}
.status-line{
  margin:0 0 16px;padding:10px 18px;border-radius:999px;
  font-size:13px;font-weight:500;color:var(--t3);
  background:rgba(11,18,32,.04);
}
@media (prefers-color-scheme:dark){
  .status-line{background:rgba(255,255,255,.06)}
  .hero-avatar{
    box-shadow:
      0 2px 8px rgba(0,0,0,.25),
      0 16px 48px rgba(10,132,255,.18);
  }
}
.hero-hint{
  margin:0;max-width:28em;
  font-size:13px;line-height:1.6;color:var(--t3);
}

/* Caps */
.caps{
  width:100%;max-width:var(--content);
  margin:0 auto;
  padding:clamp(16px,3vh,32px) var(--px) clamp(56px,10vh,96px) var(--px-r);
}
.caps-title{
  margin:0 0 clamp(28px,4vw,40px);
  text-align:center;
  font-size:clamp(22px,3vw,28px);
  font-weight:700;letter-spacing:-.02em;
}
.caps-grid{
  display:grid;gap:clamp(16px,2.5vw,24px);
  grid-template-columns:1fr;
}
.cap{
  padding:clamp(28px,3.5vw,36px) clamp(22px,3vw,28px);
  border-radius:var(--r-lg);
  background:var(--fill-solid);
  box-shadow:0 1px 2px rgba(11,18,32,.03),0 10px 32px rgba(11,18,32,.035);
  text-align:left;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
  will-change:transform;
}
.cap h3{margin:0 0 10px;font-size:clamp(18px,2.2vw,22px);font-weight:650;letter-spacing:-.015em}
.cap p{margin:0;font-size:clamp(15px,1.6vw,16px);line-height:1.65;color:var(--t2)}
@media (hover:hover) and (pointer:fine){
  .cap:hover{transform:translateY(-4px);box-shadow:0 10px 36px rgba(0,122,255,.08)}
}

/* Scroll reveal */
[data-reveal]{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
[data-reveal].is-in{
  opacity:1;
  transform:translate3d(0,0,0);
}
.cap[data-reveal].is-in{
  transition-delay:var(--reveal-delay,0ms);
}

/* Footer */
.site-foot{
  text-align:center;
  padding:0 var(--px) calc(36px + var(--sb)) var(--px-r);
  font-size:13px;color:var(--t3);line-height:1.8;
}
.site-foot p{margin:0}
.foot-brand{color:var(--t);font-weight:600;margin-bottom:2px!important}
.foot-company{color:var(--t2);font-size:12px;margin-bottom:6px!important}
.foot-domain{color:var(--t2);font-weight:500;margin-bottom:4px!important}
.foot-beian{margin-top:6px!important}
.foot-beian a{color:var(--t3,#8b90a0);text-decoration:none;font-size:12px}
.foot-beian a:hover{text-decoration:underline}

/* Login page styles kept */
.halo{
  min-height:calc(100vh - var(--nav-h) - var(--st));
  min-height:calc(100dvh - var(--nav-h) - var(--st));
}
.login{
  display:flex;flex-direction:column;align-items:center;
  padding:calc(var(--st) + 6vh) var(--px) calc(32px + var(--sb)) var(--px-r);
}
.box{width:100%;max-width:360px}
.back{
  display:inline-flex;align-items:center;gap:4px;
  margin:0 0 28px;padding:0;border:none;background:none;
  color:var(--a);font-size:15px;font-weight:500;min-height:44px;
}
.login h2{font-size:clamp(24px,6vw,28px);font-weight:700;margin:0 0 8px;letter-spacing:.01em}
.sub{margin:0 0 28px;font-size:15px;color:var(--t2);font-weight:500}
.f{
  display:flex;align-items:center;gap:8px;
  background:var(--fill2);border:1px solid var(--card-bd);
  border-radius:var(--r);padding:14px 16px;min-height:52px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.f b{color:var(--t2);font-weight:500;font-size:17px}
.f input,.code{flex:1;border:none;background:none;outline:none;font-size:18px;min-width:0}
.code{
  width:100%;box-sizing:border-box;background:var(--fill2);
  border:1px solid var(--card-bd);border-radius:var(--r);
  padding:14px 16px;margin:8px 0;min-height:52px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.btn{
  width:100%;margin-top:20px;min-height:50px;height:50px;border:none;
  border-radius:var(--r);
  background:linear-gradient(135deg,var(--a),#3D8BFF);
  color:#fff;font-size:17px;font-weight:600;
  box-shadow:0 8px 22px rgba(0,122,255,.28);
  transition:opacity .15s var(--ease),transform .15s var(--ease);
}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn:not(:disabled):active{opacity:.9;transform:scale(.98)}
.e{color:var(--red);font-size:13px;min-height:18px;margin:8px 0 0}
.to{color:var(--t2);font-size:14px;margin:0 0 8px}
.link{
  display:block;margin:16px auto 0;border:none;background:none;
  color:var(--a);font-size:15px;min-height:44px;
}
.hint{margin-top:28px;text-align:center;font-size:12px;color:var(--t3);line-height:1.6}

/* Responsive */
@media (max-width:480px){
  :root{--px:max(18px,var(--sl));--px-r:max(18px,var(--sr))}
  .br-m{display:inline}
  .hero{padding:40px var(--px) 36px var(--px-r)}
  .hero-name{font-size:clamp(32px,9vw,40px)}
  .lede{font-size:16px;margin-bottom:24px}
  .cap{padding:24px 20px}
  .fx-orb{opacity:.35}
}
@media (min-width:640px){
  .br-m{display:none}
}
@media (min-width:769px){
  .caps-grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1025px){
  .hero-name{font-size:56px}
  .lede{font-size:19px}
  .caps-grid{gap:28px}
}
@media (min-width:1280px){
  :root{--content:1120px;--px:max(32px,var(--sl));--px-r:max(32px,var(--sr))}
}
@media (max-height:560px){
  .hero{padding:32px var(--px) 24px var(--px-r)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fx-particles,.fx-orb{display:none!important}
  .fx-glow-a,.fx-glow-b{transform:none!important}
  .fx-orb{animation:none!important}
  [data-reveal]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .cap{transition:none}
}
