
/*! NO8GEO-AUTHORSHIP-20261013 | 教学设计与平台开发：史若彬 | 版权所有，仅限个人使用，侵权必究 | no8geo.online
 * 声明适用于本站原创教学设计及平台开发；第三方库、授权素材与共创作品保留各自作者及许可。 */
/* no8geo.online · Geography Observatory homepage · 2026-09-13 */
:root {
  --home-bg:#f5f8fc;
  --home-bg-2:#eaf1f8;
  --home-panel:rgba(255,255,255,.46);
  --home-panel-solid:rgba(255,255,255,.78);
  --home-panel-soft:rgba(241,248,255,.52);
  --home-text:#10243a;
  --home-muted:#566b80;
  --home-faint:#7d8da0;
  --home-line:rgba(255,255,255,.62);
  --home-line-strong:rgba(12,139,151,.48);
  --home-cyan:#087f8c;
  --home-cyan-bright:#0b9ca4;
  --home-blue:#315fca;
  --home-gold:#9a701d;
  --home-shadow:inset 0 1px 0 rgba(255,255,255,.84),inset 0 -1px 0 rgba(72,119,157,.08),0 24px 64px -42px rgba(26,62,99,.52);
  --home-shadow-hover:inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 0 rgba(72,119,157,.12),0 28px 68px -38px rgba(24,72,111,.55);
  --glass-clear:rgba(255,255,255,.38);
  --glass-thick:rgba(255,255,255,.54);
  --glass-rim:rgba(255,255,255,.76);
  --glass-specular:rgba(255,255,255,.72);
  --home-feature:url('./backgrounds/home-light-6787.jpg');
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}

html[data-theme="dark"] {
  --home-bg:#050914;
  --home-bg-2:#08111f;
  --home-panel:rgba(8,18,34,.46);
  --home-panel-solid:rgba(12,26,46,.76);
  --home-panel-soft:rgba(17,36,61,.48);
  --home-text:#f4f8fc;
  --home-muted:#aab8c8;
  --home-faint:#77889d;
  --home-line:rgba(148,180,215,.18);
  --home-line-strong:rgba(103,232,249,.42);
  --home-cyan:#67e8f9;
  --home-cyan-bright:#22d3ee;
  --home-blue:#818cf8;
  --home-gold:#d8b66c;
  --home-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(0,0,0,.12),0 26px 72px -42px rgba(0,0,0,.92);
  --home-shadow-hover:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.18),0 30px 76px -38px rgba(0,0,0,.96);
  --glass-clear:rgba(8,18,34,.34);
  --glass-thick:rgba(8,18,34,.52);
  --glass-rim:rgba(185,218,248,.18);
  --glass-specular:rgba(163,225,255,.24);
  --home-feature:url('./backgrounds/home-dark-6788.jpg');
}

html {
  scroll-behavior:smooth;
  scroll-snap-type:none;
  overscroll-behavior-y:auto;
  background:var(--home-bg);
}

body {
  max-width:none;
  overflow-x:hidden;
  color:var(--home-text);
  background:
    radial-gradient(900px 560px at 84% -8%, color-mix(in srgb,var(--home-cyan) 18%,transparent), transparent 72%),
    radial-gradient(720px 520px at -8% 18%, color-mix(in srgb,var(--home-blue) 14%,transparent), transparent 76%),
    radial-gradient(840px 620px at 84% 72%, color-mix(in srgb,var(--home-cyan) 10%,transparent), transparent 74%),
    linear-gradient(180deg,var(--home-bg),var(--home-bg-2));
  background-attachment:fixed;
  transition:background-color 220ms ease,color 180ms ease;
}

body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(var(--home-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--home-line) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,black,transparent 68%);
}

.skip-link {
  position:fixed;
  left:18px;
  top:12px;
  z-index:100;
  padding:10px 14px;
  color:var(--home-panel-solid);
  background:var(--home-text);
  border-radius:8px;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform 160ms var(--ease-out);
}

.skip-link:focus { transform:translateY(0); }

body > .bg {
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  background:transparent;
}

