:root{
  --bg:#07110f;
  --bg-2:#0b1814;
  --paper:#f1ead9;
  --ink:#101915;
  --yellow:#f0bc3b;
  --yellow-2:#ffe596;
  --green:#6ee6a0;
  --rust:#cf6d4d;
  --muted:#aab7af;
  --line:rgba(214,239,221,.16);
  --header:74px;
  --nav:70px;
  --ease:cubic-bezier(.2,.75,.2,1);
}

*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:#fff}
body{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit;color:inherit}
button{border:0}
a{text-decoration:none}
img{display:block;max-width:100%}

.skip-link{position:fixed;left:18px;top:-70px;z-index:200;padding:10px 16px;background:var(--yellow);color:var(--ink);transition:.2s}
.skip-link:focus{top:18px}

.loader{position:fixed;inset:0;z-index:300;display:grid;place-content:center;background:var(--bg);transition:opacity .65s var(--ease),visibility .65s}
.loader.is-done{opacity:0;visibility:hidden}
.loader-mark{position:relative;width:84px;height:84px;margin:auto}
.loader-mark i{position:absolute;left:35px;top:12px;width:16px;height:58px;border-radius:80% 15% 80% 15%;background:var(--yellow);transform-origin:50% 80%;animation:bloom 1.15s var(--ease) infinite alternate}
.loader-mark i:nth-child(2){transform:rotate(72deg)}
.loader-mark i:nth-child(3){transform:rotate(144deg)}
.loader-mark i:nth-child(4){transform:rotate(216deg)}
.loader-mark i:nth-child(5){transform:rotate(288deg)}
.loader p{margin:24px 0 0;font-size:11px;letter-spacing:.28em;color:var(--yellow-2)}
@keyframes bloom{from{opacity:.35;scale:.7}to{opacity:1;scale:1}}

.rotate-tip{display:none;position:fixed;inset:0;z-index:250;place-content:center;padding:40px;text-align:center;background:#07110f}
.rotate-tip b{display:block;margin-bottom:12px;font-size:26px;color:var(--yellow)}
.rotate-tip p{margin:0;color:var(--muted);line-height:1.7}

.site-header{position:fixed;z-index:80;left:0;right:0;top:0;height:var(--header);display:flex;align-items:center;gap:24px;padding:0 4vw;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(7,17,15,.92),rgba(7,17,15,.7));backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(110,230,160,.65);color:var(--green);font:700 13px/1 Consolas,monospace}
.brand b{font-size:17px;letter-spacing:.08em}
.brand small{display:block;margin-top:2px;color:var(--muted);font:10px/1.2 Consolas,monospace;letter-spacing:.12em}
.header-route{display:flex;align-items:center;gap:8px;margin-left:auto;color:rgba(255,255,255,.52);font:11px/1 Consolas,monospace;letter-spacing:.12em}
.header-route i{display:block;width:38px;height:1px;background:var(--line)}
.source-btn{width:42px;height:42px;margin-left:10px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.035);cursor:pointer;transition:.25s}
.source-btn:hover,.source-btn:focus-visible{border-color:var(--yellow);color:var(--yellow);transform:rotate(12deg)}

