/* =========================================================
   迷途颂歌 · Aurora Glass / Editorial UI
   Inspired by modern spatial UI principles:
   material depth, immersive light, restrained color, editorial rhythm.
   ========================================================= */

:root{
  --bg:#f4f7fb;
  --bg-2:#eef3f8;
  --surface:rgba(255,255,255,.50);
  --surface-strong:rgba(255,255,255,.72);
  --surface-soft:rgba(255,255,255,.30);
  --line:rgba(255,255,255,.72);
  --line-strong:rgba(255,255,255,.92);
  --text:#162131;
  --text-2:#526176;
  --text-3:#8491a4;
  --accent:#6a9cff;
  --accent-2:#f39ab7;
  --accent-3:#b28cff;
  --accent-4:#6fe0d0;
  --shadow:0 24px 70px rgba(69,94,126,.14),0 6px 22px rgba(69,94,126,.08);
  --shadow-soft:0 14px 42px rgba(69,94,126,.10);
  --radius-lg:32px;
  --radius-md:22px;
  --radius-sm:16px;
  --blur:28px;
  --max:1180px;
  --nav-h:82px;
  --ease:cubic-bezier(.2,.75,.25,1);
}

html[data-theme="dark"]{
  --bg:#07090e;
  --bg-2:#0c1119;
  --surface:rgba(19,24,35,.54);
  --surface-strong:rgba(25,30,43,.72);
  --surface-soft:rgba(19,24,35,.34);
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(255,255,255,.19);
  --text:#f4f7fb;
  --text-2:#c0cad8;
  --text-3:#7f8b9d;
  --accent:#8bb2ff;
  --accent-2:#ffacc9;
  --accent-3:#c19cff;
  --accent-4:#78dfd0;
  --shadow:0 28px 90px rgba(0,0,0,.40),0 6px 26px rgba(0,0,0,.25);
  --shadow-soft:0 16px 44px rgba(0,0,0,.28);
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  background:
    radial-gradient(900px 600px at 8% 4%, rgba(114,169,255,.20), transparent 70%),
    radial-gradient(800px 560px at 88% 18%, rgba(255,171,200,.16), transparent 70%),
    radial-gradient(900px 700px at 60% 90%, rgba(174,139,255,.13), transparent 72%),
    linear-gradient(180deg,var(--bg),var(--bg-2));
  font-family:"HarmonyOS Sans SC","HarmonyOS Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background .45s ease,color .35s ease;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.45;
  background:
    radial-gradient(500px 280px at 50% -5%, rgba(255,255,255,.75), transparent 72%),
    radial-gradient(300px 220px at 20% 30%, rgba(255,255,255,.24), transparent 72%);
}

html[data-theme="dark"] body::before{opacity:.18}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select{font:inherit}
button{color:inherit}

.container{
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;
  position:relative;
  z-index:2;
}

.page-shell{position:relative;z-index:1}

.aurora{
  position:fixed;
  width:34vw;
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  filter:blur(60px);
  opacity:.35;
  z-index:0;
  mix-blend-mode:screen;
}
.aurora.a1{top:10vh;left:-12vw;background:#83b7ff}
.aurora.a2{top:42vh;right:-12vw;background:#f8a8c3}
.aurora.a3{bottom:-18vh;left:34vw;background:#b396ff}
html[data-theme="dark"] .aurora{opacity:.17}

.cursor-glow{
  position:fixed;
  width:420px;
  height:420px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(134,176,255,.15),rgba(244,155,191,.09) 34%,transparent 70%);
  mix-blend-mode:screen;
}
@media (pointer:coarse){.cursor-glow{display:none}}

.glass{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.04)),
    var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(var(--blur)) saturate(150%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(150%);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.glass::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(135deg,rgba(255,255,255,.44),transparent 28%,transparent 72%,rgba(255,255,255,.12)),
    radial-gradient(180px 80px at 14% 0%,rgba(255,255,255,.22),transparent 70%);
  mix-blend-mode:screen;
  opacity:.85;
}
.glass::after{
  content:"";
  position:absolute;
  inset:1px;
  pointer-events:none;
  border-radius:calc(var(--radius-md) - 1px);
  border-top:1px solid rgba(255,255,255,.34);
  border-left:1px solid rgba(255,255,255,.12);
  opacity:.8;
}
html[data-theme="dark"] .glass{
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    var(--surface);
}
html[data-theme="dark"] .glass::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.14),transparent 32%,transparent 74%,rgba(255,255,255,.04)),
    radial-gradient(180px 80px at 14% 0%,rgba(255,255,255,.08),transparent 70%);
}

.navbar{
  position:fixed;
  inset:16px 0 auto;
  z-index:100;
  pointer-events:none;
}
.navbar .nav-inner{
  min-height:64px;
  padding:10px 12px 10px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:24px;
  pointer-events:auto;
  background:var(--surface-strong);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(30px) saturate(160%);
  -webkit-backdrop-filter:blur(30px) saturate(160%);
}
.navbar.scrolled{top:10px}
.nav-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.04rem;
  font-weight:750;
  white-space:nowrap;
  letter-spacing:.02em;
}
.logo-mark{
  width:34px;height:34px;display:grid;place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(114,168,255,.85),rgba(245,154,187,.82) 58%,rgba(184,144,255,.85));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px rgba(105,148,235,.22);
  color:#fff;font-size:.78rem;font-weight:800;
}
.nav-spacer{flex:1}
.nav-links{
  display:flex;align-items:center;gap:4px;
  list-style:none;margin:0;padding:0;
}
.nav-links a{
  display:block;
  padding:9px 12px;
  border-radius:14px;
  color:var(--text-2);
  font-size:.89rem;
  transition:transform .25s var(--ease),background .25s ease,color .25s ease;
}
.nav-links a:hover{background:rgba(255,255,255,.20);color:var(--text);transform:translateY(-1px)}
.nav-links a.active{background:rgba(255,255,255,.32);color:var(--text);font-weight:700}
.nav-actions{display:flex;align-items:center;gap:7px}
.icon-btn,.lang-select{
  height:40px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.18);
  border-radius:13px;
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .25s var(--ease),background .25s ease,border-color .25s ease;
}
.icon-btn{width:40px}
.lang-wrap{position:relative}
.lang-select{padding:0 11px;font-size:.8rem;min-width:48px}
.icon-btn:hover,.lang-select:hover{transform:translateY(-1px);background:rgba(255,255,255,.28);border-color:var(--line-strong)}
.lang-menu{
  position:absolute;right:0;top:48px;
  min-width:140px;padding:7px;
  border-radius:16px;
  background:var(--surface-strong);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  backdrop-filter:blur(30px);
  display:none;
}
.lang-menu.open{display:grid}
.lang-menu button{
  border:0;background:transparent;text-align:left;
  padding:10px 12px;border-radius:11px;cursor:pointer;color:var(--text-2);
}
.lang-menu button:hover{background:rgba(255,255,255,.20);color:var(--text)}
.nav-toggle{
  display:none;
  width:40px;height:40px;border:1px solid var(--line);
  background:rgba(255,255,255,.18);
  border-radius:13px;cursor:pointer;
}

main{position:relative;z-index:2}

