
/* ============ 主题变量 ============ */
:root{
  color-scheme: dark light;
  --serif:"KaiTi","STKaiti","楷体","Noto Serif SC","Source Han Serif SC","SimSun","宋体",serif;
  --sans:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
  --radius:14px;
  --maxw:1120px;
}
html[data-theme="night"]{
  --bg0:#080d19; --bg1:#0c1323; --bg2:#121a2e; --bg3:#1a2440;
  --card:rgba(22,30,52,.72); --card-bd:rgba(212,162,79,.16);
  --ink:#EDE6D4; --ink2:#B9C2D6; --ink3:#7E88A6;
  --red:#C0392B; --red-hi:#D9594A; --red-ink:#F7EFDF;
  --gold:#D4A24F; --gold-hi:#E8C97E; --gold-dim:rgba(212,162,79,.14);
  --jade:#6FBF8A; --jade-hi:#A8E6B4; --jade-dim:rgba(111,191,138,.14);
  --line:rgba(140,160,210,.16);
  --moon:rgba(238,225,185,.9);
  --shadow:0 18px 46px rgba(0,0,0,.45);
  --hero-grad:radial-gradient(1200px 620px at 72% 8%, rgba(56,74,128,.55) 0%, rgba(12,19,35,0) 58%), linear-gradient(180deg, #0c1323 0%, #080d19 100%);
}
html[data-theme="light"]{
  --bg0:#F2EAD6; --bg1:#EFE5CD; --bg2:#FBF6E8; --bg3:#FFFFFF;
  --card:rgba(251,246,232,.82); --card-bd:rgba(160,120,60,.28);
  --ink:#2E2A22; --ink2:#5C5648; --ink3:#8A8271;
  --red:#B03A2E; --red-hi:#C94C3E; --red-ink:#FBF3E4;
  --gold:#8F6B2F; --gold-hi:#A87F36; --gold-dim:rgba(160,120,60,.12);
  --jade:#3E7D55; --jade-hi:#6FBF8A; --jade-dim:rgba(62,125,85,.12);
  --line:rgba(120,100,60,.22);
  --moon:rgba(180,150,90,.35);
  --shadow:0 16px 40px rgba(120,100,60,.18);
  --hero-grad:linear-gradient(180deg, #F6EFDC 0%, #F2EAD6 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans); color:var(--ink);
  background:transparent; min-height:100vh;
  transition:background .5s ease,color .5s ease;
}
html[data-theme="light"] body{background:var(--bg0)}
::selection{background:var(--red);color:var(--red-ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
b{font-weight:600}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;position:relative;z-index:2}

/* ============ 导航 ============ */
nav{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .4s,box-shadow .4s,border-color .4s;
  border-bottom:1px solid transparent}
nav.scrolled{background:color-mix(in srgb,var(--bg1) 82%,transparent);backdrop-filter:blur(14px);
  border-bottom-color:var(--line);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 22px;height:66px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);letter-spacing:.08em}
.brand img{width:40px;height:40px;border-radius:0;background:transparent;border:none;box-shadow:none}
.brand .b-name{font-size:19px;font-weight:600}
.b-name .mount-char{font-size:1.45em;font-weight:700;display:inline;vertical-align:-0.08em;background:linear-gradient(100deg,var(--gold),var(--jade));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand .b-sub{font-size:14px;background:linear-gradient(100deg,var(--gold),var(--jade));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.18em;display:block;margin-top:1px}
/* 文字印章：锦雲大字+山人小字 */
.text-seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--serif);line-height:1;letter-spacing:.05em}
.brand .text-seal{width:40px;height:40px;border-radius:8px;background:var(--red);color:var(--red-ink);
  box-shadow:inset 0 0 0 2px rgba(247,239,223,.5),0 4px 12px rgba(0,0,0,.25);padding:3px}
.brand .text-seal .ts-big{font-size:17px;font-weight:600}
.brand .text-seal .ts-small{font-size:8px;opacity:.85;margin-top:2px;letter-spacing:.1em}
.footer-mid .brandline .text-seal{width:30px;height:30px;border-radius:7px;background:var(--red);color:var(--red-ink);padding:2px}
.footer-mid .brandline .text-seal .ts-big{font-size:13px;font-weight:600}
.footer-mid .brandline .text-seal .ts-small{font-size:6px;opacity:.85;margin-top:1px}
.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav-links a{font-size:14.5px;color:var(--ink2);padding:8px 12px;border-radius:8px;position:relative;transition:color .25s,background .25s}
.nav-links a:hover{color:var(--ink);background:var(--gold-dim)}
html[data-theme="night"] .nav-links a:hover{background:rgba(212,162,79,.12)}
.nav-links a.on{color:var(--gold-hi)}
html[data-theme="light"] .nav-links a.on{color:var(--red)}
.nav-links a.ex::after{content:"↗";font-size:10px;vertical-align:super;margin-left:2px;opacity:.7}
.theme-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;cursor:pointer;
  display:grid;place-items:center;color:var(--ink2);transition:all .3s;flex:none}
.theme-btn:hover{color:var(--gold-hi);border-color:var(--gold)}
.theme-btn svg{width:19px;height:19px}
.theme-btn .ico-sun{display:none}
html[data-theme="light"] .theme-btn .ico-sun{display:block}
html[data-theme="light"] .theme-btn .ico-moon{display:none}
.burger{display:none;width:40px;height:40px;border:none;background:transparent;cursor:pointer;flex:none}
.burger span{display:block;width:22px;height:2px;margin:5px auto;background:var(--ink2);border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ Hero ============ */
.hero{position:relative;padding:150px 0 84px;background:transparent;transition:background .6s;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.seal-row{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--red);color:var(--red-ink);font-family:var(--serif);
  writing-mode:vertical-rl;letter-spacing:.18em;padding:7px 6px;border-radius:7px;font-size:13px;line-height:1.35;
  transform:rotate(-6deg);box-shadow:inset 0 0 0 2px rgba(247,239,223,.5),0 6px 16px rgba(0,0,0,.28)}
html[data-theme="light"] .seal{box-shadow:inset 0 0 0 2px rgba(251,243,228,.6),0 4px 10px rgba(120,60,40,.35)}
.where{font-size:13px;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:5px 13px;letter-spacing:.06em}
.hero-title{font-family:var(--serif);font-size:clamp(22px,3.7vw,39px);font-weight:600;letter-spacing:.10em;line-height:1.14;
  background:linear-gradient(100deg,var(--gold),var(--jade));
  -webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 44px rgba(212,162,79,.18)}
html[data-theme="light"] .hero-title{text-shadow:none}
.hero-title .qing{background:linear-gradient(100deg,var(--jade),var(--jade-hi));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-family:var(--serif);font-size:clamp(22px,3.7vw,39px);font-weight:600;letter-spacing:.10em;margin-top:12px;background:linear-gradient(100deg,var(--gold),var(--jade));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-hello{margin-top:26px;font-size:clamp(15px,2.2vw,19px);color:var(--ink)}
.hero-hello .grad{font-weight:700;background:linear-gradient(100deg,var(--gold),var(--red-hi));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-poem{margin-top:18px;font-family:var(--serif);font-size:clamp(15.5px,2.4vw,20px);line-height:2;background:linear-gradient(100deg,var(--gold),var(--jade));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-poem .hl{color:var(--red-hi);font-weight:600}
html[data-theme="light"] .hero-poem, html[data-theme="light"] .hero-sub{-webkit-text-stroke:.4px rgba(47,42,34,.08)}
.hero-quote{margin-top:16px;color:var(--ink3);font-size:14px;letter-spacing:.03em}
.hero-quote b{color:var(--gold-hi)}
html[data-theme="light"] .hero-quote b{color:var(--gold)}
.hero-role{margin-top:8px;color:var(--ink2);font-size:14.5px}
.hero-role b{color:var(--gold-hi)}
html[data-theme="light"] .hero-role b{color:var(--gold)}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.hero-tags span{font-family:var(--serif);font-size:13.5px;color:var(--ink2);border:1px dashed color-mix(in srgb,var(--gold) 45%,transparent);
  background:var(--gold-dim);border-radius:6px;padding:3px 12px;letter-spacing:.14em}
.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-size:16.5px;letter-spacing:.2em;
  padding:13px 28px;border-radius:10px;transition:transform .25s,box-shadow .25s,background .25s;cursor:pointer;border:none}
.btn:active{transform:scale(.97)}
.btn-red{background:linear-gradient(150deg,var(--red-hi),var(--red));color:var(--red-ink);box-shadow:0 10px 26px rgba(150,40,25,.4)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(150,40,25,.5)}
.btn-ink{background:var(--bg3);color:var(--ink);border:1px solid var(--line)}
.btn-ink:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--gold-hi)}
html[data-theme="light"] .btn-ink:hover{color:var(--red)}
.hero-visual{position:relative;min-height:380px;display:grid;place-items:center}
.hero-halo{position:absolute;width:480px;height:480px;border-radius:50%;opacity:.4;
  background:radial-gradient(circle,rgba(212,162,79,.34),rgba(111,191,138,.12) 52%,transparent 72%);
  animation:halo 7s ease-in-out infinite}
@keyframes halo{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.08);opacity:.65}}
.hero-video{position:relative;z-index:2;width:100%;max-width:860px;border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.42);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);
  background:#000;object-fit:cover}
@keyframes dragonFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1.2deg)}}
.hero-visual .ym{position:absolute;z-index:1;width:260px;opacity:0}
html[data-theme="light"] .hero-visual .ym{opacity:0}
.hero-visual .spark{position:absolute;z-index:3;font-family:var(--serif);color:var(--gold-hi);font-size:12px;letter-spacing:.2em;opacity:0}
.hero-visual .spark.s1{top:14%;left:6%;animation:spark 6s 1s infinite}
.hero-visual .spark.s2{bottom:16%;right:4%;animation:spark 7s 3.2s infinite}
@keyframes spark{0%,88%,100%{opacity:0;transform:translateY(6px)}92%{opacity:.9;transform:translateY(0)}}
.scroll-hint{position:absolute;left:50%;bottom:-54px;transform:translateX(-50%);color:var(--ink3);font-size:12px;letter-spacing:.3em;
  writing-mode:vertical-rl;text-orientation:mixed;padding:6px 4px}
