master
lion 4 weeks ago
parent ff33b630a5
commit 85a9468d63

@ -608,7 +608,7 @@
.hero-banner--photonic { background-size: cover; background-position: right center; }
.hero-banner--photonic img { object-position: right center; }
.hero { height: 60dvh; min-height: 60dvh; max-height: 60dvh; overflow: hidden; }
.hero-actions { position: relative; top: auto; right: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 22px auto 0; }
.hero-actions { position: relative; top: auto; right: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 34px auto 0; }
.hero::after { background: radial-gradient(ellipse 48% 32% at 50% 77%, rgba(3,23,108,.58) 0%, rgba(6,45,140,.3) 52%, transparent 82%), radial-gradient(ellipse 46% 28% at 50% 27%, rgba(112,45,211,.42) 0%, rgba(78,38,181,.2) 50%, transparent 80%), linear-gradient(180deg, rgba(28,11,102,.24) 0%, transparent 30%, transparent 68%, rgba(16,23,91,.22) 100%); box-shadow: inset 0 -120px 120px rgba(18,24,92,.1), inset 0 1px rgba(226,214,255,.14); }
.hero-grid { padding-top: 118px; justify-content: flex-start; align-items: flex-start; }
.hero-content { width: 100%; }
@ -619,7 +619,7 @@
.hero-slogan span { -webkit-text-stroke-width: .6px; }
.hero-slogan .slogan-first { width: min(51.84%, 277.2px); }
.hero-slogan .slogan-second { margin-left: 0; font-size: clamp(14.4px, 3.96vw, 17.3px); line-height: 1.05; letter-spacing: -.055em; transform: scaleX(.96); transform-origin: left center; }
.hero-actions { position: relative; top: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 22px auto 0; }
.hero-actions { position: relative; top: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 34px auto 0; }
.hero-organizers { grid-template-columns: 1fr; gap: 5px; margin-top: 22px; padding: 14px 26px 14px 0; clip-path: polygon(0 0,100% 0,94% 100%,0 100%); }
.hero-org-row, .hero-org-row:nth-child(3), .hero-org-row:nth-child(4), .hero-org-row:nth-child(5) { grid-column: auto; grid-template-columns: 49px minmax(0,1fr); gap: 0; font-size: 8.5px; line-height: 1.32; }
.hero-org-row dd { min-width: 0; overflow-wrap: anywhere; }
@ -5449,7 +5449,7 @@
z-index: 8;
display: grid !important;
width: max-content;
margin: 22px auto 10px !important;
margin: 36px auto 10px !important;
grid-template-columns: repeat(2, 68px) !important;
gap: 22px !important;
}
@ -5846,10 +5846,10 @@
.award-card:nth-child(odd)::before { content: none !important; }
}
/* 与中文版首屏一致:大标题宋体略加粗,单位黑体 Regular */
/* 与中文版首屏一致:大标题宋体加粗,单位黑体 Regular */
.hero-slogan .slogan-second {
font-family: "Event Songti", serif !important;
font-weight: 600 !important;
font-weight: 800 !important;
font-synthesis: weight;
}
.hero-organizers,