body > .bg::before {
  content:"";
  position:absolute;
  width:min(48vw,680px);
  aspect-ratio:1;
  right:-18vw;
  top:28vh;
  border:1px solid color-mix(in srgb,var(--home-cyan) 20%,transparent);
  border-radius:50%;
  box-shadow:
    0 0 0 88px color-mix(in srgb,var(--home-cyan) 2%,transparent),
    0 0 0 176px color-mix(in srgb,var(--home-blue) 2%,transparent);
}

body > .bg::after,
body > .bg :is(.stars,.stars2,.glow,.earth-visual) { display:none; }

.time-pill,
.theme-choice {
  position:absolute;
  top:24px;
  z-index:61;
  min-height:44px;
  border:1px solid var(--glass-rim);
  background:linear-gradient(135deg,color-mix(in srgb,var(--glass-clear) 90%,white 10%),color-mix(in srgb,var(--glass-clear) 96%,transparent));
  box-shadow:inset 0 1px 0 var(--glass-specular),0 16px 38px -26px rgba(16,42,72,.72);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  backdrop-filter:blur(22px) saturate(180%);
}

.time-pill {
  left:max(22px,calc((100vw - 1180px)/2));
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 13px;
  border-radius:12px;
}

.time-pill__dot {
  width:8px;
  height:8px;
  flex:none;
  border-radius:50%;
  background:var(--home-cyan-bright);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--home-cyan) 12%,transparent);
}

.time-pill__copy { display:flex;align-items:baseline;gap:8px; }
.time-pill__clock { color:var(--home-text);font:700 13px/1 var(--font-num);font-variant-numeric:tabular-nums; }
.time-pill__date { color:var(--home-faint);font-size:12px; }

.theme-choice {
  right:max(22px,calc((100vw - 1180px)/2));
  display:grid;
  grid-template-columns:repeat(2,64px);
  gap:3px;
  padding:4px;
  border-radius:13px;
}

.theme-choice__button {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--home-faint);
  font:700 12px/1 var(--font-cn);
  cursor:pointer;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease,transform 120ms var(--ease-out);
}

.theme-choice__button[aria-pressed="true"] {
  color:var(--home-text);
  border-color:color-mix(in srgb,var(--glass-rim) 84%,var(--home-cyan));
  background:linear-gradient(145deg,color-mix(in srgb,var(--glass-thick) 84%,white 16%),var(--glass-thick));
  box-shadow:inset 0 1px 0 var(--glass-specular),0 5px 14px -10px rgba(20,82,110,.58);
}

.theme-choice__button:active { transform:scale(.97); }
.theme-choice__button:focus-visible { outline:3px solid color-mix(in srgb,var(--home-cyan) 28%,transparent);outline-offset:2px; }
.theme-choice__orb { width:14px;height:14px;display:block;border-radius:50%; }
.theme-choice__orb--sun { background:#f0ad35;box-shadow:0 0 0 3px rgba(240,173,53,.13); }
.theme-choice__orb--moon { background:#7897c8;box-shadow:inset -3px -1px 0 #415f91; }

.wrap {
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 44px));
  max-width:none;
  margin:0 auto;
  padding:98px 0 88px;
}

.welcome-stage {
  position:relative;
  top:auto;
  left:auto;
  z-index:auto;
  transform:none;
  width:100%;
  min-height:430px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:18px;
  padding:0;
}

.welcome-stage.welcome-stage--single { grid-template-columns:minmax(0,1fr); }

.welcome-stage .hero-inner,
.feature-observation {
  border:1px solid var(--glass-rim);
  border-radius:26px;
  box-shadow:var(--home-shadow);
}

.welcome-stage .hero-inner {
  min-width:0;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  padding:clamp(34px,5vw,64px);
  background:
    linear-gradient(128deg,color-mix(in srgb,var(--glass-thick) 88%,white 12%),color-mix(in srgb,var(--glass-thick) 96%,transparent)),
    radial-gradient(420px 260px at 8% 0%,color-mix(in srgb,var(--home-cyan) 14%,transparent),transparent 72%);
  -webkit-backdrop-filter:blur(34px) saturate(165%);
  backdrop-filter:blur(34px) saturate(165%);
}