.scroll-hint::after{content:"";display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(var(--ink3),transparent);
  animation:drip 2.2s infinite}
@keyframes drip{0%{opacity:0;transform:scaleY(0);transform-origin:top}40%{opacity:.8;transform:scaleY(1);transform-origin:top}100%{opacity:0;transform:scaleY(1);transform-origin:top}}

/* ============ 区块通用 ============ */
section{position:relative;padding:86px 0;z-index:2}
section:nth-of-type(odd){background:var(--bg1)}
section:nth-of-type(even){background:transparent}
#ai-timeline{background:transparent !important}
#yinglong,#oss,#hobbies,#travel,#about{background:transparent}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:44px}
.sec-num{font-family:var(--serif);font-size:15px;color:var(--red-ink);background:var(--red);border-radius:8px;
  padding:7px 12px;letter-spacing:.3em;box-shadow:0 6px 18px rgba(160,45,30,.35);flex:none}
.sec-title{font-family:var(--serif);font-size:clamp(22px,3.2vw,30px);letter-spacing:.14em;display:flex;align-items:center;gap:12px}
.sec-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.5}
.sec-en{color:var(--ink3);font-size:12px;letter-spacing:.28em;align-self:flex-end;padding-bottom:6px}
.sec-sub{color:var(--ink2);font-size:14.5px;line-height:1.9;max-width:720px;margin-top:-26px;margin-bottom:40px}

/* ============ 区块动画 reveal ============ */
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rev{opacity:1;transform:none;transition:none}
  .hero-video,.hero-halo,.hero-visual .spark,.scroll-hint::after,.star{animation:none!important}
  html{scroll-behavior:auto}
}

/* ============ 壹 应龙图专题 ============ */
.ylt-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.ylt-visual{position:relative;display:grid;place-items:center;min-height:320px}
.ylt-visual .dragon-lg{width:230px;z-index:2;filter:drop-shadow(0 24px 34px rgba(0,0,0,.4));animation:dragonFloat 5.5s ease-in-out infinite}
.ylt-visual .cloud{position:absolute;opacity:.75}
.ylt-visual .cloud.c1{width:320px;top:6%}
.ylt-visual .cloud.c2{width:260px;bottom:4%;right:2%}
.ylt-badge{position:absolute;z-index:3;font-family:var(--serif);background:var(--bg3);border:1px solid var(--gold);color:var(--gold-hi);
  border-radius:999px;padding:6px 14px;font-size:12.5px;letter-spacing:.18em;box-shadow:var(--shadow)}
html[data-theme="light"] .ylt-badge{color:var(--gold)}
.ylt-badge.b1{top:8%;right:6%;transform:rotate(4deg)}
.ylt-badge.b2{bottom:12%;left:2%;transform:rotate(-3deg)}
.ylt-copy .feat-title{font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);letter-spacing:.08em;line-height:1.5}
.ylt-copy .feat-title em{font-style:normal;color:var(--gold-hi)}
html[data-theme="light"] .ylt-copy .feat-title em{color:var(--red)}
.ylt-copy .feat-desc{color:var(--ink2);line-height:2;margin-top:16px;font-size:15px;letter-spacing:.03em}
.ylt-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.ylt-tags span{font-family:var(--serif);font-size:13.5px;color:var(--jade);border:1px solid color-mix(in srgb,var(--jade) 45%,transparent);
  background:var(--jade-dim);border-radius:6px;padding:5px 13px;letter-spacing:.16em}
html[data-theme="light"] .ylt-tags span{color:var(--jade)}
.ylt-cta{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}


/* ============ 卡片网格 ============ */
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}
.card{position:relative;display:block;background:var(--card);border:1px solid var(--card-bd);border-radius:var(--radius);
  padding:24px 22px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--red),var(--gold));opacity:0;transition:opacity .3s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold)}
.card:hover::before{opacity:1}
.card-tag{position:absolute;top:14px;right:16px;font-family:var(--serif);font-size:11px;letter-spacing:.3em;color:var(--ink3)}
.card h3{font-family:var(--serif);font-size:20px;letter-spacing:.1em;margin:12px 0 8px;display:flex;align-items:center;gap:10px}
.card h3 .c-ico{width:40px;height:40px;border-radius:10px;background:var(--bg3);border:1px solid var(--line);padding:6px;flex:none}
.card h3 .c-ico img{width:100%;height:100%;object-fit:contain}
.card p{color:var(--ink2);font-size:13.5px;line-height:1.8}
.card .go{margin-top:14px;font-family:var(--serif);font-size:13px;color:var(--gold-hi);letter-spacing:.2em;display:inline-flex;gap:6px;align-items:center}
html[data-theme="light"] .card .go{color:var(--red)}
.card:hover .go{gap:10px}
.card .go svg{width:12px;height:12px;transition:transform .3s}
.card:hover .go svg{transform:translateX(3px)}
.card-meta{font-size:12px;color:var(--gold-hi);letter-spacing:.05em;margin:-2px 0 6px;font-family:var(--serif)}
.card .c-stamp{position:absolute;right:18px;bottom:14px;font-family:var(--serif);color:var(--red);font-size:12px;letter-spacing:.26em;
  border:1.5px solid var(--red);border-radius:5px;padding:3px 8px;opacity:.55;transform:rotate(-7deg);background:var(--bg1)}

/* ============ 爱好分类折叠 ============ */
.category-fold{margin-bottom:18px;border:1px solid var(--card-bd);border-radius:var(--radius);background:var(--card);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.category-fold:hover{border-color:var(--gold)}
.category-header{display:flex;align-items:center;gap:14px;padding:18px 24px;cursor:pointer;user-select:none;transition:background .3s}
.category-header:hover{background:color-mix(in srgb,var(--gold) 6%,transparent)}
.cat-icon{font-size:20px;flex:none}
.cat-title{font-family:var(--serif);font-size:18px;letter-spacing:.12em;flex:1}
.cat-count{font-size:12px;color:var(--ink3);background:var(--bg3);border:1px solid var(--line);border-radius:999px;padding:2px 10px;letter-spacing:.06em}
.cat-arrow{font-size:12px;color:var(--gold-hi);transition:transform .35s ease;flex:none}
html[data-theme="light"] .cat-arrow{color:var(--red)}
.category-fold.open .cat-arrow{transform:rotate(180deg)}
.category-body{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .45s ease; padding:0 24px}
.category-fold.open .category-body{max-height:3000px;padding:0 24px 24px}
.category-body .grid.g3{padding-top:0}

.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:14px;margin-top:10px}
.sk-item{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 10px;border-radius:14px;background:var(--card);border:1px solid var(--card-bd);transition:all .3s;text-decoration:none}
.sk-item:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--shadow)}
.sk-icon{width:44px;height:44px;object-fit:contain;background:transparent;border:none;padding:0;box-sizing:border-box}
.sk-name{font-size:12px;color:var(--ink2);letter-spacing:.06em;text-align:center;transition:color .3s}
.sk-item:hover .sk-name{color:var(--gold-hi)}
html[data-theme="light"] .sk-item:hover .sk-name{color:var(--red)}

/* ============ 伍 游记时间线 ============ */
.travel{position:relative;max-width:760px;margin:0 auto}
.travel::before{content:"";position:absolute;left:12px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(var(--gold),var(--red),var(--jade),transparent);opacity:.5;border-radius:2px}
.tl-item{position:relative;padding:0 0 22px 52px}
.tl-item .dot{position:absolute;left:5px;top:4px;width:16px;height:16px;border-radius:50%;
  background:var(--bg1);border:3px solid var(--gold);box-shadow:0 0 0 4px var(--gold-dim)}
.tl-item .dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--red);opacity:0;transition:opacity .3s}
.tl-item:hover .dot::after{opacity:1}
.tl-item .place{font-family:var(--serif);font-size:17px;letter-spacing:.08em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.tl-item .year{font-family:var(--sans);font-size:12.5px;color:var(--gold-hi);letter-spacing:.14em}
html[data-theme="light"] .tl-item .year{color:var(--gold)}
.tl-item .note{font-size:12px;color:var(--ink3);margin-top:3px;letter-spacing:.1em}

/* ============ 伍B 游记地图 ============ */
.travel-map{position:relative;width:100%;max-width:900px;margin:0 auto 40px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,var(--bg1),var(--bg0));border:1px solid var(--card-bd);opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}
.travel-map.in{opacity:1;transform:translateY(0)}
.travel-map svg{display:block;width:100%;height:auto;aspect-ratio:1000/600}
.travel-map .land{transition:opacity .8s}
.travel-map .china-map .province{fill:var(--bg2);stroke:var(--gold-dim);stroke-width:.5;transition:opacity .8s,fill .3s}
html[data-theme="light"] .travel-map .china-map .province{opacity:.3;fill:var(--bg3)}
.travel-map .china-map .province:hover{fill:var(--bg3);stroke:var(--gold)}
html[data-theme="light"] .travel-map .land{opacity:.2}
.travel-map .route-line{stroke-dasharray:none;stroke-dashoffset:0;opacity:0}
.travel-map .map-car{opacity:0}
.travel-map.in .map-car{opacity:1;transition:opacity 2s 0.5s}
.travel-map .map-dot{fill:var(--gold);stroke:var(--bg0);stroke-width:2.5;transition:r .3s,fill .3s;cursor:pointer}
.travel-map .map-dot:hover{fill:var(--red-hi);r:7}
.travel-map .map-dot.on{fill:var(--red);r:8}
.travel-map .map-label{font-family:var(--sans);font-size:9px;fill:var(--ink3);text-anchor:middle;pointer-events:none;opacity:.7;transition:opacity .3s,fill .3s}
.travel-map .map-label.on{fill:var(--gold-hi);opacity:1}
.travel{display:none !important}
.travel-map .map-time{font-family:var(--sans);font-size:7.5px;fill:var(--gold-hi);text-anchor:middle;pointer-events:none;opacity:.55;transition:opacity .3s,fill .3s}
.travel-map .map-time.on{opacity:1;fill:var(--red-hi)}
.travel-map .map-landmark{fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;opacity:.5;transition:opacity .3s,stroke .3s;pointer-events:none}
.travel-map .map-landmark.on{stroke:var(--red-hi);opacity:1}
.travel-map .map-label{font-size:10px}
@media (max-width:600px){
  .travel-map{margin-bottom:28px}
  .travel-map .map-label{display:none}
}