.chapter-rail{position:fixed;z-index:75;left:4vw;right:4vw;bottom:0;height:var(--nav);display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);background:linear-gradient(0deg,rgba(7,17,15,.94),rgba(7,17,15,.66));backdrop-filter:blur(18px)}
.rail-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;transition:.25s}
.rail-btn:hover,.rail-btn:focus-visible{border-color:var(--green);color:var(--green)}
.rail-track{position:relative;display:flex;align-items:center;gap:10px;flex:1;height:26px}
.rail-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.rail-dot{position:relative;width:9px;height:9px;padding:0;border-radius:50%;background:#496157;cursor:pointer;transition:.3s}
.rail-dot.is-active{width:32px;border-radius:999px;background:var(--green);box-shadow:0 0 20px rgba(110,230,160,.42)}
.rail-count{min-width:84px;text-align:right;color:var(--muted);font:12px/1 Consolas,monospace}
.rail-count b{color:#fff;font-size:18px}

.scene-stack{position:fixed;inset:var(--header) 0 var(--nav);overflow:hidden;background:var(--bg)}
.scene{position:absolute;inset:0;display:grid;align-items:center;padding:clamp(34px,4vw,72px);opacity:0;visibility:hidden;transform:translateX(8%);transition:opacity .55s var(--ease),transform .7s var(--ease),visibility .55s;isolation:isolate}
.scene.is-active{opacity:1;visibility:visible;transform:none;z-index:2}
.scene.is-before{transform:translateX(-8%)}
.scene:before{content:"";position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(110,230,160,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,230,160,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.scene:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 14% 15%,rgba(110,230,160,.08),transparent 28%),radial-gradient(circle at 86% 80%,rgba(240,188,59,.08),transparent 30%)}
.scene.no-grid:before{display:none}

.chapter-tag{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--green);font:700 12px/1 Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}
.chapter-tag:before{content:"";width:32px;height:2px;background:currentColor}
.display-title{margin:0;font-family:"STSong","Songti SC",serif;font-size:clamp(50px,5.6vw,96px);line-height:1.02;letter-spacing:-.05em;font-weight:650}
.display-title .gold{display:block;color:var(--yellow)}
.scene-title{max-width:900px;margin:0 0 22px;font-family:"STSong","Songti SC",serif;font-size:clamp(38px,4vw,68px);line-height:1.08;letter-spacing:-.035em;font-weight:650}
.scene-sub{max-width:760px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(16px,1.25vw,21px);line-height:1.75}
.body-copy{max-width:690px;color:rgba(255,255,255,.74);font-size:clamp(15px,1.05vw,18px);line-height:1.85}
.body-copy p{margin:0 0 15px}
.body-copy strong{color:#fff}
.paper{background:var(--paper);color:var(--ink)}
.paper:before{background-image:linear-gradient(rgba(14,35,24,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(14,35,24,.055) 1px,transparent 1px)}
.paper:after{background:radial-gradient(circle at 12% 10%,rgba(240,188,59,.22),transparent 28%),radial-gradient(circle at 90% 82%,rgba(45,133,83,.12),transparent 28%)}
.paper .chapter-tag{color:#6f571b}
.paper .scene-sub,.paper .body-copy{color:#4d5b53}
.paper .body-copy strong{color:var(--ink)}

.hero{padding:0;grid-template-columns:minmax(0,1fr)}
.hero-photo{position:absolute;inset:0;z-index:-4;background:url("theme-park.webp") center 52%/cover no-repeat;transform:scale(1.04);animation:heroDrift 14s ease-in-out infinite alternate}
.hero-wash{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(6,15,13,.92) 0%,rgba(6,15,13,.72) 46%,rgba(6,15,13,.18) 100%),linear-gradient(0deg,rgba(6,15,13,.55),transparent 55%)}
@keyframes heroDrift{to{transform:scale(1.1) translate3d(-1.2%,.7%,0)}}
.hero-content{width:min(780px,62vw);margin-left:5vw}
.hero-kicker{margin-bottom:22px;color:var(--yellow-2);font:12px/1 Consolas,monospace;letter-spacing:.24em}
.hero-deck{max-width:710px;margin:28px 0 0;font-size:clamp(17px,1.35vw,23px);line-height:1.7;color:rgba(255,255,255,.86)}
.hero-pulse{display:flex;align-items:center;gap:16px;margin-top:38px;color:rgba(255,255,255,.55);font-size:12px;letter-spacing:.16em}
.hero-pulse i{position:relative;width:88px;height:2px;background:rgba(255,255,255,.2);overflow:hidden}
.hero-pulse i:after{content:"";position:absolute;inset:0;background:var(--yellow);transform:translateX(-100%);animation:scan 2.2s ease-in-out infinite}
@keyframes scan{50%,100%{transform:translateX(100%)}}
.hero-corner{position:absolute;right:4vw;bottom:6vh;text-align:right}
.hero-corner b{display:block;color:var(--yellow);font:700 clamp(44px,5vw,76px)/.85 Consolas,monospace}
.hero-corner span{font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.62)}

.editorial-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);gap:clamp(32px,5vw,90px);align-items:center;width:100%}
.editorial-grid.reverse{grid-template-columns:minmax(520px,1.15fr) minmax(0,.85fr)}
.editorial-grid.reverse .copy{order:2}
.editorial-grid.reverse .visual{order:1}
.field-title{max-width:500px;font-size:clamp(42px,3.4vw,46px);line-height:1.12;letter-spacing:-.025em}
.field-title span{margin-left:.16em;color:var(--yellow)}
.visual{position:relative;min-height:440px}
.photo-frame{position:absolute;overflow:hidden;background:#14231d;box-shadow:0 25px 70px rgba(0,0,0,.26)}
.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.scene.is-active .photo-frame img{transform:scale(1.035)}
.photo-frame.main{left:6%;top:3%;width:78%;height:83%;border-radius:2px 110px 2px 2px}
.photo-frame.accent{right:0;bottom:0;width:42%;height:45%;border:8px solid var(--paper);border-radius:90px 2px 2px 2px}
.photo-caption{position:absolute;left:16px;bottom:14px;padding:7px 10px;background:rgba(5,12,10,.72);backdrop-filter:blur(10px);font:10px/1.2 Consolas,monospace;letter-spacing:.12em;color:#fff}

.lead-quote{margin:24px 0 28px;padding-left:23px;border-left:3px solid var(--yellow);font-family:"STSong","Songti SC",serif;font-size:clamp(22px,2vw,32px);line-height:1.55;color:#fff}
.paper .lead-quote{color:var(--ink)}
.insight-line{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.paper .insight-line{border-color:rgba(16,25,21,.15)}
.insight-line b{color:var(--yellow);font:700 14px/1.5 Consolas,monospace;white-space:nowrap}
.paper .insight-line b{color:#987016}
.insight-line span{font-size:14px;line-height:1.65;color:var(--muted)}
.paper .insight-line span{color:#5b685f}

.macro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.macro-card{position:relative;min-height:210px;padding:28px;border-top:2px solid var(--green);background:rgba(255,255,255,.025)}
.macro-card:nth-child(2){border-color:var(--yellow)}
.macro-card:nth-child(3){border-color:var(--rust)}
.macro-card small{color:var(--muted);font:11px/1 Consolas,monospace;letter-spacing:.14em}
.macro-card h3{margin:24px 0 12px;font-size:26px}
.macro-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}

.geo-map{position:relative;min-height:510px;border:1px solid rgba(20,48,35,.16);background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.02));overflow:hidden}
.geo-map:before,.geo-map:after{content:"";position:absolute;border:1px solid rgba(33,87,58,.14);border-radius:50%;inset:11% 12%;transform:rotate(-10deg)}
.geo-map:after{inset:24% 25%;transform:rotate(15deg)}
.geo-route{position:absolute;left:12%;right:12%;top:48%;height:3px;background:#8c7a4c;transform:rotate(-8deg);transform-origin:left center}
.geo-route:after{content:"";position:absolute;left:0;top:-1px;width:0;height:5px;background:var(--green);transition:width .8s var(--ease)}
.geo-map[data-active="city"] .geo-route:after{width:100%}
.geo-node{position:absolute;width:132px;aspect-ratio:1;border:1px solid rgba(23,69,44,.28);border-radius:50%;background:rgba(241,234,217,.88);color:var(--ink);cursor:pointer;box-shadow:0 18px 48px rgba(30,54,41,.12);transition:.35s var(--ease)}
.geo-node:hover,.geo-node:focus-visible,.geo-node.is-active{transform:scale(1.08);border-color:#267446;background:#fff}
.geo-node b{display:block;font-size:20px}.geo-node span{display:block;margin-top:6px;font:10px/1 Consolas,monospace;color:#7b6a41}
.geo-node.field{left:8%;top:52%}.geo-node.county{left:42%;top:30%}.geo-node.city{right:8%;top:15%}
.geo-note{position:absolute;left:7%;right:7%;bottom:5%;display:flex;justify-content:space-between;align-items:flex-end;padding-top:18px;border-top:1px solid rgba(16,25,21,.16)}
.geo-note h3{margin:0;font-size:26px}.geo-note p{max-width:430px;margin:0;color:#536158;font-size:14px;line-height:1.65;text-align:right}

.fact-ribbon{display:flex;align-items:baseline;gap:18px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.fact-ribbon b{color:var(--yellow);font:700 clamp(30px,3vw,50px)/1 Consolas,monospace}
.fact-ribbon span{max-width:280px;color:var(--muted);font-size:13px;line-height:1.5}

.full-story{padding:0;display:block}
.full-story-photo{position:absolute;inset:0;z-index:-4;background:center/cover no-repeat;animation:heroDrift 15s ease-in-out infinite alternate}
.full-story-wash{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,13,11,.1),rgba(5,13,11,.36) 48%,rgba(5,13,11,.92) 77%),linear-gradient(0deg,rgba(5,13,11,.62),transparent 55%)}
.time-stamp{position:absolute;left:5vw;top:9vh}
.time-stamp b{display:block;color:var(--yellow);font:700 clamp(64px,8vw,126px)/.85 Consolas,monospace;letter-spacing:-.06em}
.time-stamp span{font:11px/1 Consolas,monospace;letter-spacing:.22em;color:rgba(255,255,255,.62)}
.story-card{position:absolute;right:5vw;top:50%;width:min(610px,45vw);padding:clamp(28px,3vw,52px);transform:translateY(-50%);border:1px solid rgba(255,255,255,.2);background:rgba(6,16,13,.72);backdrop-filter:blur(18px)}
.story-card h2{margin:0 0 24px;font-family:"STSong","Songti SC",serif;font-size:clamp(38px,4vw,64px);line-height:1.08}
.story-card>p:not(.chapter-tag){margin:0 0 15px;color:rgba(255,255,255,.75);font-size:16px;line-height:1.8}
.story-emphasis{margin-top:25px;padding-top:19px;border-top:1px solid rgba(240,188,59,.38);color:var(--yellow-2);font-family:"STSong","Songti SC",serif;font-size:23px;line-height:1.5}

.process-layout{display:grid;grid-template-columns:minmax(420px,.78fr) minmax(580px,1.22fr);gap:5vw;align-items:center;width:100%}
.process-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:36px;background:rgba(15,45,28,.14)}
.process-step{padding:22px 12px;background:var(--paper);color:var(--ink);cursor:pointer;transition:.3s}
.process-step span{display:block;margin-bottom:12px;color:#7e704c;font:11px/1 Consolas,monospace}.process-step b{font-size:17px}
.process-step:hover,.process-step:focus-visible,.process-step.is-active{background:var(--ink);color:#fff}.process-step.is-active span{color:var(--yellow)}
.process-stage{position:relative;height:min(66vh,570px);overflow:hidden;background:#15241e;box-shadow:0 28px 80px rgba(40,55,45,.18)}
.process-stage>img{width:100%;height:100%;object-fit:cover;transition:opacity .25s,transform .7s var(--ease)}
.process-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,13,10,.92),transparent 58%)}
.process-card{position:absolute;z-index:2;left:34px;right:250px;bottom:28px;color:#fff}
.process-card small{color:var(--yellow);font:11px/1 Consolas,monospace;letter-spacing:.14em}
.process-card h3{margin:12px 0 8px;font-size:28px}.process-card p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
.process-metric{position:absolute;z-index:3;right:0;top:0;width:190px;padding:26px;background:var(--yellow);color:var(--ink)}
.process-metric b{display:block;font:700 38px/1 Consolas,monospace}.process-metric span{display:block;margin-top:9px;font-size:11px;line-height:1.5}

.youth-layout{display:grid;grid-template-columns:minmax(540px,1.06fr) minmax(470px,.94fr);gap:5vw;align-items:center;width:100%}
.youth-photo{position:relative;height:min(68vh,600px);overflow:hidden;border-radius:0 160px 0 0}
.youth-photo img{width:100%;height:100%;object-fit:cover}
.youth-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,11,9,.82),transparent 55%)}
.youth-photo span{position:absolute;z-index:2;left:28px;bottom:24px;color:#fff;font:11px/1.4 Consolas,monospace;letter-spacing:.12em}
.quote-card{margin:28px 0 0;padding:22px 24px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.045);font-family:"STSong","Songti SC",serif;font-size:21px;line-height:1.65;color:#fff}
.quote-card cite{display:block;margin-top:12px;font-family:"Microsoft YaHei",sans-serif;font-size:12px;font-style:normal;color:var(--muted)}

.timeline-scene{background:linear-gradient(135deg,#0d221b,#07110f 58%)}
.timeline-layout{display:grid;grid-template-columns:minmax(420px,.78fr) minmax(600px,1.22fr);gap:4vw;align-items:center;width:100%}
.timeline-result{margin-top:34px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.timeline-result small{color:var(--yellow);font:11px/1 Consolas,monospace;letter-spacing:.14em}
.timeline-result h3{margin:13px 0 8px;font-size:28px}.timeline-result p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.dayline{position:relative;height:min(64vh,570px);padding-top:60px}
.dayline-track{position:absolute;left:8%;right:8%;top:90px;height:3px;background:#345447}
.dayline-track:after{content:"";position:absolute;left:0;width:25%;height:100%;background:var(--green);box-shadow:0 0 20px rgba(110,230,160,.35);transition:width .5s var(--ease)}
.dayline[data-step="1"] .dayline-track:after{width:25%}.dayline[data-step="2"] .dayline-track:after{width:50%}.dayline[data-step="3"] .dayline-track:after{width:75%}.dayline[data-step="4"] .dayline-track:after{width:100%}
.time-node{position:absolute;top:55px;width:88px;padding:0;background:transparent;text-align:center;cursor:pointer;transform:translateX(-50%)}
.time-node:nth-of-type(1){left:8%}.time-node:nth-of-type(2){left:29%}.time-node:nth-of-type(3){left:50%}.time-node:nth-of-type(4){left:71%}.time-node:nth-of-type(5){left:92%}
.time-node:before{content:"";display:block;width:20px;height:20px;margin:25px auto 15px;border:4px solid #345447;border-radius:50%;background:var(--bg);transition:.3s}
.time-node b{display:block;font:700 17px/1 Consolas,monospace}.time-node span{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.time-node:hover:before,.time-node:focus-visible:before,.time-node.is-active:before{border-color:var(--green);background:var(--green);box-shadow:0 0 0 7px rgba(110,230,160,.13)}
.time-node.is-active b{color:var(--green)}
.dayline-photo{position:absolute;left:8%;right:8%;bottom:0;height:65%;overflow:hidden;border-radius:110px 0 0 0}
.dayline-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .25s,transform .65s var(--ease)}
.dayline-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,11,9,.42),transparent 55%)}

.city-scene{padding:0}
.city-photo{position:absolute;inset:0;z-index:-4;background:url("city-wall.webp") center/cover no-repeat;animation:heroDrift 18s ease-in-out infinite alternate}
.city-wash{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,13,11,.92),rgba(5,13,11,.72) 48%,rgba(5,13,11,.18)),linear-gradient(0deg,rgba(5,13,11,.62),transparent 60%)}
.city-copy{width:min(760px,55vw);margin-left:5vw}
.product-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.product-strip span{padding:10px 14px;border:1px solid rgba(255,255,255,.2);background:rgba(7,17,15,.35);font-size:12px}
.city-index{position:absolute;right:4vw;bottom:6vh;text-align:right}.city-index b{display:block;color:var(--yellow);font:700 clamp(38px,4.5vw,70px)/1 Consolas,monospace}.city-index span{display:block;margin-top:9px;color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.12em}

.tourism-layout{display:grid;grid-template-columns:minmax(430px,.82fr) minmax(590px,1.18fr);gap:5vw;align-items:center;width:100%}
.tourism-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.tourism-tags span{padding:9px 15px;border:1px solid rgba(16,25,21,.24);border-radius:999px;font-size:12px}
.tourism-visual{position:relative;height:min(68vh,600px);overflow:hidden;border-radius:0 0 180px 0}
.tourism-visual img{width:100%;height:100%;object-fit:cover}
.tourism-ring{position:absolute;right:36px;bottom:32px;display:grid;place-content:center;width:150px;height:150px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(7,17,15,.55);color:#fff;text-align:center;backdrop-filter:blur(12px)}
.tourism-ring b{font-size:26px}.tourism-ring span{margin-top:7px;color:var(--yellow);font-size:11px;letter-spacing:.14em}

.data-scene{background:radial-gradient(circle at 78% 44%,rgba(110,230,160,.12),transparent 28%),linear-gradient(140deg,#10251e,#07110f 62%)}
.data-layout{display:grid;grid-template-columns:minmax(410px,.74fr) minmax(620px,1.26fr);gap:5vw;align-items:center;width:100%}
.data-meaning{margin-top:34px;padding:22px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.035)}
.data-meaning b{color:var(--yellow);font-size:15px}.data-meaning p{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.number-field{position:relative;height:min(68vh,600px)}
.number-field:before,.number-field:after{content:"";position:absolute;border:1px solid rgba(240,188,59,.22);border-radius:50%;inset:8% 4%;transform:rotate(-9deg)}
.number-field:after{inset:23% 19%;border-color:rgba(110,230,160,.2);transform:rotate(16deg)}
.number-core{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-content:center;width:190px;height:190px;transform:translate(-50%,-50%);border-radius:50%;background:var(--yellow);color:var(--ink);text-align:center;box-shadow:0 0 70px rgba(240,188,59,.25)}
.number-core strong{font:700 58px/1 Consolas,monospace}.number-core span{margin-top:10px;font-size:12px;line-height:1.5}
.number-item{position:absolute;width:185px;padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.045);backdrop-filter:blur(12px)}
.number-item b{display:block;color:var(--green);font:700 35px/1 Consolas,monospace}.number-item span{display:block;margin-top:9px;color:var(--muted);font-size:12px}
.number-item.n1{left:3%;top:6%}.number-item.n2{right:3%;top:10%}.number-item.n3{left:0;bottom:8%}.number-item.n4{right:0;bottom:5%}

.roles-layout{display:grid;grid-template-columns:minmax(480px,.88fr) minmax(0,1.12fr);gap:clamp(30px,4vw,58px);align-items:center;width:100%}
.roles-copy .scene-title{max-width:480px;font-size:clamp(46px,4.05vw,52px);line-height:1.08;letter-spacing:-.035em}
.roles-copy .scene-sub{max-width:455px}
.role-result{margin-top:34px;padding:25px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.035)}
.role-result small{color:var(--yellow);font:11px/1 Consolas,monospace;letter-spacing:.12em}.role-result h3{margin:13px 0 8px;font-size:27px}.role-result p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.role-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(170px,1fr));gap:clamp(10px,1.1vw,15px)}
.role-card{position:relative;padding:22px;background:rgba(255,255,255,.035);border:1px solid var(--line);text-align:left;cursor:pointer;transition:.35s var(--ease)}
.role-card:nth-child(1){grid-column:1/3}.role-card:nth-child(2){grid-column:3/5}.role-card:nth-child(3){grid-column:5/7}.role-card:nth-child(4){grid-column:2/4}.role-card:nth-child(5){grid-column:4/6}
.role-card span{display:block;color:var(--green);font:12px/1 Consolas,monospace}.role-card b{display:block;margin:35px 0 9px;font-size:24px}.role-card em{color:var(--muted);font-size:12px;font-style:normal}
.role-card:hover,.role-card:focus-visible,.role-card.is-active{transform:translateY(-5px);border-color:var(--yellow);background:rgba(240,188,59,.1)}.role-card.is-active span{color:var(--yellow)}

.final-scene{padding:0}
.final-photo{position:absolute;inset:0;z-index:-4;background:url("field-overview.webp") center/cover no-repeat;animation:heroDrift 16s ease-in-out infinite alternate}
.final-wash{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,13,11,.95),rgba(5,13,11,.72) 55%,rgba(5,13,11,.38)),linear-gradient(0deg,rgba(5,13,11,.65),transparent 55%)}
.final-layout{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(520px,.95fr);gap:5vw;align-items:center;width:100%;padding:5vw}
.flow-board{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flow{padding:22px;border:1px solid rgba(255,255,255,.18);background:rgba(7,17,15,.45);text-align:left;cursor:pointer;transition:.3s}
.flow b{display:block;margin-bottom:7px;color:var(--green);font-size:18px}.flow span{color:var(--muted);font-size:12px;line-height:1.5}
.flow:hover,.flow:focus-visible,.flow.is-active{border-color:var(--yellow);background:rgba(240,188,59,.1)}.flow.is-active b{color:var(--yellow)}
.flow-conclusion{grid-column:1/-1;min-height:92px;padding:22px;border-left:3px solid var(--yellow);background:rgba(0,0,0,.28);color:#fff;font-size:15px;line-height:1.75}

.source-drawer{position:fixed;z-index:180;top:0;right:0;width:min(520px,92vw);height:100%;padding:96px 42px 48px;background:#0c1814;box-shadow:-30px 0 90px rgba(0,0,0,.45);transform:translateX(105%);transition:.5s var(--ease);overflow:auto}
.source-drawer.is-open{transform:none}
.drawer-close{position:absolute;right:26px;top:24px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}
.source-drawer h2{margin:0 0 10px;font-family:"STSong","Songti SC",serif;font-size:42px}
.source-drawer>p{margin:0 0 28px;color:var(--muted);line-height:1.7}
.source-list{display:grid;gap:12px}
.source-list a{display:block;padding:16px 0;border-top:1px solid var(--line)}
.source-list b{display:block;margin-bottom:7px;color:var(--yellow);font-size:14px}
.source-list span{display:block;color:var(--muted);font-size:12px;line-height:1.55;word-break:break-all}
.drawer-backdrop{position:fixed;z-index:170;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.35s}
.drawer-backdrop.is-open{opacity:1;visibility:visible}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.scene.is-active .reveal{opacity:1;transform:none}
.scene.is-active .reveal:nth-child(2){transition-delay:.08s}
.scene.is-active .reveal:nth-child(3){transition-delay:.16s}
.scene.is-active .reveal:nth-child(4){transition-delay:.24s}

@media(max-width:1100px){
  .site-header{padding:0 26px}.chapter-rail{left:26px;right:26px}.scene{padding:38px}
  .editorial-grid,.editorial-grid.reverse{grid-template-columns:.9fr 1.1fr;gap:30px}
  .visual{min-height:390px}.header-route{display:none}
}

@media(max-aspect-ratio:1/1){
  .rotate-tip{display:grid}
  .site-header,.chapter-rail,.scene-stack,.loader{display:none}
}

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