.home-eyebrow {
  margin:0 0 18px;
  color:var(--home-cyan);
  font:700 12px/1.2 var(--font-num);
  letter-spacing:.12em;
}

.welcome-stage h1 {
  max-width:720px;
  margin:0;
  color:var(--home-text);
  font-size:clamp(40px,5.6vw,72px);
  font-weight:800;
  line-height:1.03;
  letter-spacing:-.045em;
}

.welcome-stage h1 .grad {
  color:var(--home-cyan);
  background:none;
  -webkit-text-fill-color:currentColor;
}

.welcome-stage .lead {
  max-width:590px;
  margin:24px 0 0;
  color:var(--home-muted);
  font-size:16px;
  line-height:1.75;
}

.hero-actions { display:flex;align-items:stretch;gap:10px;margin-top:30px; }

.hero-primary,
.hero-secondary {
  min-height:54px;
  border-radius:17px;
  text-decoration:none;
  transition:transform 140ms var(--ease-out),border-color 180ms ease,background-color 180ms ease,color 180ms ease;
}

.hero-primary {
  min-width:250px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:24px;
  padding:11px 15px 11px 17px;
  color:#031317;
  background:color-mix(in srgb,var(--home-cyan-bright) 86%,transparent);
  border:1px solid color-mix(in srgb,var(--home-cyan-bright) 74%,white);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 12px 26px -18px color-mix(in srgb,var(--home-cyan) 72%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
}

.hero-primary span { font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.7; }
.hero-primary strong { grid-column:1;font-size:14px;line-height:1.3; }
.hero-primary i { grid-column:2;grid-row:1 / 3;font-style:normal;font-size:21px; }

.hero-secondary {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  color:var(--home-text);
  border:1px solid var(--glass-rim);
  background:var(--glass-clear);
  box-shadow:inset 0 1px 0 var(--glass-specular);
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
  font-size:13px;
  font-weight:700;
}

.hero-primary:active,
.hero-secondary:active,
.feature-observation:active,
a.card:active { transform:scale(.98); }

.hero-primary:focus-visible,
.hero-secondary:focus-visible,
.feature-observation:focus-visible,
a.card:focus-visible,
.catnav a:focus-visible {
  outline:3px solid color-mix(in srgb,var(--home-cyan) 32%,transparent);
  outline-offset:3px;
}

.hero-meta { display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:28px;color:var(--home-faint);font-size:12px; }
.hero-meta span { display:flex;align-items:center;gap:6px; }
.hero-meta span + span::before { content:"";width:3px;height:3px;margin-right:8px;border-radius:50%;background:var(--home-cyan); }
.hero-meta b { color:var(--home-text);font-family:var(--font-num);font-size:13px; }

.feature-observation {
  position:relative;
  min-height:430px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:32px;
  color:white;
  text-decoration:none;
  isolation:isolate;
  background-image:
    linear-gradient(180deg,rgba(3,10,24,.06) 12%,rgba(3,10,24,.34) 50%,rgba(3,10,24,.95) 100%),
    var(--home-feature);
  background-position:center;
  background-size:cover;
  transition:transform 180ms var(--ease-out),border-color 180ms ease,box-shadow 180ms ease,filter 180ms ease;
}

.feature-observation::before {
  content:"";
  position:absolute;
  inset:16px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  pointer-events:none;
}

.feature-kicker { color:#93f5e3;font:700 11px/1.2 var(--font-num);letter-spacing:.12em; }
.feature-title { margin-top:10px;font-size:clamp(25px,3vw,36px);font-weight:800;line-height:1.15;letter-spacing:-.025em; }
.feature-copy { max-width:340px;margin-top:12px;color:rgba(239,247,255,.78);font-size:14px;line-height:1.65; }
.feature-link { display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:700; }
.feature-link i { font-style:normal;font-size:18px; }

.catnav {
  position:sticky;
  top:12px;
  left:auto;
  z-index:40;
  transform:none;
  width:100%;
  margin:22px 0 0;
  padding:7px;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
  border:1px solid var(--glass-rim);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--glass-clear) 92%,white 8%),var(--glass-clear));
  box-shadow:inset 0 1px 0 var(--glass-specular),0 18px 46px -30px rgba(8,31,58,.88);
  -webkit-backdrop-filter:blur(28px) saturate(185%);
  backdrop-filter:blur(28px) saturate(185%);
}