@ -9,24 +9,21 @@
<style>
@font-face {
font-family: "Event Heiti";
src: local("Heiti SC"), local("STHeiti"), local("PingFang SC"), local("PingFangSC-Regular"), local("黑体"), local("SimHei"),
url("assets/fonts/SourceHanSansSC-Regular-gb2312.woff2?v=20260828") format("woff2");
src: local("Heiti SC"), local("STHeiti"), local("PingFang SC"), local("PingFangSC-Regular"), local("黑体"), local("SimHei");
font-weight: 400 900;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Event Songti";
src: local("Songti SC"), local("STSongti-SC-Regular"), local("STSong"), local("宋体"), local("SimSun"), local("NSimSun"),
url("assets/fonts/SourceHanSerifSC-Regular-gb2312.woff2?v=20260828") format("woff2");
src: local("Songti SC"), local("STSongti-SC-Regular"), local("STSong"), local("宋体"), local("SimSun"), local("NSimSun");
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Event Songti";
src: local("Songti SC Bold"), local("STSongti-SC-Bold"), local("宋体"), local("SimSun"), local("NSimSun"),
url("assets/fonts/SourceHanSerifSC-SemiBold-gb2312.woff2?v=20260828") format("woff2");
src: local("Songti SC Bold"), local("STSongti-SC-Bold"), local("宋体"), local("SimSun"), local("NSimSun");
font-weight: 600 900;
font-style: normal;
font-display: swap;
@ -130,7 +127,7 @@
right: 8%;
bottom: 7%;
height: 43%;
background: url("assets/generated/roadmap-pale-blue-dotmaps-full-transparent-v4.png?v=4") center / 100% 100% no-repeat;
background: none;
opacity: .115;
filter: saturate(1.25) hue-rotate(9deg) drop-shadow(0 0 12px rgba(72,206,255,.18));
transform: perspective(900px) rotateX(5deg) translateZ(0);
@ -321,7 +318,7 @@
/* Keep the decorative frame fixed while pulling the title 23px toward its
left rule: the measured 76px visual gap is reduced by 30%. */
.audience .section-title, .tracks .section-title, .roadmap .section-title { text-indent: -47px; }
.audience .section-title::before, .tracks .section-title::before, .roadmap .section-title::before { content: ""; position: absolute; z-index: -1; inset: -30px -62px -42px -44px; background: url("assets/title-precision-bracket-v1.png") left bottom / 100% 100% no-repeat; pointer-events: none; }
.audience .section-title::before, .tracks .section-title::before, .roadmap .section-title::before { content: ""; position: absolute; z-index: -1; inset: -30px -62px -42px -44px; background: none; pointer-events: none; }
.tracks .section-title { text-indent: 0; }
.tracks .section-title > span { position: relative; display: inline-block; transform: translateX(47px); }
.tracks .section-title::before { transform: scaleX(-1); }
@ -440,7 +437,7 @@
position: absolute;
z-index: 0;
inset: 0;
background: url("assets/audience-2026-light-trails-transparent.png") center 58% / min(1500px, 118vw) auto no-repeat;
background: none;
opacity: .2;
pointer-events: none;
}
@ -615,7 +612,7 @@
.hero-banner--photonic { background-size: cover; background-position: right center; }
.hero-banner--photonic img { object-position: right center; }
.hero { height: 70dvh; min-height: 70dvh; max-height: 70dvh; overflow: hidden; }
.hero-actions { position: relative; top: auto; right: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 22px auto 0; }
.hero-actions { position: relative; top: auto; right: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 34px auto 0; }
.hero::after { background: radial-gradient(ellipse 48% 32% at 50% 77%, rgba(3,23,108,.58) 0%, rgba(6,45,140,.3) 52%, transparent 82%), radial-gradient(ellipse 46% 28% at 50% 27%, rgba(112,45,211,.42) 0%, rgba(78,38,181,.2) 50%, transparent 80%), linear-gradient(180deg, rgba(28,11,102,.24) 0%, transparent 30%, transparent 68%, rgba(16,23,91,.22) 100%); box-shadow: inset 0 -120px 120px rgba(18,24,92,.1), inset 0 1px rgba(226,214,255,.14); }
.hero-grid { padding-top: 118px; justify-content: flex-start; align-items: flex-start; }
.hero-content { width: 100%; }
@ -626,7 +623,7 @@
.hero-slogan span { -webkit-text-stroke-width: .6px; }
.hero-slogan .slogan-first { width: min(51.84%, 277.2px); }
.hero-slogan .slogan-second { margin-left: 0; font-size: clamp(14.4px, 3.96vw, 17.3px); line-height: 1.05; letter-spacing: -.055em; transform: scaleX(.96); transform-origin: left center; }
.hero-actions { position: relative; top: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 22px auto 0; }
.hero-actions { position: relative; top: auto; bottom: auto; left: auto; transform: none; width: max-content; height: auto; margin: 34px auto 0; }
.hero-organizers { grid-template-columns: 1fr; gap: 5px; margin-top: 22px; padding: 14px 26px 14px 0; clip-path: polygon(0 0,100% 0,94% 100%,0 100%); }
.hero-org-row, .hero-org-row:nth-child(3), .hero-org-row:nth-child(4), .hero-org-row:nth-child(5) { grid-column: auto; grid-template-columns: 49px minmax(0,1fr); gap: 0; font-size: 8.5px; line-height: 1.32; }
.hero-org-row dd { min-width: 0; overflow-wrap: anywhere; }
@ -3333,7 +3330,7 @@
position: absolute;
z-index: -1;
inset: 0;
background: url("assets/audience-tech-transparent.png?v=3") 72% 50% / cover no-repeat;
background: none;
opacity: .42;
filter: saturate(1.35) contrast(1.08);
mix-blend-mode: multiply;
@ -3517,8 +3514,7 @@
.awards {
background:
linear-gradient(90deg,rgba(31,7,92,.48) 0%,rgba(14,42,132,.28) 46%,rgba(0,88,142,.16) 100%),
linear-gradient(180deg,rgba(8,17,83,.06) 0%,rgba(5,22,84,.25) 100%),
url("assets/generated/awards-accelerator-gradient-wave-v2.png?v=1") center / cover no-repeat !important;
linear-gradient(180deg,rgba(8,17,83,.06) 0%,rgba(5,22,84,.25) 100%) !important;
isolation: isolate;
}
.awards::before {
@ -3556,8 +3552,7 @@
@media (max-width: 680px) {
.awards {
background:
linear-gradient(180deg,rgba(30,8,96,.44),rgba(4,55,132,.26)),
url("assets/generated/awards-accelerator-gradient-wave-v2.png?v=1") 58% center / auto 100% no-repeat !important;
linear-gradient(180deg,rgba(30,8,96,.44),rgba(4,55,132,.26)) !important;
}
.award-grid { backdrop-filter: blur(7px); }
}
@ -3566,7 +3561,6 @@
.audience-tracks-layout .audience {
background:
linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.78) 52%,rgba(245,251,255,.62) 100%),
url("assets/generated/audience-photonic-chip-wafer-v5.png?v=1") center / cover no-repeat,
#f5fbfe !important;
border-bottom-color: rgba(43,151,205,.14);
}
@ -3589,7 +3583,6 @@
.audience-tracks-layout .audience {
background:
linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.8) 60%,rgba(245,251,255,.66) 100%),
url("assets/generated/audience-photonic-chip-wafer-v5.png?v=1") 72% center / auto 100% no-repeat,
#f5fbfe !important;
}
}
@ -3623,7 +3616,7 @@
z-index: 2;
inset: 0;
display: block;
background: url("assets/generated/photonics-value-chain-mesh-transparent-v1.png?v=2") center / cover no-repeat;
background: none;
opacity: 1;
transform: rotate(180deg);
pointer-events: none;
@ -3654,7 +3647,6 @@
visible through the transparent artwork. */
.roadmap {
background:
url("assets/generated/roadmap-pale-blue-dotmaps-refined-transparent-v5.png?v=5") center / cover no-repeat,
radial-gradient(ellipse 72% 84% at 14% 4%,rgba(255,255,255,.96) 0%,rgba(248,251,255,.72) 58%,transparent 100%),
linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%) !important;
}
@ -3665,7 +3657,6 @@
}
.timeline {
background:
url("assets/generated/roadmap-pale-blue-dotmaps-refined-transparent-v5.png?v=5") center / cover no-repeat,
radial-gradient(ellipse 38% 42% at 50% 0%,rgba(113,54,168,.88) 0%,rgba(76,48,151,.48) 48%,transparent 100%),
linear-gradient(112deg,rgba(27,77,145,.94) 0%,rgba(8,74,148,.91) 52%,rgba(7,37,111,.95) 100%) !important;
border-color: rgba(196,234,249,.22) !important;
@ -3797,7 +3788,7 @@
position: absolute;
z-index: 0;
inset: 0;
background: url("assets/generated/roadmap-pale-blue-dotmaps-full-transparent-v4.png?v=4") center / cover no-repeat;
background: none;
opacity: .22;
mix-blend-mode: screen;
pointer-events: none;
@ -3909,9 +3900,7 @@
inset 0 1px rgba(255,255,255,.2) !important;
}
.roadmap .timeline::after {
background:
linear-gradient(180deg,rgba(255,255,255,.08),transparent 22%,rgba(2,18,66,.08) 100%),
url("assets/generated/roadmap-pale-blue-dotmaps-full-transparent-v4.png?v=4") center / cover no-repeat;
background: none;
opacity: .24;
}
.roadmap .step {
@ -3974,7 +3963,7 @@
.roadmap .step:first-child { border-radius: 27px 0 0 0 !important; }
.roadmap .step:last-child { border-radius: 0 0 27px 0 !important; }
@media (max-width: 767.98px) {
.hero-map-dots { left: 24%; right: -28%; bottom: 12%; height: 34%; opacity: .09; }
.hero-map-dots { left: 24%; right: -28%; bottom: 12%; height: 34%; opacity: .09; background: none; }
.hero-map-dots::before { filter: blur(1.2px); }
.hero-map-dots::after { background-size: 19px 16px; opacity: .24; }
}
@ -4715,7 +4704,7 @@
height: auto !important;
min-height: 0 !important;
padding: clamp(28px,3vw,50px) !important;
background: #164fae url("assets/target-projects-network-card-clean.png") center / cover no-repeat !important;
background: #164fae !important;
border: 0 !important;
border-radius: 20px !important;
box-shadow: none !important;
@ -4907,7 +4896,7 @@
min-height: 0 !important;
border-radius: 0 !important;
background-color: transparent !important;
background-image: url("assets/audience-global-network-transparent-v2.png") !important;
background-image: none !important;
background-position: center center !important;
/* Stretch the full transparent artwork across the section so neither
the top network nor the lower globe is cropped by `cover`. */
@ -5283,7 +5272,7 @@
z-index: 8;
display: grid !important;
width: max-content;
margin: 22px auto 10px !important;
margin: 36px auto 10px !important;
grid-template-columns: repeat(2, 68px) !important;
gap: 22px !important;
}
@ -5399,6 +5388,11 @@
font-weight: 600 !important;
font-synthesis: weight;
}
html body .hero-slogan .slogan-second {
font-family: var(--font-serif) !important;
font-weight: 800 !important;
font-synthesis: weight;
}
.audience-tracks-layout .audience-index .audience-callout,
.audience-tracks-layout .audience-index .audience-callout em {
font-family: var(--font-serif) !important;
@ -5655,11 +5649,11 @@
<img src="assets/generated/hero-three-landmarks-clean-field-v16.png?v=20260826" alt="" fetchpriority="high" decoding="async">
</div>
<div class="hero-banner hero-banner--photonic">
<img data-src="assets/generated/hero-photonic-youth-blue-purple-balanced-v7-sharp-trails-4k.jpg?v=20260826" alt="" decoding="async">
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==" data-src="assets/generated/hero-photonic-youth-blue-purple-balanced-v7-sharp-trails-4k.jpg?v=20260826" alt="" decoding="async">
</div>
</div>
<div class="hero-map-dots" aria-hidden="true"></div>
<img class="hero-orbit-beams" src="assets/generated/hero-reference-beams-v1.png?v=20260826" alt="" aria-hidden="true" loading="lazy" decoding="async">
<img class="hero-orbit-beams" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==" data-src="assets/generated/hero-reference-beams-v1.png?v=20260826" alt="" aria-hidden="true" decoding="async">
<div class="hero-orbit-composition" aria-hidden="true">
<div class="hero-orbit-mark">
<img src="assets/competition-radial-mark.png?v=20260826" alt="">
@ -5864,8 +5858,10 @@
function ensureBannerImage(banner) {
if (!banner) return;
var img = banner.querySelector("img[data-src]");
if (!img || img.getAttribute("src")) return;
img.setAttribute("src", img.getAttribute("data-src"));
if (!img) return;
var real = img.getAttribute("data-src");
if (!real) return;
img.setAttribute("src", real);
img.removeAttribute("data-src");
}
@ -5908,6 +5904,38 @@
}
}, 120);
});
window.addEventListener("load", function () {
window.setTimeout(function () {
var beams = document.querySelector(".hero-orbit-beams[data-src]");
if (beams) {
beams.setAttribute("src", beams.getAttribute("data-src"));
beams.removeAttribute("data-src");
}
var ua = navigator.userAgent || "";
var isIOS = /iP(hone|ad|od)/.test(ua) || (/\bMac OS X\b/.test(ua) && "ontouchend" in document);
var css = "";
if (!isIOS) {
css += '@font-face{font-family:"Event Heiti";src:url("assets/fonts/SourceHanSansSC-Regular-gb2312.woff2?v=20260828") format("woff2");font-weight:400 900;font-display:swap;}';
css += '@font-face{font-family:"Event Songti";src:url("assets/fonts/SourceHanSerifSC-Regular-gb2312.woff2?v=20260828") format("woff2");font-weight:400;font-display:swap;}';
css += '@font-face{font-family:"Event Songti";src:url("assets/fonts/SourceHanSerifSC-SemiBold-gb2312.woff2?v=20260828") format("woff2");font-weight:600;font-display:swap;}';
css += '@font-face{font-family:"Event Songti";src:url("assets/fonts/SourceHanSerifSC-Bold-gb2312.woff2?v=20260828") format("woff2");font-weight:700 900;font-display:swap;}';
}
css += '.tracks .section-title::before,.roadmap .section-title::before{background:url("assets/title-precision-bracket-v1.png") left bottom / 100% 100% no-repeat;}';
css += '.awards{background:linear-gradient(90deg,rgba(31,7,92,.48) 0%,rgba(14,42,132,.28) 46%,rgba(0,88,142,.16) 100%),linear-gradient(180deg,rgba(8,17,83,.06) 0%,rgba(5,22,84,.25) 100%),url("assets/generated/awards-accelerator-gradient-wave-v2.png?v=1") center / cover no-repeat !important;}';
css += '@media (max-width:680px){.awards{background:linear-gradient(180deg,rgba(30,8,96,.44),rgba(4,55,132,.26)),url("assets/generated/awards-accelerator-gradient-wave-v2.png?v=1") 58% center / auto 100% no-repeat !important;}}';
css += '.audience-tracks-layout .tracks-mesh{background:url("assets/generated/photonics-value-chain-mesh-transparent-v1.png?v=2") center / cover no-repeat;}';
css += '.roadmap{background:url("assets/generated/roadmap-pale-blue-dotmaps-refined-transparent-v5.png?v=5") center / cover no-repeat,radial-gradient(ellipse 72% 84% at 14% 4%,rgba(255,255,255,.96) 0%,rgba(248,251,255,.72) 58%,transparent 100%),linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%) !important;}';
css += '.roadmap .timeline::after{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 22%,rgba(2,18,66,.08) 100%),url("assets/generated/roadmap-pale-blue-dotmaps-full-transparent-v4.png?v=4") center / cover no-repeat;}';
css += '.audience-tracks-layout .audience-focus{background:#164fae url("assets/target-projects-network-card-clean.png") center / cover no-repeat !important;}';
css += '.audience-tracks-layout .audience::before{background-image:url("assets/audience-global-network-transparent-v2.png") !important;}';
css += '@media (min-width:768px){.hero-map-dots{background:url("assets/generated/roadmap-pale-blue-dotmaps-full-transparent-v4.png?v=4") center / 100% 100% no-repeat;}}';
var style = document.createElement("style");
style.setAttribute("data-deferred-assets", "1");
style.textContent = css;
document.head.appendChild(style);
}, 280);
});
</script>
<script>

@ -40,6 +40,8 @@
"url('assets/",
'src="assets/',
"src='assets/",
'data-src="assets/',
"data-src='assets/",
'srcset="assets/',
"srcset='assets/",
'href="assets/',
@ -74,6 +76,8 @@
"url('".$assetBase.'/',
'src="'.$assetBase.'/',
"src='".$assetBase.'/',
'data-src="'.$assetBase.'/',
"data-src='".$assetBase.'/',
'srcset="'.$assetBase.'/',
"srcset='".$assetBase.'/',
'href="'.$assetBase.'/',

Loading…
Cancel
Save