/* ============ 陆 关于 ============ */
.about-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:44px;align-items:center}
.about-portrait{display:flex;flex-direction:column;align-items:center;gap:14px}
.about-portrait .big-seal{width:180px;height:180px;border-radius:10px;border:2px solid var(--gold);padding:4px;
  box-shadow:var(--shadow),0 0 0 1px rgba(212,162,79,.1);transition:transform .5s;object-fit:cover}
.about-portrait .big-seal:hover{transform:rotate(-3deg) scale(1.03)}
.about-portrait .seal-caption{font-family:var(--serif);color:var(--gold);letter-spacing:.3em;font-size:13px;margin-top:4px}
.about-copy h2{font-family:var(--serif);font-size:clamp(22px,3vw,28px);letter-spacing:.1em;margin-bottom:16px}
.about-copy h2 span{color:var(--gold-hi)}
html[data-theme="light"] .about-copy h2 span{color:var(--red)}
.about-copy p{color:var(--ink2);line-height:2.1;font-size:15px;letter-spacing:.02em}
.about-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.about-cta .mini{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 18px;
  color:var(--ink2);font-size:14px;transition:all .3s;background:var(--card)}
.about-cta .mini:hover{color:var(--gold-hi);border-color:var(--gold);transform:translateY(-2px)}
.about-cta .mini svg{width:17px;height:17px}
.about-cta .mini b{color:var(--ink);font-weight:600}


/* ============ Footer ============ */
footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:40px 0 34px;color:var(--ink3);font-size:13px}
.footer-top{max-width:var(--maxw);margin:0 auto;padding:0 22px 26px;display:flex;align-items:center;gap:14px}
.footer-top::before,.footer-top::after{content:"";flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 16px);opacity:.35}
.footer-top .fh{font-family:var(--serif);color:var(--gold);letter-spacing:.5em;font-size:14px}
.footer-mid{max-width:var(--maxw);margin:0 auto;padding:0 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;line-height:1.9}
.footer-mid .copy{letter-spacing:.06em}
.footer-mid a{color:var(--ink3);border-bottom:1px dashed var(--line)}
.footer-mid a:hover{color:var(--gold-hi)}
.footer-mid .brandline{display:flex;align-items:center;gap:10px}
.footer-mid .brandline img{width:30px;height:30px;border-radius:0;background:transparent;border:none;box-shadow:none}
.footer-made{max-width:var(--maxw);margin:0 auto;padding:18px 22px 0;text-align:center;font-size:11.5px;letter-spacing:.2em;opacity:.75}
.busuanzi{max-width:var(--maxw);margin:0 auto;padding:8px 22px;text-align:center;font-size:12px;letter-spacing:.12em;color:var(--ink3);opacity:.8}
.busuanzi span{display:inline-flex;align-items:center;gap:4px;margin:0 10px}
.busuanzi .num{color:var(--gold);font-weight:700;font-size:13.5px}

/* ============ lightbox ============ */
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  background:rgba(4,7,14,.82);backdrop-filter:blur(6px);padding:30px;cursor:zoom-out}
.lightbox.show{display:flex;animation:lb .3s ease}
@keyframes lb{from{opacity:0}to{opacity:1}}
.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:14px;border:1px solid rgba(212,162,79,.4);
  box-shadow:0 30px 80px rgba(0,0,0,.6);cursor:default}
.lightbox .lb-cap{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--ink3);font-size:13px;letter-spacing:.1em;
  background:rgba(10,14,26,.7);padding:7px 16px;border-radius:999px;white-space:nowrap}

/* ============ FPS / 返回顶部 ============ */
.to-top{position:fixed;right:20px;bottom:58px;z-index:80;width:42px;height:42px;border-radius:12px;
  background:var(--bg3);border:1px solid var(--gold);color:var(--gold-hi);cursor:pointer;display:grid;place-items:center;
  opacity:0;transform:translateY(10px);transition:.35s;box-shadow:var(--shadow)}
.to-top.show{opacity:1;transform:none}
.to-top:hover{background:var(--red);color:var(--red-ink);border-color:var(--red)}
html[data-theme="light"] .to-top{color:var(--red)}

/* ============ 响应式 ============ */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:10px}
  .hero-visual{min-height:300px;order:-1}
  .hero-video{max-width:100%}
  .g3{grid-template-columns:1fr 1fr}
  .ylt-feature{grid-template-columns:1fr;gap:10px}
  .about-grid{grid-template-columns:1fr;gap:34px}
  .hero{padding:110px 0 60px}
}
@media (max-width:760px){
  .hero-video{display:none}
  .nav-links{position:fixed;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;
    background:color-mix(in srgb,var(--bg1) 96%,transparent);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);padding:12px 18px 18px;display:none;box-shadow:0 24px 40px rgba(0,0,0,.3)}
  .nav-links.open{display:flex;animation:drop .28s ease}
  @keyframes drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  .nav-links a{padding:12px 14px;font-size:16px}
  .burger{display:block}
  .g3{grid-template-columns:1fr}
  .hero-title{letter-spacing:.06em}
  .hero-sub{letter-spacing:.06em}
  .sec-head{margin-bottom:34px}
  .hero-visual .ym{width:200px}
  .lightbox img{max-height:70vh}
}
@media (max-width:420px){
  .hero{ padding:100px 0 50px}
  .btn{width:100%;justify-content:center}
  .where{font-size:12px}
}
/* ============ AI Timeline 时间轴样式 ============ */
.timeline-wrap{position:relative;padding:20px 0 40px}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold-dim),var(--gold),var(--gold-dim));transform:translateX(-50%);opacity:.5}
.timeline-item{position:relative;margin-bottom:50px;display:flex;align-items:flex-start}
.timeline-item[data-side="left"]{flex-direction:row-reverse}
.timeline-item[data-side="left"] .timeline-content{margin-left:auto;margin-right:calc(50% + 40px);text-align:right}
.timeline-item[data-side="right"] .timeline-content{margin-left:calc(50% + 40px)}
.timeline-dot{position:absolute;left:50%;top:12px;width:14px;height:14px;background:var(--gold);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 4px var(--bg1),0 0 0 6px var(--gold-dim);z-index:2}
.timeline-content{width:calc(50% - 50px);background:var(--card);border:1px solid var(--card-bd);border-radius:var(--radius);padding:24px 26px;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s;opacity:1;transform:none}
.timeline-content::before{content:"";position:absolute;top:20px;width:0;height:0;border-style:solid}
.timeline-item[data-side="left"] .timeline-content::before{left:100%;border-width:8px 0 8px 10px;border-color:transparent transparent transparent var(--card-bd)}
.timeline-item[data-side="right"] .timeline-content::before{right:100%;border-width:8px 10px 8px 0;border-color:transparent var(--card-bd) transparent transparent}
.timeline-content:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}
.timeline-year{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-variant-numeric:tabular-nums;color:var(--gold-hi);letter-spacing:.04em;margin-bottom:6px;display:block;white-space:nowrap}
.timeline-date-note{font-size:11px;color:var(--ink3);line-height:1.7;margin:0 0 9px}
.timeline-date-guide{font-size:12px;color:var(--ink3);line-height:1.8;margin:-24px 0 40px;max-width:720px}
.timeline-title{font-family:var(--serif);font-size:18px;color:var(--ink);letter-spacing:.08em;margin-bottom:10px}
.timeline-desc{font-size:13.5px;color:var(--ink2);line-height:1.8}
.timeline-desc + .timeline-desc{margin-top:10px}
.timeline-sources{font-size:12px;color:var(--ink3);line-height:1.8;margin-top:12px}
.timeline-sources a{color:var(--gold-hi);text-decoration:underline;text-underline-offset:3px}
.timeline-sources a:hover{color:var(--ink)}
.timeline-tag{display:inline-block;font-size:11px;color:var(--red-hi);background:var(--gold-dim);padding:2px 8px;border-radius:4px;margin-top:10px;letter-spacing:.05em}
.timeline-era{position:relative;text-align:center;margin:60px 0 50px;z-index:2}
.timeline-era span{font-family:var(--serif);font-size:14px;color:var(--gold);letter-spacing:.3em;background:var(--bg1);padding:8px 24px;border:1px solid var(--card-bd);border-radius:30px;display:inline-block}
.timeline-content.in{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s ease}
@media (max-width:860px){
  .timeline-line{left:24px}
  .timeline-item,.timeline-item[data-side="left"]{flex-direction:row}
  .timeline-dot{left:24px}
  .timeline-content{width:calc(100% - 70px);margin-left:50px !important;margin-right:0 !important;text-align:left !important}
  .timeline-item[data-side="left"] .timeline-content::before,.timeline-item[data-side="right"] .timeline-content::before{left:auto;right:100%;border-width:8px 10px 8px 0;border-color:transparent var(--card-bd) transparent transparent}
}
@media (max-width:640px){
  .timeline-year{font-size:clamp(18px,5vw,22px)}
  .timeline-title{font-size:16px}
}

/* ============ GEEK LAYER（来自首页 demo） ============ */
:root{--mono:"JetBrains Mono","Fira Code","Cascadia Code","SF Mono",Menlo,Consolas,monospace;--neon:#5EE7FF;--neon2:#B26BFF}
html[data-theme="light"]{--neon:#0E7C99;--neon2:#7A3EE0}

/* 顶部进度条 */
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:99;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--gold),var(--neon),var(--neon2));box-shadow:0 0 12px var(--neon)}

/* 跑马灯 */
.marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--bg1) 70%,transparent);backdrop-filter:blur(6px);font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;color:var(--ink3);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:0;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{padding:12px 26px;white-space:nowrap;display:inline-flex;align-items:center;gap:12px}
.marquee-track span::after{content:"◆";color:var(--gold);font-size:8px;opacity:.7}
.marquee-track span b{color:var(--neon);font-weight:500}
@keyframes marquee{to{transform:translateX(-50%)}}

/* 区块标题 mono 化 */
.sec-en{font-family:var(--mono);letter-spacing:.28em}