.catnav a {
  min-width:0;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:9px;
  color:var(--home-muted);
  font-size:13px;
  font-weight:650;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease,transform 120ms var(--ease-out);
}

.catnav a.active {
  color:var(--home-cyan);
  border-color:color-mix(in srgb,var(--home-cyan) 18%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--glass-thick) 78%,var(--home-cyan) 22%),var(--glass-thick));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--glass-specular) 82%,white),0 8px 18px -14px color-mix(in srgb,var(--home-cyan) 58%,transparent);
}

.catnav a:active { transform:scale(.97); }

section {
  height:auto;
  min-height:0;
  margin:76px 0 0;
  padding:0;
  scroll-margin-top:82px;
  scroll-snap-align:none;
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:34px;
  align-items:start;
}

.sec-head {
  position:sticky;
  top:82px;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  width:auto;
  max-width:none;
  margin:0;
  padding:4px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.sec-icon {
  width:40px;
  height:40px;
  border-radius:10px;
  color:var(--home-cyan);
  background:color-mix(in srgb,var(--home-cyan) 8%,var(--home-panel-soft));
  border:1px solid color-mix(in srgb,var(--home-cyan) 18%,var(--home-line));
}

.sec-title { flex:1;min-width:120px;color:var(--home-text);font-size:18px;font-weight:750;line-height:1.35;letter-spacing:-.01em; }
.sec-count { margin:8px 0 0 52px;padding:0;color:var(--home-faint);background:transparent;border:0;border-radius:0;font:700 11px/1 var(--font-num);letter-spacing:.12em; }
.sec-count::after { content:" 个主题";font-family:var(--font-cn);font-weight:500;letter-spacing:0; }
.sec-rule { display:none; }

.grid,
.grid--compact,
#lab .grid {
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0;
}

a.card,
html[data-theme="light"] a.card,
html[data-theme="dark"] a.card {
  position:relative;
  min-height:172px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:19px 19px 17px;
  overflow:hidden;
  isolation:isolate;
  color:var(--home-text);
  text-align:left;
  text-decoration:none;
  border:1px solid var(--glass-rim);
  border-radius:20px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-thick) 90%,white 10%),color-mix(in srgb,var(--glass-thick) 96%,transparent)),
    radial-gradient(240px 150px at 12% 0%,color-mix(in srgb,var(--home-cyan) 9%,transparent),transparent 72%);
  box-shadow:var(--home-shadow);
  transform:none;
  transform-style:flat;
  will-change:auto;
  -webkit-backdrop-filter:blur(26px) saturate(165%);
  backdrop-filter:blur(26px) saturate(165%);
  transition:transform 180ms var(--ease-out),border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease;
}

a.card::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.74;
  border-radius:inherit;
  background:linear-gradient(128deg,var(--glass-specular),transparent 22% 76%,color-mix(in srgb,var(--home-blue) 10%,transparent));
  pointer-events:none;
  transition:opacity 160ms ease;
}

