:root{
  --bg:#060607; --bg2:#0c0c0e; --panel:rgba(255,255,255,.028); --panel2:rgba(255,255,255,.045);
  --gold:#c9a45c; --gold-hi:#ecd9a2; --gold-lo:#8a6a2f; --gold-line:rgba(201,164,92,.30); --gold-soft:rgba(201,164,92,.12);
  --ivory:#f2ece0; --text:#cfc7b7; --muted:#958d7f; --faint:#5a554b; --neg:#b86a52; --ok:#cdb071;
  --display:'Cinzel','Noto Serif SC','Songti SC','SimSun',Georgia,serif;
  --serif:'Cormorant Garamond','Noto Serif SC','Songti SC','SimSun',Georgia,serif;
  --sans:'Inter','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#000;overflow:hidden}
body{font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#deck{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%,#0d0c0a 0%,#000 70%)}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:50% 50%;overflow:hidden;background:var(--bg);box-shadow:0 0 120px rgba(0,0,0,.9)}
.lang-en .L:not(.en),.lang-zh .L:not(.zh),.lang-th .L:not(.th),.lang-ja .L:not(.ja),.lang-ko .L:not(.ko),.lang-pt .L:not(.pt),.lang-es .L:not(.es),.lang-ru .L:not(.ru),.lang-tr .L:not(.tr),.lang-vi .L:not(.vi),.lang-id .L:not(.id){display:none!important}

/* ---------- slide shell ---------- */
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s,transform 1.2s var(--ease);transform:scale(1.015)}
.slide.active{opacity:1;visibility:visible;transform:none;z-index:2}
.bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 72% 42%,rgba(201,164,92,.10),transparent 62%),radial-gradient(ellipse 50% 50% at 10% 100%,rgba(201,164,92,.05),transparent 70%),linear-gradient(180deg,#08080a 0%,#050506 100%)}
.bg.center{background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(201,164,92,.11),transparent 65%),linear-gradient(180deg,#08080a,#050506)}
.bg.left{background:radial-gradient(ellipse 60% 60% at 25% 45%,rgba(201,164,92,.10),transparent 65%),linear-gradient(180deg,#08080a,#050506)}
.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%)}
.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ---------- chrome ---------- */
.chrome{position:absolute;left:96px;right:96px;top:48px;height:48px;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}
.brand{display:flex;align-items:center;gap:16px}
.brand svg{width:40px;height:40px}
.wm{font-family:'Cinzel',Georgia,serif;font-size:20px;letter-spacing:.30em;color:var(--ivory);line-height:1}
.wm small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.42em;color:var(--muted);margin-top:7px}
.tags{display:flex;gap:26px;font-size:10.5px;letter-spacing:.34em;color:var(--muted);text-transform:uppercase;margin-left:64px}
.tags i{font-style:normal;color:var(--faint)}
.pno{display:flex;align-items:center;gap:18px;font-family:var(--serif);font-size:26px;color:var(--gold)}
.pno:before{content:"";width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line))}
.foot{position:absolute;left:96px;right:96px;bottom:40px;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;letter-spacing:.22em;color:var(--faint);text-transform:uppercase;z-index:5;pointer-events:none}
.foot .src{text-transform:none;letter-spacing:.04em;font-size:12.5px;color:#6d675c;max-width:1100px;text-align:right;line-height:1.5}

/* ---------- type ---------- */
.content{position:absolute;left:120px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;z-index:4}
.eyebrow{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:600;letter-spacing:.36em;color:var(--gold);text-transform:uppercase;margin-bottom:30px}
.eyebrow:before{content:"";width:44px;height:1px;background:var(--gold)}
.h1{font-family:var(--display);font-weight:500;font-size:84px;line-height:1.06;color:var(--ivory);letter-spacing:.02em;text-transform:uppercase}
.h2{font-family:var(--display);font-weight:500;font-size:64px;line-height:1.1;color:var(--ivory);letter-spacing:.02em;text-transform:uppercase}
.lang-zh .h1{font-family:var(--serif);font-weight:600;font-size:76px;letter-spacing:.06em;line-height:1.25}
.lang-zh .h2{font-family:var(--serif);font-weight:600;font-size:62px;letter-spacing:.06em;line-height:1.28}
.lead{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1.38;color:var(--text);margin-top:28px;max-width:860px}
.lang-zh .lead{font-style:normal;font-size:30px;letter-spacing:.04em;line-height:1.6}
.gold{background:linear-gradient(100deg,#9e7a3a 0%,#e9d39b 22%,#c9a45c 45%,#f7e8bf 60%,#b8914b 80%,#e2c787 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s linear infinite}
@keyframes sheen{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.muted{color:var(--muted)}
.small{font-size:18px;line-height:1.55;color:var(--muted)}
.lang-zh .small{letter-spacing:.03em}
.num{font-family:var(--serif);font-weight:500;font-variant-numeric:lining-nums tabular-nums}

/* ---------- entrance animation ---------- */
.a{opacity:0;transform:translateY(26px)}
.slide.active .a{animation:rise 1.1s var(--ease) forwards;animation-delay:calc(var(--i,0) * 130ms + 250ms)}
.a.fade{transform:none}.slide.active .a.fade{animation-name:fadein}
.a.zoom{transform:scale(.94)}.slide.active .a.zoom{animation-name:zoomin}
.a.left{transform:translateX(-30px)}.slide.active .a.left{animation-name:fromleft}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes fadein{to{opacity:1}}
@keyframes zoomin{to{opacity:1;transform:none}}
@keyframes fromleft{to{opacity:1;transform:none}}
.draw .ln{stroke-dasharray:var(--L,3000);stroke-dashoffset:var(--L,3000)}
.slide.active .draw .ln{animation:draw var(--dur,2.6s) cubic-bezier(.45,.05,.2,1) forwards;animation-delay:var(--dl,.5s)}
@keyframes draw{to{stroke-dashoffset:0}}
.pop{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center}
.slide.active .pop{animation:pop .7s var(--ease) forwards;animation-delay:var(--dl,1s)}
@keyframes pop{to{opacity:1;transform:none}}
.grow{transform:scaleX(0);transform-origin:left center}
.slide.active .grow{animation:growx 1.3s var(--ease) forwards;animation-delay:var(--dl,.6s)}
@keyframes growx{to{transform:none}}
.growy{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%}
.slide.active .growy{animation:growy 1.2s var(--ease) forwards;animation-delay:var(--dl,.6s)}
@keyframes growy{to{transform:none}}
.spin{animation:spin 60s linear infinite;transform-box:fill-box;transform-origin:center}
.spinr{animation:spin 90s linear infinite reverse;transform-box:fill-box;transform-origin:center}
@keyframes spin{to{transform:rotate(360deg)}}
.pulse{animation:pulse 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}
.twinkle{animation:tw 3.2s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.55}50%{opacity:1}}

/* ---------- components ---------- */
.rule{height:1px;background:linear-gradient(90deg,var(--gold-line),transparent);margin:34px 0}
.stats{display:flex;gap:0}
.stat{padding:0 44px;border-left:1px solid var(--gold-line)}
.stat:first-child{padding-left:0;border-left:0}
.stat .v{font-family:var(--serif);font-size:88px;line-height:1;font-weight:500}
.stat .k{margin-top:14px;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);max-width:280px;line-height:1.5}
.lang-zh .stat .k{letter-spacing:.08em;font-size:17px}
.card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border:1px solid rgba(201,164,92,.18);border-radius:2px;padding:34px 32px}
.card:before{content:"";position:absolute;left:-1px;top:-1px;width:26px;height:26px;border-left:1px solid var(--gold);border-top:1px solid var(--gold)}
.card:after{content:"";position:absolute;right:-1px;bottom:-1px;width:26px;height:26px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.card h4{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:.14em;color:var(--ivory);text-transform:uppercase}
.lang-zh .card h4{font-family:var(--serif);font-weight:600;letter-spacing:.08em;font-size:26px}
.card p{margin-top:14px;font-size:18px;line-height:1.55;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--gold-line);font-size:14px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.kpi .v{font-family:var(--serif);font-size:74px;line-height:1;color:var(--ivory)}
.kpi .k{font-size:14px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-top:12px}
.kpi .d{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.45}
.lang-zh .kpi .k{letter-spacing:.1em;font-size:16px}
.hyp{position:absolute;left:120px;right:120px;bottom:84px;z-index:6;display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:.14em;color:#b99a5a;text-transform:uppercase}
.hyp b{border:1px solid rgba(201,164,92,.5);padding:5px 10px;font-weight:600;letter-spacing:.2em}
.lang-zh .hyp{letter-spacing:.06em;font-size:14px}
svg text{font-family:var(--sans)}
.lbl{font-size:15px;letter-spacing:.18em;fill:var(--muted);text-transform:uppercase}
.lang-zh .lbl{letter-spacing:.06em;font-size:17px}

/* ---------- HUD ---------- */
.hud{position:fixed;right:22px;bottom:18px;display:flex;align-items:center;gap:8px;z-index:50;opacity:1;transition:opacity .6s}
.hud.idle{opacity:0}
.hud button{all:unset;cursor:pointer;height:34px;min-width:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;color:#cbb07a;font:500 12px/1 var(--sans);letter-spacing:.14em;border:1px solid rgba(201,164,92,.35);background:rgba(10,10,10,.72);backdrop-filter:blur(6px)}
.hud button:hover{background:rgba(201,164,92,.16);color:#f0dfb0}
.hud button:focus-visible{outline:1px solid #f0dfb0}
.hud .count{min-width:92px;text-align:center;font:500 13px var(--sans);letter-spacing:.2em;color:#cbb07a}
.progress{position:fixed;left:0;bottom:0;height:2px;background:linear-gradient(90deg,#8a6a2f,#ecd9a2);z-index:50;transition:width .8s var(--ease)}
.notes{position:fixed;left:50%;bottom:62px;transform:translate(-50%,20px);width:min(1100px,92vw);max-height:42vh;overflow:auto;background:rgba(8,8,8,.94);border:1px solid rgba(201,164,92,.35);padding:22px 28px;z-index:60;opacity:0;pointer-events:none;transition:.4s var(--ease);font-size:17px;line-height:1.75;color:#ddd3c0}
.notes.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.notes h5{font:600 12px var(--sans);letter-spacing:.3em;color:#c9a45c;margin-bottom:10px;text-transform:uppercase}
.notes .en-n{margin-top:14px;padding-top:12px;border-top:1px solid rgba(201,164,92,.2);color:#9d9483;font-size:15px}
.overview{position:fixed;inset:0;background:rgba(3,3,3,.96);z-index:70;display:none;padding:60px 70px;overflow:auto}
.overview.on{display:block}
.overview h3{font:500 14px var(--sans);letter-spacing:.4em;color:#c9a45c;margin-bottom:28px}
.ogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ogrid button{all:unset;cursor:pointer;border:1px solid rgba(201,164,92,.22);padding:18px 18px 20px;color:#d9cfbd;font:400 16px/1.45 var(--sans);background:rgba(255,255,255,.02)}
.ogrid button:hover,.ogrid button.cur{border-color:#c9a45c;background:rgba(201,164,92,.08)}
.ogrid b{display:block;font:500 26px var(--serif);color:#c9a45c;margin-bottom:6px}
.help{position:fixed;left:22px;bottom:20px;z-index:50;font:500 11px var(--sans);letter-spacing:.2em;color:rgba(203,176,122,.55);transition:opacity .6s}
.hud.idle ~ .help{opacity:0}
#dust{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.9}

/* ---------- v4: language menu (11 languages) ---------- */
.langmenu{position:fixed;right:22px;bottom:62px;z-index:80;display:none;grid-template-columns:repeat(2,minmax(150px,auto));gap:6px;padding:12px;background:rgba(8,8,8,.96);border:1px solid rgba(201,164,92,.35);backdrop-filter:blur(8px)}
.langmenu.on{display:grid}
.langmenu button{all:unset;cursor:pointer;padding:9px 14px;font-size:15px;letter-spacing:.04em;color:#d9cfbd;border:1px solid transparent;white-space:nowrap}
.langmenu button:hover{border-color:rgba(201,164,92,.45);color:#f0dfb0}
.langmenu button.cur{border-color:#c9a45c;color:#ecd9a2;background:rgba(201,164,92,.10)}
.langmenu button:focus-visible{outline:1px solid #f0dfb0}
/* ---------- v4: five gates light up one by one ---------- */
.gate .go{stroke:#5a554b;fill:rgba(201,164,92,0)}
.gate .gi{stroke:#5a554b;stroke-opacity:.35}
.gate .gn{fill:#6e6453}
.gate .gl{fill:#8f8779}
.gate .lamp{opacity:0}
.slide.active .gate .go{animation:gOuter .9s var(--ease) forwards;animation-delay:var(--dl)}
.slide.active .gate .gi{animation:gInner .9s var(--ease) forwards;animation-delay:var(--dl)}
.slide.active .gate .gn{animation:gNum .9s var(--ease) forwards;animation-delay:var(--dl)}
.slide.active .gate .gl{animation:gLab .9s var(--ease) forwards;animation-delay:var(--dl)}
.slide.active .gate .lamp{animation:gLamp 1.5s var(--ease) forwards;animation-delay:var(--dl)}
@keyframes gOuter{to{stroke:#e3c47d;fill:rgba(201,164,92,.09)}}
@keyframes gInner{to{stroke:#e3c47d;stroke-opacity:.5}}
@keyframes gNum{to{fill:#ecd9a2}}
@keyframes gLab{to{fill:#f2ece0}}
@keyframes gLamp{0%{opacity:0}35%{opacity:1}100%{opacity:.75}}
.gdesc{display:grid;grid-template-columns:repeat(5,330px);margin-left:-5px;margin-top:22px}
.gdesc>div{text-align:center;padding:0 26px;font-size:18px;line-height:1.5;color:#cfc7b7;opacity:0}
.slide.active .gdesc>div{animation:fadein .9s var(--ease) forwards;animation-delay:var(--dl)}
/* ---------- v4: Alpha HFT ---------- */
.hgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 44px;margin-top:46px;max-width:820px}
.hst .v{font-family:var(--serif);font-size:62px;line-height:1;color:var(--ivory);font-weight:500}
.hst .k{margin-top:10px;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);line-height:1.5}
.lang-zh .hst .k{letter-spacing:.08em;font-size:16px}
.tickframe{position:relative;border:1px solid rgba(201,164,92,.22);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005))}
.tickframe:before{content:"";position:absolute;left:-1px;top:-1px;width:26px;height:26px;border-left:1px solid var(--gold);border-top:1px solid var(--gold)}
.tickframe:after{content:"";position:absolute;right:-1px;bottom:-1px;width:26px;height:26px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.tcap{margin-top:14px;font-size:14px;letter-spacing:.06em;color:var(--muted);line-height:1.5}
.hsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:18px}
.hstep{padding:30px 30px 36px}
.hstep .hno{font-family:var(--serif);font-size:24px;color:var(--gold);letter-spacing:.1em}
.hstep .hico{display:block;margin:14px 0 16px}
.hstep p{font-size:19px;color:#cfc7b7}
.hk{font-size:15px;letter-spacing:.24em;color:#e3c47d;text-transform:uppercase;font-weight:600}
.lang-zh .hk{letter-spacing:.1em;font-size:17px}
.hchartcap{font-size:15px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.lang-zh .hchartcap{letter-spacing:.08em;font-size:17px}
.hleg{display:flex;align-items:center;gap:12px;margin:18px 0 0 20px;font-size:16px;color:#8f8779}
.hleg i{display:inline-block;width:46px;border-top:1px dashed #8f8779}

@media (prefers-reduced-motion:reduce){
  .a,.pop,.grow,.growy{opacity:1!important;transform:none!important;animation:none!important}
  .draw .ln{stroke-dashoffset:0!important;animation:none!important}
  .spin,.spinr,.pulse,.gold,.grain,.twinkle{animation:none!important}
  .gate .go,.gate .gi,.gate .gn,.gate .gl,.gate .lamp,.gdesc>div{animation:none!important;opacity:1!important}
  .gate .go{stroke:#e3c47d;fill:rgba(201,164,92,.09)}.gate .gi{stroke:#e3c47d}.gate .gn{fill:#ecd9a2}.gate .gl{fill:#f2ece0}
}
@media print{
  @page{size:1920px 1080px;margin:0}
  html,body{overflow:visible;height:auto;background:#060607}
  #deck{position:static;background:none}
  #stage{position:static;transform:none!important;width:1920px;height:auto;overflow:visible;box-shadow:none}
  .slide{position:relative;width:1920px;height:1080px;opacity:1!important;visibility:visible!important;transform:none!important;page-break-after:always;break-after:page;overflow:hidden}
  .a,.pop,.grow,.growy{opacity:1!important;transform:none!important;animation:none!important}
  .draw .ln{stroke-dashoffset:0!important;animation:none!important}
  .hud,.progress,.notes,.overview,.help,.grain{display:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ================= v6: scroll view (#deck.doc) — phones, portrait tablets, small windows ================= */
.hs{display:contents}
.dtop,.gates-m{display:none}
#bmode .ic-stage{display:none}
#deck.doc #bmode .ic-doc{display:none}#deck.doc #bmode .ic-stage{display:inline}
html.doc,html.doc body{height:auto;overflow-x:hidden;overflow-y:auto}
#deck.doc{position:relative;inset:auto;min-height:100vh;background:#050506;--cols:1;--gut:20px}
@media (min-width:600px){#deck.doc{--cols:2;--gut:40px}}
@media (min-width:1100px){#deck.doc{--cols:3;--gut:64px}}
#deck.doc #stage{position:static;left:auto;top:auto;width:auto;height:auto;transform:none!important;overflow:visible;box-shadow:none;background:transparent}
#deck.doc #dust,#deck.doc .grain,#deck.doc .chrome,#deck.doc .deskonly,#deck.doc .gwide,#deck.doc .gdesc,#deck.doc .help,#deck.doc .notes,
#deck.doc #bprev,#deck.doc #bnext,#deck.doc #bnotes,#deck.doc #bfs{display:none!important}
#deck.doc .slide{position:relative;inset:auto;opacity:1;visibility:visible;transform:none;transition:none;display:flex;flex-direction:column;
  padding:80px var(--gut) 26px;overflow:hidden;scroll-margin-top:52px;border-top:1px solid rgba(201,164,92,.10)}
#deck.doc .slide.s01{min-height:100vh;min-height:100svh;border-top:0;padding-top:100px}
#deck.doc .slide:last-child{min-height:86vh;min-height:86svh;justify-content:center}
#deck.doc .slide.off .spin,#deck.doc .slide.off .spinr,#deck.doc .slide.off .pulse,#deck.doc .slide.off .twinkle,#deck.doc .slide.off .gold{animation-play-state:paused}
#deck.doc .vignette{opacity:.55}
#deck.doc .content{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;
  max-width:100%!important;transform:none!important;order:1;display:flex;flex-direction:column;justify-content:flex-start;z-index:4}
#deck.doc .art{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;
  max-width:100%;order:2;margin:26px auto 0;transform:none;z-index:3}
#deck.doc .art.top{order:0;margin:0 auto 14px}
#deck.doc .art .lbl{text-align:left!important;margin:8px 0 0!important}
.wheel-m{display:none}
#deck.doc .art.sm svg text.sl{display:none}
#deck.doc .art.sm svg text.cl{font-size:26px}
#deck.doc .art.sm .wheel-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0;width:100%}
#deck.doc .wheel-m .wc{padding:9px 4px;border:1px solid rgba(201,164,92,.22);text-align:center;font-size:13px;line-height:1.3;letter-spacing:.03em;color:#8f8779;overflow-wrap:anywhere}
#deck.doc .wheel-m .wc.on{color:#ecd9a2;border-color:rgba(201,164,92,.7);background:rgba(201,164,92,.08)}
#deck.doc .bgart{pointer-events:none}
#deck.doc .foot{position:relative!important;left:auto;right:auto;bottom:auto;order:3;margin-top:22px;display:block;text-transform:none;letter-spacing:.04em;font-size:11px;z-index:4}
#deck.doc .foot>div:first-child{display:none}
#deck.doc .slide:last-child .foot>div:first-child{display:block}
#deck.doc .foot .src{max-width:none;text-align:left;font-size:11px;line-height:1.55;color:#6d675c}
/* type */
#deck.doc .eyebrow{font-size:11px;letter-spacing:.26em;gap:12px;margin-bottom:14px;flex-wrap:wrap}
#deck.doc .eyebrow:before{width:26px}
#deck.doc .h1{font-size:clamp(36px,10.4vw,72px)!important;line-height:1.08!important;letter-spacing:.01em!important}
#deck.doc .h2{font-size:clamp(28px,8vw,52px)!important;line-height:1.16!important;letter-spacing:.01em!important}
#deck.doc .lead{font-size:clamp(17px,4.6vw,24px)!important;line-height:1.5!important;margin-top:14px!important;max-width:none!important}
#deck.doc .small{font-size:14px}
#deck.doc .rule{margin:20px 0}
#deck.doc .chip{font-size:11px;padding:8px 12px;letter-spacing:.14em}
#deck.doc .stats{flex-wrap:wrap;row-gap:22px;margin-top:6px}
#deck.doc .stat{flex:1 1 42%;min-width:0;padding:0 14px!important;border-left:1px solid var(--gold-line)!important}
#deck.doc .stat .v{font-size:clamp(32px,9.6vw,58px)!important}
#deck.doc .stat .k{font-size:12px;letter-spacing:.12em;margin-top:8px;max-width:none}
#deck.doc .card{padding:22px 20px}
#deck.doc .card h4{font-size:17px;letter-spacing:.1em}
#deck.doc .card p{font-size:15px;margin-top:10px}
#deck.doc .kpi .v{font-size:clamp(30px,9vw,54px)!important}
#deck.doc .kpi .k{font-size:12px;letter-spacing:.14em}
#deck.doc .kpi .d{font-size:13px}
#deck.doc .hgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;margin-top:22px;max-width:none}
#deck.doc .hst .v{font-size:clamp(28px,8.4vw,48px)}
#deck.doc .hst .k{font-size:11px;letter-spacing:.12em}
#deck.doc .hsteps{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:14px}
#deck.doc .hstep{padding:20px 20px 24px}
#deck.doc .hstep p{font-size:15px}
#deck.doc .tcap,#deck.doc .hchartcap,#deck.doc .hk{font-size:12px;letter-spacing:.08em}
#deck.doc .hleg{font-size:13px;margin-left:0}
#deck.doc .d-grid{grid-template-columns:repeat(var(--cols),minmax(0,1fr))!important}
#deck.doc .d-flex{flex-wrap:wrap!important}
#deck.doc .d-flex>*{min-width:0;max-width:100%}
#deck.doc .d-flex>.card{flex:1 1 calc(100% / var(--cols) - 16px)!important;min-width:0}
#deck.doc .d-flex>.a.fade{flex:1 1 100%;justify-content:center}
/* charts wider than the screen: swipe sideways */
#deck.doc .hs{display:block;position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:0 calc(-1*var(--gut));padding:0 var(--gut) 8px;
  scrollbar-width:thin;scrollbar-color:rgba(201,164,92,.5) transparent;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),rgba(0,0,0,.25));mask-image:linear-gradient(90deg,#000 calc(100% - 34px),rgba(0,0,0,.25))}
#deck.doc .hs.end{-webkit-mask-image:none;mask-image:none}
#deck.doc .hs::-webkit-scrollbar{height:3px}#deck.doc .hs::-webkit-scrollbar-thumb{background:rgba(201,164,92,.5)}
#deck.doc .hs svg{display:block}
/* canvases */
#deck.doc canvas#globe{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important}
#deck.doc canvas#wmap{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;aspect-ratio:1920/780;margin-top:18px}
#deck.doc .tickframe canvas{width:100%!important;height:auto!important;aspect-ratio:800/460}
/* slide-specific */
#deck.doc .s01 .corner{position:absolute!important;right:12px!important;top:60px!important;z-index:2;opacity:.85}
#deck.doc .s01 .corner svg{width:92px;height:92px}
#deck.doc .s02 .bgart{width:min(150vw,900px)}
#deck.doc .s02 .bgart svg{width:100%;height:auto}
#deck.doc .s02 .content>.d-flex{flex-direction:column!important;align-items:center!important;gap:4px!important}
#deck.doc .s02 .content svg[width="120"]{transform:rotate(90deg);margin:10px 0}
#deck.doc .ridge{position:absolute!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;height:auto!important;opacity:.5}
#deck.doc .ridge svg{width:100%;height:auto;display:block}
#deck.doc .rcard{text-align:left!important;margin:14px 0 0;padding-left:14px;border-left:1px solid var(--gold-line)}
#deck.doc .s23 .art:not(.rcard){margin:18px auto 6px}
/* the five gates as a vertical list */
#deck.doc .gates-m{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px 18px;margin-top:22px}
.gm{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid rgba(201,164,92,.16);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008))}
.gm svg{flex:none;overflow:visible}
.gml{font-family:var(--display);font-size:15px;letter-spacing:.14em;color:#f2ece0;text-transform:uppercase}
.gmd{font-size:14px;line-height:1.5;color:#cfc7b7;margin-top:4px}
.gmt{opacity:0}
.slide.active .gmt{animation:fadein .9s var(--ease) forwards;animation-delay:var(--dl)}
/* controls become a top bar */
#deck.doc .hud{position:fixed;left:0;right:0;top:0;bottom:auto;height:52px;padding:0 8px 0 14px;gap:6px;justify-content:flex-end;opacity:1!important;
  background:linear-gradient(180deg,rgba(5,5,6,.97),rgba(5,5,6,.86));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,164,92,.16)}
#deck.doc .dtop{display:flex;align-items:center;gap:9px;margin-right:auto;min-width:0}
#deck.doc .dtop svg{width:26px;height:26px;flex:none}
#deck.doc .dtop span{font-family:'Cinzel',Georgia,serif;font-size:12px;letter-spacing:.24em;color:var(--ivory);white-space:nowrap}
#deck.doc .hud button{height:32px;min-width:32px;padding:0 9px;font-size:11px;letter-spacing:.06em}
#deck.doc .hud .count{min-width:0;font-size:11px;letter-spacing:.12em;padding:0 4px}
#deck.doc .progress{position:fixed;top:52px;bottom:auto}
#deck.doc .langmenu{top:58px;bottom:auto;right:8px;grid-template-columns:repeat(2,minmax(0,1fr));width:min(330px,calc(100vw - 16px))}
#deck.doc .langmenu button{padding:10px 12px;font-size:14px}
#deck.doc .overview{padding:68px var(--gut) 28px}
#deck.doc .ogrid{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px}
#deck.doc .ogrid button{padding:14px 14px 16px;font-size:14px}
#deck.doc .ogrid b{font-size:20px}
@media (max-width:460px){#deck.doc .dtop span{display:none}}
@media (max-width:599px){#deck.doc .s01 .corner{display:none}}
@media (prefers-reduced-motion:reduce){.gmt{opacity:1!important;animation:none!important}}
:root{--startile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Ccircle cx='360.0' cy='359.2' r='1.36' fill='rgba(233,215,168,0.47)'/%3E%3Ccircle cx='44.4' cy='213.1' r='1.55' fill='rgba(233,215,168,0.62)'/%3E%3Ccircle cx='131.6' cy='285.8' r='1.28' fill='rgba(233,215,168,0.41)'/%3E%3Ccircle cx='128.3' cy='248.6' r='1.46' fill='rgba(233,215,168,0.55)'/%3E%3Ccircle cx='77.9' cy='297.9' r='1.27' fill='rgba(233,215,168,0.40)'/%3E%3Ccircle cx='76.6' cy='157.7' r='0.95' fill='rgba(170,186,214,0.22)'/%3E%3Ccircle cx='291.1' cy='273.6' r='1.31' fill='rgba(233,215,168,0.43)'/%3E%3Ccircle cx='316.1' cy='135.8' r='1.51' fill='rgba(233,215,168,0.59)'/%3E%3Ccircle cx='304.4' cy='68.5' r='1.38' fill='rgba(233,215,168,0.48)'/%3E%3Ccircle cx='47.0' cy='336.8' r='1.11' fill='rgba(170,186,214,0.30)'/%3E%3Ccircle cx='63.1' cy='204.5' r='0.54' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='93.0' cy='276.2' r='0.54' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='255.9' cy='183.4' r='0.72' fill='rgba(170,186,214,0.15)'/%3E%3Ccircle cx='111.6' cy='12.0' r='1.03' fill='rgba(170,186,214,0.26)'/%3E%3Ccircle cx='128.9' cy='218.8' r='0.73' fill='rgba(170,186,214,0.15)'/%3E%3Ccircle cx='279.8' cy='244.3' r='0.95' fill='rgba(170,186,214,0.22)'/%3E%3Ccircle cx='341.4' cy='217.1' r='1.47' fill='rgba(233,215,168,0.55)'/%3E%3Ccircle cx='219.3' cy='291.2' r='1.34' fill='rgba(233,215,168,0.45)'/%3E%3Ccircle cx='253.9' cy='119.4' r='0.83' fill='rgba(170,186,214,0.18)'/%3E%3Ccircle cx='248.5' cy='328.0' r='1.17' fill='rgba(170,186,214,0.34)'/%3E%3Ccircle cx='8.6' cy='18.2' r='1.43' fill='rgba(233,215,168,0.52)'/%3E%3Ccircle cx='140.8' cy='86.6' r='1.05' fill='rgba(170,186,214,0.27)'/%3E%3Ccircle cx='232.5' cy='157.8' r='0.72' fill='rgba(170,186,214,0.15)'/%3E%3Ccircle cx='153.2' cy='218.7' r='0.97' fill='rgba(170,186,214,0.23)'/%3E%3Ccircle cx='36.2' cy='240.5' r='1.64' fill='rgba(255,244,220,0.71)'/%3E%3Ccircle cx='317.1' cy='150.6' r='0.78' fill='rgba(170,186,214,0.17)'/%3E%3Ccircle cx='312.8' cy='108.3' r='1.24' fill='rgba(233,215,168,0.38)'/%3E%3Ccircle cx='298.6' cy='184.3' r='0.46' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='193.3' cy='88.4' r='0.52' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='75.3' cy='174.0' r='1.12' fill='rgba(170,186,214,0.30)'/%3E%3Ccircle cx='211.1' cy='199.1' r='0.53' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='219.7' cy='57.2' r='1.64' fill='rgba(255,244,220,0.71)'/%3E%3Ccircle cx='287.1' cy='73.7' r='1.56' fill='rgba(233,215,168,0.64)'/%3E%3Ccircle cx='17.2' cy='25.0' r='1.12' fill='rgba(170,186,214,0.31)'/%3E%3Ccircle cx='328.1' cy='84.4' r='1.24' fill='rgba(233,215,168,0.38)'/%3E%3Ccircle cx='231.0' cy='185.7' r='1.55' fill='rgba(233,215,168,0.63)'/%3E%3Ccircle cx='199.9' cy='119.9' r='0.95' fill='rgba(170,186,214,0.22)'/%3E%3Ccircle cx='87.6' cy='193.0' r='1.43' fill='rgba(233,215,168,0.52)'/%3E%3Ccircle cx='317.6' cy='144.5' r='0.76' fill='rgba(170,186,214,0.16)'/%3E%3Ccircle cx='100.0' cy='43.8' r='1.58' fill='rgba(255,244,220,0.65)'/%3E%3Ccircle cx='97.9' cy='90.1' r='1.39' fill='rgba(233,215,168,0.49)'/%3E%3Ccircle cx='127.8' cy='275.4' r='1.32' fill='rgba(233,215,168,0.43)'/%3E%3Ccircle cx='59.4' cy='220.4' r='0.92' fill='rgba(170,186,214,0.21)'/%3E%3Ccircle cx='122.2' cy='87.3' r='1.58' fill='rgba(255,244,220,0.65)'/%3E%3Ccircle cx='10.6' cy='275.0' r='0.59' fill='rgba(170,186,214,0.13)'/%3E%3Ccircle cx='180.7' cy='291.5' r='1.18' fill='rgba(233,215,168,0.34)'/%3E%3Ccircle cx='347.2' cy='69.2' r='0.76' fill='rgba(170,186,214,0.16)'/%3E%3Ccircle cx='333.5' cy='29.5' r='0.85' fill='rgba(170,186,214,0.19)'/%3E%3Ccircle cx='325.5' cy='276.5' r='0.61' fill='rgba(170,186,214,0.13)'/%3E%3Ccircle cx='154.7' cy='63.3' r='1.27' fill='rgba(233,215,168,0.40)'/%3E%3Ccircle cx='63.5' cy='245.9' r='1.61' fill='rgba(255,244,220,0.68)'/%3E%3Ccircle cx='256.4' cy='207.4' r='1.15' fill='rgba(170,186,214,0.33)'/%3E%3Ccircle cx='235.3' cy='304.8' r='0.91' fill='rgba(170,186,214,0.21)'/%3E%3Ccircle cx='70.9' cy='4.1' r='0.84' fill='rgba(170,186,214,0.18)'/%3E%3Ccircle cx='111.4' cy='138.4' r='1.33' fill='rgba(233,215,168,0.44)'/%3E%3Ccircle cx='315.7' cy='288.6' r='1.34' fill='rgba(233,215,168,0.45)'/%3E%3Ccircle cx='2.8' cy='82.5' r='1.00' fill='rgba(170,186,214,0.24)'/%3E%3Ccircle cx='141.8' cy='356.9' r='0.45' fill='rgba(170,186,214,0.12)'/%3E%3Ccircle cx='76.2' cy='141.5' r='0.96' fill='rgba(170,186,214,0.23)'/%3E%3Ccircle cx='120.8' cy='191.7' r='1.61' fill='rgba(255,244,220,0.68)'/%3E%3Ccircle cx='121.8' cy='95.9' r='0.56' fill='rgba(170,186,214,0.13)'/%3E%3Ccircle cx='106.2' cy='64.4' r='0.86' fill='rgba(170,186,214,0.19)'/%3E%3Ccircle cx='46.9' cy='17.4' r='0.59' fill='rgba(170,186,214,0.13)'/%3E%3Ccircle cx='150.1' cy='350.3' r='0.95' fill='rgba(170,186,214,0.23)'/%3E%3C/svg%3E")}/* ===================== Alpha Scorpion · Ecosystem Roadmap v2 · look (after the Web PPT engine CSS) =====================
   StarMap v3 tokens: night black #05070C · card #0A0E16 · ivory #ECE6D6 · gold #D8B46A / #C9A45C / #F6E7B8 · Antares #FFF4DC · cold blue #8DA4CC
   Type: Cormorant Garamond (Latin, numbers) · Noto Serif SC (Chinese) · Cinzel (wordmark only). */
:root{color-scheme:dark;
  --bg:#05070C;--card:#0A0E16;--card2:#0E1422;--ink:#ECE6D6;--ink2:#A9A49A;--ink3:#8E897C;--num:#F4EEDF;
  --gold:#D8B46A;--gold-hi:#F6E7B8;--gold-main:#C9A45C;--gold-dark:#A47D3A;--star:#FFF4DC;--down:#8DA4CC;--verm:#C23B26;
  --line:rgba(201,164,92,.18);--line2:rgba(201,164,92,.30);--line3:rgba(246,231,184,.55);
  --text:var(--ink);--muted:var(--ink2);--faint:var(--ink3);--ivory:var(--ink);--gold-line:var(--line2);
  --display:'Cormorant Garamond','Noto Serif SC','Songti SC','SimSun',Georgia,serif;
  --serif:'Cormorant Garamond','Noto Serif SC','Songti SC','SimSun',Georgia,serif;
  --sans:'Cormorant Garamond','Noto Serif SC','Songti SC','SimSun',Georgia,serif;
  --ease:cubic-bezier(.16,1,.3,1);--ease2:cubic-bezier(.65,0,.35,1)}
html,body{background:#020308}
#deck{font-family:var(--serif);color:var(--ink);background:radial-gradient(ellipse at 50% 40%,#0b1226 0%,#020308 72%)}
/* v2: lining figures everywhere. Most rules use the `font` shorthand, which resets font-variant-numeric (and font-feature-settings) on that element,
   so Cormorant fell back to old-style figures: "Stage 1" read as "Stage I", "15 days" as "I5 days". Counters keep equal-width digits. */
#deck,#deck *{font-variant-numeric:lining-nums proportional-nums!important}
#deck .cdb b,#deck .pno,#deck .hud .count,#deck .num{font-variant-numeric:lining-nums tabular-nums!important}
/* v2: a dark halo round every letter keeps background stars from sitting between letters like stray punctuation; gradient-filled text keeps none (its fill is the background) */
.slide{text-shadow:0 0 3px rgba(4,6,12,.95),0 0 9px rgba(4,6,12,.7);text-wrap:pretty}.slide .gold,.slide .gold *{text-shadow:none}
.pi-shadow{overflow:visible}   /* v2: the shadow's mist reaches past the icon box; it was cut flat at the top and right */
#stage{background:radial-gradient(ellipse 1100px 900px at var(--sgx,40%) var(--sgy,48%),#0d1630 0%,#0a1022 34%,#070a13 64%,#05070c 100%);box-shadow:0 0 140px rgba(0,0,0,.9)}
#sky{position:absolute;inset:0;width:1920px;height:1080px;z-index:1;pointer-events:none}
.slide,.hud .count,.ogrid b{font-variant-numeric:lining-nums tabular-nums}
.slide{transition:opacity .9s var(--ease),visibility .9s,transform 1.2s var(--ease);transform:scale(1.02)}
.slide.active{transform:none}
.bg{background:radial-gradient(900px 760px at var(--gx,70%) var(--gy,40%),rgba(40,64,128,.20),transparent 66%),radial-gradient(760px 620px at var(--gx,70%) var(--gy,40%),rgba(216,180,106,.07),transparent 70%)}
.vignette{background:radial-gradient(ellipse at 50% 48%,transparent 58%,rgba(0,0,0,.55) 100%)}
.nw{white-space:nowrap}
b{font-weight:600}

/* ---------- header & footer ---------- */
.chrome{left:96px;right:96px;top:34px;height:62px;border-bottom:1px solid var(--line);padding-bottom:12px;box-sizing:border-box}
.brand{gap:16px}
.brand .b2i{width:44px;height:44px;filter:drop-shadow(0 0 10px rgba(216,180,106,.3))}
.wm{font-family:'Cinzel',Georgia,serif;font-weight:500;font-size:19px;letter-spacing:.2em;color:var(--gold);line-height:1}
.crumb{font-size:19px;color:var(--ink2);letter-spacing:.06em}
.lang-zh .crumb{font-size:16px;letter-spacing:.08em}
.cr{display:flex;align-items:center;gap:24px}
.lsw{display:flex;border:1px solid var(--line2);border-radius:999px;padding:3px;pointer-events:auto}
.lsw button{all:unset;cursor:pointer;font:600 15px/1 var(--serif);padding:7px 14px;border-radius:999px;color:var(--ink2);letter-spacing:.06em}
.lsw button[data-l="zh"]{font-family:'Noto Serif SC',serif;font-size:14px;font-weight:400}
.lsw button:hover{color:var(--gold-hi)}
.lsw button:focus-visible{outline:1px solid var(--gold-hi)}
.lang-en .lsw button[data-l="en"],.lang-zh .lsw button[data-l="zh"]{background:linear-gradient(180deg,#E3C47E,#C9A45C);color:#15110A}
.pno{display:flex;align-items:baseline;gap:8px;font:500 22px/1 var(--serif);color:var(--ink2);letter-spacing:.06em}
.pno:before{display:none}.pno b{font-weight:600;color:var(--gold-hi)}
.foot{left:96px;right:96px;bottom:24px;align-items:center;font:500 16px/1.4 var(--serif);letter-spacing:.04em;color:var(--ink3);text-transform:none}
.foot .fl{order:2;font-size:16px;letter-spacing:.06em}
.foot .src{order:1;text-align:left;font-size:16px;letter-spacing:.03em;color:var(--ink3);max-width:1420px}
.lang-zh .foot .src{font-size:14.5px;font-family:'Noto Serif SC',serif}

/* ---------- type ---------- */
.content{z-index:4}
.kk{display:flex;align-items:center;gap:14px;font:700 17px/1.2 var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.lang-zh .kk{font:600 18px/1.3 'Noto Serif SC',serif;letter-spacing:.2em}
.kk .pico{flex:none;width:40px;height:40px}
.t1{font:600 138px/.94 var(--serif);color:var(--num);letter-spacing:-.01em}
.lang-zh .t1{font:600 124px/1.12 'Noto Serif SC',serif;letter-spacing:.04em}
.t2{font:600 72px/1.03 var(--serif);color:var(--num);letter-spacing:-.005em}
.lang-zh .t2{font:600 56px/1.26 'Noto Serif SC',serif;letter-spacing:.03em}
.sb{margin-top:20px;font:500 27px/1.42 var(--serif);color:var(--ink2);max-width:1100px}
.lang-zh .sb{font:400 21px/1.75 'Noto Serif SC',serif;letter-spacing:.03em}
.gold{background:linear-gradient(100deg,#c39a4f 0%,#f6e7b8 26%,#d8b46a 46%,#fff4dc 60%,#c9a45c 80%,#f0d9a0 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 8s linear infinite}
@keyframes sheen{0%{background-position:0% 50%}100%{background-position:220% 50%}}

/* ---------- entrance (engine hooks: .a + --i, .slide.active) ---------- */
.a{opacity:0;transform:translateY(26px)}
.slide.active .a{animation:rise .95s var(--ease) forwards;animation-delay:calc(var(--i,0) * 120ms + 220ms)}
@keyframes rise{to{opacity:1;transform:none}}
.a.fade{transform:none}.slide.active .a.fade{animation-name:fadein}
@keyframes fadein{to{opacity:1}}
.a.zoom{transform:scale(.94)}.slide.active .a.zoom{animation-name:zoomin}
@keyframes zoomin{to{opacity:1;transform:none}}
.a.left{transform:translateX(-50px)}.slide.active .a.left{animation-name:fromleft}
@keyframes fromleft{to{opacity:1;transform:none}}
.draw .ln{stroke-dasharray:var(--L,2000);stroke-dashoffset:var(--L,2000)}
.slide.active .draw .ln{animation:draw var(--dur,1s) cubic-bezier(.45,.05,.2,1) forwards;animation-delay:var(--dl,.5s)}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- status chips (config decides which variant shows) ---------- */
.ptag{display:inline-flex;align-items:center;gap:8px;padding:5px 13px 6px;border-radius:999px;border:1px solid var(--line2);font:600 16px/1.1 var(--serif);letter-spacing:.04em;color:var(--ink2);white-space:nowrap}
.lang-zh .ptag{font:400 14.5px/1.2 'Noto Serif SC',serif;letter-spacing:.04em}
.ptag b{font-weight:700;color:var(--gold-hi)}
.ptag.big{padding:9px 18px 10px;font-size:19px}.lang-zh .ptag.big{font-size:16px}
[data-st] .when-planned,[data-st] .when-building,[data-st] .when-live{display:none}
[data-st="planned"] .when-planned,[data-st="building"] .when-building,[data-st="live"] .when-live{display:inline}
.stc[data-st="building"]{border-color:rgba(246,231,184,.6);color:var(--gold-hi);background:rgba(216,180,106,.12)}
.stc[data-st="live"]{border-color:var(--gold-hi);color:#15110A;background:linear-gradient(180deg,#F1D58F,#C9A45C)}
.stc[data-st="live"] b{color:#15110A}
#deck[data-cd="past"] .cd-on,#deck:not([data-cd="past"]) .cd-off{display:none!important}
.ptag.rs{border-color:rgba(141,164,204,.45);color:#b9c8e2;background:rgba(141,164,204,.10)}

/* ---------- constellation (shared by page 02) ---------- */
.map{display:block;width:100%;height:auto;overflow:visible}
.map .ln{stroke:#c9a45c;stroke-opacity:.62;stroke-linecap:round}
.map .lg{stroke:#f6e7b8;stroke-width:9;stroke-linecap:round;opacity:0}
.map .sc{fill:#e9d7a8;opacity:.82}.map .sc.aa{fill:#fff4dc;opacity:1}
.map .sh{opacity:.38}
.slide.active .map .lg{animation:lgon .9s var(--ease) forwards;animation-delay:var(--dl)}
@keyframes lgon{to{opacity:var(--lgo,0)}}
#deck[data-s1="building"] .map .st1,#deck[data-s2="building"] .map .st2,#deck[data-s3="building"] .map .st3{--lgo:.13}
#deck[data-s1="building"] .map .st1 .ln,#deck[data-s2="building"] .map .st2 .ln,#deck[data-s3="building"] .map .st3 .ln{stroke:#f6e7b8;stroke-opacity:1}
#deck[data-s1="building"] .map .st1 .sc,#deck[data-s2="building"] .map .st2 .sc,#deck[data-s3="building"] .map .st3 .sc{fill:#f8edcf;opacity:1}
#deck[data-s1="building"] .map .st1 .sh,#deck[data-s2="building"] .map .st2 .sh,#deck[data-s3="building"] .map .st3 .sh{opacity:.9}
#deck[data-s1="live"] .map .st1,#deck[data-s2="live"] .map .st2,#deck[data-s3="live"] .map .st3{--lgo:.24}
#deck[data-s1="live"] .map .st1 .ln,#deck[data-s2="live"] .map .st2 .ln,#deck[data-s3="live"] .map .st3 .ln{stroke:#fff4dc;stroke-opacity:1;stroke-width:2.8}
#deck[data-s1="live"] .map .st1 .sc,#deck[data-s2="live"] .map .st2 .sc,#deck[data-s3="live"] .map .st3 .sc{fill:#fff4dc;opacity:1}
#deck[data-s1="live"] .map .st1 .sh,#deck[data-s2="live"] .map .st2 .sh,#deck[data-s3="live"] .map .st3 .sh{opacity:1}
.mist{opacity:0}
.slide.active .mist{animation:mistin 2.2s var(--ease) forwards;animation-delay:var(--pd,4.7s)}
@keyframes mistin{to{opacity:var(--mo,.42)}}
#deck[data-s4="building"] .mist.st4{--mo:.7}#deck[data-s4="live"] .mist.st4{--mo:1}
.beat{fill:none;stroke:#f6e7b8;stroke-width:1.3;opacity:0;transform-box:fill-box;transform-origin:center}
.slide.active .beat{animation:beat 4.8s ease-out infinite;animation-delay:1.4s}
.slide.active .beat.b2{animation-delay:1.78s}
@keyframes beat{0%{transform:scale(.55);opacity:.85}38%{transform:scale(1.7);opacity:0}100%{transform:scale(1.7);opacity:0}}
.aglow{transform-box:fill-box;transform-origin:center}
.slide.active .aglow{animation:hbeat 4.8s ease-in-out infinite;animation-delay:1.4s}
@keyframes hbeat{0%,100%{transform:scale(1)}6%{transform:scale(1.18)}12%{transform:scale(1)}18%{transform:scale(1.12)}26%{transform:scale(1)}}
#deck[data-s1="planned"] .hb .beat{display:none}
.sweep{opacity:.9}
.slide.active .sweep{animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ldr{fill:none;stroke:rgba(246,231,184,.42);stroke-width:1}
.ldrd{fill:#f6e7b8;fill-opacity:.8}
.sdash{fill:none;stroke:rgba(246,231,184,.32);stroke-width:1;stroke-dasharray:3 5}
.leads,.sdash{opacity:0}.slide.active .leads,.slide.active .sdash{animation:fadein 1s forwards;animation-delay:1.2s}
/* part icons */
.pico line{stroke-linecap:round;stroke-width:4.2}
.pico .pof{stroke:#c9a45c;stroke-opacity:.34}.pico .pon{stroke:#f6e7b8;stroke-width:5.4}
.pico .sof{fill:#c9a45c;opacity:.5}.pico .son{fill:#fff4dc}.pico .sa.sof{opacity:.75}
.pico .pm{opacity:1}.pico.pi-shadow .sof{opacity:.7}
.pico.big .pof{stroke-opacity:.5}

/* ================= 01 cover ================= */
.cover .content.cv{left:120px;top:0;bottom:0;width:1060px;justify-content:center}
.cv .t1{margin-top:6px}
.cv-sub{margin-top:30px;font:500 32px/1.3 var(--serif);color:var(--ink);font-style:italic;letter-spacing:.01em}
.lang-zh .cv-sub{font:400 26px/1.5 'Noto Serif SC',serif;font-style:normal;letter-spacing:.08em}
.cv-parts{display:grid;grid-template-columns:repeat(3,max-content);gap:10px;margin-top:40px}   /* v2: product words are longer: three, then two */
.cvp b{white-space:nowrap}
.cvp{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 8px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.55)}
.cvp .pico{flex:none}
.cvp b{display:block;font:600 23px/1.1 var(--serif);color:var(--gold-hi)}
.cvp div>span{display:block;margin-top:4px;font:500 18.5px/1.2 var(--serif);color:var(--ink2);white-space:nowrap}
.lang-zh .cvp b{font:600 18px/1.2 'Noto Serif SC',serif}.lang-zh .cvp div>span{font:400 14.5px/1.3 'Noto Serif SC',serif}
.cv-next{display:flex;align-items:center;gap:16px;margin-top:36px}
.cvn-k{font:600 22px/1 var(--serif);color:var(--ink);letter-spacing:.04em}
.lang-zh .cvn-k{font:600 18px/1.2 'Noto Serif SC',serif}
.cv-art{position:absolute;right:120px;top:186px;width:680px;height:680px;z-index:3}
.cv-art .seal{position:absolute;left:20px;top:20px;width:640px;height:640px;filter:drop-shadow(0 0 40px rgba(216,180,106,.18))}
.cv-halo{position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(circle,rgba(246,205,120,.16),rgba(246,205,120,0) 62%)}
.slide.active .cv-halo{animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.95);opacity:.7}50%{transform:scale(1.04);opacity:1}}
.cv-orbit{position:absolute;inset:-4%;border-radius:50%;border:1px dashed rgba(246,231,184,.2)}
/* only a zero-width spoke turns (dot at its top end): a turning square ring box would stick out past the screen at 45 deg, the spoke never leaves the circle */
.cv-orbit b{position:absolute;top:0;bottom:0;left:50%;width:0}
.cv-orbit i{position:absolute;top:-5px;left:-5px;width:10px;height:10px;border-radius:50%;background:#fff3d0;box-shadow:0 0 14px 4px rgba(255,220,140,.7)}
.slide.active .cv-orbit b{animation:spin 48s linear infinite}
.cv-ring{opacity:0}.slide.active .cv-ring{animation:fadein 1.4s .2s forwards}
.cv-mist{opacity:0}.slide.active .cv-mist{animation:mistin 3s 4s var(--ease) forwards;--mo:.75}
.seal .ln{stroke:#c9a45c;stroke-width:1.5;stroke-linecap:round;stroke-opacity:.9}
.pop{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center}
.slide.active .pop{animation:pop .7s var(--ease) forwards;animation-delay:var(--dl,1s)}
@keyframes pop{to{opacity:1;transform:none}}
.cv-ant .beat{stroke-width:.6}

/* ================= 02 at a glance ================= */
.map02{position:absolute;left:100px;top:108px;width:1080px;height:812px;z-index:3;container-type:inline-size}
.clab{position:absolute;padding:8px 14px 9px;border-radius:4px;background:rgba(5,7,12,.66);white-space:nowrap;opacity:0;z-index:2}
.slide.active .clab{animation:fadein .8s forwards;animation-delay:calc(var(--sd) + .35s)}
.cl-r{display:flex;align-items:baseline;gap:10px}
.cl-r b{font:600 34px/1 var(--serif);color:var(--gold-hi)}
.cl-r>span{font:500 25px/1 var(--serif);color:var(--ink)}
.lang-zh .cl-r b{font:600 32px/1 'Noto Serif SC',serif}.lang-zh .cl-r>span{font:400 22px/1 'Noto Serif SC',serif}
.cl-w{margin-top:7px;font:500 17px/1 var(--serif);color:var(--ink2);letter-spacing:.03em}
.lang-zh .cl-w{font:400 14.5px/1 'Noto Serif SC',serif}
.clab[data-st="planned"] .cl-r b{color:var(--gold)}.clab[data-st="planned"] .cl-r>span{color:#D9D2C1}
.content.aside02{left:1150px;top:146px;width:676px;bottom:auto}
.stl{list-style:none;margin-top:32px;position:relative}
.stl:before{content:"";position:absolute;left:11px;top:16px;bottom:34px;width:1px;background:linear-gradient(180deg,var(--gold-hi),rgba(201,164,92,.25))}
.stn{position:relative;padding:0 0 22px 46px;min-height:98px}
.stn .node{position:absolute;left:0;top:6px;width:23px;height:23px;border-radius:50%;border:1.5px solid var(--gold-main);background:var(--bg)}
.stn[data-st="building"] .node{background:radial-gradient(circle,#FFF4DC 0 28%,#E8C778 45%,#C9A45C 70%);border-color:var(--gold-hi);box-shadow:0 0 0 6px rgba(216,180,106,.16),0 0 26px 6px rgba(246,231,184,.35)}
.stn[data-st="live"] .node{background:#fff4dc;border-color:#fff4dc;box-shadow:0 0 0 6px rgba(246,231,184,.25),0 0 34px 10px rgba(255,244,220,.55)}
.slide.active .stn .node{animation:nodeflash 1.8s ease-out both;animation-delay:var(--sd)}
@keyframes nodeflash{0%{box-shadow:0 0 0 0 rgba(255,244,220,0)}25%{box-shadow:0 0 0 10px rgba(246,231,184,.25),0 0 46px 14px rgba(255,244,220,.6)}}
.st-top{display:flex;align-items:baseline;gap:14px}
.st-no{font:700 16px/1 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-zh .st-no{font:600 15px/1 'Noto Serif SC',serif;letter-spacing:.18em}
.st-date{font:600 32px/1 var(--serif);color:var(--num);letter-spacing:.01em}
.lang-zh .st-date{font-size:31px}
.st-top .ptag{margin-left:auto;align-self:center}
.st-what{margin-top:9px;font:500 24px/1.3 var(--serif);color:var(--ink)}
.lang-zh .st-what{font:400 20px/1.4 'Noto Serif SC',serif}
.st-p{color:var(--gold-hi);font-weight:600;margin-right:12px}
.stn[data-st="planned"] .st-what{color:#D9D2C1}.stn[data-st="planned"] .st-p{color:var(--gold)}
.hz{position:absolute;left:0;top:902px;width:1920px;height:162px;z-index:3}
.hz svg{display:block}
.hz-l{stroke:#c9a45c;stroke-opacity:.55;stroke-width:1.5}
.hz-t{stroke:rgba(201,164,92,.5)}
.hz-m{font:500 16px var(--serif);fill:var(--ink3);text-anchor:middle;letter-spacing:.04em}
.lang-zh .hz-m{font:400 13.5px 'Noto Serif SC',serif}
.hz-s path{fill:var(--bg);stroke:#c9a45c;stroke-width:1.4}
.hz-s text{font:600 17px var(--serif);fill:var(--gold);text-anchor:middle;letter-spacing:.03em}
.lang-zh .hz-s text{font:400 15px 'Noto Serif SC',serif}
.hz-s[data-st="building"] path,.hz-s[data-st="live"] path{fill:#f6e7b8;stroke:#f6e7b8;filter:drop-shadow(0 0 6px rgba(246,231,184,.8))}
.hz-s[data-st="building"] text,.hz-s[data-st="live"] text{fill:var(--gold-hi)}
.hz-past{stroke:#f6e7b8;stroke-width:2.4;filter:drop-shadow(0 0 4px rgba(246,231,184,.7))}
.hz-now{fill:#fff4dc}
.hz-tl{font:600 17px var(--serif);fill:var(--gold-hi);text-anchor:middle}
.lang-zh .hz-tl{font:400 14.5px 'Noto Serif SC',serif}
.slide.active .hz-dot{animation:twk 2.6s ease-in-out infinite}
@keyframes twk{0%,100%{opacity:1}50%{opacity:.55}}

/* ================= 03 how it turns ================= */
.fwbox{position:absolute;left:116px;top:140px;width:860px;height:820px;z-index:3;container-type:inline-size}
.fw{display:block;width:100%;height:100%;overflow:visible}
.fw-ring{fill:none;stroke:rgba(201,164,92,.16);stroke-width:1}
.fw-in{fill:none;stroke:rgba(201,164,92,.09);stroke-dasharray:2 6}
.fw-arc{fill:none;stroke:#c9a45c;stroke-opacity:.55;stroke-width:2}
.fw-head{fill:none;stroke:#e9cf8f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fw-no circle{fill:#0a0e16;stroke:var(--gold-main);stroke-width:1.4}
.fw-no text{font:600 22px var(--serif);fill:var(--gold);text-anchor:middle}
.fw-no.on circle{fill:#f6e7b8;stroke:#fff4dc}.fw-no.on text{fill:#15110A}
.fw-mid{opacity:.5}
.fw-oc{fill:#fff4dc}.fw-oh{fill:url(#shalo)}
.fwn{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:260px;text-align:center}
.fwn-c{display:flex;align-items:center;justify-content:center;gap:2px;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(246,231,184,.14),rgba(10,14,22,.95) 70%);border:1.5px solid rgba(246,231,184,.35);box-shadow:0 0 40px -10px rgba(216,180,106,.5);transition:box-shadow .6s,border-color .6s}
.fwn.on .fwn-c{border-color:#fff1c8;box-shadow:0 0 70px 6px rgba(255,214,130,.45)}
.fwn-t b{display:block;font:600 30px/1.1 var(--serif);color:var(--gold-hi)}
.fwn-t>span{display:block;margin-top:5px;font:500 19px/1.2 var(--serif);color:var(--ink2)}
.lang-zh .fwn-t b{font:600 25px/1.2 'Noto Serif SC',serif}.lang-zh .fwn-t>span{font:400 15.5px/1.3 'Noto Serif SC',serif}
.fw-trade{margin-top:-14px}.fw-reward .fwn-c{order:2}.fw-reward .fwn-t{order:1}   /* v2.1: the node at the bottom of the ring (Earn since the loop follows the stages) */
.content.aside03{left:1060px;top:180px;width:760px;bottom:auto}
.fwl{list-style:none;margin-top:36px;display:flex;flex-direction:column;gap:14px}
.fwl li{display:flex;align-items:flex-start;gap:18px;padding:16px 20px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.55);transition:border-color .5s,background .5s}
.fwl li.on{border-color:var(--line3);background:rgba(216,180,106,.08)}
.fl-n{flex:none;width:36px;height:36px;border-radius:50%;border:1.4px solid var(--gold-main);display:flex;align-items:center;justify-content:center;font:600 20px/1 var(--serif);color:var(--gold)}
.fwl li.on .fl-n{background:#f6e7b8;color:#15110A;border-color:#fff4dc}
.fl-t{font:500 25px/1.38 var(--serif);color:var(--ink)}
.lang-zh .fl-t{font:400 20px/1.6 'Noto Serif SC',serif}
.fw-note{margin-top:22px;font:500 21px/1.4 var(--serif);color:var(--gold);font-style:italic}
.lang-zh .fw-note{font:400 17px/1.6 'Noto Serif SC',serif;font-style:normal}

/* ================= 04 exchange ================= */
.dev{position:absolute;left:96px;top:176px;width:1010px;height:760px;z-index:3}
.laptop{position:absolute;left:0;top:30px;width:920px}
.lp-scr{position:relative;border:10px solid #10141f;border-bottom-width:12px;border-radius:14px 14px 4px 4px;background:#05070c;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(246,231,184,.12)}
.lp-scr img{display:block;width:100%;height:auto}
.lp-base{height:18px;margin:0 -46px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#232a3a,#0d1018);box-shadow:0 20px 40px -10px rgba(0,0,0,.8)}
.phone{position:absolute;border:9px solid #10141f;border-radius:38px;background:#05070c;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.95),0 0 0 1px rgba(246,231,184,.16)}
.ph04{right:-6px;top:236px;width:250px}
.ph04 img{display:block;width:100%;height:auto}
.slide.active .laptop{animation:float1 9s ease-in-out infinite}
.slide.active .ph04{animation:float2 8s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
.dev-cap{position:absolute;left:0;bottom:0;font:500 18px/1.3 var(--serif);color:var(--ink3);letter-spacing:.03em}
.lang-zh .dev-cap{font:400 15px 'Noto Serif SC',serif}
.dev-cap b{font-weight:600;color:var(--gold);letter-spacing:.06em;margin-right:.6em}
.content.aside04{left:1150px;top:150px;width:690px;bottom:auto}
.mks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px}
.mk{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.55)}
.mg{flex:none;width:52px;height:33px}
.mg polyline{fill:none;stroke:#c9a45c;stroke-opacity:.45;stroke-width:1.6;stroke-linejoin:round}
.mg circle{fill:#e9d7a8;opacity:.6}
.mk span{font:600 21px/1.15 var(--serif);color:var(--ink)}
.lang-zh .mk span{font:400 17.5px/1.3 'Noto Serif SC',serif}
.slide.active .mk{animation:mkon 1s ease-out forwards;animation-delay:calc(1s + var(--k) * .32s)}
.slide.active .mk polyline{animation:mkl 1s ease-out forwards;animation-delay:calc(1s + var(--k) * .32s)}
.slide.active .mk circle{animation:mkc 1s ease-out forwards;animation-delay:calc(1s + var(--k) * .32s)}
@keyframes mkon{to{border-color:rgba(246,231,184,.42);background:rgba(216,180,106,.07)}}
@keyframes mkl{to{stroke:#f6e7b8;stroke-opacity:1}}
@keyframes mkc{to{fill:#fff4dc;opacity:1}}
.ftk{margin-top:30px;font:700 16px/1.2 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-zh .ftk{font:600 16px 'Noto Serif SC',serif;letter-spacing:.16em}
.ft{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px;margin-top:14px}
.ft li{display:flex;align-items:baseline;gap:10px;font:500 21px/1.3 var(--serif);color:var(--ink)}
.lang-zh .ft li{font:400 17px/1.45 'Noto Serif SC',serif}
.ft i{font:600 15px/1 var(--serif);font-style:normal;color:var(--gold);letter-spacing:.06em}
.fee{display:inline-flex;align-items:baseline;gap:14px;margin-top:28px;padding:12px 20px;border-radius:6px;border:1px solid var(--line2);background:rgba(216,180,106,.08);font:600 24px/1.2 var(--serif);color:var(--gold-hi)}
.lang-zh .fee{font:600 20px/1.3 'Noto Serif SC',serif}
.fee>small{font:500 17px var(--serif);color:var(--ink2)}.lang-zh .fee>small{font:400 14.5px 'Noto Serif SC',serif}

/* ================= 05 / 08 / 10 / 12 three steps ================= */
.content.wide{left:120px;right:120px;top:150px;bottom:auto}
.steps .content.wide{bottom:96px;justify-content:flex-start}
.steps .jr{margin-top:auto;margin-bottom:auto}
.steps-art{position:absolute;right:120px;top:128px;width:320px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:3}
.steps-art .pico{width:300px;height:300px}
.steps-art span{font:600 19px/1.2 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lang-zh .steps-art span{font:600 16px/1.3 'Noto Serif SC',serif;letter-spacing:.16em}
.pico.big line{stroke-width:1.5}.pico.big .pon{stroke-width:2.3}.pico.big .pof{stroke-opacity:.42}
.jr{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:56px;margin-top:60px}
.jr-line{position:absolute;left:calc((100% - (var(--n) - 1) * 56px) / var(--n) / 2);right:calc((100% - (var(--n) - 1) * 56px) / var(--n) / 2);top:56px;height:1.5px;background:linear-gradient(90deg,rgba(201,164,92,.25),rgba(246,231,184,.8),rgba(201,164,92,.25));transform-origin:left center}
.slide.active .jr-line{animation:growx 1.4s var(--ease) both;animation-delay:.5s}
@keyframes growx{from{transform:scaleX(0)}}
.jr-run{position:absolute;top:50%;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff6dc;box-shadow:0 0 20px 8px rgba(255,214,130,.8);opacity:0}
.slide.active .jr-run{animation:jrun var(--per,6s) linear infinite;animation-delay:1.9s}
@keyframes jrun{0%{left:0;opacity:0}5%{opacity:1}90%{left:100%;opacity:1}96%,100%{left:100%;opacity:0}}
.jr-s{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.jr-node{position:relative;z-index:1;width:112px;height:112px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,rgba(255,236,190,.18),rgba(10,14,22,.95) 68%);border:1.5px solid rgba(246,231,184,.45);box-shadow:0 0 40px -12px rgba(216,180,106,.55)}
.jr-node b{font:600 52px/1 var(--serif);color:var(--gold-hi)}
.slide.active .jr-node{animation:jnode var(--per,6s) ease-in-out infinite;animation-delay:var(--nd,2s)}
@keyframes jnode{0%,100%{box-shadow:0 0 40px -12px rgba(216,180,106,.55);border-color:rgba(246,231,184,.45)}8%{box-shadow:0 0 80px 8px rgba(255,214,130,.75);border-color:#fff1c8}24%{box-shadow:0 0 40px -12px rgba(216,180,106,.55);border-color:rgba(246,231,184,.45)}}
.jr-t{margin-top:38px;font:600 42px/1.15 var(--serif);color:var(--num)}
.lang-zh .jr-t{font:600 33px/1.35 'Noto Serif SC',serif}
.jr-p{margin-top:18px;font:500 27px/1.45 var(--serif);color:var(--ink2);max-width:500px}
.lang-zh .jr-p{font:400 21px/1.75 'Noto Serif SC',serif}

/* ================= 06 AI HFT ================= */
.pulsar{position:absolute;left:140px;top:170px;width:760px;height:760px;z-index:3}
.pulsar canvas{position:absolute;inset:0;width:760px;height:760px}
.pl-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.pl-c b{display:block;font:600 76px/1 var(--serif);color:var(--num)}
.pl-c b small{font-size:36px;color:var(--gold);margin-left:4px}
.pl-c>span{display:block;margin-top:8px;font:500 18px/1.2 var(--serif);color:var(--ink2);letter-spacing:.04em}
.lang-zh .pl-c>span{font:400 14.5px 'Noto Serif SC',serif}
.pl-k{position:absolute;left:0;right:0;bottom:-34px;display:flex;justify-content:center;gap:34px;font:500 19px/1.2 var(--serif);color:var(--ink2)}
.lang-zh .pl-k{font:400 15.5px 'Noto Serif SC',serif}
.pl-k span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;vertical-align:1px}
.pl-a:before{background:#fff4dc;box-shadow:0 0 10px 3px rgba(255,220,150,.8)}.pl-b:before{background:#8DA4CC}
.content.aside06{left:1010px;top:150px;width:810px;bottom:auto}
.hf{margin-top:24px;padding:22px 26px 22px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.62)}
.hf-h{display:flex;align-items:center;gap:16px}
.hf-h>b{font:600 31px/1.1 var(--serif);color:var(--gold-hi)}
.lang-zh .hf-h>b{font:600 25px/1.2 'Noto Serif SC',serif}
.hf-h .ptag{margin-left:auto}
.hf p{margin-top:12px;font:500 23px/1.42 var(--serif);color:var(--ink)}
.lang-zh .hf p{font:400 18.5px/1.7 'Noto Serif SC',serif}
.hf p.hf-s{font-size:20.5px;color:var(--ink2)}.lang-zh .hf p.hf-s{font-size:16.5px}
.hf p b{color:var(--gold-hi)}

/* ================= 07 AS card ================= */
.cardbox{position:absolute;left:150px;top:118px;width:900px;height:880px;z-index:3;perspective:1800px}
.c3d{position:absolute;left:190px;top:40px;width:470px;height:745px;transform-style:preserve-3d}
.slide.active .c3d{animation:sway 12s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotateY(-16deg) rotateX(5deg) rotateZ(-4deg)}50%{transform:rotateY(12deg) rotateX(-3deg) rotateZ(-2deg)}}
.c3d-in{position:absolute;inset:0;border-radius:24px;box-shadow:0 60px 120px -30px rgba(0,0,0,.95),0 0 0 1px rgba(246,231,184,.08)}
.c3d-in .cf{display:block;width:100%;height:100%;border-radius:24px}
.csheen{position:absolute;inset:0;border-radius:24px;-webkit-mask-size:100% 100%;mask-size:100% 100%;background:linear-gradient(112deg,transparent 0%,transparent 36%,rgba(255,246,214,.0) 40%,rgba(255,246,214,.95) 50%,rgba(255,246,214,0) 60%,transparent 64%,transparent 100%);background-size:340% 100%;background-position:120% 0;mix-blend-mode:screen}
.slide.active .csheen{animation:sweepc 6s ease-in-out infinite;animation-delay:1.2s}
@keyframes sweepc{0%{background-position:120% 0}55%,100%{background-position:-20% 0}}
.rip{position:absolute;left:668px;top:118px;width:10px;height:10px}
.rip i{position:absolute;left:0;top:0;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;border:2px solid rgba(246,231,184,.7);border-left-color:transparent;border-bottom-color:transparent;transform:rotate(45deg) scale(.3);opacity:0}
.slide.active .rip i{animation:ripple 3.2s ease-out infinite;animation-delay:calc(1.5s + var(--k) * .5s)}
@keyframes ripple{0%{transform:rotate(45deg) scale(.3);opacity:.9}100%{transform:rotate(45deg) scale(1.5);opacity:0}}
.c-cap{position:absolute;left:0;right:0;bottom:6px;text-align:center;font:500 19px/1.4 var(--serif);color:var(--ink2)}
.lang-zh .c-cap{font:400 15.5px/1.6 'Noto Serif SC',serif}
.c-cap b{color:var(--gold);font-weight:600;margin-right:10px}
.content.aside08{left:1110px;top:170px;width:720px;bottom:auto}
.fx{display:flex;align-items:center;gap:16px;margin-top:30px;font:500 22px/1.2 var(--serif);color:var(--ink)}
.lang-zh .fx{font:400 18px 'Noto Serif SC',serif}
.fx-a{font:600 28px/1 var(--serif);color:var(--gold-hi);letter-spacing:.04em}
.fx-m{padding:6px 14px;border:1px solid var(--line2);border-radius:999px;color:var(--ink2);font-size:19px}
.lang-zh .fx-m{font-size:15px}
.fx-b{color:var(--num)}
.fx-r{position:relative;width:46px;height:2px;background:rgba(201,164,92,.5)}
.fx-r:after{content:"";position:absolute;right:-1px;top:-5px;width:9px;height:9px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
.fx-r i{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:#fff4dc;box-shadow:0 0 12px 4px rgba(255,220,150,.8);opacity:0}
.slide.active .fx-r i{animation:fxrun 2.4s ease-in-out infinite;animation-delay:1.6s}
@keyframes fxrun{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:40px;opacity:0}}
.f8{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:16px}
.f8 li{position:relative;padding-left:32px}
.f8 li:before{content:"";position:absolute;left:4px;top:11px;width:10px;height:10px;transform:rotate(45deg);border:1.4px solid var(--gold);background:var(--bg)}
.f8 b{display:inline;font:600 24px/1.4 var(--serif);color:var(--gold-hi);margin-right:10px}
.f8 li>span{font:500 23px/1.45 var(--serif);color:#D9D2C1}
.lang-zh .f8 b{font:600 19px/1.6 'Noto Serif SC',serif}.lang-zh .f8 li>span{font:400 18px/1.7 'Noto Serif SC',serif}

/* ================= 09 ASB ================= */
.pool{position:absolute;left:120px;top:150px;width:900px;height:800px;z-index:3}
.pl-eq{position:absolute;left:0;right:0;top:0;text-align:center;font:600 34px/1.2 var(--serif);color:var(--num);letter-spacing:.01em}
.lang-zh .pl-eq{font:600 27px/1.4 'Noto Serif SC',serif}
.vessel{position:absolute;left:310px;top:120px;width:280px;height:430px;border-radius:30px 30px 46px 46px;overflow:hidden}
.glass{position:absolute;inset:0;border-radius:inherit;border:2px solid rgba(246,231,184,.5);background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(255,255,255,.06));box-shadow:inset 0 0 40px rgba(141,164,204,.18)}
.liq{position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(180deg,rgba(141,164,204,.55),rgba(64,96,160,.35));box-shadow:0 -2px 18px rgba(141,164,204,.5)}
.wave{position:absolute;left:-10%;right:-10%;top:-6px;height:12px;border-radius:50%;background:rgba(190,206,232,.55)}
.v-l{position:absolute;left:0;right:0;bottom:26px;text-align:center;font:600 26px/1 var(--serif);letter-spacing:.12em;color:#e6eefb}
.slide.active .liq{animation:level 12s ease-in-out infinite;animation-delay:1s}
@keyframes level{0%{height:46%}20%,45%{height:58%}62%{height:58%}75%,100%{height:52%}}
.coins{position:absolute;left:640px;top:170px;width:200px;height:320px}
.coin{position:absolute;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4dc,#d8b46a 52%,#8a6a2f 100%);box-shadow:0 0 22px rgba(216,180,106,.5);opacity:0}
.coin:after{content:"ASB";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--serif);color:#2b1d07;letter-spacing:.06em}
.c0{left:10px;top:0}.c1{left:90px;top:40px}.c2{left:20px;top:100px}.c3{left:110px;top:150px}.c4{left:30px;top:210px}.c5{left:120px;top:250px}
.slide.active .coin{animation:coin 12s ease-in-out infinite;animation-delay:calc(1s + var(--k) * .05s)}
.slide.active .coin.c5{animation-name:coinburn}
@keyframes coin{0%{opacity:0;transform:translateX(-160px) scale(.6)}12%,100%{opacity:1;transform:none}}
@keyframes coinburn{0%{opacity:0;transform:translateX(-160px) scale(.6)}12%,55%{opacity:1;transform:none;filter:none}66%{opacity:1;transform:translateX(-190px) scale(.8);filter:brightness(2.4)}74%,100%{opacity:0;transform:translateX(-190px) scale(1.6);filter:brightness(3)}}
.drop{position:absolute;width:16px;height:16px;border-radius:50%;opacity:0}
.d-in{left:442px;top:96px;background:#cfdcf2;box-shadow:0 0 14px 4px rgba(141,164,204,.8)}
.slide.active .d-in{animation:din 12s ease-in infinite;animation-delay:1s}
@keyframes din{0%{opacity:0;transform:translateY(-70px)}6%{opacity:1}16%{opacity:1;transform:translateY(120px)}20%,100%{opacity:0;transform:translateY(120px)}}
.d-out{left:250px;top:470px;background:#cfdcf2;box-shadow:0 0 14px 4px rgba(141,164,204,.8)}
.slide.active .d-out{animation:dout 12s ease-out infinite;animation-delay:1s}
@keyframes dout{0%,62%{opacity:0;transform:none}66%{opacity:1}80%{opacity:1;transform:translate(-190px,60px)}86%,100%{opacity:0;transform:translate(-190px,60px)}}
.d-keep{left:442px;top:310px;width:22px;height:22px;background:#f6e7b8;box-shadow:0 0 18px 6px rgba(246,231,184,.8)}
.slide.active .d-keep{animation:dkeep 12s ease-in-out infinite;animation-delay:1s}
@keyframes dkeep{0%,64%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1)}82%{opacity:1;transform:translateY(60px) scale(.8)}88%,100%{opacity:0;transform:translateY(60px) scale(.8)}}
.ph{position:absolute;left:40px;right:40px;bottom:30px;display:flex;align-items:baseline;justify-content:center;gap:16px;opacity:0}
.ph b{font:600 34px/1 var(--serif);color:var(--gold-hi)}.lang-zh .ph b{font:600 28px 'Noto Serif SC',serif}
.ph>span{font:500 23px/1.3 var(--serif);color:var(--ink)}.lang-zh .ph>span{font:400 18.5px/1.5 'Noto Serif SC',serif}
.slide.active .ph1{animation:ph1 12s linear infinite;animation-delay:1s}
.slide.active .ph2{animation:ph2 12s linear infinite;animation-delay:1s}
@keyframes ph1{0%,2%{opacity:0}6%,44%{opacity:1}50%,100%{opacity:0}}
@keyframes ph2{0%,52%{opacity:0}56%,94%{opacity:1}100%{opacity:0}}
.content.aside10{left:1080px;top:146px;width:760px;bottom:auto}
.rules{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.rl{padding:14px 20px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.6)}
.rl b{display:block;font:600 25px/1.2 var(--serif);color:var(--gold-hi)}.lang-zh .rl b{font:600 20px/1.3 'Noto Serif SC',serif}
.rl>span{display:block;margin-top:6px;font:500 21px/1.42 var(--serif);color:var(--ink)}.lang-zh .rl>span{font:400 16.5px/1.7 'Noto Serif SC',serif}
.slide.active .rl.r1{animation:rhl 12s linear infinite;animation-delay:1s}
.slide.active .rl.r2{animation:rhl2 12s linear infinite;animation-delay:1s}
@keyframes rhl{0%,2%{border-color:var(--line)}6%,44%{border-color:rgba(246,231,184,.6);background:rgba(216,180,106,.07)}50%,100%{border-color:var(--line)}}
@keyframes rhl2{0%,52%{border-color:var(--line)}56%,94%{border-color:rgba(246,231,184,.6);background:rgba(216,180,106,.07)}100%{border-color:var(--line)}}
.ctk{margin-top:24px;font:700 16px/1.2 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-zh .ctk{font:600 16px 'Noto Serif SC',serif;letter-spacing:.16em}
.ct{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ct li{position:relative;padding-left:26px;font:500 21px/1.4 var(--serif);color:#D9D2C1}
.ct li:before{content:"";position:absolute;left:3px;top:11px;width:8px;height:8px;transform:rotate(45deg);border:1.3px solid var(--gold)}
.lang-zh .ct li{font:400 16.5px/1.7 'Noto Serif SC',serif}
.nofund{display:inline-block;margin-top:22px;padding:10px 18px;border-radius:6px;border:1px solid var(--line2);background:rgba(216,180,106,.08);font:600 21px/1.3 var(--serif);color:var(--gold-hi)}
.lang-zh .nofund{font:600 17px/1.4 'Noto Serif SC',serif}

/* ================= 11 AS wallet ================= */
.wbg{position:absolute;left:-40px;top:0;width:1080px;height:1080px;z-index:2;opacity:.9}
.wbg svg{width:1080px;height:1080px}
.wmist{opacity:0}.slide.active .wmist{animation:mistin 4s 1.6s var(--ease) forwards;--mo:.85}
.wal{position:absolute;left:150px;top:140px;width:820px;height:830px;z-index:3;container-type:inline-size}
.ph12{left:28.05cqw;top:8.54cqw;width:43.9cqw;height:84.15cqw;border-width:1.1cqw;border-radius:5.6cqw;background:linear-gradient(180deg,#0b1020,#05070c)}
.ph-scr{position:absolute;inset:0}
.w-h{position:absolute;left:0;right:0;top:3.4cqw;text-align:center;font:500 clamp(10.5px,1.83cqw,15px)/1 'Cinzel',serif;letter-spacing:.24em;color:var(--gold)}
.w-l{position:absolute;left:0;top:12.4cqw;width:43.9cqw;height:56.1cqw;overflow:visible}
.w-l line{stroke:#f6e7b8;stroke-width:1.4;stroke-opacity:0}
.slide.active .w-l line{animation:wline 6s ease-in-out infinite;animation-delay:calc(1.2s + var(--k) * .25s)}
@keyframes wline{0%{stroke-opacity:0;stroke-dasharray:4 400}30%,100%{stroke-opacity:.7;stroke-dasharray:400 0}}
.w-c{position:absolute;left:21.95cqw;top:40.45cqw;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1cqw}
.w-c i{width:3.2cqw;height:3.2cqw;border-radius:50%;background:#fff4dc;box-shadow:0 0 0 1cqw rgba(246,231,184,.15),0 0 5cqw 1.5cqw rgba(255,220,150,.6)}
.slide.active .w-c i{animation:hbeat 4.8s ease-in-out infinite}
.w-c>span{font:600 clamp(10.5px,2.2cqw,18px)/1 var(--serif);color:var(--gold-hi);white-space:nowrap}.lang-zh .w-c>span{font:400 clamp(10.5px,1.78cqw,14.5px)/1 'Noto Serif SC',serif}
.wst{position:absolute;left:calc(21.95cqw + var(--x) * .0976cqw);top:calc(40.45cqw + var(--y) * .0976cqw);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1cqw;width:17cqw;text-align:center}
.wst i{width:2cqw;height:2cqw;border-radius:50%;background:#f3e3b3;box-shadow:0 0 2cqw .5cqw rgba(246,231,184,.5)}
.wst>span{font:500 clamp(10.5px,2.32cqw,19px)/1.2 var(--serif);color:var(--ink)}
.wst>span,.w-c>span{background:rgba(5,7,12,.86);padding:.1em .4em;border-radius:3px;white-space:nowrap}   /* v2: the constellation lines run behind the labels, not through them */.lang-zh .wst>span{font:400 clamp(10.5px,1.95cqw,16px)/1.3 'Noto Serif SC',serif}
.slide.active .wst i{animation:wflow 6s ease-in-out infinite;animation-delay:calc(1.2s + var(--k) * .25s)}
@keyframes wflow{0%,10%{transform:none}30%{transform:translate(calc(var(--x) * -.0488cqw),calc(var(--y) * -.0488cqw)) scale(.6);opacity:.4}45%,100%{transform:none;opacity:1}}
.key{position:absolute;left:21.95cqw;top:71.5cqw;width:14.63cqw;height:5.37cqw;transform:translateX(-50%)}
.key-l{position:absolute;left:21.95cqw;top:78.4cqw;transform:translateX(-50%);white-space:nowrap;font:600 clamp(10.5px,1.75cqw,14px)/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lang-zh .key-l{font:400 clamp(10.5px,1.6cqw,13.5px)/1 'Noto Serif SC',serif;letter-spacing:.12em}
.key i{position:absolute;top:0;width:4.88cqw;height:5.37cqw;border:2px solid #e3c47d;opacity:.9;box-sizing:border-box}
.key .k1{left:0;border-radius:2.7cqw .5cqw .5cqw 2.7cqw}.key .k2{left:4.88cqw;border-left:0;border-right:0;border-radius:2px}.key .k3{left:9.76cqw;border-radius:.5cqw 2.7cqw 2.7cqw .5cqw}
.slide.active .key .k1{animation:k1 6s ease-in-out infinite;animation-delay:1.4s}
.slide.active .key .k3{animation:k3 6s ease-in-out infinite;animation-delay:1.4s}
.slide.active .key .k2{animation:k2 6s ease-in-out infinite;animation-delay:1.4s}
@keyframes k1{0%,15%{transform:translate(-3.66cqw,-1.46cqw) rotate(-14deg)}40%,100%{transform:none}}
@keyframes k3{0%,15%{transform:translate(3.66cqw,-1.46cqw) rotate(14deg)}40%,100%{transform:none}}
@keyframes k2{0%,15%{transform:translateY(1.95cqw)}40%,100%{transform:none;box-shadow:none}50%{box-shadow:0 0 2.7cqw .7cqw rgba(255,220,150,.6)}}
.usering{position:absolute;inset:0}
.use{position:absolute;left:50%;top:50%;transform:rotate(calc(var(--k) * 60deg - 90deg)) translate(46.95cqw) rotate(calc(90deg - var(--k) * 60deg)) translate(-50%,-50%);transform-origin:0 0;font:600 clamp(12px,3.66cqw,30px)/1 var(--serif);color:var(--gold-hi);white-space:nowrap;letter-spacing:.04em;padding:1.22cqw 1.95cqw;border:1px solid var(--line2);border-radius:999px;background:rgba(10,14,22,.7)}
.lang-zh .use{font:600 clamp(12px,3.66cqw,30px)/1 'Noto Serif SC',serif;padding:1.4cqw 1.95cqw}
.slide.active .use{animation:usepulse 6s ease-in-out infinite;animation-delay:calc(1s + var(--k) * 1s)}
@keyframes usepulse{0%,100%{border-color:var(--line2);box-shadow:none}8%{border-color:#fff1c8;box-shadow:0 0 30px 4px rgba(255,214,130,.4)}20%{border-color:var(--line2);box-shadow:none}}
.content.aside12{left:1060px;top:150px;width:770px;bottom:auto}
.a4{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:14px}
.a4 li{display:flex;gap:18px;align-items:flex-start;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.6)}
.a4-n{flex:none;width:34px;height:34px;border-radius:50%;border:1.4px solid var(--gold-main);display:flex;align-items:center;justify-content:center;font:600 19px/1 var(--serif);color:var(--gold)}
.a4 b{display:block;font:600 25px/1.2 var(--serif);color:var(--gold-hi)}.lang-zh .a4 b{font:600 20px/1.3 'Noto Serif SC',serif}
.a4 li div>span{display:block;margin-top:6px;font:500 20.5px/1.42 var(--serif);color:#D9D2C1}.lang-zh .a4 li div>span{font:400 16.5px/1.7 'Noto Serif SC',serif}

/* ================= 13 your day ================= */
.dayx{position:relative;width:1680px;height:640px;margin-top:70px}
.dsky{position:absolute;left:0;top:0;width:1680px;height:300px;overflow:visible}
.d-arc{fill:none;stroke:rgba(201,164,92,.5);stroke-width:1.3;filter:drop-shadow(0 0 6px rgba(216,180,106,.35))}
.d-hz{stroke:#c9a45c;stroke-opacity:.6;stroke-width:1.6}
.d-sunc{fill:#fff1cf;transition:fill .8s}.d-glow{fill:url(#shalo);transform-box:fill-box;transform-origin:center}
.dsky.night .d-sunc{fill:#cfdcf2}
.d-sun{display:none}
.dv{position:absolute;top:322px;width:320px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:.45;transition:opacity .6s}
.dv.on{opacity:1}
.dv .pico{width:64px;height:64px}
.dv b{margin-top:12px;font:600 50px/1 var(--serif);color:var(--num);letter-spacing:.02em}
.dv-st{margin-top:10px;padding:3px 11px;border:1px solid var(--line2);border-radius:999px;font:600 13.5px/1.25 var(--serif);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.lang-zh .dv-st{font:400 13.5px/1.3 'Noto Serif SC',serif;letter-spacing:.1em}
.dv.now b{color:var(--gold-hi)}
.dv>span{margin-top:14px;font:500 25px/1.4 var(--serif);color:var(--ink)}.lang-zh .dv>span{font:400 19.5px/1.7 'Noto Serif SC',serif}
.dv:before{content:"";position:absolute;top:-22px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#c9a45c;box-shadow:0 0 0 4px rgba(201,164,92,.15)}
.dv.on:before{background:#fff4dc;box-shadow:0 0 14px 4px rgba(255,220,150,.7)}

/* ================= 14 next stop ================= */
.ant{position:absolute;left:120px;top:150px;width:800px;height:800px;z-index:3}
.ant-c{position:absolute;left:50%;top:46%;width:0;height:0}
.ant-c i{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.ant-c .core{width:300px;height:300px;background:radial-gradient(circle,#fffdf6 0%,#fff4dc 7%,rgba(246,221,160,.75) 14%,rgba(232,199,120,.32) 28%,rgba(201,164,92,.10) 46%,rgba(201,164,92,0) 68%)}
.slide.active .ant-c .core{animation:hbeat2 4.8s ease-in-out infinite}
@keyframes hbeat2{0%,100%{transform:translate(-50%,-50%) scale(1)}6%{transform:translate(-50%,-50%) scale(1.12)}12%{transform:translate(-50%,-50%) scale(1)}18%{transform:translate(-50%,-50%) scale(1.07)}26%{transform:translate(-50%,-50%) scale(1)}}
.ant-c .r1,.ant-c .r2,.ant-c .r3{border:1px solid rgba(246,231,184,.36)}
.ant-c .r1{width:330px;height:330px}.ant-c .r2{width:500px;height:500px;border-style:dashed;border-color:rgba(246,231,184,.2)}.ant-c .r3{width:680px;height:680px;border-color:rgba(201,164,92,.14)}
.ant-c .r0{width:330px;height:330px;border:1.5px solid rgba(246,231,184,.55);opacity:0}
.slide.active .ant-c .r0{animation:pr 4.8s ease-out infinite;animation-delay:.6s}
@keyframes pr{0%{transform:translate(-50%,-50%) scale(.92);opacity:.85}42%{transform:translate(-50%,-50%) scale(1.42);opacity:0}100%{transform:translate(-50%,-50%) scale(1.42);opacity:0}}
.slide.active .ant-c .r2{animation:spin2 70s linear infinite}
@keyframes spin2{to{transform:translate(-50%,-50%) rotate(360deg)}}
.ant-n{position:absolute;left:0;right:0;top:calc(46% + 360px);text-align:center;font:500 18px/1 'Cinzel',serif;letter-spacing:.3em;color:var(--gold)}
.lang-zh .ant-n{font:600 17px/1 'Noto Serif SC',serif;letter-spacing:.4em}
.content.aside15{left:1040px;top:220px;width:780px;bottom:auto}
.aside15 .t2{font-size:96px}.lang-zh .aside15 .t2{font:600 86px/1.1 var(--serif)}
.d1{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px}
.d1>span{padding:7px 15px;border:1px solid var(--line2);border-radius:999px;background:rgba(10,14,22,.5);font:500 19px/1.2 var(--serif);color:var(--ink)}
.lang-zh .d1>span{font:400 16px/1.3 'Noto Serif SC',serif}
.cdw{margin-top:32px}
.cdx{display:flex;gap:16px}
.cdb{min-width:150px;padding:16px 18px 14px;border:1px solid var(--line2);border-radius:6px;background:rgba(10,14,22,.66);text-align:center}
.cdb b{display:block;font:600 76px/1 var(--serif);color:var(--num)}
.cdb>span{display:block;margin-top:8px;font:600 16px/1 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-zh .cdb>span{font:400 15px 'Noto Serif SC',serif;letter-spacing:.2em}
.cd-past-t,.cd-live-t{display:none;font:600 40px/1.2 var(--serif);color:var(--gold-hi)}
.lang-zh .cd-past-t,.lang-zh .cd-live-t{font:600 32px/1.3 'Noto Serif SC',serif}
#deck[data-cd="past"] .cdw .cdx{display:none}#deck[data-cd="past"] .cdw .cd-past-t{display:block}
.cdw[data-st="live"] .cdx,.cdw[data-st="live"] .cd-past-t{display:none!important}.cdw[data-st="live"] .cd-live-t{display:block}
.lks{display:flex;gap:12px;margin-top:36px;align-items:center;flex-wrap:wrap}
.lk{display:inline-flex;align-items:center;padding:12px 24px;border-radius:999px;border:1px solid var(--line3);background:rgba(216,180,106,.10);font:600 22px/1 var(--serif);color:var(--gold-hi);text-decoration:none;pointer-events:auto}
.lk[hidden]{display:none!important}
.lk:hover{background:rgba(216,180,106,.22)}
.lk-none{font:500 21px/1.4 var(--serif);color:var(--ink2);font-style:italic}.lang-zh .lk-none{font:400 17px/1.6 'Noto Serif SC',serif;font-style:normal}
#deck.haslinks .lk-none{display:none}

/* ================= 15 summary (v2) ================= */
.summary .content.wide{top:132px}
.sumg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:34px}
.sm{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 26px 28px;border:1px solid var(--line);border-radius:6px;background:rgba(10,14,22,.62)}
.sm:before{content:"";position:absolute;left:26px;right:26px;top:0;height:2px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-hi),transparent)}
.sm-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sm-no{font:700 17px/1.2 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.lang-zh .sm-no{font:600 16px/1.3 'Noto Serif SC',serif;letter-spacing:.12em}
.sm-d{font:600 26px/1.1 var(--serif);color:var(--num)}.lang-zh .sm-d{font:600 22px/1.2 var(--serif)}
.sm .ptag{align-self:flex-start}
.smp{display:flex;gap:14px;align-items:flex-start}
.smp .pico{flex:none;width:54px;height:54px}
.smp b{display:block;font:600 27px/1.2 var(--serif);color:var(--gold-hi)}.lang-zh .smp b{font:600 22px/1.3 'Noto Serif SC',serif}
.smp p{margin-top:6px;font:500 20px/1.45 var(--serif);color:var(--ink)}.lang-zh .smp p{font:400 16.5px/1.7 'Noto Serif SC',serif}
.sm-f{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.sm-f>span{font:600 15px/1.2 var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}.lang-zh .sm-f>span{font:400 15px/1.3 'Noto Serif SC',serif;letter-spacing:.12em}
.sm-f b{font:600 25px/1.15 var(--serif);color:var(--gold-hi)}.lang-zh .sm-f b{font:600 21px/1.3 'Noto Serif SC',serif}
.sum-f{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:30px;padding:22px 28px;border:1px solid rgba(246,231,184,.28);border-radius:6px;background:rgba(216,180,106,.06)}
.sum-loop{font:600 28px/1.3 var(--serif);color:var(--ink)}.lang-zh .sum-loop{font:600 24px/1.4 'Noto Serif SC',serif}
.sum-next{font:600 26px/1.2 var(--serif);color:var(--num);white-space:nowrap;letter-spacing:.02em}.lang-zh .sum-next{font:600 21px/1.3 'Noto Serif SC',serif}

/* ---------- HUD, overview, notes, language menu ---------- */
.hud button{border-radius:999px;border-color:rgba(246,231,184,.28);background:rgba(8,11,20,.78);color:#ecd7a4;font:600 13px/1 var(--serif)}
.hud button:hover{background:rgba(216,180,106,.18);color:#fff3d6}
.hud .count{color:#ecd7a4;font:600 15px var(--serif)}
.progress{height:2px;background:linear-gradient(90deg,#a47d3a,#fff4dc);box-shadow:0 0 10px rgba(216,180,106,.6)}
.help{color:rgba(236,215,164,.5);font:600 12px var(--serif)}
.notes{border-radius:8px;background:rgba(8,11,19,.96);border-color:rgba(246,231,184,.3);font-family:var(--serif);font-size:19px}
.lang-zh .notes{font-family:'Noto Serif SC',serif;font-size:16px}
.overview{background:rgba(4,6,11,.97)}
.overview h3{font:600 14px 'Cinzel',serif;letter-spacing:.3em;color:var(--gold)}
.ogrid button{border-radius:6px;border-color:rgba(246,231,184,.2);background:rgba(255,255,255,.03);font:500 18px/1.4 var(--serif)}
.lang-zh .ogrid button{font:400 15px/1.5 'Noto Serif SC',serif}
.ogrid button:hover,.ogrid button.cur{border-color:var(--gold);background:rgba(216,180,106,.10)}
.ogrid b{font:600 26px var(--serif);color:var(--gold-hi)}
.langmenu{border-radius:10px;font-family:var(--serif)}

@media (prefers-reduced-motion:reduce){
/*STILLS*/
  .slide{transform:none!important}
  .a,.pop,.clab,.leads,.sdash,.cv-ring{opacity:1!important;transform:none!important;animation:none!important}
  .draw .ln{stroke-dashoffset:0!important;animation:none!important}
  .mist,.cv-mist,.wmist{opacity:var(--mo,.42)!important;animation:none!important}
  .map .lg{opacity:var(--lgo,0)!important;animation:none!important}
  .beat,.sweep,.cv-orbit b,.ant-c .r0,.cv-halo,.gold,.aglow,.jr-run,.jr-node,.jr-line,.laptop,.ph04,.c3d,.csheen,.rip i,.fx-r i,.liq,.coin,.drop,.ph,.rl,.mk,.mk polyline,.mk circle,.w-l line,.wst i,.key i,.use,.w-c i,.ant-c i,.hz-dot,.stn .node{animation:none!important}
  .ph1{opacity:1}.coin{opacity:1}.w-l line{stroke-opacity:.7}
/*/STILLS*/
}
/* ================= no scripts (phone file previews, some in-app viewers): a still, readable scroll page — never a blank one =================
   The page starts as #deck.doc.nojs; the first inline script removes both classes, the last one puts them back if the engine did not boot.
   build_roadmap.py also copies the reduced-motion stills above for #deck.nojs. */
html.nojs,html.nojs body{height:auto;overflow-x:hidden;overflow-y:auto}   /* the engine's html.doc rule, which scripts would have added */
#deck.nojs .slide{opacity:1!important;visibility:visible!important}
#deck.nojs .hud,#deck.nojs .help,#deck.nojs .progress,#deck.nojs .lsw,#deck.nojs .langmenu,#deck.nojs .overview,#deck.nojs .notes{display:none!important}
#deck.nojs .cd-on{display:none!important}#deck.nojs .cd-off{display:inline!important}
#deck.nojs .cdw .cdx{display:none!important}#deck.nojs .cdw .cd-past-t{display:block!important}
#deck.nojs .slide svg[width]{max-width:100%;height:auto}
@media (min-width:900px){#deck.nojs #stage{max-width:860px;margin:0 auto;border-left:1px solid rgba(201,164,92,.10);border-right:1px solid rgba(201,164,92,.10)}}   /* a desktop file preview: one readable column, not a 1440 px wide scroll page */
.nojs-bar{display:none}
#deck.nojs .nojs-bar{display:block;padding-block:12px 13px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  border-bottom:1px solid rgba(201,164,92,.30);background:#0d0f16;color:#e9dfc9}
#deck.nojs .nojs-bar p{max-width:760px;margin:0 auto;font:500 14.5px/1.5 var(--serif)}
#deck.nojs .nojs-bar p+p{margin-top:4px;font:400 13.5px/1.65 'Noto Serif SC',serif;color:#d8cdb4}
@media print{.slide{filter:none!important}#sky{display:none}}

/* ================= scroll view (phones, portrait tablets, small windows) ================= */
#deck.doc{background:#05070c}
#deck.doc #sky{display:none}
#deck.doc .slide{background:radial-gradient(120% 70% at 50% 0%,#0d1630 0%,#070a13 60%,#05070c 100%)}
#deck.doc .bg{background:var(--startile) 0 0/360px 360px repeat,radial-gradient(90% 60% at var(--gx,70%) var(--gy,40%),rgba(40,64,128,.22),transparent 70%)}
#deck.doc .kk{font-size:12px;letter-spacing:.2em;gap:10px;margin-bottom:12px}#deck.doc.lang-zh .kk{font-size:13px;letter-spacing:.16em}
#deck.doc .kk .pico{width:30px;height:30px}
#deck.doc .t1{font-size:clamp(52px,15vw,96px)!important;line-height:.98}#deck.doc.lang-zh .t1{font-size:clamp(46px,13vw,84px)!important}
#deck.doc .t2{font-size:clamp(32px,9vw,54px)!important;line-height:1.08}#deck.doc.lang-zh .t2{font-size:clamp(26px,7.4vw,44px)!important;line-height:1.3}
#deck.doc .sb{font-size:clamp(17px,4.6vw,22px)!important;margin-top:10px}#deck.doc.lang-zh .sb{font-size:clamp(14px,3.9vw,18px)!important}
#deck.doc .content.wide,#deck.doc .content.aside02,#deck.doc .content.aside03,#deck.doc .content.aside04,#deck.doc .content.aside06,#deck.doc .content.aside08,#deck.doc .content.aside10,#deck.doc .content.aside12,#deck.doc .content.aside15,#deck.doc .cover .content.cv{position:relative!important;left:auto!important;top:auto!important;right:auto!important;width:auto!important;bottom:auto!important}
#deck.doc .ptag{font-size:12px;padding:4px 10px}#deck.doc.lang-zh .ptag{font-size:12px}
#deck.doc .ptag.big{font-size:14px;padding:6px 12px}
/* the engine centres every .art with auto side margins; an art box whose content is all absolutely placed would shrink to 0 wide */
#deck.doc .art.nofit{margin-left:0;margin-right:0}
#deck.doc .cv-art.nofit{width:min(78vw,340px)!important;margin:0 auto 18px}
#deck.doc .pulsar.nofit{width:min(100%,420px)!important;margin:4px auto 40px}
#deck.doc .ant.nofit{width:min(100%,380px)!important;margin:0 auto}
/* 01 */
#deck.doc .cv-art{position:relative!important;right:auto;top:auto;left:auto;width:min(78vw,340px);height:min(78vw,340px);margin:0 auto 18px;order:0}
#deck.doc .cv-art .seal{left:4%;top:4%;width:92%;height:92%}
#deck.doc .cv-sub{font-size:clamp(17px,4.8vw,22px);margin-top:14px}#deck.doc.lang-zh .cv-sub{font-size:clamp(14px,4vw,18px);letter-spacing:.04em}
#deck.doc .cv-parts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#deck.doc .cvp b{white-space:normal}   /* half-width chips on a phone: product words may wrap (320 px: "AI high-frequency" ran past the edge) */
#deck.doc .cvp{flex:1 1 calc(50% - 8px);min-width:0;padding:8px 10px 8px 6px;gap:8px}
#deck.doc .cvp .pico{width:38px;height:38px}
#deck.doc .cvp b{font-size:15px}#deck.doc .cvp div>span{font-size:13px;white-space:normal}
#deck.doc.lang-zh .cvp b{font-size:14px}#deck.doc.lang-zh .cvp div>span{font-size:12px}
#deck.doc .cv-next{flex-wrap:wrap;gap:10px;margin-top:20px}#deck.doc .cvn-k{font-size:16px}#deck.doc.lang-zh .cvn-k{font-size:14px}
/* 02 */
#deck.doc .map02{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:1080/812;margin:0 0 6px}
#deck.doc .clab{padding:3px 6px;background:rgba(5,7,12,.7)}
#deck.doc .cl-r{gap:5px}
#deck.doc .cl-r b{font-size:clamp(12px,3.3cqw,22px)}#deck.doc .cl-r>span{font-size:clamp(11px,2.6cqw,17px)}
#deck.doc.lang-zh .cl-r b{font-size:clamp(12px,3.1cqw,22px)}#deck.doc.lang-zh .cl-r>span{font-size:clamp(11px,2.4cqw,16px)}
#deck.doc .cl-w{display:none}
#deck.doc .stl{margin-top:20px}
#deck.doc .stn{padding-left:36px;min-height:0;padding-bottom:18px}
#deck.doc .stn .node{width:18px;height:18px;top:3px}
#deck.doc .stl:before{left:9px}
#deck.doc .st-top{flex-wrap:wrap;gap:6px 10px}
#deck.doc .st-no{font-size:11px}#deck.doc.lang-zh .st-no{font-size:12px}
#deck.doc .st-date{font-size:22px}#deck.doc.lang-zh .st-date{font-size:21px}
#deck.doc .st-top .ptag{margin-left:0}
#deck.doc .st-what{font-size:16px;margin-top:6px}#deck.doc.lang-zh .st-what{font-size:14px}
#deck.doc .slide.active .stn{animation:fadein .8s both;animation-delay:calc(var(--sd) * .5)}
/* 03 */
#deck.doc .fwbox{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:860/820;margin:0 0 6px;order:0}
#deck.doc .fwn{width:34cqw;gap:4px}
#deck.doc .fwn-c{width:15cqw;height:15cqw}
#deck.doc .fwn-c .pico{width:7.5cqw;height:7.5cqw}
#deck.doc .fwn-t b{font-size:clamp(13px,3.6cqw,26px)}#deck.doc .fwn-t>span{font-size:clamp(11px,2.4cqw,17px)}
#deck.doc.lang-zh .fwn-t b{font-size:clamp(12px,3.2cqw,22px)}#deck.doc.lang-zh .fwn-t>span{font-size:clamp(11px,2.2cqw,15px)}
#deck.doc .fw-trade{margin-top:0}
#deck.doc .fw-no{transform-box:fill-box;transform-origin:center;transform:scale(1.6)}
#deck.doc .fwl{margin-top:18px;gap:8px}
#deck.doc .fwl li{padding:10px 12px;gap:10px}
#deck.doc .fl-n{width:26px;height:26px;font-size:15px}
#deck.doc .fl-t{font-size:16px}#deck.doc.lang-zh .fl-t{font-size:14px}
#deck.doc .fw-note{font-size:15px;margin-top:12px}#deck.doc.lang-zh .fw-note{font-size:13px}
/* 04 */
#deck.doc .dev{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:1010/760;container-type:inline-size;margin-bottom:6px}
#deck.doc .laptop{top:2cqw;width:91cqw}
#deck.doc .lp-scr{border-width:1cqw;border-radius:1.4cqw 1.4cqw 0 0}
#deck.doc .lp-base{height:1.8cqw;margin:0 -4.5cqw}
#deck.doc .phone{border-width:.9cqw;border-radius:3.8cqw}
#deck.doc .ph04{right:auto;top:auto;width:min(64%,300px);position:relative;margin:0 auto}
#deck.doc .laptop{display:none}#deck.doc .dev{aspect-ratio:auto!important}#deck.doc .dev-cap{position:static;margin-top:10px}
#deck.doc .dev-cap{font-size:12px;bottom:-2px}#deck.doc.lang-zh .dev-cap{font-size:12px}
#deck.doc .mks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:18px}
#deck.doc .mk{padding:7px 8px;gap:8px}#deck.doc .mg{width:36px;height:23px}
#deck.doc .mk span{font-size:15px}#deck.doc.lang-zh .mk span{font-size:13px}
#deck.doc .ftk{font-size:11px;margin-top:18px}#deck.doc.lang-zh .ftk{font-size:12px}
#deck.doc .ft{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
#deck.doc .ft li{font-size:15px}#deck.doc.lang-zh .ft li{font-size:13px}
#deck.doc .fee{font-size:16px;padding:8px 12px;margin-top:16px;flex-wrap:wrap;gap:6px}#deck.doc.lang-zh .fee{font-size:14px}
#deck.doc .fee>small{font-size:12px}
/* three steps */
#deck.doc .steps-art{display:none}#deck.doc .steps .jr{margin-top:26px}
#deck.doc .jr{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:26px}
#deck.doc .jr-line{left:30px;right:auto;top:30px;bottom:30px;width:1.5px;height:auto;background:linear-gradient(180deg,rgba(201,164,92,.3),rgba(246,231,184,.8),rgba(201,164,92,.3));transform-origin:center top}
#deck.doc .slide.active .jr-line{animation-name:growy}
@keyframes growy{from{transform:scaleY(0)}}
#deck.doc .jr-run{left:50%!important;top:0;margin:-7px 0 0 -7px;width:14px;height:14px}
#deck.doc .slide.active .jr-run{animation-name:jrunv}
@keyframes jrunv{0%{top:0;opacity:0}5%{opacity:1}90%{top:100%;opacity:1}96%,100%{top:100%;opacity:0}}
#deck.doc .jr-s{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:14px;align-items:start;text-align:left}
#deck.doc .jr-node{width:60px;height:60px;grid-row:span 2}
#deck.doc .jr-node b{font-size:28px}
#deck.doc .jr-t{margin-top:4px;font-size:20px}#deck.doc.lang-zh .jr-t{font-size:17px}
#deck.doc .jr-p{margin-top:6px;font-size:15px;max-width:none}#deck.doc.lang-zh .jr-p{font-size:13.5px}
/* 06 */
#deck.doc .pulsar{position:relative!important;left:auto;top:auto;width:min(100%,420px);height:auto;aspect-ratio:1;margin:0 auto 34px;container-type:inline-size}
#deck.doc .pulsar canvas{width:100%;height:100%}
#deck.doc .pl-c b{font-size:clamp(28px,10cqw,76px)}#deck.doc .pl-c b small{font-size:.48em}
#deck.doc .pl-c>span{font-size:12px}
#deck.doc .pl-k{bottom:-28px;gap:14px;font-size:12px;flex-wrap:wrap}#deck.doc.lang-zh .pl-k{font-size:12px}
#deck.doc .hf{padding:14px 14px;margin-top:14px}
#deck.doc .hf-h{flex-wrap:wrap;gap:8px}
#deck.doc .hf-h>b{font-size:20px}#deck.doc.lang-zh .hf-h>b{font-size:17px}
#deck.doc .hf-h .ptag{margin-left:0}
#deck.doc .hf p{font-size:15.5px;margin-top:8px}#deck.doc.lang-zh .hf p{font-size:13.5px}
#deck.doc .hf p.hf-s{font-size:14px}#deck.doc.lang-zh .hf p.hf-s{font-size:12.5px}
/* 07 */
#deck.doc .cardbox{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:900/880;container-type:inline-size;order:0;margin-bottom:6px}
#deck.doc .c3d{left:21cqw;top:4cqw;width:52cqw;height:82.6cqw}
#deck.doc .c3d-in,#deck.doc .c3d-in .cf,#deck.doc .csheen{border-radius:2.6cqw}
#deck.doc .rip{left:74cqw;top:13cqw}#deck.doc .rip i{width:17cqw;height:17cqw;margin:-8.5cqw 0 0 -8.5cqw}
#deck.doc .c-cap{font-size:12px;bottom:0;position:relative;margin-top:88cqw}#deck.doc.lang-zh .c-cap{font-size:12px}
#deck.doc .fx{flex-wrap:wrap;gap:8px;font-size:15px;margin-top:16px}#deck.doc .fx-a{font-size:18px}#deck.doc .fx-m{font-size:12px}#deck.doc .fx-r{width:28px}
#deck.doc.lang-zh .fx{font-size:13.5px}
#deck.doc .f8{margin-top:18px;gap:10px}#deck.doc .f8 li{padding-left:24px}#deck.doc .f8 li:before{top:8px}
#deck.doc .f8 b{font-size:16px}#deck.doc .f8 li>span{font-size:15px}#deck.doc.lang-zh .f8 b{font-size:14px}#deck.doc.lang-zh .f8 li>span{font-size:13.5px}
/* 09 */
#deck.doc .pool{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:900/800;container-type:inline-size;margin-bottom:6px}
#deck.doc .pl-eq{font-size:clamp(14px,4cqw,30px)}#deck.doc.lang-zh .pl-eq{font-size:clamp(13px,3.4cqw,24px)}
#deck.doc .vessel{left:34.4cqw;top:13.3cqw;width:31cqw;height:47.8cqw;border-radius:3.3cqw 3.3cqw 5cqw 5cqw}
#deck.doc .v-l{font-size:clamp(12px,2.9cqw,26px);bottom:2.9cqw}
#deck.doc .coins{left:71cqw;top:18.9cqw;width:22cqw;height:35.5cqw}
#deck.doc .coin{width:6.7cqw;height:6.7cqw}#deck.doc .coin:after{font-size:clamp(6px,1.55cqw,14px)}
#deck.doc .c0{left:1.1cqw;top:0}#deck.doc .c1{left:10cqw;top:4.4cqw}#deck.doc .c2{left:2.2cqw;top:11cqw}#deck.doc .c3{left:12.2cqw;top:16.7cqw}#deck.doc .c4{left:3.3cqw;top:23.3cqw}#deck.doc .c5{left:13.3cqw;top:27.8cqw}
#deck.doc .drop{display:none}
#deck.doc .coin:after{content:""}
#deck.doc .ph{left:2cqw;right:2cqw;bottom:2cqw;flex-direction:column;align-items:center;gap:4px;text-align:center}
#deck.doc .ph b{font-size:clamp(15px,3.8cqw,30px)}#deck.doc .ph>span{font-size:clamp(12px,2.6cqw,20px)}
#deck.doc.lang-zh .ph b{font-size:clamp(14px,3.4cqw,26px)}#deck.doc.lang-zh .ph>span{font-size:clamp(12px,2.4cqw,17px)}
#deck.doc .rules{margin-top:16px;gap:8px}#deck.doc .rl{padding:10px 12px}
#deck.doc .rl b{font-size:17px}#deck.doc .rl>span{font-size:14.5px}#deck.doc.lang-zh .rl b{font-size:15px}#deck.doc.lang-zh .rl>span{font-size:13px}
#deck.doc .ctk{font-size:11px;margin-top:16px}#deck.doc.lang-zh .ctk{font-size:12px}
#deck.doc .ct li{font-size:14.5px}#deck.doc.lang-zh .ct li{font-size:13px}
#deck.doc .nofund{font-size:14.5px;padding:8px 12px;margin-top:14px}#deck.doc.lang-zh .nofund{font-size:13px}
/* 11 */
#deck.doc .wbg{display:none}
#deck.doc .wal{position:relative!important;left:auto;top:auto;width:100%;height:auto;aspect-ratio:820/830;margin-bottom:6px}
#deck.doc .a4{margin-top:16px;gap:8px}#deck.doc .a4 li{padding:10px 12px;gap:10px}
#deck.doc .a4-n{width:26px;height:26px;font-size:14px}
#deck.doc .a4 b{font-size:17px}#deck.doc .a4 li div>span{font-size:14.5px}#deck.doc.lang-zh .a4 b{font-size:15px}#deck.doc.lang-zh .a4 li div>span{font-size:13px}
/* 13 */
#deck.doc .dayx{width:auto;height:auto;margin-top:18px;display:flex;flex-direction:column;gap:12px;padding-left:22px;border-left:1px solid var(--line2)}
#deck.doc .dsky{display:none}
#deck.doc .dv{position:relative;left:auto!important;top:auto;transform:none;width:auto;flex-direction:row;align-items:center;gap:12px;text-align:left;opacity:1}
#deck.doc .dv:before{left:-27px;top:50%;margin-top:-4.5px}
#deck.doc .dv .pico{width:36px;height:36px;flex:none}
#deck.doc .dv b{margin:0;font-size:20px;flex:none;width:58px}
#deck.doc .dv{flex-wrap:wrap}#deck.doc .dv-st{order:4;margin:2px 0 0 106px;font-size:11px;padding:2px 8px}#deck.doc.lang-zh .dv-st{font-size:11px}
#deck.doc .dv>span{margin:0;font-size:15px}#deck.doc.lang-zh .dv>span{font-size:13.5px}
/* 14 */
#deck.doc .ant{position:relative!important;left:auto;top:auto;width:min(100%,380px);height:auto;aspect-ratio:1;margin:0 auto;container-type:inline-size;order:0}
#deck.doc .ant-c{top:46%}
#deck.doc .ant-c .core{width:40cqw;height:40cqw}
#deck.doc .ant-c .r1,#deck.doc .ant-c .r0{width:38cqw;height:38cqw}#deck.doc .ant-c .r2{width:60cqw;height:60cqw}#deck.doc .ant-c .r3{width:82cqw;height:82cqw}
#deck.doc .ant-n{top:auto;bottom:0;font-size:11px;letter-spacing:.2em}#deck.doc.lang-zh .ant-n{font-size:11px}
#deck.doc .ant{margin-bottom:22px}
#deck.doc .aside15 .t2{font-size:clamp(38px,11vw,64px)!important}
#deck.doc .cdx{gap:8px}#deck.doc .cdb{min-width:0;flex:1 1 0;padding:10px 6px 8px}
#deck.doc .cdb b{font-size:clamp(30px,10vw,52px)}#deck.doc .cdb>span{font-size:11px;letter-spacing:.12em}
#deck.doc .cdw{margin-top:20px}
#deck.doc .d1{gap:6px 8px;margin-top:16px}#deck.doc .d1>span{font-size:13.5px;padding:5px 11px}#deck.doc.lang-zh .d1>span{font-size:12.5px}
#deck.doc .cd-past-t,#deck.doc .cd-live-t{font-size:24px}
#deck.doc .lks{margin-top:18px}#deck.doc .lk{font-size:16px;padding:9px 16px}#deck.doc .lk-none{font-size:14px}
/* 15 */
#deck.doc .sumg{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:18px}
@media (min-width:600px){#deck.doc .sumg{grid-template-columns:repeat(2,minmax(0,1fr))}}
#deck.doc .sm{padding:16px 16px 18px;gap:10px}
#deck.doc .sm-no{font-size:12.5px}#deck.doc.lang-zh .sm-no{font-size:12.5px}
#deck.doc .sm-d{font-size:18px}#deck.doc.lang-zh .sm-d{font-size:16px}
#deck.doc .smp .pico{width:40px;height:40px}
#deck.doc .smp b{font-size:18px}#deck.doc.lang-zh .smp b{font-size:16px}
#deck.doc .smp p{font-size:15px}#deck.doc.lang-zh .smp p{font-size:13.5px}
#deck.doc .sm-f{padding-top:10px}
#deck.doc .sm-f>span{font-size:11.5px}#deck.doc.lang-zh .sm-f>span{font-size:12px}
#deck.doc .sm-f b{font-size:17px}#deck.doc.lang-zh .sm-f b{font-size:15px}
#deck.doc .sum-f{flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px}
#deck.doc .sum-loop{font-size:17px}#deck.doc.lang-zh .sum-loop{font-size:15px}
#deck.doc .sum-next{font-size:16px;white-space:normal}#deck.doc.lang-zh .sum-next{font-size:14.5px}
/* header & footer in the scroll view */
#deck.doc .foot .src{font-size:12.5px}#deck.doc.lang-zh .foot .src{font-size:12px}
#deck.doc .hud{background:linear-gradient(180deg,rgba(5,7,12,.97),rgba(5,7,12,.86));border-bottom-color:rgba(246,231,184,.16)}
#deck.doc .dtop span{font-family:'Cinzel',Georgia,serif;color:var(--gold)}
/* v2.1 */
.nw{white-space:nowrap}
/* v2.1 (2nd review) — short blocks get balanced lines: no lone character or word on the last line ("预/填", "到账。", "新仓。") */
.jr-p,.jr-t,.fl-t,.f8 li>span,.rl>span,.ct li,.a4 li div>span,.hf p,.smp p,.dv>span,.fw-note,.sb,.cv-sub,.c-cap,.dev-cap,.st-what,.sm-h{text-wrap:balance}
/* language button: both languages, the current one bright */
#langbtn b{font-weight:700;color:var(--gold-hi)}#langbtn span{opacity:.55}#langbtn i{font-style:normal;opacity:.45;margin:0 .35em}
/* phone: the heading first on pages 2, 3, 7 and 14 too (as on 4, 6, 9, 11); the picture follows the words */
#deck.doc .art.map02,#deck.doc .fwbox,#deck.doc .cardbox,#deck.doc .ant{order:2;margin-top:22px}
/* phone cover: a smaller seal, and Stage 1 · Nov 7 · launching right under the subtitle, before the five products */
#deck.doc .cv-art.nofit{width:min(56vw,230px)!important;height:min(56vw,230px)!important;margin:0 auto 14px}
#deck.doc .cover .content.cv{display:flex;flex-direction:column}
#deck.doc .cv-next{order:1}#deck.doc .cv-parts{order:2}
/* page 7: the last arrow travels with "local currency" (on a phone it pointed at nothing) */
.fx-g{display:contents}
#deck.doc .fx-g{display:inline-flex;align-items:center;gap:8px}
/* phone: a wallet label may take two lines inside the phone frame ("On-chain USDT" was cut to "On-chain USD") */
#deck.doc .wst>span{white-space:normal;max-width:15cqw;line-height:1.15}
/* phone: a day — time and stage tag on one row, the moment underneath, the rail dot on the time's row */
#deck.doc .dv{display:grid;grid-template-columns:36px auto 1fr;grid-template-areas:"ic tm st" "tx tx tx";align-items:center;column-gap:12px;row-gap:4px}
#deck.doc .dv .pico{grid-area:ic}#deck.doc .dv b{grid-area:tm;width:auto}#deck.doc .dv-st{grid-area:st;justify-self:start;margin:0}
#deck.doc .dv>span{grid-area:tx;padding-left:48px}
#deck.doc .dv:before{top:18px}
/* phone: risk lines at a readable size and contrast */
#deck.doc .foot .src{font-size:13px;color:#8f8779}#deck.doc.lang-zh .foot .src{font-size:13px}
/* v2.1 (3rd review) — Chinese breaks only between words (<wbr> from jieba), at spaces and after punctuation; a word too long for the line may still break */
.L.zh,.nojs-bar p[lang="zh-CN"]{word-break:keep-all;overflow-wrap:anywhere}
/* phone cover: one product per row, so no name is split ("AI / high-frequency", "AS 支付卡 / · Visa") */
#deck.doc .cvp{flex:1 1 100%}

/* v2.2 (DSJ 10-23 11:47): most pages no longer carry a footer note — the company line keeps its place on the right; in the scroll view an empty footer takes no room */
.foot .fl{margin-left:auto}
#deck.doc .slide:not(:last-child) .foot.nonote{display:none}
/* v2.2 (line-break check 10-23): on a 320–360 px phone 15cqw is narrower than 交易平台, which then split as 交易平 / 台. The Chinese labels get a width
   in em instead (font size is clamped): 交易平台 (4.8 em with padding) stays on one line, 链上 USDT (5.8 em) wraps at its space */
#deck.doc.lang-zh .wst>span{white-space:normal;max-width:5.3em}
#deck.doc .wst .L.zh{overflow-wrap:normal}   /* normal: a word is never cut to fit the 17cqw star box; the label may stand a little wider, centred on its star */
/* v2.2: the company line at the end of the phone page in the size of the line under it (it was 16 px and broke as "… 美国佛罗里达州 / · 2023 年成立") */
#deck.doc .foot .fl{font-size:13px;letter-spacing:.03em;line-height:1.5;margin-bottom:2px}

/* no scripts: the reduced-motion stills, for #deck.nojs (generated from the /*STILLS*/ block) */
#deck.nojs .slide{transform:none!important}#deck.nojs .a,#deck.nojs .pop,#deck.nojs .clab,#deck.nojs .leads,#deck.nojs .sdash,#deck.nojs .cv-ring{opacity:1!important;transform:none!important;animation:none!important}#deck.nojs .draw .ln{stroke-dashoffset:0!important;animation:none!important}#deck.nojs .mist,#deck.nojs .cv-mist,#deck.nojs .wmist{opacity:var(--mo,.42)!important;animation:none!important}#deck.nojs .map .lg{opacity:var(--lgo,0)!important;animation:none!important}#deck.nojs .beat,#deck.nojs .sweep,#deck.nojs .cv-orbit b,#deck.nojs .ant-c .r0,#deck.nojs .cv-halo,#deck.nojs .gold,#deck.nojs .aglow,#deck.nojs .jr-run,#deck.nojs .jr-node,#deck.nojs .jr-line,#deck.nojs .laptop,#deck.nojs .ph04,#deck.nojs .c3d,#deck.nojs .csheen,#deck.nojs .rip i,#deck.nojs .fx-r i,#deck.nojs .liq,#deck.nojs .coin,#deck.nojs .drop,#deck.nojs .ph,#deck.nojs .rl,#deck.nojs .mk,#deck.nojs .mk polyline,#deck.nojs .mk circle,#deck.nojs .w-l line,#deck.nojs .wst i,#deck.nojs .key i,#deck.nojs .use,#deck.nojs .w-c i,#deck.nojs .ant-c i,#deck.nojs .hz-dot,#deck.nojs .stn .node{animation:none!important}#deck.nojs .ph1{opacity:1}#deck.nojs .coin{opacity:1}#deck.nojs .w-l line{stroke-opacity:.7}

/* v2.1 lifted inline styles (CSP-safe): one class per distinct style text */
.zs0:not(#zz):not(#zz):not(#zz){position:absolute}
.zs1:not(#zz):not(#zz):not(#zz){--gx:74%;--gy:48%}
.zs2:not(#zz):not(#zz):not(#zz){--i:1}
.zs3:not(#zz):not(#zz):not(#zz){--dl:1.00s;--dur:.42s}
.zs4:not(#zz):not(#zz):not(#zz){--dl:1.17s;--dur:.42s}
.zs5:not(#zz):not(#zz):not(#zz){--dl:1.34s;--dur:.42s}
.zs6:not(#zz):not(#zz):not(#zz){--dl:1.51s;--dur:.42s}
.zs7:not(#zz):not(#zz):not(#zz){--dl:1.68s;--dur:.42s}
.zs8:not(#zz):not(#zz):not(#zz){--dl:1.85s;--dur:.42s}
.zs9:not(#zz):not(#zz):not(#zz){--dl:2.02s;--dur:.42s}
.zs10:not(#zz):not(#zz):not(#zz){--dl:2.19s;--dur:.42s}
.zs11:not(#zz):not(#zz):not(#zz){--dl:2.36s;--dur:.42s}
.zs12:not(#zz):not(#zz):not(#zz){--dl:2.53s;--dur:.42s}
.zs13:not(#zz):not(#zz):not(#zz){--dl:2.70s;--dur:.42s}
.zs14:not(#zz):not(#zz):not(#zz){--dl:2.87s;--dur:.42s}
.zs15:not(#zz):not(#zz):not(#zz){--dl:3.04s;--dur:.42s}
.zs16:not(#zz):not(#zz):not(#zz){--dl:3.21s;--dur:.42s}
.zs17:not(#zz):not(#zz):not(#zz){--dl:3.38s;--dur:.42s}
.zs18:not(#zz):not(#zz):not(#zz){--dl:3.55s;--dur:.42s}
.zs19:not(#zz):not(#zz):not(#zz){--dl:1.20s}
.zs20:not(#zz):not(#zz):not(#zz){--dl:1.33s}
.zs21:not(#zz):not(#zz):not(#zz){--dl:1.46s}
.zs22:not(#zz):not(#zz):not(#zz){--dl:1.59s}
.zs23:not(#zz):not(#zz):not(#zz){--dl:1.72s}
.zs24:not(#zz):not(#zz):not(#zz){--dl:1.85s}
.zs25:not(#zz):not(#zz):not(#zz){--dl:2.11s}
.zs26:not(#zz):not(#zz):not(#zz){--dl:2.24s}
.zs27:not(#zz):not(#zz):not(#zz){--dl:2.37s}
.zs28:not(#zz):not(#zz):not(#zz){--dl:2.50s}
.zs29:not(#zz):not(#zz):not(#zz){--dl:2.63s}
.zs30:not(#zz):not(#zz):not(#zz){--dl:2.76s}
.zs31:not(#zz):not(#zz):not(#zz){--dl:2.89s}
.zs32:not(#zz):not(#zz):not(#zz){--dl:3.02s}
.zs33:not(#zz):not(#zz):not(#zz){--dl:3.15s}
.zs34:not(#zz):not(#zz):not(#zz){--dl:3.28s}
.zs35:not(#zz):not(#zz):not(#zz){--dl:3.9s}
.zs36:not(#zz):not(#zz):not(#zz){--i:0}
.zs37:not(#zz):not(#zz):not(#zz){--i:2}
.zs38:not(#zz):not(#zz):not(#zz){--i:3}
.zs39:not(#zz):not(#zz):not(#zz){--i:4}
.zs40:not(#zz):not(#zz):not(#zz){--gx:32%;--gy:46%}
.zs41:not(#zz):not(#zz):not(#zz){transform-origin:540px 412px}
.zs42:not(#zz):not(#zz):not(#zz){--pd:4.7s}
.zs43:not(#zz):not(#zz):not(#zz){--pd:0.60s}
.zs44:not(#zz):not(#zz):not(#zz){--dl:0.95s}
.zs45:not(#zz):not(#zz):not(#zz){--dl:0.60s;--dur:.55s}
.zs46:not(#zz):not(#zz):not(#zz){--dl:1.11s}
.zs47:not(#zz):not(#zz):not(#zz){--dl:0.76s;--dur:.55s}
.zs48:not(#zz):not(#zz):not(#zz){--dl:0.70s}
.zs49:not(#zz):not(#zz):not(#zz){--dl:0.82s}
.zs50:not(#zz):not(#zz):not(#zz){--dl:0.94s}
.zs51:not(#zz):not(#zz):not(#zz){--pd:0.80s}
.zs52:not(#zz):not(#zz):not(#zz){--dl:1.15s}
.zs53:not(#zz):not(#zz):not(#zz){--dl:0.80s;--dur:.55s}
.zs54:not(#zz):not(#zz):not(#zz){--dl:0.90s}
.zs55:not(#zz):not(#zz):not(#zz){--dl:1.02s}
.zs56:not(#zz):not(#zz):not(#zz){--pd:2.10s}
.zs57:not(#zz):not(#zz):not(#zz){--dl:2.45s}
.zs58:not(#zz):not(#zz):not(#zz){--dl:2.10s;--dur:.55s}
.zs59:not(#zz):not(#zz):not(#zz){--dl:2.61s}
.zs60:not(#zz):not(#zz):not(#zz){--dl:2.26s;--dur:.55s}
.zs61:not(#zz):not(#zz):not(#zz){--dl:2.77s}
.zs62:not(#zz):not(#zz):not(#zz){--dl:2.42s;--dur:.55s}
.zs63:not(#zz):not(#zz):not(#zz){--dl:2.93s}
.zs64:not(#zz):not(#zz):not(#zz){--dl:2.58s;--dur:.55s}
.zs65:not(#zz):not(#zz):not(#zz){--dl:3.09s}
.zs66:not(#zz):not(#zz):not(#zz){--dl:2.74s;--dur:.55s}
.zs67:not(#zz):not(#zz):not(#zz){--dl:2.20s}
.zs68:not(#zz):not(#zz):not(#zz){--dl:2.32s}
.zs69:not(#zz):not(#zz):not(#zz){--dl:2.44s}
.zs70:not(#zz):not(#zz):not(#zz){--dl:2.56s}
.zs71:not(#zz):not(#zz):not(#zz){--dl:2.68s}
.zs72:not(#zz):not(#zz):not(#zz){--pd:3.40s}
.zs73:not(#zz):not(#zz):not(#zz){--dl:3.75s}
.zs74:not(#zz):not(#zz):not(#zz){--dl:3.40s;--dur:.55s}
.zs75:not(#zz):not(#zz):not(#zz){--dl:3.91s}
.zs76:not(#zz):not(#zz):not(#zz){--dl:3.56s;--dur:.55s}
.zs77:not(#zz):not(#zz):not(#zz){--dl:4.07s}
.zs78:not(#zz):not(#zz):not(#zz){--dl:3.72s;--dur:.55s}
.zs79:not(#zz):not(#zz):not(#zz){--dl:4.23s}
.zs80:not(#zz):not(#zz):not(#zz){--dl:3.88s;--dur:.55s}
.zs81:not(#zz):not(#zz):not(#zz){--dl:4.39s}
.zs82:not(#zz):not(#zz):not(#zz){--dl:4.04s;--dur:.55s}
.zs83:not(#zz):not(#zz):not(#zz){--dl:4.55s}
.zs84:not(#zz):not(#zz):not(#zz){--dl:4.20s;--dur:.55s}
.zs85:not(#zz):not(#zz):not(#zz){--dl:4.71s}
.zs86:not(#zz):not(#zz):not(#zz){--dl:4.36s;--dur:.55s}
.zs87:not(#zz):not(#zz):not(#zz){--dl:4.87s}
.zs88:not(#zz):not(#zz):not(#zz){--dl:4.52s;--dur:.55s}
.zs89:not(#zz):not(#zz):not(#zz){--dl:3.50s}
.zs90:not(#zz):not(#zz):not(#zz){--dl:3.62s}
.zs91:not(#zz):not(#zz):not(#zz){--dl:3.74s}
.zs92:not(#zz):not(#zz):not(#zz){--dl:3.86s}
.zs93:not(#zz):not(#zz):not(#zz){--dl:3.98s}
.zs94:not(#zz):not(#zz):not(#zz){--dl:4.10s}
.zs95:not(#zz):not(#zz):not(#zz){--dl:4.22s}
.zs96:not(#zz):not(#zz):not(#zz){left:32.0%;top:25.6%;--sd:0.60s}
.zs97:not(#zz):not(#zz):not(#zz){left:15.0%;top:50.5%;--sd:0.80s}
.zs98:not(#zz):not(#zz):not(#zz){left:74.0%;top:9.0%;--sd:2.10s}
.zs99:not(#zz):not(#zz):not(#zz){left:34.0%;top:84.5%;--sd:3.40s}
.zs100:not(#zz):not(#zz):not(#zz){left:17.6%;top:36.2%;--sd:4.70s}
.zs101:not(#zz):not(#zz):not(#zz){--sd:0.60s}
.zs102:not(#zz):not(#zz):not(#zz){--sd:2.10s}
.zs103:not(#zz):not(#zz):not(#zz){--sd:3.40s}
.zs104:not(#zz):not(#zz):not(#zz){--sd:4.70s}
.zs105:not(#zz):not(#zz):not(#zz){--gx:28%;--gy:50%}
.zs106:not(#zz):not(#zz):not(#zz){--k:0}
.zs107:not(#zz):not(#zz):not(#zz){--k:1}
.zs108:not(#zz):not(#zz):not(#zz){--k:2}
.zs109:not(#zz):not(#zz):not(#zz){--k:3}
.zs110:not(#zz):not(#zz):not(#zz){left:50.00%;top:13.41%;--k:0}
.zs111:not(#zz):not(#zz):not(#zz){left:84.88%;top:50.00%;--k:1}
.zs112:not(#zz):not(#zz):not(#zz){left:50.00%;top:86.59%;--k:2}
.zs113:not(#zz):not(#zz):not(#zz){left:15.12%;top:50.00%;--k:3}
.zs114:not(#zz):not(#zz):not(#zz){--gx:30%;--gy:44%}
.zs115:not(#zz):not(#zz):not(#zz){--k:4}
.zs116:not(#zz):not(#zz):not(#zz){--k:5}
.zs117:not(#zz):not(#zz):not(#zz){--i:5}
.zs118:not(#zz):not(#zz):not(#zz){--gx:70%;--gy:30%}
.zs119:not(#zz):not(#zz):not(#zz){--n:3;--per:6.0s}
.zs120:not(#zz):not(#zz):not(#zz){--nd:1.60s}
.zs121:not(#zz):not(#zz):not(#zz){--nd:4.30s}
.zs122:not(#zz):not(#zz):not(#zz){--nd:7.00s}
.zs123:not(#zz):not(#zz):not(#zz){--gx:28%;--gy:48%}
.zs124:not(#zz):not(#zz):not(#zz){-webkit-mask-image:url(../img/img-633af9133a.webp?v=633af9133a);mask-image:url(../img/img-633af9133a.webp?v=633af9133a)}
.zs125:not(#zz):not(#zz):not(#zz){--gx:30%;--gy:50%}
.zs126:not(#zz):not(#zz):not(#zz){--x:-118;--y:-100;--k:0}
.zs127:not(#zz):not(#zz):not(#zz){--x:118;--y:-100;--k:1}
.zs128:not(#zz):not(#zz):not(#zz){--x:-118;--y:100;--k:2}
.zs129:not(#zz):not(#zz):not(#zz){--x:118;--y:100;--k:3}
.zs130:not(#zz):not(#zz):not(#zz){--gx:50%;--gy:78%}
.zs131:not(#zz):not(#zz):not(#zz){left:6%;--k:0}
.zs132:not(#zz):not(#zz):not(#zz){left:26%;--k:1}
.zs133:not(#zz):not(#zz):not(#zz){left:50%;--k:2}
.zs134:not(#zz):not(#zz):not(#zz){left:74%;--k:3}
.zs135:not(#zz):not(#zz):not(#zz){left:94%;--k:4}
.zs136:not(#zz):not(#zz):not(#zz){--gx:34%;--gy:50%}
.zs137:not(#zz):not(#zz):not(#zz){--gx:50%;--gy:24%}
.zs138:not(#zz):not(#zz):not(#zz){--i:6}
.zs139:not(#zz):not(#zz):not(#zz){--i:7}

/* public website: the speaker notes are not published (they stay in the offline single-file edition) */
#bnotes,#notes{display:none!important}