/* 导航：滚动隐藏 + 霓虹底线 */
nav{transition:background .4s,box-shadow .4s,border-color .4s,transform .45s cubic-bezier(.4,0,.2,1)}
nav.hide{transform:translateY(-100%)}
nav.scrolled::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),var(--gold),transparent);opacity:.6}
.nav-links a::before{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--neon);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover::before,.nav-links a.on::before{transform:scaleX(1)}

/* 终端 */
.term-btn{position:fixed;left:20px;bottom:20px;z-index:80;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--neon);
  background:color-mix(in srgb,var(--bg1) 85%,transparent);border:1px solid color-mix(in srgb,var(--neon) 50%,transparent);border-radius:8px;padding:8px 12px;cursor:pointer;
  backdrop-filter:blur(8px);transition:.3s;box-shadow:0 0 0 rgba(94,231,255,0)}
.term-btn:hover{box-shadow:0 0 18px color-mix(in srgb,var(--neon) 40%,transparent);transform:translateY(-2px)}
.term-btn kbd{border:1px solid var(--line);border-radius:3px;padding:0 5px;margin-left:6px;font-size:10px;color:var(--ink3)}
.terminal{position:fixed;inset:auto 0 0 0;z-index:300;height:min(46vh,420px);transform:translateY(102%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  background:rgba(6,10,20,.92);backdrop-filter:blur(16px);border-top:1px solid color-mix(in srgb,var(--neon) 45%,transparent);
  box-shadow:0 -20px 60px rgba(0,0,0,.5);font-family:var(--mono);font-size:13.5px;color:#cfe6f0;display:flex;flex-direction:column}
.terminal.open{transform:none}
.terminal::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);opacity:.6}
.term-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:11.5px;color:#7fa0b0;letter-spacing:.1em}
.term-bar i{width:10px;height:10px;border-radius:50%;display:inline-block}
.term-bar i:nth-child(1){background:#ff5f57}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}
.term-bar .ttl{margin-left:8px}
.term-bar button{margin-left:auto;background:none;border:none;color:#7fa0b0;cursor:pointer;font-family:inherit;font-size:12px}
.term-out{flex:1;overflow:auto;padding:12px 16px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.term-out .p{color:#6FBF8A}.term-out .c{color:var(--neon)}.term-out .g{color:#D4A24F}.term-out .e{color:#ff6b6b}.term-out .d{color:#7fa0b0}
.term-out a{color:var(--neon);text-decoration:underline dotted}
.term-in{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08)}
.term-in .p{color:#6FBF8A}
.term-in input{flex:1;background:none;border:none;outline:none;color:#e8f4f8;font-family:inherit;font-size:13.5px;caret-color:var(--neon)}

/* Matrix rain */
.matrix{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:0;transition:opacity .6s}
.matrix.on{opacity:.85}

@media (max-width:760px){
  .term-btn{display:none}
  .terminal{height:60vh;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
  .geek-net{display:none}
}

/* Reading controls and a lighter timeline. */
[hidden]{display:none!important}
.skip-timeline{position:fixed;left:16px;top:-100px;z-index:500;padding:12px 18px;background:var(--bg3);color:var(--ink);border:1px solid var(--gold);border-radius:8px}
.skip-timeline:focus{top:12px}
#ai-timeline{scroll-margin-top:90px}
.timeline-controls{padding:20px;border:1px solid var(--card-bd);border-radius:var(--radius);background:var(--bg1);margin:0 0 20px;display:grid;grid-template-columns:minmax(200px,2fr) 1fr 1fr;gap:14px;position:relative;z-index:3}
.timeline-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--ink2)}
.timeline-controls input,.timeline-controls select{width:100%;min-width:0;min-height:44px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-size:14px}
.timeline-controls input::placeholder{color:var(--ink3)}
.timeline-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.timeline-actions button{min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;color:var(--ink2);background:var(--bg2);font:inherit;font-size:12px;cursor:pointer}
.timeline-actions button:hover{border-color:var(--gold);color:var(--gold-hi)}
.timeline-results{font-size:12px;color:var(--ink2);margin-right:auto;font-variant-numeric:tabular-nums}
.timeline-era-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;font-size:12px}
.timeline-era-links a{padding:8px 12px;background:var(--gold-dim);border-radius:999px;color:var(--gold-hi);border:1px solid transparent}
.timeline-era-links a:hover{border-color:var(--gold)}
.timeline-empty{padding:36px 20px;text-align:center;color:var(--ink2);border:1px dashed var(--line);border-radius:var(--radius)}
.timeline-item{content-visibility:auto;contain-intrinsic-size:auto 320px;scroll-margin-top:100px}
.timeline-item:target{content-visibility:visible}
.timeline-item:target .timeline-content{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim)}
.timeline-era{scroll-margin-top:100px}
.timeline-content{transform-style:flat;will-change:auto;text-align:left!important;overflow-wrap:anywhere}
.timeline-content:hover{transform:translateY(-2px)}
.timeline-title{line-height:1.65;letter-spacing:.035em}
.timeline-desc{font-size:14px;line-height:1.95}
.timeline-date-note,.timeline-date-guide,.timeline-sources{color:var(--ink2)}
.timeline-sources a{display:inline-block;padding:3px 0}
:where(a,button,input,select):focus-visible{outline:2px solid var(--gold-hi);outline-offset:4px}
html[data-effects-paused] .bg-scene *,html[data-effects-paused] .bg-scene *::before,html[data-effects-paused] .bg-scene *::after,html[data-effects-paused] .marquee-track{animation-play-state:paused!important}
html[data-effects-paused] .geek-net{visibility:hidden}
@media(max-width:760px){.timeline-controls{grid-template-columns:1fr 1fr;padding:16px}.timeline-field:first-child{grid-column:1/-1}.timeline-content{padding:20px}.timeline-era span{letter-spacing:.12em}.timeline-item{margin-bottom:28px}.timeline-era-links{gap:6px}.geek-net{display:none}}
@media(max-width:420px){.timeline-controls{grid-template-columns:1fr}.timeline-field:first-child{grid-column:auto}.timeline-actions{gap:8px}.timeline-results{flex-basis:100%}.timeline-content{padding:17px}.timeline-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.timeline-content:hover{transform:none}}
@media print{.bg-scene,.geek-grid,.geek-net,.marquee,nav,.timeline-controls,.timeline-era-links,.term-btn,.terminal,.to-top,.scroll-progress{display:none!important}.timeline-item{content-visibility:visible;contain-intrinsic-size:none;display:block;break-inside:avoid}.timeline-content{width:100%!important;margin:0!important;background:white;color:black;box-shadow:none}.timeline-desc,.timeline-title,.timeline-sources,.timeline-date-note{color:black}.timeline-line,.timeline-dot,.timeline-content::before{display:none}.timeline-era{margin:24px 0}.timeline-sources a{color:black}body,html[data-theme]{background:white}}

/* Era-specific surfaces and shared reading palette. */
html[data-theme="night"][data-epoch="era-1"]{--scene-base:#15120f;--scene-glow:#261d15;--epoch-accent:#d6b27e;--epoch-rgb:214,178,126;--bg0:#15120f;--bg1:#15120f;--bg2:#231e17;--bg3:#261d15;--gold:#d6b27e;--gold-hi:#d6b27e;--ink:#efe6d4;--ink2:#c6bba9;--line:rgba(214,178,126,.16)}
html[data-theme="light"][data-epoch="era-1"]{--scene-base:#ede3cf;--scene-glow:rgba(214,178,126,.18);--epoch-accent:#78552e;--epoch-rgb:214,178,126;--bg0:#ede3cf;--bg1:#ede3cf;--bg2:#ffffff;--bg3:#ffffff;--gold:#78552e;--gold-hi:#78552e;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-1"],#era-1,.timeline-era-links a[href="#era-1"],.epoch-dock a[href="#era-1"]{--chapter-accent:#d6b27e;--chapter-signal:#d6b27e;--chapter-surface:#e8d9bc;--chapter-ink:#332b20;--chapter-muted:#69573e;--chapter-radius:2px}
html[data-theme="light"] .timeline-item[data-era="era-1"],html[data-theme="light"] #era-1,html[data-theme="light"] .timeline-era-links a[href="#era-1"],html[data-theme="light"] .epoch-dock a[href="#era-1"]{--chapter-accent:#78552e;--chapter-signal:#78552e;--chapter-surface:#ede3cf;--chapter-ink:#24313d;--chapter-muted:#53616d}
html[data-theme="night"][data-epoch="era-2"]{--scene-base:#0c1512;--scene-glow:#10251d;--epoch-accent:#83d3ae;--epoch-rgb:131,211,174;--bg0:#0c1512;--bg1:#0c1512;--bg2:#12211c;--bg3:#10251d;--gold:#83d3ae;--gold-hi:#83d3ae;--ink:#e2efe6;--ink2:#b0c7ba;--line:rgba(131,211,174,.16)}
html[data-theme="light"][data-epoch="era-2"]{--scene-base:#eff6f1;--scene-glow:rgba(131,211,174,.18);--epoch-accent:#207151;--epoch-rgb:131,211,174;--bg0:#eff6f1;--bg1:#eff6f1;--bg2:#ffffff;--bg3:#ffffff;--gold:#207151;--gold-hi:#207151;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-2"],#era-2,.timeline-era-links a[href="#era-2"],.epoch-dock a[href="#era-2"]{--chapter-accent:#83d3ae;--chapter-signal:#83d3ae;--chapter-surface:#12211c;--chapter-ink:#e2efe6;--chapter-muted:#b0c7ba;--chapter-radius:4px}
html[data-theme="light"] .timeline-item[data-era="era-2"],html[data-theme="light"] #era-2,html[data-theme="light"] .timeline-era-links a[href="#era-2"],html[data-theme="light"] .epoch-dock a[href="#era-2"]{--chapter-accent:#207151;--chapter-signal:#207151;--chapter-surface:#eff6f1;--chapter-ink:#24313d;--chapter-muted:#53616d}
html[data-theme="night"][data-epoch="era-3"]{--scene-base:#0c1220;--scene-glow:#17284a;--epoch-accent:#8eaff5;--epoch-rgb:142,175,245;--bg0:#0c1220;--bg1:#0c1220;--bg2:#121e33;--bg3:#17284a;--gold:#8eaff5;--gold-hi:#8eaff5;--ink:#e5ecfb;--ink2:#afbdd5;--line:rgba(142,175,245,.16)}
html[data-theme="light"][data-epoch="era-3"]{--scene-base:#edf2fc;--scene-glow:rgba(142,175,245,.18);--epoch-accent:#335ba8;--epoch-rgb:142,175,245;--bg0:#edf2fc;--bg1:#edf2fc;--bg2:#ffffff;--bg3:#ffffff;--gold:#335ba8;--gold-hi:#335ba8;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-3"],#era-3,.timeline-era-links a[href="#era-3"],.epoch-dock a[href="#era-3"]{--chapter-accent:#8eaff5;--chapter-signal:#8eaff5;--chapter-surface:#121e33;--chapter-ink:#e5ecfb;--chapter-muted:#afbdd5;--chapter-radius:10px}
html[data-theme="light"] .timeline-item[data-era="era-3"],html[data-theme="light"] #era-3,html[data-theme="light"] .timeline-era-links a[href="#era-3"],html[data-theme="light"] .epoch-dock a[href="#era-3"]{--chapter-accent:#335ba8;--chapter-signal:#335ba8;--chapter-surface:#edf2fc;--chapter-ink:#24313d;--chapter-muted:#53616d}
html[data-theme="night"][data-epoch="era-4"]{--scene-base:#08151d;--scene-glow:#12343d;--epoch-accent:#78dce5;--epoch-rgb:120,220,229;--bg0:#08151d;--bg1:#08151d;--bg2:#11252e;--bg3:#12343d;--gold:#78dce5;--gold-hi:#78dce5;--ink:#e2f0f3;--ink2:#aec8cf;--line:rgba(120,220,229,.16)}
html[data-theme="light"][data-epoch="era-4"]{--scene-base:#edf7f8;--scene-glow:rgba(120,220,229,.18);--epoch-accent:#216c7d;--epoch-rgb:120,220,229;--bg0:#edf7f8;--bg1:#edf7f8;--bg2:#ffffff;--bg3:#ffffff;--gold:#216c7d;--gold-hi:#216c7d;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-4"],#era-4,.timeline-era-links a[href="#era-4"],.epoch-dock a[href="#era-4"]{--chapter-accent:#78dce5;--chapter-signal:#78dce5;--chapter-surface:#11252e;--chapter-ink:#e2f0f3;--chapter-muted:#aec8cf;--chapter-radius:14px}
html[data-theme="light"] .timeline-item[data-era="era-4"],html[data-theme="light"] #era-4,html[data-theme="light"] .timeline-era-links a[href="#era-4"],html[data-theme="light"] .epoch-dock a[href="#era-4"]{--chapter-accent:#216c7d;--chapter-signal:#216c7d;--chapter-surface:#edf7f8;--chapter-ink:#24313d;--chapter-muted:#53616d}
html[data-theme="night"][data-epoch="era-5"]{--scene-base:#130f21;--scene-glow:#31204e;--epoch-accent:#c2a5fa;--epoch-rgb:194,165,250;--bg0:#130f21;--bg1:#130f21;--bg2:#20182f;--bg3:#31204e;--gold:#c2a5fa;--gold-hi:#c2a5fa;--ink:#f0e9fa;--ink2:#c9bcd9;--line:rgba(194,165,250,.16)}
html[data-theme="light"][data-epoch="era-5"]{--scene-base:#f5f0fc;--scene-glow:rgba(194,165,250,.18);--epoch-accent:#7148a8;--epoch-rgb:194,165,250;--bg0:#f5f0fc;--bg1:#f5f0fc;--bg2:#ffffff;--bg3:#ffffff;--gold:#7148a8;--gold-hi:#7148a8;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-5"],#era-5,.timeline-era-links a[href="#era-5"],.epoch-dock a[href="#era-5"]{--chapter-accent:#c2a5fa;--chapter-signal:#c2a5fa;--chapter-surface:#20182f;--chapter-ink:#f0e9fa;--chapter-muted:#c9bcd9;--chapter-radius:18px}
html[data-theme="light"] .timeline-item[data-era="era-5"],html[data-theme="light"] #era-5,html[data-theme="light"] .timeline-era-links a[href="#era-5"],html[data-theme="light"] .epoch-dock a[href="#era-5"]{--chapter-accent:#7148a8;--chapter-signal:#7148a8;--chapter-surface:#f5f0fc;--chapter-ink:#24313d;--chapter-muted:#53616d}
html[data-theme="night"][data-epoch="era-6"]{--scene-base:#08121e;--scene-glow:#193048;--epoch-accent:#8de3d9;--epoch-rgb:141,227,217;--bg0:#08121e;--bg1:#08121e;--bg2:#142133;--bg3:#193048;--gold:#8de3d9;--gold-hi:#8de3d9;--ink:#e8eef9;--ink2:#b5c4d9;--line:rgba(141,227,217,.16)}
html[data-theme="light"][data-epoch="era-6"]{--scene-base:#eef5f9;--scene-glow:rgba(141,227,217,.18);--epoch-accent:#266c77;--epoch-rgb:141,227,217;--bg0:#eef5f9;--bg1:#eef5f9;--bg2:#ffffff;--bg3:#ffffff;--gold:#266c77;--gold-hi:#266c77;--ink:#24313d;--ink2:#53616d;--ink3:#65727d;--line:rgba(55,74,93,.18)}
.timeline-item[data-era="era-6"],#era-6,.timeline-era-links a[href="#era-6"],.epoch-dock a[href="#era-6"]{--chapter-accent:#8de3d9;--chapter-signal:#8de3d9;--chapter-surface:#142133;--chapter-ink:#e8eef9;--chapter-muted:#b5c4d9;--chapter-radius:22px}
html[data-theme="light"] .timeline-item[data-era="era-6"],html[data-theme="light"] #era-6,html[data-theme="light"] .timeline-era-links a[href="#era-6"],html[data-theme="light"] .epoch-dock a[href="#era-6"]{--chapter-accent:#266c77;--chapter-signal:#266c77;--chapter-surface:#eef5f9;--chapter-ink:#24313d;--chapter-muted:#53616d}
[data-era="era-1"]{--chapter-accent:#78552e!important;--chapter-surface:#e8d9bc!important;--chapter-ink:#332b20!important;--chapter-muted:#69573e!important}

/* A visual passage from paper archives to computational space. */
:root{--epoch-accent:#d6b27e;--epoch-rgb:214,178,126;--scene-base:#15120f;--scene-glow:rgba(166,109,53,.12)}
html,body{background:var(--scene-base);transition:background-color 1s ease;color:var(--ink)}
.chronoscape{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;isolation:isolate}
.chrono-plane{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease}
.chrono-archive{background:radial-gradient(ellipse at 12% 25%,rgba(174,117,55,.17),transparent 48%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(187,158,115,.025) 3px 4px)}
.chrono-archive::after{content:"";position:absolute;right:-230px;top:11vh;width:640px;height:640px;border:1px solid rgba(214,178,126,.12);border-radius:50%;box-shadow:0 0 0 26px rgba(214,178,126,.035),0 0 0 110px rgba(214,178,126,.025),0 0 0 112px rgba(214,178,126,.06)}
.chrono-circuit{background:linear-gradient(90deg,transparent 49.85%,rgba(103,217,170,.055) 50%,transparent 50.15%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(103,217,170,.035) 47px 48px);background-size:120px 120px,100% 48px}
.chrono-circuit::after{content:"01001001  ·  THINK / LEARN / ACT";position:absolute;right:5%;top:30%;writing-mode:vertical-rl;letter-spacing:8px;font:10px var(--mono);color:rgba(103,217,170,.17)}
.chrono-grid{background-image:linear-gradient(rgba(var(--epoch-rgb),.055) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--epoch-rgb),.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(180deg,transparent,#000 35%,transparent)}
.chrono-stars{background-image:radial-gradient(circle at 15% 12%,rgba(215,229,255,.48) 0 1px,transparent 1.5px),radial-gradient(circle at 75% 72%,rgba(215,229,255,.26) 0 1px,transparent 1.4px);background-size:190px 230px,270px 320px}
.chrono-aura{position:absolute;inset:-12%;background:radial-gradient(ellipse at 88% 34%,var(--scene-glow),transparent 48%),radial-gradient(ellipse at 12% 80%,rgba(79,116,236,.065),transparent 44%);transform:translate3d(0,0,0);transition:opacity 1s}
.chrono-vignette{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.10) 48%,transparent);opacity:.7}
html[data-epoch="era-1"] .chrono-archive{opacity:1}
html[data-epoch="era-2"] .chrono-archive{opacity:.25}
html[data-epoch="era-2"] .chrono-circuit{opacity:1}
html[data-epoch="era-3"] .chrono-circuit{opacity:.2}
html[data-epoch="era-3"] .chrono-grid,html[data-epoch="era-4"] .chrono-grid{opacity:1}
html[data-epoch="era-5"] .chrono-grid{opacity:.55}
html[data-epoch="era-5"] .chrono-stars,html[data-epoch="era-6"] .chrono-stars{opacity:.8}
html[data-epoch="era-6"] .chrono-grid{opacity:.2}
html[data-epoch="era-5"] .chrono-aura,html[data-epoch="era-6"] .chrono-aura{animation:chrono-drift 18s ease-in-out infinite alternate}
@keyframes chrono-drift{to{transform:translate3d(-2%,2%,0) scale(1.04)}}
#ai-timeline{padding-top:126px;padding-bottom:60px;overflow:clip}
.chrono-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;min-height:480px;gap:22px;padding-bottom:70px;position:relative}
.chrono-copy{position:relative;z-index:2}
.chrono-kicker{display:flex;align-items:center;gap:10px;font:10px var(--mono);letter-spacing:.15em;color:var(--gold-hi);margin-bottom:24px}
.chrono-kicker::before{content:"";width:30px;height:1px;background:currentColor}
.chrono-copy .sec-head{display:block;margin:0}
.chrono-copy .sec-title{display:block;font-family:var(--sans);font-size:clamp(34px,4.5vw,62px);font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:0 0 24px}
.chrono-copy .sec-title em{font-style:normal;background:linear-gradient(105deg,#deb879 0%,#f4e5cd 28%,#7ad6ec 62%,#a699fb 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.chrono-copy .sec-sub{font-size:14px;line-height:2;max-width:470px;margin:0;color:var(--ink2)}
.chrono-metrics{display:flex;align-items:center;gap:22px;margin-top:32px}
.chrono-metrics>div{display:flex;flex-direction:column;gap:7px;padding-right:22px;border-right:1px solid var(--line)}
.chrono-metrics>div:last-child{border-right:0;padding:0}
.chrono-metrics b{font:25px var(--mono);font-weight:400;color:var(--ink);letter-spacing:-1px}
.chrono-metrics small{font-size:10px;color:var(--ink2);letter-spacing:.12em}
.chrono-enter{display:inline-flex;gap:22px;align-items:center;font-size:12px;letter-spacing:.08em;padding:12px 0;margin-top:28px;color:var(--gold-hi);border-bottom:1px solid var(--line)}
.chrono-enter span{transition:transform .25s}
.chrono-enter:hover span{transform:translateY(4px)}
.chrono-art{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.chrono-art::before{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(103,193,240,.075),transparent 65%)}
.chrono-art svg{width:100%;height:100%;overflow:visible}
.chrono-orbit{transform-origin:260px 260px;animation:chrono-orbit 80s linear infinite}
.chrono-orbit-reverse{transform-origin:260px 260px;animation:chrono-orbit 55s linear infinite reverse}
@keyframes chrono-orbit{to{transform:rotate(360deg)}}
.chrono-art .orbit-copy{font:10px var(--mono);letter-spacing:3px;fill:var(--ink2)}
.chrono-art .orbit-date{font:11px var(--mono);fill:var(--gold-hi)}
.chrono-art .core-label{font:600 44px var(--sans);fill:var(--ink);letter-spacing:-2px}
.chrono-art .core-sub{font:9px var(--mono);fill:var(--ink2);letter-spacing:4px}
.chrono-art .orbit-line{stroke:var(--ink3);opacity:.4}
.chrono-art-caption{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font:9px var(--mono);letter-spacing:.18em;white-space:nowrap;color:var(--ink3)}
.timeline-date-guide{margin:0 0 22px;font-size:11px;max-width:none;color:var(--ink3)}
.timeline-controls{grid-template-columns:minmax(200px,1.6fr) 1fr 1fr 1fr;border-radius:12px;background:color-mix(in srgb,var(--bg1) 94%,transparent);border-color:var(--line);box-shadow:0 10px 45px rgba(0,0,0,.06)}
.timeline-controls input,.timeline-controls select{background:var(--bg2)}
.timeline-era-links{gap:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:64px}
.timeline-era-links a{flex:1;min-width:130px;border-radius:0;padding:14px 10px;text-align:center;border:0;background:var(--bg1);color:var(--ink2);transition:background .3s,color .3s;font-size:11px;position:relative}
.timeline-era-links a::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--chapter-accent);opacity:.6}
.timeline-era-links a[aria-current="step"]{color:var(--chapter-accent);background:color-mix(in srgb,var(--chapter-accent) 8%,var(--bg1))}
.timeline-era-links a:hover{color:var(--ink);background:var(--bg2)}
.timeline-line{width:1px;background:linear-gradient(180deg,#bf9d70 0%,#76cba4 13%,#6c9eec 25%,#62d8e8 45%,#b296f7 70%,#79e9df 100%);opacity:.52}
html[data-order="desc"] .timeline-line{background:linear-gradient(180deg,#79e9df 0%,#b296f7 25%,#62d8e8 52%,#6c9eec 76%,#76cba4 90%,#bf9d70 100%)}
.timeline-era{display:flex;align-items:center;justify-content:center;gap:22px;margin:90px 0 65px;padding:26px 20px;min-height:140px;isolation:isolate;text-align:left}
.timeline-era::before{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--chapter-accent) 24%,transparent);border-radius:14px;background:linear-gradient(100deg,var(--bg1),color-mix(in srgb,var(--chapter-accent) 6%,var(--bg1)),var(--bg1));z-index:-1}
.timeline-era::after{content:"";position:absolute;left:50%;top:0;width:50%;max-width:240px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--chapter-accent),transparent);box-shadow:0 0 16px color-mix(in srgb,var(--chapter-accent) 40%,transparent)}
.timeline-era span{padding:0;border:0;border-radius:0;background:none;letter-spacing:normal;display:block;color:inherit;font-family:inherit}
.timeline-era .era-number{font:58px var(--mono);font-weight:300;color:var(--chapter-accent);opacity:.5;letter-spacing:-4px}
.era-copy{max-width:480px}
.timeline-era .era-period{font:10px var(--mono);letter-spacing:.18em;color:var(--chapter-accent);margin-bottom:10px}
.era-copy h2{font-family:var(--sans);font-size:21px;font-weight:600;letter-spacing:.08em;color:var(--ink)}
.era-copy p{font-size:12px;line-height:1.9;color:var(--ink2);margin-top:9px}
.timeline-item{margin-bottom:42px;contain-intrinsic-size:auto 325px}
.timeline-content{padding:28px;border-radius:var(--chapter-radius,14px);border-color:color-mix(in srgb,var(--chapter-accent) 24%,transparent);background:var(--chapter-surface);color:var(--chapter-ink);box-shadow:0 8px 35px rgba(0,0,0,.1);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.timeline-content::before{display:none}
.timeline-content::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,color-mix(in srgb,var(--chapter-accent) 10%,transparent),transparent 35%);opacity:.5}
.timeline-dot{width:10px;height:10px;top:32px;background:var(--chapter-accent);box-shadow:0 0 0 5px var(--scene-base),0 0 0 6px color-mix(in srgb,var(--chapter-accent) 30%,transparent);transition:box-shadow .4s}
.timeline-dot::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border:1px solid var(--chapter-accent);border-radius:50%;transform:translate(-50%,-50%);opacity:.3}
.timeline-year{font:20px var(--mono);letter-spacing:-.02em;color:var(--chapter-accent);margin-bottom:14px}
.timeline-title{color:var(--chapter-ink);font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.7}
.timeline-desc{color:var(--chapter-muted);font-size:13.5px;line-height:1.95}
.timeline-date-note,.timeline-sources{color:var(--chapter-muted);font-size:11px}
.timeline-sources{border-top:1px solid color-mix(in srgb,var(--chapter-accent) 13%,transparent);padding-top:11px;margin-top:15px}
.timeline-sources a{color:var(--chapter-accent);text-decoration-color:color-mix(in srgb,var(--chapter-accent) 35%,transparent);line-height:2}
.timeline-sources a:hover{color:var(--chapter-ink)}
.timeline-tag{color:var(--chapter-accent);background:color-mix(in srgb,var(--chapter-accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--chapter-accent) 20%,transparent);font-size:10px;letter-spacing:.1em;padding:3px 8px;border-radius:3px}
.timeline-item[data-era="era-1"] .timeline-content{background:repeating-linear-gradient(0deg,rgba(82,56,27,.028) 0 1px,transparent 1px 5px),#e8d9bc;border:1px solid #c8b392;box-shadow:3px 3px 0 rgba(203,177,135,.23),0 12px 30px rgba(0,0,0,.17)}
.timeline-item[data-era="era-1"] .timeline-year{font-family:var(--serif);font-size:26px}
.timeline-item[data-era="era-1"] .timeline-title{font-family:var(--serif);font-size:20px}
.timeline-item[data-era="era-1"] .timeline-tag{border-style:dashed;transform:rotate(-2deg)}
.timeline-item[data-era="era-2"] .timeline-content{background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(110,218,160,.028) 3px 4px);border-top:2px solid var(--chapter-accent)}
.timeline-item[data-era="era-2"] .timeline-year::before{content:"> ";opacity:.55}
.timeline-item[data-era="era-3"] .timeline-content{background-image:linear-gradient(135deg,rgba(88,143,241,.055),transparent 58%);border-left:2px solid var(--chapter-accent)}
.timeline-item[data-era="era-4"] .timeline-content{background-image:radial-gradient(ellipse at 100% 0,rgba(80,205,223,.07),transparent 65%)}
.timeline-item[data-era="era-5"] .timeline-content{background-image:radial-gradient(ellipse at 95% 5%,rgba(176,104,248,.12),transparent 50%)}
.timeline-item[data-era="era-6"] .timeline-content{border-color:transparent;background:linear-gradient(var(--chapter-surface),var(--chapter-surface)) padding-box,linear-gradient(115deg,rgba(100,227,221,.5),rgba(152,117,234,.18) 45%,rgba(187,117,238,.45)) border-box;box-shadow:0 10px 35px rgba(14,46,75,.14)}
@media(hover:hover) and (pointer:fine){.timeline-content:hover{transform:translateY(-4px);border-color:var(--chapter-accent);box-shadow:0 15px 40px rgba(0,0,0,.16),0 0 22px color-mix(in srgb,var(--chapter-accent) 8%,transparent)}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 5px var(--scene-base),0 0 0 6px var(--chapter-accent),0 0 24px var(--chapter-accent)}}
.epoch-dock{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:18px;z-index:20}
.epoch-dock a{display:flex;align-items:center;justify-content:flex-end;gap:12px;font:10px var(--mono);color:var(--ink3);min-height:22px}
.epoch-dock a b{font-weight:400;border:1px solid var(--line);border-radius:50%;width:23px;height:23px;display:grid;place-items:center;transition:color .4s,border-color .4s,box-shadow .4s}
.epoch-dock a span{opacity:0;transform:translateX(5px);transition:.3s;max-width:108px;text-align:right;line-height:1.7;font-family:var(--sans)}
.epoch-dock a[aria-current="step"] b{border-color:var(--chapter-accent);color:var(--chapter-accent);box-shadow:0 0 16px color-mix(in srgb,var(--chapter-accent) 14%,transparent)}
.epoch-dock a:hover span,.epoch-dock a:focus-visible span{opacity:1;transform:none}
.epoch-caption{position:fixed;left:24px;bottom:76px;z-index:8;font:10px var(--mono);color:var(--ink3);writing-mode:vertical-rl;letter-spacing:.14em;display:flex;gap:14px;align-items:center;pointer-events:none}
.epoch-caption::before{content:"";height:42px;width:1px;background:var(--epoch-accent)}
.epoch-caption b{font-weight:400;color:var(--epoch-accent)}
.future-horizon{position:relative;z-index:2;margin:70px 0 30px;padding:100px 25px 70px;text-align:center;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--epoch-accent) 4%,var(--bg1)))}
.future-horizon::before{content:"";position:absolute;left:-5%;right:-5%;top:5px;height:80px;border-radius:50%;border-top:1px solid rgba(123,213,246,.7);box-shadow:0 -8px 32px rgba(89,181,230,.12),0 -1px 4px rgba(164,139,242,.25);pointer-events:none}
.horizon-kicker{font:10px var(--mono);letter-spacing:.3em;color:var(--gold-hi);margin-bottom:20px}
.future-horizon h2{font:600 clamp(24px,3vw,37px) var(--sans);letter-spacing:.06em;color:var(--ink)}
.future-horizon p{font-size:13px;color:var(--ink2);line-height:2;max-width:520px;margin:18px auto 0}
.horizon-paths{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.horizon-paths span{font-size:11px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink2)}
.scroll-progress{background:linear-gradient(90deg,#caaa74,#6ccfa4,#74a5f6,#68dce9,#b493f5,#a1f5de);box-shadow:0 0 12px rgba(var(--epoch-rgb),.2)}
html[data-theme="light"] .chrono-copy .sec-title em{background-image:linear-gradient(105deg,#80602e,#376372 58%,#7955a8)}
html[data-theme="light"] .chrono-aura{opacity:.65}
html[data-theme="light"] .chrono-stars{filter:brightness(.6);opacity:.4}
html[data-effects-paused] .chrono-art *,html[data-motion-paused] .chrono-aura{animation-play-state:paused!important}
@media(min-width:1360px){:root{--maxw:1080px}}
@media(max-width:1359px){.epoch-dock,.epoch-caption{display:none}}
@media(max-width:860px){#ai-timeline{padding-top:106px}.chrono-hero{grid-template-columns:1.3fr 1fr;gap:0;min-height:360px;padding-bottom:40px}.chrono-copy .sec-title{font-size:38px}.chrono-metrics{gap:14px}.chrono-metrics>div{padding-right:14px}.chrono-art{opacity:.8}.timeline-era{margin:55px 0 35px}.timeline-era .era-number{font-size:44px}.timeline-content{width:calc(100% - 58px);padding:24px}.timeline-line,.timeline-dot{left:18px}.timeline-content{margin-left:42px!important}.era-copy h2{font-size:19px}}
@media(max-width:600px){#ai-timeline{padding-top:90px}.chrono-hero{display:block;padding-bottom:38px;min-height:0}.chrono-copy{padding-top:15px}.chrono-kicker{font-size:9px;letter-spacing:.08em;margin-bottom:22px}.chrono-copy .sec-title{font-size:clamp(33px,8.5vw,48px)}.chrono-copy .sec-sub{max-width:310px;font-size:13px}.chrono-art{position:absolute;width:240px;right:-135px;top:0;opacity:.22;pointer-events:none;z-index:0}.chrono-art-caption{display:none}.chrono-copy .sec-head{position:relative}.chrono-metrics{margin-top:26px;gap:20px}.chrono-metrics b{font-size:22px}.chrono-metrics small{font-size:9px}.chrono-metrics>div{padding-right:20px}.chrono-enter{margin-top:18px}.timeline-era-links a{min-width:32%;font-size:10px;padding:12px 5px}.timeline-era-links{margin-bottom:35px}.timeline-era{gap:14px;padding:24px 18px;min-height:125px}.timeline-era .era-number{font-size:34px;letter-spacing:-2px}.timeline-era .era-period{font-size:9px}.era-copy p{font-size:11px}.era-copy h2{font-size:17px}.timeline-content{padding:20px}.timeline-desc{font-size:13px}.timeline-year{font-size:18px}.timeline-item[data-era="era-1"] .timeline-year{font-size:23px}.timeline-title{font-size:17px}.timeline-item[data-era="era-1"] .timeline-title{font-size:19px}.future-horizon{margin-top:35px;padding:75px 18px 40px}.chrono-aura{animation:none!important}}
@media(prefers-reduced-motion:reduce){.chrono-plane,html,body{transition:none!important}.chrono-orbit,.chrono-orbit-reverse,.chrono-aura{animation:none!important}}
@media(max-width:960px){.timeline-controls{grid-template-columns:1fr 1fr}.timeline-field:first-child{grid-column:1/-1}}
@media(max-width:420px){.timeline-controls{grid-template-columns:1fr}.timeline-field:first-child{grid-column:auto}}
@media print{.chronoscape,.chrono-art,.epoch-dock,.epoch-caption,.chrono-enter,.future-horizon{display:none!important}.chrono-hero{display:block;min-height:0;padding:0}.chrono-copy .sec-title{font-size:28px}.chrono-copy .sec-title em{background:none;color:black}.timeline-content{background:white!important;box-shadow:none!important}.timeline-title,.timeline-desc,.timeline-year,.timeline-tag,.timeline-sources a,.era-copy h2,.era-copy p{color:black!important}.timeline-era::before{background:white}.chrono-copy .sec-sub{color:black}.timeline-line{display:none}}

.timeline-dot{background:var(--chapter-signal)}


/* Luminous spatial layer. All story content remains visible without motion. */
.chrono-hero{grid-template-columns:1.06fr 1fr;gap:0;min-height:555px;padding-bottom:76px}
.chrono-copy .sec-title{font-size:clamp(38px,4.6vw,66px);line-height:1.25;letter-spacing:-.045em}
.chrono-copy .sec-title em{background-image:linear-gradient(105deg,#fff0cb 0%,#a4fff0 36%,#7fbdff 68%,#c4a0ff 100%)}
.chrono-kicker{letter-spacing:.13em}
.chrono-kicker::before{width:6px;height:6px;border-radius:50%;background:#95ead7;box-shadow:0 0 14px #65d8cb,0 0 0 4px rgba(101,216,203,.08)}
.chrono-copy .sec-sub{max-width:430px;font-size:14px}
.chrono-metrics{gap:28px}
.chrono-metrics b{font-size:29px}
.chrono-enter{position:relative;overflow:hidden;padding:14px 22px;margin-top:30px;border:1px solid rgba(142,224,229,.4);border-radius:5px;background:linear-gradient(120deg,rgba(101,230,218,.12),rgba(121,130,236,.06));box-shadow:inset 0 0 22px rgba(99,216,235,.04),0 8px 35px rgba(6,21,35,.16);transition:background .25s,border-color .25s,box-shadow .25s}
.chrono-enter::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 15%,rgba(167,244,239,.14) 48%,transparent 80%);transform:translateX(-120%);transition:transform .65s}
.chrono-enter:hover::before,.chrono-enter:focus-visible::before{transform:translateX(120%)}
.chrono-enter:hover{border-color:var(--epoch-accent);box-shadow:0 0 25px rgba(100,230,220,.15)}
.chrono-enter span{border-left:1px solid var(--line);padding-left:16px}
.chrono-art{perspective:900px;min-width:0;opacity:1}
.chrono-art::before{inset:8%;background:radial-gradient(ellipse at 42% 50%,rgba(80,232,220,.18),rgba(102,74,209,.1) 40%,transparent 70%)}
.chrono-art::after{content:"";position:absolute;left:12%;right:10%;bottom:15%;height:1px;background:linear-gradient(90deg,transparent,#7cf5e9,transparent);box-shadow:0 0 18px #52cfc4;transform:rotate(-13deg);opacity:.35;pointer-events:none}
.neo-engine{position:relative;transform:rotateX(var(--engine-rx,0deg)) rotateY(var(--engine-ry,0deg));transition:transform .25s ease-out;transform-style:preserve-3d}
.neo-engine svg{display:block;overflow:visible;position:relative;z-index:1}
.neo-halo{position:absolute;inset:12%;border-radius:50%;background:conic-gradient(from 35deg,transparent 0deg,rgba(61,241,224,.14) 74deg,transparent 124deg,rgba(133,107,255,.17) 210deg,transparent 275deg,rgba(108,196,255,.15) 340deg,transparent);filter:blur(14px);animation:neo-orbit 46s linear infinite}
.neo-orbit-a,.neo-orbit-b,.neo-orbit-c{transform-origin:320px 320px;animation:neo-orbit 42s linear infinite}
.neo-orbit-b{animation-duration:65s;animation-direction:reverse}
.neo-orbit-c{animation-duration:100s}
@keyframes neo-orbit{to{transform:rotate(360deg)}}
.neo-core-type{fill:#efffff;font:600 57px var(--sans);letter-spacing:-2px}
.neo-core-sub{fill:#9ec6d7;font:9px var(--mono);letter-spacing:3px}
.neo-svg-label{fill:var(--ink2);font:10px var(--mono);letter-spacing:2px}
.neo-svg-year{fill:var(--gold-hi);font:12px var(--mono);letter-spacing:2px}
.neo-wire{stroke:#7ceadd;stroke-opacity:.22;stroke-width:.8}
.neo-core-arc{stroke-dasharray:80 850;animation:neo-data 12s linear infinite}
@keyframes neo-data{to{stroke-dashoffset:-930}}
.neo-hud{position:absolute;z-index:2;border-left:1px solid rgba(127,229,223,.6);padding:8px 11px;background:linear-gradient(90deg,rgba(11,35,48,.9),rgba(11,35,48,.2));color:#d4eeed;font:9px var(--mono);letter-spacing:.12em;pointer-events:none;box-shadow:-5px 0 18px rgba(70,220,211,.06)}
.neo-hud small{display:block;font-size:8px;letter-spacing:.18em;color:#82abae;margin-top:5px}
.neo-hud-a{top:17%;left:1%}.neo-hud-b{bottom:17%;right:-1%;border-color:#b7a0fa}
.chrono-art-caption{bottom:-17px;color:var(--ink2);letter-spacing:.2em;font-size:9px}
.neo-hero-floor{position:absolute;inset:65% -5% 0;z-index:-1;overflow:hidden;opacity:.55;mask-image:linear-gradient(transparent,#000 40%,transparent);pointer-events:none}
.neo-hero-floor::before{content:"";position:absolute;inset:-80% 0 -100%;background-image:linear-gradient(rgba(102,214,234,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(102,214,234,.12) 1px,transparent 1px);background-size:44px 44px;transform:perspective(260px) rotateX(58deg);transform-origin:center}
.neo-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;mask-image:radial-gradient(ellipse,#000 45%,transparent 70%)}
.neo-sparks i{position:absolute;width:2px;height:2px;border-radius:50%;background:#b8eeff;box-shadow:0 0 7px #7dc3ff;opacity:.6;animation:neo-float 9s ease-in-out infinite alternate}
.neo-sparks i:nth-child(2n){background:#aaffde;animation-duration:13s}.neo-sparks i:nth-child(3n){animation-direction:alternate-reverse;animation-delay:-5s}
@keyframes neo-float{to{transform:translate3d(12px,-20px,0);opacity:.2}}
.chrono-beams{position:absolute;inset:-20%;opacity:0;background:conic-gradient(from 145deg at 76% 25%,transparent 0deg,rgba(79,220,209,.045) 14deg,transparent 29deg,transparent 53deg,rgba(131,94,228,.065) 69deg,transparent 87deg);transition:opacity 1.2s;transform:rotate(-7deg);pointer-events:none}
html[data-epoch="era-6"] .chrono-beams{opacity:1}html[data-epoch="era-5"] .chrono-beams{opacity:.65}html[data-epoch="era-4"] .chrono-beams{opacity:.3}
html[data-epoch="era-6"] .chrono-aura{background:radial-gradient(ellipse at 90% 22%,rgba(63,158,196,.2),transparent 40%),radial-gradient(ellipse at 5% 76%,rgba(95,61,194,.14),transparent 42%)}
.timeline-controls{border-top-color:color-mix(in srgb,var(--epoch-accent) 40%,transparent);box-shadow:0 16px 50px rgba(0,0,0,.1),inset 0 1px rgba(255,255,255,.02)}
.timeline-era-links a[aria-current="step"]::before{height:2px;opacity:1;box-shadow:0 0 15px var(--chapter-accent)}
.timeline-era .era-number{font-size:70px;opacity:.8;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--chapter-accent) 65%,transparent);letter-spacing:-5px}
.timeline-era::before{border-radius:6px;background:linear-gradient(115deg,var(--bg1),color-mix(in srgb,var(--chapter-accent) 8%,var(--bg1)),var(--bg1));border-right-color:color-mix(in srgb,var(--chapter-accent) 8%,transparent);border-left:2px solid var(--chapter-accent)}
.timeline-era::after{max-width:360px;box-shadow:0 0 25px var(--chapter-accent)}
.timeline-item{padding:10px 0 18px;margin-bottom:24px;overflow-clip-margin:30px}
.timeline-item::before{content:"";position:absolute;left:50%;top:47px;width:40px;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--chapter-signal) 65%,transparent),transparent);opacity:.45;transition:opacity .35s}
.timeline-item[data-side="left"]::before{left:auto;right:50%;transform:rotate(180deg)}
.timeline-dot{top:42px}
.timeline-content{isolation:isolate;transition:transform .24s ease-out,border-color .35s ease,box-shadow .35s ease}
.timeline-content::after{z-index:-1;background:radial-gradient(350px circle at var(--shine-x,80%) var(--shine-y,0%),color-mix(in srgb,var(--chapter-accent) 12%,transparent),transparent 70%);opacity:.4;transition:opacity .3s}
.timeline-item.is-reading::before{opacity:1}
.timeline-item.is-reading .timeline-content{border-color:color-mix(in srgb,var(--chapter-accent) 65%,transparent);box-shadow:0 14px 40px rgba(0,0,0,.15),0 0 32px color-mix(in srgb,var(--chapter-accent) 9%,transparent),inset 0 1px color-mix(in srgb,var(--chapter-accent) 12%,transparent)}
.timeline-item.is-reading .timeline-content::after{opacity:1}
.timeline-item.is-reading .timeline-dot{background:var(--chapter-signal);box-shadow:0 0 0 5px var(--scene-base),0 0 0 7px color-mix(in srgb,var(--chapter-signal) 55%,transparent),0 0 27px var(--chapter-signal)}
.timeline-item.is-reading .timeline-dot::after{width:30px;height:30px;opacity:.35}
.timeline-dot::after{transition:width .4s,height .4s,opacity .4s}
.timeline-signal{position:absolute;left:50%;top:0;width:3px;height:150px;margin-left:-1px;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(transparent,var(--epoch-accent) 48%,transparent);box-shadow:0 0 15px rgba(var(--epoch-rgb),.4);transform:translate3d(0,var(--signal-y,0px),0);transition:transform .4s ease-out,opacity .35s}
.timeline-signal.is-visible{opacity:.9}
.timeline-content:focus-within{border-color:var(--chapter-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--chapter-accent) 16%,transparent)}
.future-horizon{padding-top:120px;border-radius:8px;background:radial-gradient(ellipse at 50% 0,rgba(84,116,215,.14),transparent 66%)}
.future-horizon::before{left:-10%;right:-10%;top:14px;height:125px;border-top-color:#c4d6ff;border-top-width:2px;box-shadow:0 -12px 60px rgba(88,137,255,.2),0 -3px 18px rgba(81,231,220,.36),inset 0 12px 35px rgba(121,106,232,.1)}
.future-horizon::after{content:"";position:absolute;left:16%;right:16%;top:10px;height:8px;background:radial-gradient(ellipse,#e3fdff,rgba(106,228,236,.4) 30%,transparent 70%);filter:blur(2px);pointer-events:none}
.epoch-dock{gap:20px}
.epoch-dock::before{content:"";position:absolute;right:11px;top:12px;bottom:12px;width:1px;background:linear-gradient(transparent,var(--line) 15%,var(--line) 85%,transparent);z-index:-1}
.epoch-dock a b{background:var(--scene-base)}
.epoch-dock a[aria-current="step"] b{box-shadow:0 0 0 4px color-mix(in srgb,var(--chapter-accent) 7%,transparent),0 0 22px color-mix(in srgb,var(--chapter-accent) 30%,transparent)}
@media(hover:hover) and (pointer:fine){
  html:not([data-motion-paused]) .timeline-content[data-pointer]{transform:perspective(950px) translateY(-4px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))}
  .timeline-content:hover::after{opacity:1}
}
html[data-theme="light"] .neo-hud{background:linear-gradient(90deg,rgba(229,241,247,.95),rgba(239,248,252,.5));color:#30586b;border-color:#408899}
html[data-theme="light"] .neo-hud small{color:#527080}
html[data-theme="light"] .neo-sparks i{background:#517b9e;box-shadow:none}
html[data-theme="light"] .neo-halo{opacity:.65}
html[data-theme="light"] .chrono-enter{border-color:var(--line);background:linear-gradient(120deg,rgba(75,155,172,.1),rgba(121,130,236,.07))}
html[data-theme="light"] .neo-hero-floor{opacity:.3}
html[data-theme="light"] .chrono-beams{opacity:.3}
html[data-motion-paused] .neo-sparks i,html[data-motion-paused] .marquee-track{animation-play-state:paused!important}
html[data-effects-paused] .neo-sparks i{animation-play-state:paused!important}
html[data-motion-paused] .neo-engine,html[data-motion-paused] .timeline-content{transform:none!important}
html[data-motion-paused] .timeline-signal{transition:opacity .2s}
html[data-motion-paused] .chrono-enter::before{display:none}
@media(max-width:1050px){.chrono-hero{min-height:490px}.chrono-copy .sec-title{font-size:clamp(36px,4.7vw,51px)}.neo-hud{font-size:8px;padding:7px}.neo-hud small{font-size:7px}.neo-hud-b{right:0}.chrono-metrics{gap:20px}.chrono-metrics b{font-size:25px}}
@media(max-width:860px){.chrono-hero{min-height:405px;padding-bottom:52px}.chrono-copy .sec-title{font-size:36px}.chrono-metrics{gap:15px}.chrono-metrics b{font-size:23px}.neo-hud{display:none}.chrono-art-caption{font-size:7px;letter-spacing:.06em}.timeline-era .era-number{font-size:53px;letter-spacing:-3px}.timeline-signal{left:18px}.timeline-item::before,.timeline-item[data-side="left"]::before{left:18px;right:auto;width:24px;transform:none}}
@media(max-width:600px){
  .chrono-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-bottom:38px}
  .chrono-copy .sec-title{font-size:clamp(35px,8.5vw,48px)}
  .chrono-copy .sec-sub{max-width:420px}
  .chrono-art{position:relative;inset:auto;width:min(84%,340px);align-self:center;opacity:1;z-index:1;margin:2px 0 8px;pointer-events:none}
  .chrono-art-caption{display:block;font-size:8px;letter-spacing:.1em;bottom:-8px}
  .chrono-enter{padding:12px 18px;font-size:11px;margin-top:24px}
  .chrono-metrics{gap:25px}.chrono-metrics>div{padding-right:23px}
  .neo-hero-floor{inset:70% -5% 0;opacity:.35}
  .neo-sparks{display:none}.neo-halo{filter:none;opacity:.6}
  .timeline-era .era-number{font-size:42px;letter-spacing:-2px}
  .timeline-item{padding-top:8px;padding-bottom:12px;margin-bottom:22px}
  .timeline-dot{top:40px}.timeline-item::before{top:45px}
  .timeline-signal{width:2px}
  .future-horizon{padding:95px 18px 40px}
}
@media(prefers-reduced-motion:reduce){
  .neo-halo,.neo-orbit-a,.neo-orbit-b,.neo-orbit-c,.neo-core-arc,.neo-sparks i{animation:none!important}
  .neo-engine,.timeline-content{transform:none!important;transition:none!important}
  .timeline-signal,.chrono-beams,.chrono-enter::before,.timeline-dot::after{transition:none!important}
}
@media print{.neo-hero-floor,.neo-sparks,.timeline-signal,.timeline-item::before{display:none!important}.chrono-hero{display:block;min-height:0;padding:0}.timeline-item{padding:0}.timeline-era .era-number{-webkit-text-stroke:0;color:black}.timeline-content{transform:none!important}.timeline-item.is-reading .timeline-content{box-shadow:none!important}.chrono-copy .sec-title{font-size:28px}}