a.card::after {
  content:"";
  position:absolute;
  z-index:0;
  width:170px;
  height:110px;
  right:-62px;
  top:-54px;
  display:block;
  border-radius:50%;
  opacity:.42;
  background:radial-gradient(circle,color-mix(in srgb,var(--glass-specular) 64%,var(--home-cyan)),transparent 68%);
  transform:translate3d(0,0,0) scale(.96);
  pointer-events:none;
  transition:opacity 180ms ease,transform 220ms var(--ease-out);
}
a.card > * { position:relative;z-index:1; }
a.card .no { color:var(--home-cyan);font:700 10px/1.2 var(--font-num);letter-spacing:.12em;opacity:.78; }
a.card .t { margin:12px 0 7px;color:var(--home-text);font-size:16px;font-weight:750;line-height:1.35;text-shadow:none; }
a.card .d { flex:1;color:var(--home-muted);font-size:13px;line-height:1.55;overflow-wrap:anywhere; }
a.card .tag {
  align-self:flex-start;
  margin-top:16px;
  padding:0;
  color:var(--home-blue);
  background:transparent;
  border:0;
  border-radius:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
}
#lab a.card {
  min-height:180px;
  padding:21px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-thick) 84%,var(--home-cyan) 16%),color-mix(in srgb,var(--glass-thick) 97%,transparent)),
    radial-gradient(260px 170px at 8% 0%,color-mix(in srgb,var(--home-cyan) 16%,transparent),transparent 72%);
  border-color:color-mix(in srgb,var(--glass-rim) 82%,var(--home-cyan));
}

#lab a.card .tag { padding:0;align-self:flex-start; }

footer { min-height:0;margin-top:72px;padding:28px 0;text-align:left;display:block;scroll-snap-align:none; }

@media (hover:hover) and (pointer:fine) {
  .theme-choice__button:hover,
  .catnav a:hover { color:var(--home-text);background:color-mix(in srgb,var(--glass-thick) 88%,var(--home-cyan) 12%); }
  .hero-primary:hover { transform:translateY(-2px);background:color-mix(in srgb,var(--home-cyan-bright) 88%,white); }
  .hero-secondary:hover { transform:translateY(-2px);border-color:var(--home-line-strong); }
  .feature-observation:hover { transform:translateY(-3px);border-color:rgba(147,245,227,.48);box-shadow:0 32px 76px -42px rgba(0,0,0,.86); }
  a.card:hover,
  html[data-theme="light"] a.card:hover {
    transform:translateY(-3px);
    color:var(--home-text);
    border-color:var(--home-line-strong);
    background:
      linear-gradient(145deg,color-mix(in srgb,var(--glass-thick) 80%,white 20%),color-mix(in srgb,var(--glass-thick) 94%,transparent)),
      radial-gradient(260px 170px at 8% 0%,color-mix(in srgb,var(--home-cyan) 15%,transparent),transparent 72%);
    box-shadow:var(--home-shadow-hover);
  }
  a.card:hover::before { opacity:1; }
  a.card:hover::after { opacity:.72;transform:translate3d(-8px,8px,0) scale(1.06); }
}

@media (max-width:980px) {
  .welcome-stage { grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); }
  .welcome-stage .hero-inner { padding:38px; }
  .welcome-stage h1 { font-size:clamp(38px,6.4vw,58px); }
  .hero-actions { flex-direction:column; }
  .hero-primary { min-width:0; }
  .grid,.grid--compact,#lab .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  section { grid-template-columns:170px minmax(0,1fr);gap:24px; }
}

@media (max-width:720px) {
  body::before { background-size:48px 48px; }
  .time-pill { left:12px;top:12px;min-height:40px;padding:6px 10px; }
  .time-pill__date { display:none; }
  .theme-choice { right:12px;top:12px;grid-template-columns:repeat(2,48px);min-height:40px; }
  .theme-choice__button { min-height:30px; }
  .theme-choice__button span:last-child { display:none; }
  .wrap { width:min(100% - 28px,620px);padding:76px 0 64px; }
  .welcome-stage { min-height:0;grid-template-columns:1fr; }
  .welcome-stage .hero-inner { padding:32px 24px 28px; }
  .welcome-stage h1 { font-size:clamp(38px,12vw,56px); }
  .welcome-stage .lead { margin-top:20px;font-size:15px; }
  .hero-actions { margin-top:26px; }
  .hero-primary,.hero-secondary { width:100%; }
  .hero-meta { gap:8px 14px;margin-top:22px; }
  .hero-meta span + span::before { display:none; }
  .feature-observation { min-height:350px;padding:26px; }
  .catnav { top:8px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible; }
  .catnav a { min-height:36px;padding:6px;font-size:12px; }
  section { margin-top:58px;grid-template-columns:1fr;gap:16px;scroll-margin-top:150px; }
  .sec-head { position:static;padding:0; }
  .sec-count { margin:0 0 0 auto; }
  .grid,.grid--compact,#lab .grid { grid-template-columns:1fr;gap:9px; }
  a.card,html[data-theme="light"] a.card,html[data-theme="dark"] a.card,#lab a.card {
    min-height:0;
    padding:17px;
  }
  a.card .t { margin-top:9px; }
  a.card .tag { margin-top:13px; }
}