.hero{
  min-height:100svh;
  padding:140px 0 70px;
  display:flex;
  align-items:center;
  position:relative;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  gap:clamp(30px,6vw,90px);
  align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.18);
  border-radius:999px;
  color:var(--text-2);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:22px;
  backdrop-filter:blur(20px);
}
.dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 14px rgba(110,154,255,.65)}
.hero h1{
  margin:0;
  font-size:clamp(3.8rem,8vw,7.8rem);
  line-height:.94;
  letter-spacing:-.07em;
  font-weight:780;
}
.hero h1 .gradient{
  background:linear-gradient(110deg,var(--accent),var(--accent-2) 50%,var(--accent-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-lead{
  max-width:650px;
  margin:25px 0 30px;
  color:var(--text-2);
  font-size:clamp(1.05rem,1.7vw,1.22rem);
  line-height:1.9;
}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{
  min-height:48px;
  padding:0 18px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:15px;border:1px solid var(--line);
  font-size:.9rem;font-weight:700;
  transition:transform .3s var(--ease),box-shadow .3s ease,background .3s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#6d9eff,#9a80ff 50%,#f19ab8);
  box-shadow:0 14px 28px rgba(117,136,234,.24),inset 0 1px 0 rgba(255,255,255,.5);
}
.btn-ghost{background:rgba(255,255,255,.16);color:var(--text)}
.btn-ghost:hover{background:rgba(255,255,255,.26);box-shadow:var(--shadow-soft)}

.hero-visual{
  min-height:520px;
  position:relative;
}
.hero-orbit{
  position:absolute;inset:0;
  display:grid;place-items:center;
}
.hero-orbit::before,.hero-orbit::after{
  content:"";position:absolute;border-radius:50%;
  border:1px solid var(--line);
}
.hero-orbit::before{width:78%;aspect-ratio:1;transform:rotate(-9deg) scaleX(1.12)}
.hero-orbit::after{width:56%;aspect-ratio:1;transform:rotate(32deg) scaleX(1.25);border-color:rgba(131,178,255,.35)}
.hero-core{
  width:min(360px,70vw);aspect-ratio:1;
  border-radius:40%;
  padding:18px;
  transform:rotate(-7deg);
  background:linear-gradient(135deg,rgba(255,255,255,.64),rgba(255,255,255,.14));
  border:1px solid rgba(255,255,255,.76);
  box-shadow:var(--shadow);
  backdrop-filter:blur(35px) saturate(160%);
  display:grid;place-items:center;
}
.hero-core img{
  width:92%;height:92%;object-fit:contain;
  transform:rotate(7deg);
  filter:drop-shadow(0 16px 26px rgba(55,84,135,.18));
}
.float-card{
  position:absolute;
  padding:15px 16px;
  border-radius:18px;
  font-size:.8rem;
  color:var(--text-2);
  box-shadow:var(--shadow-soft);
  background:var(--surface);
}
.float-card strong{display:block;color:var(--text);font-size:.9rem;margin-top:3px}
.float-a{top:8%;right:5%;transform:rotate(4deg)}
.float-b{bottom:10%;left:2%;transform:rotate(-3deg)}
.float-c{top:48%;right:-2%;transform:rotate(2deg)}
.float-dot{
  display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;
  background:linear-gradient(135deg,var(--accent-4),var(--accent));
}

.scroll-hint{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  color:var(--text-3);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase
}

.section{padding:120px 0;position:relative}
.section.compact{padding:90px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
.section-kicker{color:var(--text-3);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.section h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.06;letter-spacing:-.045em;margin:0;font-weight:760}
.section-head p{max-width:430px;margin:0;color:var(--text-2);line-height:1.8}
.editorial-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.editorial-grid.reverse{grid-template-columns:.8fr 1.2fr}
.feature-card{min-height:360px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.feature-card .number{font-size:.75rem;letter-spacing:.16em;color:var(--text-3)}
.feature-card h3{font-size:clamp(1.5rem,3vw,2.6rem);margin:0 0 12px;letter-spacing:-.035em;max-width:520px}
.feature-card p{margin:0;max-width:590px;color:var(--text-2);line-height:1.85}
.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.mini-card{padding:26px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}
.mini-icon{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(112,167,255,.18),rgba(244,156,190,.18));
  border:1px solid var(--line);
  font-size:1rem;
}
.mini-card h3{margin:18px 0 7px;font-size:1rem}
.mini-card p{margin:0;color:var(--text-2);font-size:.86rem;line-height:1.7}

.marquee{
  overflow:hidden;white-space:nowrap;margin:8px 0 80px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;color:var(--text-3);font-size:clamp(2rem,6vw,6rem);font-weight:700;letter-spacing:-.06em;
  opacity:.55;
}
.marquee-track{display:inline-block;animation:marquee 28s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.quote-panel{padding:34px;min-height:360px;display:flex;flex-direction:column;justify-content:center}
.quote-panel .quote{font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.6;letter-spacing:-.03em;margin:0 0 24px}
.quote-panel .small{color:var(--text-2);line-height:1.9;margin:0}
.fact-panel{padding:24px}
.fact-row{
  display:grid;grid-template-columns:92px 1fr;gap:16px;padding:18px 8px;
  border-bottom:1px solid var(--line);
}
.fact-row:last-child{border-bottom:0}
.fact-label{font-size:.76rem;color:var(--text-3)}
.fact-val{font-size:.92rem;color:var(--text);font-weight:600}

.manifesto{
  padding:36px;
  text-align:center;
  background:
    radial-gradient(320px 180px at 50% 0%,rgba(122,167,255,.15),transparent 70%),
    rgba(255,255,255,.11);
}
.manifesto .symbol{font-size:2.4rem;opacity:.55}
.manifesto h3{font-size:clamp(1.5rem,3vw,2.5rem);margin:12px auto 10px;max-width:780px;letter-spacing:-.04em}
.manifesto p{color:var(--text-2);margin:0;max-width:720px;margin-inline:auto}

.timeline-wrap{padding:28px}
.timeline{max-width:820px;margin:0 auto;position:relative}
.timeline::before{
  content:"";position:absolute;left:12px;top:10px;bottom:10px;width:1px;
  background:linear-gradient(var(--accent),var(--accent-2),transparent);
}
.tl-item{position:relative;padding:8px 0 36px 48px}
.tl-item:last-child{padding-bottom:8px}
.tl-item::before{
  content:"";position:absolute;left:5px;top:15px;width:15px;height:15px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 0 0 6px rgba(120,155,225,.09);
}
.tl-date{font-size:.72rem;letter-spacing:.15em;color:var(--accent);font-weight:800;margin-bottom:5px}
.tl-text{font-size:1rem;line-height:1.85;color:var(--text-2)}
.tl-text strong{color:var(--text)}

.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.member{padding:20px;text-align:left;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.member-photo{
  width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:22px;
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.28);
  filter:saturate(.96) contrast(.98);
}
.member h3{margin:0;font-size:1rem}
.member .role{margin:5px 0 0;color:var(--accent-2);font-size:.78rem}
.member .tag{margin-top:auto;align-self:flex-start;padding-top:16px;color:var(--text-3);font-size:.72rem}
.member.placeholder{align-items:flex-start;justify-content:flex-start}
.member.placeholder .member-photo{
  display:grid;place-items:center;
  aspect-ratio:1.08;background:linear-gradient(135deg,rgba(109,160,255,.14),rgba(242,157,192,.14));
  color:var(--text-2);font-size:3rem;
}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-panel{padding:26px}
.contact-item{
  display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;
  padding:16px 6px;border-bottom:1px solid var(--line)
}
.contact-item:last-child{border-bottom:0}
.contact-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid var(--line)}
.contact-main{font-size:.92rem;font-weight:650}
.contact-sub{font-size:.74rem;color:var(--text-3);margin-top:3px}
.gradient-link{
  background:linear-gradient(100deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:750
}

.friend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.friend-card{padding:22px;min-height:220px}
.friend-logo{height:64px;width:100%;object-fit:contain;margin:0 auto 16px}
.friend-card h3{font-size:1rem;margin:0 0 6px}
.friend-card p{font-size:.78rem;color:var(--text-3);margin:0;line-height:1.7}
.friend-card .friend-link{display:inline-flex;margin-top:14px;padding:7px 10px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid var(--line);font-size:.74rem;color:var(--text-2)}

.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.work-card{padding:34px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}
.work-mark{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(111,160,255,.18),rgba(243,154,188,.18));border:1px solid var(--line);font-size:2rem}
.work-card h3{font-size:1.45rem;margin:24px 0 8px}
.work-card p{color:var(--text-2);line-height:1.85;margin:0}
.copyright{color:var(--text-3);font-size:.74rem;margin-top:28px;text-align:center}

footer{
  padding:60px 0 90px;
  position:relative;
  z-index:2;
  color:var(--text-3);
}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-top:30px;border-top:1px solid var(--line)}
.footer-brand{font-size:1.05rem;color:var(--text);font-weight:750;margin-bottom:10px}
.footer-slogan{max-width:420px;font-size:.8rem;line-height:1.7}
.f-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}
.f-links a{font-size:.78rem;color:var(--text-2)}
.f-links a:hover{color:var(--text)}

.back-top{
  position:fixed;right:22px;bottom:22px;z-index:90;
  width:46px;height:46px;border-radius:16px;border:1px solid var(--line);
  background:var(--surface-strong);backdrop-filter:blur(24px);
  cursor:pointer;box-shadow:var(--shadow-soft);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:.3s var(--ease)
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}

.skip-note{
  margin-top:30px;text-align:center;color:var(--text-3);font-size:.72rem
}

@media (max-width:1050px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .navbar .nav-inner{padding-right:10px}
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .hero{padding-top:120px}
  .hero-grid,.about-grid,.editorial-grid,.editorial-grid.reverse,.contact-grid,.works-grid{grid-template-columns:1fr}
  .hero-visual{min-height:460px}
  .hero-core{width:min(330px,72vw)}
  .section{padding:90px 0}
  .section-head{display:block}
  .section-head p{margin-top:14px}
  .friend-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .navbar{inset:10px 0 auto}
  .navbar .nav-inner{min-height:58px;border-radius:20px}
  .nav-toggle{display:grid;place-items:center}
  .nav-links.open{
    display:flex;position:fixed;left:12px;right:12px;top:76px;
    flex-direction:column;padding:10px;
    border:1px solid var(--line);border-radius:20px;
    background:var(--surface-strong);box-shadow:var(--shadow);
    backdrop-filter:blur(30px)
  }
  .nav-links.open a{padding:12px 14px}
  .hero-grid{gap:12px}
  .hero h1{font-size:clamp(3.2rem,18vw,5.1rem)}
  .hero-visual{min-height:390px}
  .hero-orbit::before{width:86%}.hero-orbit::after{width:64%}
  .float-c{display:none}
  .float-card{font-size:.72rem}
  .mini-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .friend-grid{grid-template-columns:1fr 1fr}
  .section{padding:78px 0}
  .feature-card{min-height:300px;padding:25px}
  .quote-panel{min-height:0;padding:26px}
  .footer-inner{display:block}
  .f-links{justify-content:flex-start;margin-top:18px}
}
@media (max-width:420px){
  .team-grid,.friend-grid{grid-template-columns:1fr}
  .nav-logo span{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}
}

/* =========================================================
   v4 · Aurora Orbit / Light Path system
   Own visual language for Mitu Songge: spatial light, glass depth,
   blue-pink-white spectrum inspired by the brand mark, without copying
   another site's composition.
   ========================================================= */

:root{
  --brand-blue:#6fa9ff;
  --brand-blue-hi:#b7d6ff;
  --brand-pink:#ff8fc7;
  --brand-pink-hi:#ffd4e6;
  --brand-white:#ffffff;
  --brand-violet:#b99aff;
  --glass-hi:rgba(255,255,255,.58);
  --glass-lo:rgba(255,255,255,.12);
  --glass-edge:rgba(255,255,255,.78);
  --light-core:rgba(255,255,255,.9);
}
html[data-theme="dark"]{
  --glass-hi:rgba(255,255,255,.14);
  --glass-lo:rgba(255,255,255,.025);
  --glass-edge:rgba(255,255,255,.20);
  --light-core:rgba(255,255,255,.62);
}

body{
  background:
    radial-gradient(1100px 700px at 6% 5%, rgba(100,164,255,.24), transparent 65%),
    radial-gradient(1000px 760px at 92% 12%, rgba(255,123,185,.22), transparent 64%),
    radial-gradient(900px 700px at 62% 96%, rgba(183,154,255,.17), transparent 68%),
    linear-gradient(180deg,var(--bg),var(--bg-2));
}

html[data-theme="dark"] body{
  background:
    radial-gradient(1000px 700px at 8% 6%, rgba(76,137,255,.20), transparent 64%),
    radial-gradient(920px 720px at 94% 18%, rgba(255,94,172,.15), transparent 64%),
    radial-gradient(1000px 760px at 60% 100%, rgba(135,94,255,.12), transparent 68%),
    linear-gradient(180deg,#04070e,#0a101a);
}

.lightfield-canvas{
  position:fixed;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:0;opacity:.92;
  mix-blend-mode:screen;
}
html[data-theme="dark"] .lightfield-canvas{opacity:.72}

.aurora{width:40vw;opacity:.36;filter:blur(90px);mix-blend-mode:screen}
.aurora.a1{top:4vh;left:-14vw;background:linear-gradient(135deg,#6da8ff,#9ecbff)}
.aurora.a2{top:35vh;right:-14vw;background:linear-gradient(135deg,#ff8fca,#ffd1e5)}
.aurora.a3{bottom:-20vh;left:25vw;background:linear-gradient(135deg,#9e7cff,#d3baff)}
.aurora.a4{width:26vw;top:18vh;left:33vw;background:rgba(255,255,255,.8);filter:blur(120px);opacity:.22;animation:ambientDrift 17s ease-in-out infinite alternate}
.aurora.a5{width:22vw;bottom:8vh;right:18vw;background:linear-gradient(135deg,#7fb6ff,#ff94c9);filter:blur(110px);opacity:.19;animation:ambientDrift2 19s ease-in-out infinite alternate}
@keyframes ambientDrift{from{transform:translate3d(-2.2vw,0,0) scale(.96)}to{transform:translate3d(4vw,1.6vh,0) scale(1.04)}}
@keyframes ambientDrift2{from{transform:translate3d(1.6vw,0,0) scale(1)}to{transform:translate3d(-2.8vw,-2.2vh,0) scale(1.06)}}

.light-route{
  position:fixed;pointer-events:none;z-index:0;height:2px;border-radius:999px;
  transform-origin:left center;filter:blur(.3px);opacity:.65;
  background:linear-gradient(90deg,transparent,var(--brand-blue-hi),rgba(255,255,255,.95),var(--brand-pink-hi),transparent);
  box-shadow:0 0 18px rgba(130,180,255,.30),0 0 38px rgba(255,143,199,.16);
}
.route-a{width:68vw;left:-10vw;top:29vh;transform:rotate(12deg);animation:routeA 16s ease-in-out infinite alternate}
.route-b{width:50vw;right:-13vw;top:60vh;transform:rotate(-18deg);animation:routeB 19s ease-in-out infinite alternate}
.route-c{width:42vw;left:14vw;bottom:17vh;transform:rotate(-8deg);opacity:.35;animation:routeC 24s ease-in-out infinite alternate}
@keyframes routeA{from{transform:translate3d(-1.6vw,0,0) rotate(12deg) scaleX(.96)}to{transform:translate3d(4.4vw,2.6vh,0) rotate(9deg) scaleX(1.04)}}
@keyframes routeB{from{transform:translate3d(2.2vw,0,0) rotate(-18deg) scaleX(.94)}to{transform:translate3d(-4.4vw,-2.2vh,0) rotate(-15deg) scaleX(1.03)}}
@keyframes routeC{from{transform:translate3d(-1.1vw,0,0) rotate(-8deg)}to{transform:translate3d(2.8vw,-2.2vh,0) rotate(-6deg)}}

.glass{
  background:
    linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.045) 44%,rgba(255,255,255,.12)),
    linear-gradient(180deg,var(--glass-hi),var(--glass-lo));
  border:1px solid var(--glass-edge);
  box-shadow:
    0 24px 90px rgba(67,87,124,.13),
    0 2px 1px rgba(255,255,255,.32) inset,
    0 -1px 0 rgba(255,255,255,.16) inset;
  backdrop-filter:blur(38px) saturate(175%);
  -webkit-backdrop-filter:blur(38px) saturate(175%);
}
.glass::before{
  background:
    linear-gradient(125deg,rgba(255,255,255,.60),transparent 23%,transparent 66%,rgba(255,255,255,.08)),
    radial-gradient(220px 90px at 16% 0%,rgba(255,255,255,.27),transparent 72%),
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 50%);
  opacity:1;
}
.glass::after{
  border-top:1px solid rgba(255,255,255,.42);
  border-left:1px solid rgba(255,255,255,.16);
}
html[data-theme="dark"] .glass{
  background:
    linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.018) 50%,rgba(255,255,255,.05)),
    linear-gradient(180deg,var(--glass-hi),var(--glass-lo));
  box-shadow:
    0 28px 110px rgba(0,0,0,.40),
    0 2px 1px rgba(255,255,255,.11) inset,
    0 -1px 0 rgba(255,255,255,.05) inset;
}
html[data-theme="dark"] .glass::before{opacity:.78}

.navbar .nav-inner{
  background:
    linear-gradient(120deg,rgba(255,255,255,.34),rgba(255,255,255,.07)),
    var(--surface-strong);
  box-shadow:0 18px 60px rgba(45,63,99,.16),0 1px 0 rgba(255,255,255,.35) inset;
}
.logo-mark{
  overflow:hidden;position:relative;
  background:linear-gradient(135deg,rgba(111,169,255,.86),rgba(255,143,199,.80) 56%,rgba(185,154,255,.86));
}
.logo-mark::after{content:"";position:absolute;inset:-70% 25%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.74),transparent);animation:logoSweep 5s linear infinite}
@keyframes logoSweep{from{transform:translateX(-120%) rotate(22deg)}to{transform:translateX(160%) rotate(22deg)}}

.hero{padding-top:142px}
.hero-grid{grid-template-columns:minmax(0,.98fr) minmax(430px,1.02fr);gap:clamp(22px,4vw,72px)}
.hero-copy{position:relative;z-index:4}
.hero h1{font-size:clamp(4.5rem,9vw,9.4rem);text-shadow:0 14px 60px rgba(75,109,167,.09)}
.hero .gradient{
  background:linear-gradient(100deg,#71a8ff 0%,#d7dfff 34%,#ff9bcb 66%,#b397ff 100%);
  background-size:180% 100%;animation:gradientShift 11s ease-in-out infinite alternate;
}
@keyframes gradientShift{from{background-position:0% 50%}to{background-position:100% 50%}}
.hero-badge{box-shadow:0 12px 35px rgba(110,151,220,.12),0 0 0 1px rgba(255,255,255,.18) inset}
.hero-visual{min-height:610px;perspective:1100px}
.hero-orbit{inset:-6% -7%}
.hero-orbit::before{width:82%;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 0 60px rgba(118,171,255,.10);animation:orbitSpin 22s linear infinite}
.hero-orbit::after{width:58%;border-color:rgba(255,158,202,.36);box-shadow:0 0 50px rgba(255,153,201,.11);animation:orbitSpinRev 16s linear infinite}
@keyframes orbitSpin{to{transform:rotate(351deg) scaleX(1.12)}}
@keyframes orbitSpinRev{to{transform:rotate(-328deg) scaleX(1.25)}}
.hero-core{
  width:min(405px,74vw);aspect-ratio:1.06;border-radius:46%;padding:22px;transform:rotate(-5deg) translateZ(0);
  background:
    radial-gradient(circle at 36% 24%,rgba(255,255,255,.76),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.07) 48%,rgba(164,195,255,.10));
  border:1px solid rgba(255,255,255,.82);
  box-shadow:
    0 45px 120px rgba(63,87,132,.20),
    0 0 0 10px rgba(255,255,255,.035),
    0 0 80px rgba(115,165,255,.22),
    0 0 120px rgba(255,143,199,.11),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -24px 50px rgba(130,163,227,.06);
  overflow:visible;
  animation:coreFloat 7s ease-in-out infinite;
}
@keyframes coreFloat{0%,100%{transform:rotate(-5deg) translate3d(0,0,0)}50%{transform:rotate(-2deg) translate3d(0,-12px,0)}}
.hero-core::before{
  content:"";position:absolute;inset:-10px;border-radius:inherit;z-index:-1;
  background:conic-gradient(from 120deg,rgba(111,169,255,0),rgba(111,169,255,.55),rgba(255,255,255,.20),rgba(255,143,199,.65),rgba(185,154,255,.25),rgba(111,169,255,0));
  filter:blur(16px);opacity:.7;animation:haloRotate 13s linear infinite;
}
.hero-core::after{
  content:"";position:absolute;inset:-22px;border-radius:50%;z-index:-2;
  background:radial-gradient(circle,rgba(121,173,255,.16),rgba(255,143,199,.09) 42%,transparent 70%);
  filter:blur(20px);animation:haloPulse 4.5s ease-in-out infinite;
}
@keyframes haloRotate{to{transform:rotate(360deg)}}
@keyframes haloPulse{50%{transform:scale(1.06);opacity:.7}}
.hero-core img{width:94%;height:86%;object-fit:contain;transform:rotate(5deg) translateY(-2px);filter:drop-shadow(0 20px 32px rgba(55,84,135,.20)) saturate(1.04)}
.glass-depth{isolation:isolate}
.glass-specular{position:absolute;inset:5%;border-radius:40%;background:linear-gradient(128deg,rgba(255,255,255,.44),transparent 18%,transparent 72%,rgba(255,255,255,.10));mix-blend-mode:screen;pointer-events:none;transform:translateX(-6%) rotate(7deg)}
.core-caption{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:.58rem;letter-spacing:.20em;color:rgba(54,72,100,.55);white-space:nowrap;font-weight:700}
html[data-theme="dark"] .core-caption{color:rgba(235,243,255,.42)}

.hero-halo{position:absolute;border-radius:50%;pointer-events:none}
.halo-1{width:88%;aspect-ratio:1;background:radial-gradient(circle,transparent 49%,rgba(111,169,255,.18) 50%,transparent 51%);filter:blur(.2px);animation:haloTurn 18s linear infinite}
.halo-2{width:68%;aspect-ratio:1;background:radial-gradient(circle,transparent 48%,rgba(255,143,199,.18) 49%,transparent 50%);animation:haloTurnRev 12s linear infinite}
.halo-3{width:46%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 62%);filter:blur(15px)}
@keyframes haloTurn{to{transform:rotate(360deg)}}
@keyframes haloTurnRev{to{transform:rotate(-360deg)}}

.float-card{background:linear-gradient(145deg,rgba(255,255,255,.45),rgba(255,255,255,.08)),var(--surface);border-color:rgba(255,255,255,.66);box-shadow:0 18px 60px rgba(68,91,131,.15),inset 0 1px 0 rgba(255,255,255,.45);backdrop-filter:blur(28px) saturate(170%)}
.float-a{top:7%;right:3%;animation:floatA 5s ease-in-out infinite}
.float-b{bottom:8%;left:0;animation:floatB 6.5s ease-in-out infinite}
.float-c{top:49%;right:-1%;animation:floatC 7.2s ease-in-out infinite}
@keyframes floatA{50%{transform:rotate(4deg) translateY(-8px)}}
@keyframes floatB{50%{transform:rotate(-3deg) translateY(10px)}}
@keyframes floatC{50%{transform:rotate(2deg) translateY(-7px)}}

.section{padding:135px 0}
.section-head h2{max-width:820px}
.editorial-grid .feature-card{min-height:420px;background:linear-gradient(145deg,rgba(115,171,255,.10),rgba(255,143,199,.05)),var(--surface)}
.feature-card::before{background:linear-gradient(135deg,rgba(255,255,255,.58),transparent 20%,transparent 68%,rgba(255,143,199,.10))}
.mini-card{min-height:190px}
.mini-card:hover,.feature-card:hover,.quote-panel:hover,.fact-panel:hover,.manifesto:hover,.work-card:hover,.member:hover,.friend-card:hover,.contact-panel:hover{transform:translateY(-5px);box-shadow:0 30px 100px rgba(63,87,130,.18),0 1px 0 rgba(255,255,255,.35) inset}
.feature-card,.mini-card,.quote-panel,.fact-panel,.manifesto,.work-card,.member,.friend-card,.contact-panel{transition:transform .45s var(--ease),box-shadow .45s ease,border-color .45s ease}

.marquee{font-size:clamp(2.5rem,7vw,7rem);padding:18px 0;margin:8px 0 95px;border-color:rgba(255,255,255,.30);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.marquee-track{background:linear-gradient(90deg,#6fa9ff,#ffffff,#ff8fc7,#b99aff);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.38}

.manifesto{padding:55px 7%;background:radial-gradient(420px 220px at 50% 0%,rgba(111,169,255,.18),transparent 70%),radial-gradient(340px 220px at 70% 85%,rgba(255,143,199,.12),transparent 72%),rgba(255,255,255,.08)}
.manifesto .symbol{font-size:3.1rem;filter:drop-shadow(0 8px 22px rgba(124,160,229,.24))}

footer{padding-top:85px}

/* Mobile: preserve depth, reduce only expensive particle intensity via JS */
@media(max-width:820px){
  .hero{padding-top:126px}
  .hero-visual{min-height:530px}
  .hero-core{width:min(360px,78vw)}
  .route-a{width:95vw}.route-b{width:78vw}.route-c{width:65vw}
  .section{padding:100px 0}
}
@media(max-width:640px){
  .hero{padding-top:110px}
  .hero-visual{min-height:455px}
  .hero-core{width:min(315px,80vw)}
  .core-caption{font-size:.48rem;letter-spacing:.14em}
  .halo-1{width:100%}.halo-2{width:76%}
  .aurora{filter:blur(75px);opacity:.28}
  .route-a{top:34vh}.route-b{top:56vh}
}

@media(prefers-reduced-motion:reduce){
  .aurora,.light-route,.hero-core,.hero-orbit::before,.hero-orbit::after,.hero-core::before,.hero-core::after,.hero .gradient,.float-card,.logo-mark::after{animation:none !important}
  .lightfield-canvas{display:none}
}
.logo-mark img{width:28px;height:18px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(55,84,135,.12));position:relative;z-index:1}


/* V4 Ultimate 光场增强：保持原UI，仅增强空间感 */
.lightfield-canvas{mix-blend-mode:screen;filter:saturate(1.25) contrast(1.08);}
.aurora{animation-duration:22s !important;opacity:.42;}
.glass,.feature-card,.mini-card,.quote-panel,.fact-panel,.manifesto,.work-card,.member,.friend-card,.contact-panel{backdrop-filter:blur(42px) saturate(165%);}
.hero-core{filter:drop-shadow(0 0 45px rgba(111,169,255,.25));}
.hero-core::before{opacity:.8;animation-duration:12s;}
.hero-core::after{opacity:.65;animation-duration:16s;}
.cursor-glow{filter:blur(20px) saturate(150%);}
/* 白昼模式增强 */
body:not(.dark){--surface:rgba(255,255,255,.38);}
body:not(.dark) .glass{box-shadow:0 35px 120px rgba(120,160,220,.18),inset 0 1px 0 rgba(255,255,255,.7);}
.light-cone-enhanced{position:fixed;inset:auto;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(111,169,255,.18),rgba(255,143,199,.08),transparent 70%);filter:blur(50px);pointer-events:none;}

/* =========================================================
   多语言排版修正（EN / JA）
   - 日文：补充日文字体栈，去掉为中文设计的负字距，按日文规则换行
   - 英文：放宽过紧的字距，避免长单词溢出
   ========================================================= */
:lang(ja) body,
html:lang(ja) body{
  font-family:"HarmonyOS Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-break:strict;
  overflow-wrap:anywhere;
}
:lang(ja) .hero h1,
:lang(ja) .section h2,
:lang(ja) .feature-card h3,
:lang(ja) .quote-panel .quote,
:lang(ja) .manifesto h3{letter-spacing:0}
:lang(ja) .hero h1{line-height:1.08}
:lang(ja) .section h2{line-height:1.25}
:lang(ja) .hero-lead,
:lang(ja) .section-head p,
:lang(ja) .feature-card p,
:lang(ja) .mini-card p{line-height:1.85}
:lang(ja) .section-kicker,
:lang(ja) .eyebrow{letter-spacing:.06em}

html:lang(en) .hero h1{letter-spacing:-.04em}
html:lang(en) .section h2{letter-spacing:-.03em;line-height:1.12}
html:lang(en) .feature-card h3,
html:lang(en) .manifesto h3,
html:lang(en) .quote-panel .quote{letter-spacing:-.015em}
html:lang(en) body{overflow-wrap:break-word}

/* 切换语言后，导航文字较长时不换行、不挤出容器 */
.nav-links a{white-space:nowrap}
.fact-val,.contact-main,.tl-text,.friend-card p{overflow-wrap:anywhere}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) .quote,:lang(ja) .section-head p{word-break:auto-phrase;text-wrap:balance}
:lang(ja) p{word-break:auto-phrase}
html:lang(en) h1,html:lang(en) h2,html:lang(en) h3{text-wrap:balance}

/* 修复：导航栏是 .glass（overflow:hidden），会把向下展开的语言菜单/移动端菜单整块裁掉，导致点击语言按钮“没反应” */
.navbar .nav-inner{overflow:visible}
.navbar .lang-menu{z-index:200}

/* =========================================================
   MOBILE / TABLET 适配（手机 · iPad）
   放在文件最末尾，用来覆盖前面被后写规则冲掉的响应式设置。
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
button,a,.icon-btn,.lang-select,.nav-toggle{touch-action:manipulation}
.lang-menu,.nav-links.open{-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}

/* ---------- ≤1050px：平板与手机的导航（汉堡菜单）---------- */
@media (max-width:1050px){
  .nav-links{display:none}
  .nav-toggle{display:grid;place-items:center;width:40px;height:40px;padding:0;cursor:pointer}
  /* 用 absolute 相对导航栏定位：导航栏有 backdrop-filter，fixed 会相对它错位 */
  .nav-links.open{
    display:flex;flex-direction:column;gap:2px;
    position:absolute;left:0;right:0;top:calc(100% + 10px);
    padding:10px;border:1px solid var(--line);border-radius:22px;
    background:var(--surface-strong);box-shadow:var(--shadow);z-index:150;
    max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;
  }
  .nav-links.open li{display:block}
  .nav-links.open a{display:block;padding:14px 16px;border-radius:14px;font-size:1rem}
  .nav-links.open a:hover{transform:none}
}

/* ---------- ≤920px：iPad 竖屏与手机 ---------- */
@media (max-width:920px){
  .hero{min-height:auto;display:block;padding:118px 0 56px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .hero-copy,.hero-copy *{min-width:0}
  .hero h1{font-size:clamp(3.4rem,15vw,6.6rem);line-height:1}
  .hero-lead{margin:20px 0 26px;max-width:none}
  .hero-visual{min-height:0;height:min(520px,108vw);margin:6px auto 0;width:100%;max-width:560px}
  .hero-orbit{inset:0}
  .hero-core{width:min(340px,74%)}
  .hero-halo,.hero-orbit::before,.hero-orbit::after{max-width:100%}
  .float-card{font-size:.72rem;padding:11px 13px;border-radius:15px}
  .float-a{top:4%;right:0}.float-b{bottom:4%;left:0}.float-c{top:auto;bottom:34%;right:0}
  .scroll-hint{display:none}
  .marquee{margin-bottom:40px}
  .section{padding:84px 0}
  .section-head{display:block}
  .section-head p{margin-top:14px}
  .about-grid,.editorial-grid,.contact-grid,.works-grid{grid-template-columns:minmax(0,1fr)}
  .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-grid .feature-card{min-height:300px}
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{display:block}
  .f-links{justify-content:flex-start;margin-top:18px}
  .fact-row{grid-template-columns:110px minmax(0,1fr)}
}

/* ---------- ≤640px：手机 ---------- */
@media (max-width:640px){
  .container{width:calc(100% - 28px)}
  .navbar{inset:max(10px,env(safe-area-inset-top)) 0 auto}
  .navbar .nav-inner{min-height:56px;padding:8px 8px 8px 12px;border-radius:20px;gap:8px}
  .nav-actions{gap:6px}
  .hero{padding:104px 0 44px}
  .hero h1{font-size:clamp(3.2rem,19vw,5.2rem)}
  .eyebrow{font-size:.68rem;letter-spacing:.05em;max-width:100%}
  .hero-visual{height:min(400px,104vw)}
  .hero-core{width:min(300px,78%)}
  .core-caption{font-size:.44rem;letter-spacing:.1em}
  .float-a{top:0}.float-b{bottom:0}
  .btn{flex:1 1 auto;min-width:130px}
  .section{padding:64px 0}
  .section h2{font-size:clamp(1.5rem,6.9vw,2.4rem);line-height:1.18}
  .mini-grid{grid-template-columns:minmax(0,1fr)}
  .feature-card{min-height:240px;padding:22px}
  .quote-panel,.fact-panel,.contact-panel,.work-card{padding:22px}
  .manifesto{padding:36px 22px}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .friend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fact-row{grid-template-columns:1fr;gap:4px}
  .timeline-wrap{padding:22px 18px}
  .back-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media (max-width:420px){
  /* 原规则 .nav-logo span{display:none} 会把 Logo 图标(.logo-mark 也是 span)一起藏掉，这里恢复；品牌名在窄屏保留 */
  .nav-logo .logo-mark{display:grid}
  .nav-logo>span:not(.logo-mark){display:inline;font-size:.98rem}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .friend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .member{padding:12px;min-height:0}
  .member-photo{border-radius:16px;margin-bottom:12px}
  .member h3{font-size:.95rem;line-height:1.35}
  .member .role{font-size:.72rem;line-height:1.45}
  .member .tag{padding-top:10px;font-size:.66rem}
  .friend-card{padding:16px}
}
@media (max-width:359px){
  .nav-logo>span:not(.logo-mark){display:none}
  .navbar .nav-inner{gap:4px}
  .lang-select{min-width:40px;padding:0 8px}
}

/* ---------- 手机横屏 ---------- */
@media (max-height:520px) and (orientation:landscape){
  .hero{padding:88px 0 36px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
  .hero-visual{height:300px}
  .hero-core{width:min(230px,70%)}
  .scroll-hint{display:none}
}

/* ---------- 触屏设备（手机 / iPad）：热区、悬停、动画降载 ---------- */
@media (pointer:coarse){
  .icon-btn,.lang-select,.nav-toggle{min-width:44px;min-height:44px;height:44px}
  .lang-menu{top:54px;min-width:150px}
  .lang-menu button{padding:14px 14px;font-size:1rem}
  .lang-menu{max-width:calc(100vw - 24px)}
}
@media (hover:none){
  /* 触屏没有真正的 hover，避免点一下后卡片一直“悬浮”在上移状态 */
  .mini-card:hover,.feature-card:hover,.quote-panel:hover,.fact-panel:hover,.manifesto:hover,
  .work-card:hover,.member:hover,.friend-card:hover,.contact-panel:hover,.btn:hover,
  .nav-links a:hover,.icon-btn:hover,.lang-select:hover{transform:none}
}

/* 装饰光环/浮卡略微探出屏幕：在全宽的 Hero 与内容容器上裁切，iOS Safari 才不会出现左右可拖动（视觉不变） */
.page-shell,.hero{overflow-x:clip}
@supports not (overflow:clip){ .page-shell,.hero{overflow-x:hidden} }
h1,h2,h3,.quote{text-wrap:balance}

/* =========================================================
   PERFORMANCE · 去掉会拖慢每一帧的写法（视觉保持一致）
   ========================================================= */
/* 全屏画布上的 CSS filter 会让整屏每帧重新滤镜：去掉 */
.lightfield-canvas{filter:none !important}
/* aurora：大半径 blur 滤镜 → 等效的径向渐变（无滤镜） */
.aurora{filter:none !important}
.aurora.a1{background:radial-gradient(circle,rgba(109,168,255,.95) 0,rgba(109,168,255,.5) 34%,rgba(109,168,255,0) 100%)}
.aurora.a2{background:radial-gradient(circle,rgba(255,143,202,.95) 0,rgba(255,143,202,.5) 34%,rgba(255,143,202,0) 100%)}
.aurora.a3{background:radial-gradient(circle,rgba(158,124,255,.95) 0,rgba(158,124,255,.5) 34%,rgba(158,124,255,0) 100%)}
.aurora.a4{background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(255,255,255,.5) 34%,rgba(255,255,255,0) 100%)}
.aurora.a5{background:radial-gradient(circle,rgba(127,182,255,.9) 0,rgba(255,148,201,.5) 38%,rgba(255,148,201,0) 100%)}
.light-route{filter:none}
/* 白色高光叠加：screen 与普通叠加在白色上结果完全相同，去掉混合模式可省一层离屏渲染 */
.glass::before,.glass-specular{mix-blend-mode:normal}
/* Hero 圆球：drop-shadow 滤镜（子元素在旋转，会每帧重算）→ box-shadow 等效 */
.hero-core{
  filter:none;
  box-shadow:
    0 45px 120px rgba(63,87,132,.20),
    0 0 0 10px rgba(255,255,255,.035),
    0 0 80px rgba(115,165,255,.22),
    0 0 60px rgba(111,169,255,.22),
    0 0 120px rgba(255,143,199,.11),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -24px 50px rgba(130,163,227,.06);
}
/* 光标光晕由下面的光锥光晕取代（原来每帧用 JS 改 left/top，会触发布局）*/
.cursor-glow{display:none !important}

/* =========================================================
   LIGHT CONE · 桌面专属光锥 / 液态玻璃增强
   .light-beam/.light-bloom/.lg-spec/.lg-rim 只在桌面由 JS 创建，
   移动端/平板端 DOM 里不存在这些元素，这里的规则天然不会在那些设备上生效。
   ========================================================= */
:root{
  --shaft-c:rgba(255,255,255,.62); --shaft-l:rgba(150,198,255,.28); --shaft-r:rgba(255,172,212,.26);
  --bloom-a:rgba(255,255,255,.74); --bloom-b:rgba(200,222,255,.26);
  --spec-core:rgba(255,255,255,.88); --spec-mid:rgba(196,218,255,.30); --spec-flow:rgba(255,255,255,.36);
  --spec-static:linear-gradient(150deg,rgba(255,255,255,.34),transparent 40%,rgba(196,218,255,.16) 78%,rgba(255,186,218,.15));
  --rim-base:.34; --rim-hot:.82;
}
html[data-theme="dark"]{
  --shaft-c:rgba(160,196,255,.10); --shaft-l:rgba(110,160,255,.07); --shaft-r:rgba(255,130,190,.07);
  --bloom-a:rgba(130,170,255,.16); --bloom-b:rgba(255,140,200,.07);
  --spec-core:rgba(170,200,255,.16); --spec-mid:rgba(120,160,255,.07); --spec-flow:rgba(255,255,255,.05);
  --spec-static:linear-gradient(150deg,rgba(255,255,255,.05),transparent 45%,rgba(120,160,255,.05));
  --rim-base:.14; --rim-hot:.5;
}

.light-beam{
  position:fixed;left:0;top:0;width:1800px;height:760px;margin-top:-380px;
  transform-origin:0 50%;pointer-events:none;z-index:0;will-change:transform;
  background:conic-gradient(from 76deg at 0% 50%,transparent 0deg,var(--shaft-l) 6deg,var(--shaft-c) 14deg,var(--shaft-r) 22deg,transparent 30deg,transparent 360deg);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 55%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 55%,transparent 100%);
}
.light-bloom{
  position:fixed;left:-460px;top:-460px;width:920px;height:920px;border-radius:50%;
  pointer-events:none;z-index:0;will-change:transform;
  background:radial-gradient(circle,var(--bloom-a) 0,var(--bloom-b) 24%,transparent 54%);
}
/* 两个自主漂移的环境光源：更小、更弱，不抢主光源，只让画面在鼠标不动时也保持呼吸感 */
.light-bloom-a,.light-bloom-b{width:520px;height:520px;left:-260px;top:-260px;opacity:.40}
.light-bloom-a{background:radial-gradient(circle,rgba(255,173,214,.42) 0,rgba(255,205,229,.16) 38%,transparent 66%)}
.light-bloom-b{background:radial-gradient(circle,rgba(150,198,255,.38) 0,rgba(180,215,255,.15) 38%,transparent 66%)}
html[data-theme="dark"] .light-beam,html[data-theme="dark"] .light-bloom{mix-blend-mode:screen}
html[data-theme="dark"] .light-bloom-a{background:radial-gradient(circle,rgba(255,140,200,.12) 0,transparent 64%);opacity:.55}
html[data-theme="dark"] .light-bloom-b{background:radial-gradient(circle,rgba(120,170,255,.12) 0,transparent 64%);opacity:.55}

/* 沉浸光尘：前景（Hero 区域）+ 背景（全页固定）两组，纯 CSS 漂移，零持续 JS 开销 */
.light-mote{
  position:absolute;left:var(--mote-x);top:var(--mote-y);
  width:var(--mote-size);height:var(--mote-size);border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(190,215,255,.55) 45%,transparent 72%);
  opacity:var(--mote-op);pointer-events:none;
  animation:moteDrift var(--mote-dur) ease-in-out var(--mote-delay) infinite alternate;
}
.mote-fore{filter:drop-shadow(0 0 3px rgba(180,205,255,.55))}
.light-mote-field{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mote-back{position:fixed}
html[data-theme="dark"] .light-mote{background:radial-gradient(circle,rgba(210,225,255,.9) 0%,rgba(150,180,255,.5) 45%,transparent 72%)}
@keyframes moteDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(calc(var(--mote-dx) * .5),calc(var(--mote-dy) * -1),0) scale(1.15)}
  100%{transform:translate3d(var(--mote-dx),var(--mote-dy),0) scale(.9)}
}
@media (prefers-reduced-motion:reduce){.light-mote{animation:none}}

.lg-spec,.lg-rim,.lg-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1}
/* 镜面高光：收窄聚焦半径，只在光源近处集中提亮，不再大范围铺开；昼夜各自设最大不透明度硬上限 */
.lg-spec{
  background:
    radial-gradient(circle 190px at var(--mx,30%) var(--my,-30%),var(--spec-core),var(--spec-mid) 40%,transparent 70%),
    linear-gradient(115deg,transparent 34%,var(--spec-flow) 48%,transparent 62%),
    var(--spec-static);
  background-size:auto,240% 240%,auto;background-repeat:no-repeat;background-position:0 0,0% 30%,0 0;
  opacity:calc(.22 + var(--lit,0)*.40); /* 白天上限 .62，克制不过曝 */
  animation:lgFlow 18s ease-in-out infinite alternate;
}
html[data-theme="dark"] .lg-spec{opacity:calc(.10 + var(--lit,0)*.30)} /* 夜间上限 .40，更内敛 */
@keyframes lgFlow{to{background-position:0 0,100% 70%,0 0}}
/* 液态折射：只扭曲这一层装饰性的光/渐变，绝不套在文字、头像或 Logo 图形上，内容始终清晰 */
html[data-fx="desktop"] .hero-core>.lg-spec{filter:url(#lgLiquidHero)}
/* 液态折射只用在“旗舰级”大面板上（引言、事实卡、宣言、联系面板、内容卡），
   团队头像格、友情链接格等重复网格卡片数量多，保持原有的轻量高光层，避免叠加成本随数量线性放大 */
html[data-fx="desktop"] .quote-panel>.lg-spec,
html[data-fx="desktop"] .fact-panel>.lg-spec,
html[data-fx="desktop"] .manifesto>.lg-spec,
html[data-fx="desktop"] .contact-panel>.lg-spec,
html[data-fx="desktop"] .feature-card>.lg-spec{filter:url(#lgLiquidCard)}
/* 反射扫光带：收窄带宽、降上限；随主光源方位旋转角度，模拟液态玻璃表面的薄油润扫光 */
.lg-sheen{
  background:linear-gradient(var(--reflect-angle,120deg),transparent 42%,rgba(255,255,255,.46) 50%,transparent 58%);
  mix-blend-mode:soft-light;
  opacity:calc(.10 + var(--lit,0)*.30); /* 白天上限 .40 */
}
html[data-theme="dark"] .lg-sheen{mix-blend-mode:screen;opacity:calc(.04 + var(--lit,0)*.18)} /* 夜间上限 .22 */
/* 菲涅尔边缘光：高光只聚焦在光源附近的一小段边缘，卡片中心/其余边缘保持克制；不再用纯白，混入极淡品牌蓝，避免过曝白条 */
.lg-rim{
  padding:1.5px;
  background:
    radial-gradient(circle 170px at var(--mx,30%) var(--my,-30%),rgba(232,240,255,var(--rim-hot)),rgba(150,198,255,.55) 42%,rgba(255,165,208,.36) 68%,transparent 86%),
    conic-gradient(from 210deg,rgba(120,175,255,.55),rgba(236,242,255,.72) 16%,rgba(255,150,200,.42) 40%,rgba(236,242,255,.6) 58%,rgba(170,146,255,.42) 80%,rgba(120,175,255,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  opacity:calc(var(--rim-base) + var(--lit,0)*(var(--rim-max,.7) - var(--rim-base)));
}
html[data-theme="dark"] .lg-rim{--rim-max:.36}
.logo-mark{isolation:isolate}
.cursor-glow{display:none !important}

/* Hero 圆球随光源亮起：只在桌面（html[data-fx="desktop"]）覆盖基础样式，移动端保持原有静态阴影 */
html[data-fx="desktop"] .hero-core{filter:drop-shadow(0 0 calc(45px + var(--lit,0)*40px) rgba(111,169,255,calc(.25 + var(--lit,0)*.30)))}
html[data-fx="desktop"] .hero-core::before{opacity:calc(.7 + var(--lit,0)*.3)}
html[data-fx="desktop"] .hero-core::after{opacity:calc(.6 + var(--lit,0)*.4)}

/* ---- 白天：晨曦玻璃空间（纯渐变，无 filter/blur，所有设备都便宜，全设备保留）---- */
html:not([data-theme="dark"]) body{
  background:
    radial-gradient(1100px 720px at 6% 2%,rgba(120,175,255,.42),transparent 66%),
    radial-gradient(980px 700px at 96% 14%,rgba(255,160,200,.32),transparent 66%),
    radial-gradient(1000px 780px at 58% 96%,rgba(176,146,255,.24),transparent 70%),
    linear-gradient(180deg,#e2ecfb 0%,#eef1fb 38%,#f6effa 72%,#fbeaf2 100%);
}
/* 斜射光带：收敛峰值透明度，避免大片白雾盖过卡片主体 */
html:not([data-theme="dark"]) body::before{
  inset:-10% -25%;opacity:.82;
  background:
    linear-gradient(112deg,transparent 18%,rgba(255,255,255,.40) 30%,transparent 42%),
    linear-gradient(112deg,transparent 47%,rgba(255,255,255,.24) 55%,transparent 63%),
    radial-gradient(520px 300px at 50% 8%,rgba(255,255,255,.55) ,transparent 72%),
    radial-gradient(300px 220px at 28% 34%,rgba(255,255,255,.18),transparent 72%);
  animation:shaftDrift 30s ease-in-out infinite alternate;
}
@keyframes shaftDrift{from{transform:translate3d(-5%,0,0)}to{transform:translate3d(5%,0,0)}}
/* 极光/光场氛围：昼夜分离，白天进一步收浓度、降饱和，不抢卡片主体视觉权重 */
html:not([data-theme="dark"]) .lightfield-canvas{mix-blend-mode:normal;opacity:.88;filter:saturate(1.05)}
html:not([data-theme="dark"]) .aurora{mix-blend-mode:normal;opacity:.24}
html:not([data-theme="dark"]) .aurora.a4{background:rgba(255,236,214,.9);opacity:.16}
html:not([data-theme="dark"]) .aurora.a5{opacity:.15}
html[data-theme="dark"] .aurora{opacity:.30}
/* 光轨线条：只做极微弱的空间点缀，白天几乎淡出，夜间适度可见，不作为视觉焦点 */
html:not([data-theme="dark"]) .light-route{opacity:.22;box-shadow:0 0 12px rgba(130,180,255,.18),0 0 24px rgba(255,143,199,.10)}
html[data-theme="dark"] .light-route{opacity:.48}
/* 玻璃基底：白天下调白色描边/内高光强度并混入品牌蓝白，杜绝纯白过曝描边 */
:where(html:not([data-theme="dark"])) .glass{
  border-color:rgba(226,236,255,.80);
  box-shadow:
    0 28px 80px rgba(88,124,190,.17),
    0 8px 22px rgba(88,124,190,.09),
    inset 0 1.5px 0 rgba(255,255,255,.68),
    inset 0 -22px 44px rgba(150,190,255,.14),
    inset 0 0 0 1px rgba(255,255,255,.28);
}
/* .glass::before 是覆盖全卡的白色蒙层，原透明度 1 / .78 是发雾发灰的主因，这里大幅下调，
   同时保障文字可读性——蒙层依旧在文字下方（z-index 由 .glass 的 isolation/伪元素层级保证），不影响对比度 */
html:not([data-theme="dark"]) .glass::before{opacity:.52 !important}
html[data-theme="dark"] .glass::before{opacity:.30 !important}
/* 桌面才叠加更强的模糊/饱和度（有独显撑得住）；移动端/平板端交给下方的静态覆盖块，不叠加 backdrop-filter。
   白天适度调低模糊+饱和度（原 40px/200% 偏厚重脏灰）；夜间同步给一套独立、更低饱和的数值，规避噪点颗粒感 */
html[data-fx="desktop"]:not([data-theme="dark"]) .glass{
  -webkit-backdrop-filter:blur(30px) saturate(165%) brightness(1.02);
  backdrop-filter:blur(30px) saturate(165%) brightness(1.02);
}
html[data-fx="desktop"][data-theme="dark"] .glass{
  -webkit-backdrop-filter:blur(34px) saturate(148%);
  backdrop-filter:blur(34px) saturate(148%);
}

@media (prefers-reduced-motion:reduce){
  .lg-spec,html:not([data-theme="dark"]) body::before{animation:none !important}
}

/* =========================================================
   移动端 / 平板端：静态高质感 UI（性能优先）
   现象：Chrome/Edge + 部分骁龙/天玑机型上，大量叠加的 backdrop-filter 持续重绘
   是卡顿、闪屏、崩溃的主因；这里直接关闭所有 backdrop-filter 与持续动画，
   改用更高不透明度的渐变 + 描边 + 阴影，把“玻璃感”做成一次性绘制的静态效果。
   ========================================================= */
@media (max-width:1050px), (pointer:coarse){
  *{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  :root{
    --surface:rgba(255,255,255,.86);
    --surface-strong:rgba(255,255,255,.95);
    --surface-soft:rgba(255,255,255,.64);
  }
  html[data-theme="dark"]{
    --surface:rgba(22,27,39,.88);
    --surface-strong:rgba(28,34,48,.95);
    --surface-soft:rgba(22,27,39,.66);
  }
  .glass{box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.55)}
  html[data-theme="dark"] .glass{box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.08)}
  :where(html:not([data-theme="dark"])) .glass{
    box-shadow:
      0 22px 60px rgba(88,124,190,.16),
      inset 0 1.5px 0 rgba(255,255,255,.95),
      inset 0 -16px 32px rgba(150,190,255,.14);
  }

  /* 关闭一切持续动画：漂移光斑、旋转光环、扫光、跑马灯——静态构图，零持续重绘 */
  .aurora,.light-route,.hero-core,.hero-core::before,.hero-core::after,
  .hero-orbit::before,.hero-orbit::after,.halo-1,.halo-2,
  .logo-mark::after,.float-card,.float-a,.float-b,.float-c,
  body::before,.lg-spec{
    animation:none !important;
  }
  .light-beam,.light-bloom{display:none !important}
  .marquee{display:none !important}

  /* 光场画布：彻底不显示（JS 已同步跳过整段初始化，双重保险） */
  .lightfield-canvas{display:none !important}

  /* 极光光斑：不再用 filter:blur 实时合成，改成本身就是柔边的径向渐变——
     没有 filter、没有 mix-blend-mode，滚动时不需要重新合成，观感接近但代价几乎为零 */
  .aurora{
    filter:none !important;
    mix-blend-mode:normal !important;
    opacity:.5 !important;
  }
  .aurora.a1{background:radial-gradient(circle,rgba(109,168,255,.55) 0%,rgba(158,203,255,.30) 32%,transparent 68%) !important}
  .aurora.a2{background:radial-gradient(circle,rgba(255,143,202,.50) 0%,rgba(255,209,229,.28) 32%,transparent 68%) !important}
  .aurora.a3{background:radial-gradient(circle,rgba(158,124,255,.46) 0%,rgba(211,186,255,.26) 32%,transparent 68%) !important}
  .aurora.a4,.aurora.a5{display:none !important}

  /* Hero 圆球的光环层：每层都是独立的 filter:blur，直接关掉，圆球本体的渐变/描边保留 */
  .hero-core::before,.hero-core::after,.halo-1,.halo-2,.halo-3{display:none !important}
  .hero-core,.hero-core img{filter:none !important}
  .manifesto .symbol,.logo-mark img{filter:none !important}

  /* 触屏没有真正的 hover：连过渡本身都关掉，避免点按后残留的 box-shadow/transform 过渡在滚动时叠加造成卡顿 */
  .glass,.feature-card,.mini-card,.quote-panel,.fact-panel,.manifesto,
  .work-card,.member,.friend-card,.contact-panel,.btn,.icon-btn,.lang-select{
    transition:none !important;
  }
}

/* =========================================================
   移动端 / 平板端：静态玻璃质感精修
   原则：只用“一次性绘制”的渐变 + 阴影 + 描边，不加任何 filter / backdrop-filter / blend / 动画 / 新元素。
   目标：通透（背景色斑能透出来）、边缘有细窄菲涅尔亮边、顶部薄油润高光、底部淡色反射，昼夜各自独立。
   ========================================================= */
@media (max-width:1050px), (pointer:coarse){
  /* 没有模糊可用，靠适度降低底色不透明度 + 上部渐变高光来保持通透，同时文字底色仍足够稳 */
  :root{
    --surface:rgba(255,255,255,.72);
    --surface-strong:rgba(255,255,255,.94);
    --surface-soft:rgba(255,255,255,.50);
  }
  html[data-theme="dark"]{
    --surface:rgba(22,28,42,.78);
    --surface-strong:rgba(28,34,50,.95);
    --surface-soft:rgba(22,28,42,.58);
  }
  .glass{
    background:
      linear-gradient(160deg,rgba(255,255,255,.60) 0%,rgba(255,255,255,.14) 36%,rgba(198,218,255,.10) 74%,rgba(255,196,224,.16) 100%),
      var(--surface);
    border-color:rgba(226,236,255,.86);
    box-shadow:
      0 22px 54px rgba(88,124,190,.15),
      0 4px 12px rgba(88,124,190,.08),
      inset 0 1.5px 0 rgba(255,255,255,.92),
      inset 1px 0 0 rgba(255,255,255,.34),
      inset 0 -18px 30px rgba(150,190,255,.14),
      inset 0 0 0 1px rgba(255,255,255,.28);
  }
  html[data-theme="dark"] .glass{
    background:
      linear-gradient(160deg,rgba(214,226,255,.11) 0%,rgba(255,255,255,.02) 38%,rgba(120,160,255,.06) 78%,rgba(255,140,200,.07) 100%),
      var(--surface);
    border-color:rgba(190,206,255,.16);
    box-shadow:
      0 20px 46px rgba(0,0,0,.36),
      inset 0 1px 0 rgba(200,216,255,.18),
      inset 0 -14px 26px rgba(110,150,255,.06),
      inset 0 0 0 1px rgba(255,255,255,.03);
  }
  /* 小型玻璃件（浮卡、徽章）保持同一语言但更轻 */
  .float-card,.eyebrow{
    background:
      linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,.12) 60%,rgba(255,196,224,.14)),
      var(--surface);
  }
  html[data-theme="dark"] .float-card,html[data-theme="dark"] .eyebrow{
    background:linear-gradient(160deg,rgba(214,226,255,.10),rgba(255,255,255,.02) 60%),var(--surface);
  }
  /* Hero 圆球：光环层已关闭，用静态外发光 + 内高光补回“会发光的玻璃球”观感 */
  .hero-core{
    box-shadow:
      0 30px 90px rgba(111,169,255,.30),
      0 0 60px rgba(255,150,205,.16),
      inset 0 2px 0 rgba(255,255,255,.7),
      inset 0 -30px 60px rgba(150,190,255,.20);
  }
  html[data-theme="dark"] .hero-core{
    box-shadow:
      0 30px 90px rgba(90,130,255,.26),
      0 0 60px rgba(255,120,190,.12),
      inset 0 1px 0 rgba(210,224,255,.30),
      inset 0 -30px 60px rgba(110,150,255,.10);
  }
}

/* 系统开启“减弱动画”：所有装饰性动画全部停止，玻璃退化为静态 UI（不影响布局与文字） */
@media (prefers-reduced-motion:reduce){
  .aurora,.light-route,.hero-core,.hero-core::before,.hero-core::after,
  .hero-orbit::before,.hero-orbit::after,.halo-1,.halo-2,.halo-3,
  .logo-mark::after,.float-card,.marquee-track,.light-mote,body::before{
    animation:none !important;
  }
  .light-mote-field{display:none}
}

/* 移动端/平板：导航栏悬浮在滚动内容之上且无模糊，底色提到近实色，避免下方标题透出干扰导航文字 */
@media (max-width:1050px), (pointer:coarse){
  .navbar .nav-inner{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,255,.96))}
  html[data-theme="dark"] .navbar .nav-inner{background:linear-gradient(180deg,rgba(34,40,58,.97),rgba(24,30,46,.97))}
}