@media (max-width:390px) {
  .welcome-stage .hero-inner { padding:28px 20px 24px; }
  .welcome-stage h1 { font-size:38px; }
  .feature-observation { min-height:320px;padding:22px; }
  .catnav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto;animation-duration:.01ms !important;animation-iteration-count:1 !important; }
  .skip-link,
  .theme-choice__button,
  .hero-primary,
  .hero-secondary,
  .feature-observation,
  .catnav a,
  a.card { transition-duration:.01ms; }
}

@media (prefers-reduced-transparency:reduce) {
  .time-pill,
  .theme-choice,
  .welcome-stage .hero-inner,
  .catnav,
  .hero-secondary,
  a.card,
  html[data-theme="light"] a.card,
  html[data-theme="dark"] a.card {
    background:var(--home-panel-solid);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

@media (prefers-contrast:more) {
  .time-pill,
  .theme-choice,
  .welcome-stage .hero-inner,
  .catnav,
  .hero-secondary,
  a.card,
  html[data-theme="light"] a.card,
  html[data-theme="dark"] a.card {
    border-color:currentColor;
    background:var(--home-panel-solid);
  }
}

@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
  .time-pill,
  .theme-choice,
  .welcome-stage .hero-inner,
  .catnav,
  .hero-secondary,
  a.card,
  html[data-theme="light"] a.card,
  html[data-theme="dark"] a.card { background:var(--home-panel-solid); }
}

.site-filing {
  width:min(100% - 40px,1320px);
  margin:0 auto;
  padding:0 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
}

.site-filing a {
  color:var(--home-muted);
  text-decoration:none;
  text-underline-offset:3px;
}

.site-filing a:hover,
.site-filing a:focus-visible {
  color:var(--home-accent);
  text-decoration:underline;
}

.site-filing__separator { color:var(--home-muted); }

@media (max-width:720px) {
  .site-filing { width:min(100% - 28px,620px); padding-bottom:20px; }
}

/* NO8GEO-20260928-12: compact site identity and lightweight topic previews. */
.welcome-stage { min-height:0; }
.welcome-stage .hero-inner {
  min-height:270px;
  align-items:center;
  text-align:center;
  padding:clamp(38px,5vw,64px) 24px;
  background-image:linear-gradient(100deg,rgba(3,16,36,.82),rgba(4,23,47,.58),rgba(3,16,36,.78)),var(--home-feature);
  background-size:cover;
  background-position:center;
  border-color:rgba(164,215,248,.25);
}
.welcome-stage .home-eyebrow {
  margin:0 0 15px;
  color:#69c6ff;
  font:700 15px/1.3 var(--font-num);
  letter-spacing:.12em;
}
.welcome-stage h1 {
  max-width:none;
  color:#fff;
  font-size:clamp(34px,5vw,66px);
  line-height:1.12;
  letter-spacing:.015em;
}
.welcome-stage h1 .hero-school { color:#fff; }
.welcome-stage h1 .grad { color:#69c6ff; }
.welcome-stage .lead {
  max-width:680px;
  margin:20px auto 0;
  color:#d4e7f6;
  font-size:15px;
  line-height:1.65;
}

/* NO8GEO-20260928-19: school and subject share one responsive title line. */
.welcome-stage h1 { font-size:clamp(24px,5vw,66px);white-space:nowrap; }
.welcome-stage h1 .hero-divider { color:#fff;font-size:.75em;letter-spacing:0; }
