You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2596 lines
71 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

@php
$signupUrl = 'admin/c/xxf/login';
@endphp
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2026江苏省新消费创新创业大赛</title>
<style>
:root {
--kv-blue-side: #050179;
--kv-blue-center: #011fce;
--kv-gradient: linear-gradient(90deg, #050179 0%, #011fce 50%, #050179 100%);
--blue-950: #050179;
--blue-900: #030a5c;
--blue-800: #0117b8;
--blue-600: #011fce;
--blue-100: #e9f3ff;
--cyan: #65d8ff;
--gold: #ffd36a;
--white: #ffffff;
--text: #11213f;
--muted: #66789a;
--line: rgba(255, 255, 255, 0.18);
--shadow: 0 22px 60px rgba(5, 1, 121, 0.28);
--radius: 18px;
--vh: 1vh;
--header-h: clamp(80px, 10vh, 108px);
--page-gutter: clamp(14px, 3.2vw, 40px);
--kv-gutter-left: clamp(12px, 3.90625vw, 75px);
--kv-gutter-top: clamp(12px, 3.645833vw, 70px);
--kv-logo-title-gap: clamp(16px, 3.125vw, 60px);
--hero-org-label-w: 11em;
--hero-action-h: clamp(54px, 7vh, 72px);
--hero-action-bottom: max(0px, env(safe-area-inset-bottom));
--section-bg-base: #050179;
--panel-line: rgba(143,232,255,0.16);
--panel-line-soft: rgba(143,232,255,0.1);
--copy-strong: rgba(255,255,255,0.92);
--copy-soft: rgba(213,225,238,0.72);
--section-bg:
radial-gradient(ellipse at 18% 0%, rgba(1,31,206,0.2), transparent 42%),
radial-gradient(ellipse at 88% 8%, rgba(101,216,255,0.08), transparent 38%),
linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.018)),
var(--kv-gradient);
--number-font: "DIN Condensed", "DIN Alternate", "Avenir Next Condensed", "Arial Narrow", Arial, sans-serif;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
color: var(--white);
font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
background: var(--kv-gradient);
min-height: 100vh;
min-height: 100svh;
overflow-x: hidden;
}
html {
background: #050179;
}
a {
color: inherit;
text-decoration: none;
}
.site {
position: relative;
min-height: 100vh;
min-height: 100svh;
min-height: 100dvh;
overflow: hidden;
}
.site::before {
content: "";
position: absolute;
left: 50%;
top: 104vh;
width: max(1080px, 110vw);
height: 860px;
transform: translateX(-50%);
background:
radial-gradient(ellipse at 18% 18%, rgba(101,216,255,0.16), transparent 42%),
radial-gradient(ellipse at 82% 34%, rgba(207,73,255,0.11), transparent 46%),
radial-gradient(ellipse at 52% 78%, rgba(255,211,106,0.08), transparent 46%);
pointer-events: none;
z-index: 0;
}
.site::after {
content: "";
position: absolute;
left: 50%;
top: 116vh;
width: max(960px, 88vw);
height: 520px;
border-radius: 50%;
transform: translateX(-50%) rotate(-10deg);
background:
repeating-radial-gradient(ellipse at center, rgba(101,216,255,0.12) 0 1px, transparent 1px 18px);
opacity: 0.26;
mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.72), transparent 72%);
pointer-events: none;
z-index: 0;
}
.site-header {
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 20;
border-bottom: 0;
background: transparent;
backdrop-filter: none;
box-shadow: none;
}
.site-header-inner,
.section-inner {
width: min(1200px, calc(100% - var(--page-gutter) * 2));
margin: 0 auto;
}
.section-inner {
position: relative;
z-index: 1;
}
.site-header-inner {
width: 100%;
max-width: none;
margin: 0;
min-height: 0;
padding:
var(--kv-gutter-top)
var(--page-gutter)
0
var(--kv-gutter-left);
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 28px;
}
.brand {
display: flex;
align-items: center;
gap: 16px;
min-width: 0;
}
.site-header-inner {
justify-content: space-between;
}
.brand-mark {
display: none;
}
.brand-logo {
display: none;
}
.brand-logo-img {
display: block;
width: auto;
height: clamp(80px, 10.5vh, 112px);
max-width: min(560px, 56vw);
aspect-ratio: 524 / 208;
object-fit: contain;
object-position: left center;
mix-blend-mode: screen;
}
.brand-text {
display: none;
}
.nav {
display: flex;
align-items: center;
gap: clamp(12px, 3vw, 36px);
flex: 0 0 auto;
}
.nav a {
position: relative;
padding: 8px 0;
color: rgba(255,255,255,0.86);
font-size: clamp(13px, 1.35vw, 18px);
font-weight: 700;
}
.nav a:hover,
.nav a:focus {
color: #fff;
}
.nav a::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 2px;
border-radius: 999px;
background: linear-gradient(90deg, #65d8ff, #fff);
opacity: 0;
transform: translateY(4px);
transition: opacity 0.18s ease, transform 0.18s ease;
}
.nav a:hover::after,
.nav a:focus::after {
opacity: 1;
transform: translateY(0);
}
.hero {
position: relative;
min-height: 100vh;
min-height: 100svh;
min-height: 100dvh;
min-height: calc(var(--vh) * 100);
padding:
calc(var(--kv-gutter-top) + clamp(64px, 10.5vh, 112px) + var(--kv-logo-title-gap))
0
clamp(28px, 4vh, 48px);
isolation: isolate;
background: var(--kv-gradient);
overflow: hidden;
}
.hero .section-inner {
width: 100%;
max-width: none;
margin: 0;
padding-left: var(--kv-gutter-left);
padding-right: var(--page-gutter);
}
.hero-bg {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: auto;
width: 100%;
height: auto;
z-index: 0;
overflow: visible;
pointer-events: none;
}
.hero-bg img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
object-fit: contain;
object-position: center bottom;
}
.hero::before {
content: "";
position: absolute;
inset: 0;
background: var(--kv-gradient);
opacity: 0.16;
pointer-events: none;
z-index: 1;
}
.hero-grid {
position: relative;
z-index: 2;
min-height: max(320px, calc(var(--vh) * 100 - var(--header-h) - clamp(48px, 10vh, 96px)));
display: grid;
grid-template-columns: 1fr;
align-items: flex-start;
text-align: left;
padding-top: clamp(4px, 1.2vh, 16px);
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
border: 1px solid rgba(255,255,255,0.22);
border-radius: 999px;
padding: 8px 13px;
color: rgba(255,255,255,0.88);
background: rgba(255,255,255,0.08);
font-size: 14px;
}
.hero-lockup {
position: relative;
z-index: 1;
width: min(1100px, 100%);
margin: 0;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
text-align: left;
padding-bottom: 0;
gap: clamp(14px, 2.4vh, 28px);
}
.hero-title-img {
display: block;
width: min(820px, 76vw);
max-width: 100%;
height: auto;
margin: 0;
align-self: flex-start;
object-fit: contain;
object-position: left center;
mix-blend-mode: screen;
filter: drop-shadow(0 18px 42px rgba(5, 1, 121, 0.28));
}
.hero-meta {
position: relative;
display: inline-flex;
align-items: center;
gap: clamp(10px, 1.2vw, 18px);
margin-bottom: clamp(4px, 0.8vw, 10px);
margin-left: auto;
margin-right: auto;
color: rgba(255,255,255,0.78);
font-family: Arial, "Helvetica Neue", sans-serif;
font-size: clamp(11px, 0.92vw, 14px);
font-weight: 700;
line-height: 1;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.hero-meta::before {
content: none;
}
.hero-meta-year {
position: relative;
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 0;
min-height: 0;
padding: 0;
color: transparent;
font-size: clamp(24px, 2.8vw, 38px);
font-family: var(--number-font);
font-weight: 900;
line-height: 1;
letter-spacing: 0;
pointer-events: auto;
transform: skewX(-8deg);
background:
linear-gradient(180deg, #fff6cf 0%, #ffd36a 48%, #8fe8ff 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
-webkit-text-stroke: 0;
opacity: 1;
text-shadow:
0 0 16px rgba(255,211,106,0.22),
0 10px 26px rgba(0,0,0,0.22);
}
.hero-meta-year::before,
.hero-meta-year::after {
content: none;
}
.hero-meta-en {
max-width: min(460px, 44vw);
color: rgba(205,224,245,0.46);
opacity: 1;
font-size: clamp(10px, 0.82vw, 12px);
font-weight: 700;
letter-spacing: 0.04em;
line-height: 1.25;
text-align: center;
}
.hero-title-main {
position: relative;
margin: clamp(14px, 2.2vh, 26px) 0 0;
display: flex;
flex-direction: column;
gap: clamp(4px, 0.7vw, 10px);
color: rgba(255,255,255,0.94);
font-size: clamp(40px, 5.6vw, 86px);
line-height: 1;
font-weight: 900;
letter-spacing: 0;
text-shadow:
0 20px 46px rgba(0,0,0,0.42),
0 0 28px rgba(101,216,255,0.18),
0 0 2px rgba(255,255,255,0.38);
-webkit-text-stroke: 1px rgba(255,255,255,0.12);
}
.hero-title-main::before {
content: none;
position: absolute;
left: 50%;
top: 52%;
width: 108%;
height: 92%;
border-radius: 50%;
background:
radial-gradient(ellipse at center, rgba(101,216,255,0.14), transparent 58%),
radial-gradient(ellipse at 60% 68%, rgba(255,211,106,0.1), transparent 54%);
filter: blur(20px);
transform: translate(-50%, -50%);
pointer-events: none;
z-index: -1;
}
.hero-title-main span {
position: relative;
display: block;
filter: none;
overflow-wrap: anywhere;
}
.hero-title-main span::before {
content: none;
}
.hero-title-main span:first-child {
transform: translateX(clamp(-46px, -3.4vw, -18px));
background: linear-gradient(180deg, #ffffff 0%, #eef9ff 48%, #c9ecff 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.hero-title-main span:last-child {
transform: translateX(clamp(18px, 2.6vw, 40px));
background: linear-gradient(90deg, #ffffff 0%, #eaf9ff 42%, #ffd36a 72%, #fff1bd 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.hero-lead {
max-width: 760px;
margin: clamp(16px, 2vw, 24px) auto 0;
color: rgba(255,255,255,0.74);
font-size: clamp(15px, 1.25vw, 18px);
line-height: 1.65;
text-shadow: 0 10px 30px rgba(0,0,0,0.28);
}
.hero-orgs {
width: min(980px, 100%);
margin: 0;
display: grid;
grid-template-columns: 1fr;
gap: clamp(4px, 0.6vh, 8px);
color: #fff;
font-size: clamp(12px, 0.95vw, 14px);
font-weight: 400;
line-height: 1.55;
text-align: left;
text-shadow: 0 8px 22px rgba(5, 1, 121, 0.32);
}
.hero-org-row {
margin: 0;
padding: 0;
display: grid;
grid-template-columns: var(--hero-org-label-w) minmax(0, 1fr);
gap: 0 8px;
align-items: start;
}
.hero-org-label {
display: block;
width: var(--hero-org-label-w);
max-width: 100%;
flex-shrink: 0;
color: #fff;
font-weight: 400;
text-align: justify;
text-align-last: justify;
text-justify: inter-ideograph;
white-space: nowrap;
}
.hero-org-value,
.hero-host-grid span,
.hero-support-grid li {
color: #fff;
font-weight: 400;
}
.hero-org-value {
min-width: 0;
}
.hero-org-host,
.hero-org-support {
display: grid;
grid-template-columns: var(--hero-org-label-w) minmax(0, 1fr);
gap: 2px 8px;
align-items: start;
}
.hero-org-support > .hero-org-label {
padding-top: 1px;
}
.hero-host-grid,
.hero-support-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
column-gap: clamp(4px, 0.65vw, 12px);
row-gap: 0;
align-items: start;
}
.hero-host-grid span,
.hero-support-grid li {
white-space: nowrap;
}
.hero-support-grid ul {
list-style: none;
margin: 0;
padding: 0;
}
.hero-support-grid li {
line-height: 1.38;
}
.hero-support-grid li + li {
margin-top: 0;
}
.entry-quick-actions {
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
gap: clamp(18px, 4vw, 48px);
margin: 0 0 clamp(22px, 3vw, 32px);
padding: clamp(14px, 1.8vw, 20px) 0 0;
}
.btn {
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex: 0 0 clamp(78px, 8.6vw, 118px);
width: clamp(78px, 8.6vw, 118px);
aspect-ratio: 1;
min-width: 0;
min-height: 0;
border-radius: 50%;
padding: clamp(12px, 1.45vw, 18px);
font-size: clamp(13px, 1.08vw, 18px);
font-weight: 800;
letter-spacing: 0;
line-height: 1.12;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: rgba(255,255,255,0.96);
border: 0;
border: 1px solid rgba(101,216,255,0.32);
background:
radial-gradient(circle at 50% 24%, rgba(101,216,255,0.16), transparent 54%),
linear-gradient(145deg, rgba(1,31,206,0.88), rgba(5,1,121,0.92));
box-shadow:
0 0 0 clamp(7px, 0.95vw, 12px) rgba(1,31,206,0.28),
0 0 0 clamp(8px, 1.05vw, 13px) rgba(101,216,255,0.14),
0 20px 42px rgba(5,1,121,0.28);
backdrop-filter: none;
transform: none;
transition: transform 0.22s ease, color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}
.btn:first-child {
order: 1;
text-align: center;
}
.entry-quick-actions .btn-ghost {
margin-top: 0;
transform: none;
order: 3;
text-align: center;
}
.btn-signup {
order: 2;
border-color: rgba(101,216,255,0.42);
background:
radial-gradient(circle at 50% 22%, rgba(101,216,255,0.22), transparent 54%),
linear-gradient(145deg, rgba(1,31,206,0.96), rgba(5,1,121,0.94));
box-shadow:
0 0 0 clamp(8px, 1.08vw, 14px) rgba(1,31,206,0.34),
0 0 0 clamp(9px, 1.18vw, 15px) rgba(101,216,255,0.16),
0 0 30px rgba(1,31,206,0.22),
0 22px 46px rgba(5,1,121,0.3);
}
.action-label {
display: block;
color: #fff;
text-align: center;
text-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.btn::after {
content: none;
position: absolute;
left: 0;
right: 0;
bottom: -5px;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(101,216,255,0.5), transparent);
opacity: 0;
pointer-events: none;
transition: opacity 0.22s ease;
}
.btn::before {
content: none;
}
.btn:hover,
.btn:focus {
color: #fff;
transform: translateY(-4px);
background:
radial-gradient(circle at 50% 24%, rgba(101,216,255,0.2), transparent 58%),
linear-gradient(145deg, rgba(1,31,206,0.98), rgba(5,1,121,0.96));
box-shadow:
0 0 0 clamp(7px, 0.95vw, 12px) rgba(1,31,206,0.42),
0 0 0 clamp(8px, 1.05vw, 13px) rgba(101,216,255,0.18),
0 22px 46px rgba(5,1,121,0.32);
}
.btn:hover::after,
.btn:focus::after {
opacity: 1;
}
.btn:hover::before,
.btn:focus::before {
content: none;
}
.track-field {
position: absolute;
inset: -6%;
z-index: -1;
pointer-events: none;
}
.track-composite {
position: absolute;
left: 50%;
top: 50%;
width: max(1260px, 118vw);
height: auto;
transform: translate(-50%, -50%) scale(1.04);
opacity: 0.62;
mix-blend-mode: screen;
filter: drop-shadow(0 0 26px rgba(101,216,255,0.12));
}
.track-focus {
position: absolute;
left: 50%;
top: 50%;
width: min(980px, 76vw);
height: min(500px, 48vw);
border-radius: 50%;
background:
radial-gradient(ellipse at center, rgba(3, 18, 48, 0.58) 0%, rgba(3, 18, 48, 0.32) 34%, rgba(3, 18, 48, 0.1) 58%, transparent 78%);
filter: blur(8px);
transform: translate(-50%, -50%);
}
.section {
position: relative;
z-index: 1;
padding: clamp(74px, 9vw, 124px) 0;
background: var(--section-bg);
scroll-margin-top: var(--header-h);
overflow: hidden;
}
#entry {
overflow: visible;
background:
radial-gradient(ellipse at 12% 22%, rgba(101,216,255,0.12), transparent 40%),
radial-gradient(ellipse at 88% 18%, rgba(1,31,206,0.18), transparent 36%),
linear-gradient(152deg, rgba(1,31,206,0.42) 0%, rgba(5,1,121,0.78) 48%, rgba(5,1,121,0.92) 100%),
var(--kv-gradient);
}
#about {
background:
radial-gradient(ellipse at 9% 18%, rgba(101,216,255,0.1), transparent 38%),
radial-gradient(ellipse at 86% 20%, rgba(207,73,255,0.08), transparent 34%),
linear-gradient(148deg, rgba(1,31,206,0.36) 0%, rgba(5,1,121,0.74) 42%, rgba(5,1,121,0.9) 100%),
var(--kv-gradient);
}
#guide {
background:
radial-gradient(ellipse at 10% 12%, rgba(101,216,255,0.1), transparent 34%),
radial-gradient(ellipse at 84% 10%, rgba(207,73,255,0.1), transparent 36%),
linear-gradient(154deg, rgba(1,31,206,0.34) 0%, rgba(5,1,121,0.76) 46%, rgba(5,1,121,0.92) 100%),
var(--kv-gradient);
}
.section::after {
content: "";
position: absolute;
inset: 0;
z-index: 0;
background:
linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,0.035) 38.2%, transparent 38.5% 100%),
repeating-linear-gradient(118deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 120px);
opacity: 0.22;
pointer-events: none;
mix-blend-mode: screen;
}
#entry .section-card,
#about .section-card {
background: transparent;
border-color: transparent;
box-shadow: none;
backdrop-filter: none;
overflow: visible;
}
#entry .section-card::before,
#about .section-card::before {
content: none;
}
.section[id="guide"] .section-card {
background: transparent;
border-color: transparent;
box-shadow: none;
backdrop-filter: none;
}
.section[id="guide"] .section-card::before {
content: none;
}
.section::before {
content: none;
position: absolute;
left: 50%;
top: 0;
width: min(1180px, calc(100% - var(--page-gutter) * 2));
height: 1px;
transform: translateX(-50%);
background: linear-gradient(90deg, transparent, rgba(101,216,255,0.34), rgba(255,211,106,0.18), transparent);
opacity: 0.78;
pointer-events: none;
}
.section-card {
position: relative;
border: 1px solid var(--panel-line);
border-top-color: transparent;
border-radius: 2px;
background: var(--section-bg);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.08),
0 26px 72px rgba(0, 12, 44, 0.24);
color: rgba(255,255,255,0.9);
overflow: hidden;
backdrop-filter: blur(18px);
}
.section-card::before {
content: "";
position: absolute;
left: 0;
right: 0;
top: 0;
height: 1px;
background: linear-gradient(90deg, rgba(255,211,106,0.62), rgba(101,216,255,0.46), transparent 72%);
opacity: 0.68;
}
.section-head {
position: relative;
z-index: 1;
display: flex;
align-items: end;
justify-content: space-between;
gap: 18px;
min-height: clamp(112px, 10vw, 150px);
padding: 0 clamp(18px, 3vw, 30px) clamp(28px, 3vw, 42px);
overflow: visible;
}
.section-kicker {
position: absolute;
right: clamp(16px, 3vw, 30px);
bottom: -0.12em;
z-index: 0;
color: rgba(101,216,255,0.62);
font-weight: 800;
font-size: clamp(62px, 12vw, 142px);
line-height: 0.78;
letter-spacing: 0;
opacity: 0.12;
pointer-events: none;
}
.section-title {
position: relative;
z-index: 2;
margin: 0;
font-size: clamp(24px, 2.8vw, 36px);
line-height: 1.3;
font-weight: 850;
color: rgba(255,255,255,0.96);
text-shadow: 0 14px 34px rgba(0,0,0,0.28);
}
.section-title::after {
content: "";
display: block;
width: clamp(58px, 8vw, 104px);
height: 2px;
margin-top: 14px;
background: linear-gradient(90deg, rgba(255,211,106,0.78), rgba(101,216,255,0.52), transparent);
}
.section-card > :not(.section-head) {
position: relative;
z-index: 2;
}
.info-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
padding: clamp(18px, 3vw, 30px);
}
.info-item {
border: 1px solid rgba(255,255,255,0.14);
border-radius: 14px;
padding: 18px;
background:
radial-gradient(ellipse at 18% 0%, rgba(101,216,255,0.12), transparent 58%),
rgba(255,255,255,0.055);
}
.info-item.full {
grid-column: 1 / -1;
}
.info-item h3 {
margin: 0 0 10px;
color: rgba(143,232,255,0.92);
font-size: 16px;
line-height: 1.4;
}
.info-item p {
margin: 0;
color: rgba(255,255,255,0.76);
line-height: 1.75;
}
.track-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: clamp(12px, 1.6vw, 18px);
margin-top: 0;
padding: 0 clamp(18px, 3vw, 30px) clamp(20px, 3vw, 30px);
}
.track-item {
position: relative;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: clamp(13px, 1.8vw, 22px);
align-items: start;
min-height: clamp(164px, 15vw, 206px);
padding: clamp(22px, 2.6vw, 32px);
border: 1px solid rgba(143,232,255,0.14);
background:
radial-gradient(ellipse at 8% 0%, rgba(255,211,106,0.08), transparent 42%),
linear-gradient(145deg, rgba(90,198,176,0.13), rgba(255,255,255,0.016));
overflow: hidden;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.045);
}
.track-item::before {
content: none;
position: absolute;
right: clamp(16px, 2.4vw, 28px);
bottom: clamp(10px, 1.4vw, 18px);
color: rgba(101,216,255,0.12);
font-family: var(--number-font);
font-size: clamp(54px, 8vw, 112px);
font-weight: 900;
line-height: 0.8;
letter-spacing: 0;
pointer-events: none;
}
.track-item::after {
content: "";
position: absolute;
left: clamp(20px, 2.8vw, 34px);
right: clamp(20px, 2.8vw, 34px);
top: 0;
height: 1px;
background: linear-gradient(90deg, rgba(255,211,106,0.64), rgba(101,216,255,0.36), transparent 76%);
opacity: 0.55;
}
.track-item:hover {
border-color: rgba(255,211,106,0.22);
background:
radial-gradient(ellipse at 8% 0%, rgba(255,211,106,0.1), transparent 42%),
linear-gradient(145deg, rgba(90,198,176,0.16), rgba(255,255,255,0.022));
}
.track-code {
position: relative;
display: inline-grid;
place-items: center;
width: clamp(46px, 4.4vw, 62px);
height: clamp(46px, 4.4vw, 62px);
border: 1px solid rgba(255,211,106,0.34);
border-radius: 50%;
color: rgba(255,225,154,0.92);
font-family: var(--number-font);
font-size: clamp(16px, 1.5vw, 22px);
font-weight: 900;
line-height: 1;
letter-spacing: 0.03em;
background:
radial-gradient(circle at center, rgba(255,211,106,0.2) 0 2px, transparent 3px),
rgba(101,216,255,0.035);
box-shadow:
0 0 18px rgba(101,216,255,0.1);
}
.track-code::before,
.track-code::after {
content: "";
position: absolute;
pointer-events: none;
border-radius: 50%;
}
.track-code::before {
inset: -5px;
border: 1px solid transparent;
border-top-color: rgba(101,216,255,0.28);
border-right-color: rgba(101,216,255,0.28);
transform: rotate(-22deg);
}
.track-code::after {
left: calc(100% + 7px);
top: 50%;
width: clamp(16px, 2.2vw, 28px);
height: 1px;
border-radius: 0;
background: linear-gradient(90deg, rgba(255,211,106,0.46), transparent);
transform: translateY(-50%);
opacity: 0.82;
}
.track-copy {
position: relative;
z-index: 1;
}
.track-name {
color: rgba(255,255,255,0.98);
font-size: clamp(20px, 2.1vw, 28px);
font-weight: 800;
line-height: 1.25;
white-space: nowrap;
text-shadow: 0 10px 24px rgba(0,0,0,0.24);
margin-bottom: clamp(10px, 1.4vw, 16px);
}
.track-desc {
margin: 0;
max-width: 36em;
color: rgba(218,230,236,0.72);
font-size: clamp(14px, 1.04vw, 16px);
font-weight: 500;
line-height: 1.68;
}
.entry-intro {
margin: 0;
padding: 0 clamp(18px, 3vw, 30px) clamp(18px, 2.4vw, 26px);
max-width: 52em;
color: rgba(218,230,236,0.82);
font-size: clamp(15px, 1.12vw, 17px);
font-weight: 500;
line-height: 1.75;
}
.entry-groups {
padding-bottom: clamp(20px, 3vw, 30px);
}
.entry-groups .track-item {
min-height: auto;
}
.timeline,
.award-grid,
.requirements {
padding: 0 clamp(18px, 3vw, 30px);
}
.timeline {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: clamp(10px, 1.4vw, 18px);
position: relative;
margin-top: 0;
padding-bottom: clamp(28px, 3.4vw, 44px);
}
.timeline::before {
content: "";
position: absolute;
left: clamp(36px, 5vw, 60px);
right: clamp(36px, 5vw, 60px);
top: clamp(34px, 4vw, 45px);
height: 1px;
background: linear-gradient(90deg, rgba(255,211,106,0.62), rgba(101,216,255,0.36), rgba(255,255,255,0.08));
opacity: 0.72;
pointer-events: none;
z-index: 0;
}
.timeline-step {
position: relative;
border-radius: 0;
padding: clamp(18px, 2vw, 24px) 0 0;
color: #fff;
background: transparent;
border: 0;
min-height: 132px;
overflow: visible;
z-index: 1;
}
.timeline-step::after {
content: none;
}
.timeline-step > span {
position: relative;
z-index: 1;
display: inline-grid;
place-items: center;
width: 34px;
height: 34px;
border-radius: 999px;
background: linear-gradient(145deg, rgba(1,31,206,0.96), rgba(5,1,121,0.94));
border: 1px solid rgba(101,216,255,0.42);
color: #fff;
font-family: var(--number-font);
font-size: 20px;
font-weight: 800;
line-height: 1;
letter-spacing: 0.02em;
padding-top: 0.08em;
margin-bottom: 18px;
box-shadow:
0 0 0 8px rgba(5,1,121,0.78),
0 0 22px rgba(1,31,206,0.28);
}
.timeline-step h3 {
margin: 0 0 8px;
font-size: clamp(17px, 1.35vw, 20px);
line-height: 1.35;
}
.timeline-step p {
margin: 0;
color: rgba(205,224,245,0.7);
line-height: 1.5;
}
.city-list {
position: relative;
display: flex;
flex-wrap: wrap;
gap: 0;
width: max-content;
max-width: 100%;
margin-top: 13px;
padding: 4px 0;
isolation: isolate;
}
.city-list::before {
content: "";
position: absolute;
left: 13px;
right: 13px;
top: 50%;
height: 1px;
transform: translateY(-50%);
background: linear-gradient(90deg, rgba(255,211,106,0.18), rgba(143,232,255,0.36), rgba(255,211,106,0.18));
box-shadow: 0 0 14px rgba(143,232,255,0.16);
z-index: 0;
}
.timeline-step .city-pill {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 39px;
height: 39px;
min-height: 0;
margin: 0;
padding: 0;
border: 1px solid rgba(255,211,106,0.44);
border-radius: 999px;
color: rgba(255,244,204,0.94);
background:
radial-gradient(circle at 32% 24%, rgba(255,244,204,0.28), transparent 34%),
radial-gradient(circle at 76% 82%, rgba(143,232,255,0.13), transparent 42%),
linear-gradient(145deg, rgba(255,211,106,0.12), rgba(13,57,107,0.6));
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.18),
inset 0 -8px 14px rgba(2,16,43,0.28),
0 0 0 4px rgba(12,42,91,0.5),
0 10px 22px rgba(0,0,0,0.18),
0 0 18px rgba(255,211,106,0.08);
font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
font-size: 12px;
font-weight: 400;
line-height: 1;
letter-spacing: 0;
white-space: nowrap;
z-index: 1;
}
.timeline-step .city-pill::before {
content: "";
position: absolute;
inset: 4px;
border-radius: inherit;
border: 1px solid rgba(255,244,204,0.12);
pointer-events: none;
}
.timeline-step .city-pill::after {
content: "";
position: absolute;
left: 50%;
top: -4px;
width: 5px;
height: 5px;
border-radius: 999px;
transform: translateX(-50%);
background: rgba(255,211,106,0.9);
box-shadow: 0 0 10px rgba(255,211,106,0.5);
pointer-events: none;
}
.timeline-step .city-pill + .city-pill {
margin-left: -4px;
}
.timeline-step .city-pill:nth-child(2) {
transform: translateY(2px);
z-index: 2;
}
.timeline-step .city-pill:nth-child(3) {
transform: translateY(-1px);
z-index: 3;
}
.timeline-step .city-pill:nth-child(4) {
transform: translateY(1px);
z-index: 4;
}
.timeline-step .city-pill:nth-child(even) {
border-color: rgba(143,232,255,0.34);
background:
radial-gradient(circle at 32% 24%, rgba(255,244,204,0.22), transparent 34%),
radial-gradient(circle at 76% 82%, rgba(143,232,255,0.18), transparent 42%),
linear-gradient(145deg, rgba(143,232,255,0.1), rgba(13,57,107,0.64));
}
.award-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0;
padding-top: clamp(16px, 2.2vw, 26px);
padding-bottom: clamp(22px, 3vw, 36px);
border-top: 1px solid rgba(143,232,255,0.11);
}
.award {
position: relative;
border: 0;
border-radius: 0;
padding: clamp(18px, 2.1vw, 26px) clamp(14px, 2vw, 24px);
background: linear-gradient(180deg, rgba(255,211,106,0.045), transparent 58%);
overflow: hidden;
}
.award + .award {
border-left: 1px solid rgba(143,232,255,0.12);
}
.award::after {
content: "";
position: absolute;
left: clamp(12px, 2vw, 24px);
right: clamp(12px, 2vw, 24px);
top: -1px;
height: 1px;
background: linear-gradient(90deg, rgba(255,211,106,0.58), rgba(101,216,255,0.28), transparent);
}
.award h3 {
margin: 0 0 12px;
font-size: clamp(17px, 1.35vw, 20px);
color: rgba(255,255,255,0.92);
}
.award strong {
display: inline-grid;
place-items: center;
color: #ffd36a;
font-size: clamp(28px, 2.6vw, 38px);
font-family: var(--number-font);
font-weight: 900;
line-height: 1;
letter-spacing: 0.02em;
margin-bottom: 10px;
}
.award p {
margin: 0;
color: rgba(255,255,255,0.74);
line-height: 1.62;
}
.timeline + .award-grid,
.award-grid + .requirements {
padding-top: clamp(16px, 2vw, 24px);
}
.requirements {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(18px, 2vw, 28px);
padding-top: clamp(6px, 1vw, 12px);
padding-bottom: clamp(24px, 3.2vw, 40px);
}
.requirement-box {
position: relative;
border-radius: 0;
padding: 0 0 0 clamp(18px, 2vw, 28px);
border: 0;
background: transparent;
color: rgba(230,232,240,0.78);
line-height: 1.68;
}
.requirement-box::before {
content: "";
position: absolute;
left: 0;
top: 0.55em;
width: 8px;
height: 8px;
border-radius: 50%;
background: #ffd36a;
box-shadow: 0 0 18px rgba(255,211,106,0.24);
}
.signup {
position: relative;
margin-top: clamp(6px, 1.2vw, 14px);
border-radius: 0;
padding: clamp(22px, 2.6vw, 34px) clamp(20px, 2.8vw, 36px);
border: 1px solid rgba(255,211,106,0.16);
border-top: 1px solid rgba(255,211,106,0.36);
background:
radial-gradient(ellipse at 0% 0%, rgba(255,211,106,0.14), transparent 34%),
linear-gradient(105deg, rgba(255,211,106,0.07), rgba(98,70,136,0.045) 42%, rgba(101,216,255,0.035) 100%);
color: #fff;
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: clamp(18px, 3vw, 36px);
align-items: start;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
.signup::before {
content: "";
position: absolute;
left: 0;
top: -1px;
width: min(220px, 36%);
height: 1px;
background: linear-gradient(90deg, rgba(255,211,106,0.82), rgba(101,216,255,0.48));
}
.signup h3 {
margin: 0 0 10px;
font-size: clamp(22px, 2.2vw, 30px);
color: rgba(255,244,204,0.96);
}
.signup p {
margin: 0;
max-width: 68em;
line-height: 1.82;
color: rgba(255,255,255,0.8);
}
.signup-qr {
width: clamp(116px, 10vw, 142px);
flex: 0 0 auto;
justify-self: end;
text-align: center;
color: rgba(255,255,255,0.68);
font-size: 12px;
}
.qr-mark {
position: relative;
width: 100%;
aspect-ratio: 1;
margin-bottom: 10px;
border: 1px solid rgba(255,211,106,0.28);
background:
linear-gradient(135deg, rgba(255,211,106,0.12), rgba(101,216,255,0.08)),
rgba(4,18,48,0.36);
box-shadow: inset 0 0 0 6px rgba(255,255,255,0.025), 0 0 24px rgba(101,216,255,0.1);
overflow: hidden;
}
.qr-corner,
.qr-corner::before,
.qr-corner::after {
position: absolute;
display: block;
box-sizing: border-box;
}
.qr-corner {
width: 28%;
height: 28%;
border: 5px solid rgba(255,244,204,0.92);
}
.qr-corner::before {
content: "";
inset: 5px;
border: 4px solid rgba(4,18,48,0.95);
background: rgba(255,244,204,0.92);
}
.qr-corner.tl {
left: 10%;
top: 10%;
}
.qr-corner.tr {
right: 10%;
top: 10%;
}
.qr-corner.bl {
left: 10%;
bottom: 10%;
}
.qr-dots {
position: absolute;
left: 48%;
top: 48%;
width: 6px;
height: 6px;
background: rgba(255,244,204,0.9);
box-shadow:
14px 0 rgba(255,244,204,0.9),
28px 0 rgba(143,232,255,0.82),
0 14px rgba(143,232,255,0.82),
21px 14px rgba(255,244,204,0.9),
35px 14px rgba(255,244,204,0.78),
-14px 28px rgba(255,244,204,0.84),
7px 28px rgba(143,232,255,0.78),
28px 28px rgba(255,244,204,0.9),
42px 28px rgba(143,232,255,0.78),
-21px 42px rgba(143,232,255,0.78),
0 42px rgba(255,244,204,0.84),
21px 42px rgba(255,244,204,0.9);
}
.qr-caption {
letter-spacing: 0.08em;
}
.site-footer {
position: relative;
padding: clamp(26px, 3vw, 38px) 0;
color: rgba(255,255,255,0.68);
text-align: center;
font-size: 14px;
background: rgba(5, 1, 121, 0.42);
}
.site-footer::before {
content: "";
position: absolute;
left: 50%;
top: 0;
width: min(1180px, calc(100% - var(--page-gutter) * 2));
height: 1px;
transform: translateX(-50%);
background: linear-gradient(90deg, transparent, rgba(101,216,255,0.28), rgba(255,211,106,0.16), transparent);
}
.footer-copyright {
color: rgba(223,231,241,0.46);
}
@media (max-width: 900px) {
:root {
--hero-action-h: clamp(52px, 7svh, 64px);
--page-gutter: clamp(16px, 4vw, 28px);
}
.brand-logo-img {
height: clamp(64px, 9vh, 88px);
max-width: min(480px, 58vw);
}
.nav {
gap: 18px;
}
.nav a {
font-size: 14px;
}
.hero-grid {
grid-template-columns: 1fr;
}
.hero-lockup {
width: min(760px, 100%);
align-items: flex-start;
text-align: left;
}
.hero-title-img {
width: min(760px, 92vw);
}
.hero-host-grid,
.hero-support-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: clamp(4px, 1.2vw, 10px);
}
.entry-quick-actions {
gap: clamp(16px, 4vw, 30px);
padding-left: clamp(14px, 4vw, 28px);
padding-right: clamp(14px, 4vw, 28px);
}
.btn {
flex: 0 0 clamp(68px, 18vw, 88px);
width: clamp(68px, 18vw, 88px);
justify-content: center;
text-align: center;
font-size: clamp(12px, 2.6vw, 14px);
}
.btn:first-child,
.entry-quick-actions .btn-ghost {
justify-content: center;
text-align: center;
padding-left: 0;
padding-right: 0;
}
.timeline,
.award-grid,
.requirements,
.info-grid {
grid-template-columns: 1fr;
}
.timeline {
overflow: visible;
}
/* 参赛指南卡片勿裁切时间轴数字光晕/左侧露头 */
.section[id="guide"] .section-card {
overflow: visible;
}
.timeline::before {
content: "";
position: absolute;
left: 16px;
right: auto;
top: 34px;
bottom: 28px;
width: 1px;
height: auto;
z-index: 0;
background: linear-gradient(180deg, rgba(255,211,106,0.62), rgba(101,216,255,0.3), transparent);
}
.timeline-step {
overflow: visible;
padding-left: clamp(52px, 15vw, 58px);
min-height: 112px;
}
/* 只作用于步骤序号(直连 span),勿影响 .city-list 内城市标签 */
.timeline-step > span {
position: absolute;
left: 16px;
top: 18px;
transform: translateX(-50%);
z-index: 2;
margin-bottom: 0;
}
/* 纵向时间轴:城市横向一行排列;宽屏 PC 仍为原时间轴 + 叠放样式 */
.timeline-step .city-list {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
gap: 0;
width: 100%;
max-width: 100%;
justify-content: flex-start;
margin-top: 14px;
padding: 6px 0 4px;
}
.timeline-step .city-list::before {
display: none;
}
.timeline-step .city-pill {
box-sizing: border-box;
width: 40px;
height: 40px;
min-width: 40px;
min-height: 40px;
max-width: 40px;
max-height: 40px;
padding: 0;
margin: 0 !important;
flex: 0 0 40px;
border-radius: 50%;
font-size: 11px;
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.1;
white-space: nowrap;
overflow: hidden;
}
.timeline-step .city-pill + .city-pill {
margin-left: -5px;
}
.timeline-step .city-pill:nth-child(2),
.timeline-step .city-pill:nth-child(3),
.timeline-step .city-pill:nth-child(4) {
transform: none;
}
.timeline-step:has(.city-list) {
min-height: 0;
padding-bottom: clamp(8px, 2vw, 14px);
}
/* 赛程与奖项区块之间留白;奖项窄屏居中更易读 */
.timeline + .award-grid {
margin-top: 6px;
padding-top: clamp(20px, 5vw, 28px);
}
.award {
text-align: center;
padding: clamp(20px, 4vw, 26px) clamp(16px, 4vw, 22px);
}
.award h3,
.award strong,
.award p {
max-width: 22rem;
margin-left: auto;
margin-right: auto;
}
.track-list {
grid-template-columns: 1fr;
}
.track-item {
min-height: auto;
grid-template-columns: clamp(42px, 7vw, 54px) minmax(0, 1fr);
}
.track-name {
white-space: normal;
}
.award + .award {
border-left: 0;
border-top: 1px solid rgba(143,232,255,0.12);
}
.signup {
grid-template-columns: 1fr;
}
.signup-qr {
justify-self: start;
}
}
@media (max-width: 640px) {
:root {
--header-h: clamp(56px, 12vw, 72px);
--hero-action-h: clamp(48px, 7svh, 56px);
--page-gutter: clamp(14px, 4.4vw, 20px);
}
.site-header-inner {
padding-top: var(--kv-gutter-top);
padding-left: var(--kv-gutter-left);
padding-right: var(--page-gutter);
}
.hero .section-inner {
padding-left: var(--kv-gutter-left);
padding-right: var(--page-gutter);
}
.hero {
min-height: auto;
padding-top: calc(var(--kv-gutter-top) + clamp(48px, 12vw, 72px) + var(--kv-logo-title-gap));
padding-bottom: 0;
}
.hero::before {
opacity: 0.1;
}
.hero-grid {
min-height: auto;
}
.brand-logo-img {
height: clamp(48px, 12vw, 72px);
max-width: min(400px, 88vw);
}
.nav {
gap: 12px;
display: none;
}
.nav a {
padding: 8px 0;
font-size: 13px;
}
.hero-lockup {
align-items: flex-start;
text-align: left;
padding-bottom: clamp(112px, 28vw, 192px);
}
.hero-host-grid,
.hero-support-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 6px;
row-gap: 0;
}
.hero-host-grid span,
.hero-support-grid li {
white-space: normal;
}
.hero-org-row,
.hero-org-host,
.hero-org-support {
grid-template-columns: 10em minmax(0, 1fr);
gap: 0 8px;
}
.hero-title-img {
width: min(100%, calc(100vw - var(--kv-gutter-left) - var(--page-gutter)));
}
.hero-lead {
max-width: 100%;
margin: 12px auto 0;
font-size: 13px;
line-height: 1.5;
}
.hero-orgs {
width: 100%;
max-width: none;
font-size: clamp(10px, 2.8vw, 12px);
line-height: 1.42;
gap: 5px;
}
.hero-support-grid li {
line-height: 1.32;
}
.hero-org-label {
width: var(--hero-org-label-w);
max-width: 100%;
}
.entry-quick-actions {
gap: clamp(6px, 2vw, 10px);
padding: clamp(12px, 3vw, 16px) clamp(18px, 6vw, 28px) 0;
}
.btn {
flex: 0 0 clamp(62px, 19vw, 76px);
width: clamp(62px, 19vw, 76px);
padding: 9px;
min-width: 0;
font-size: clamp(10px, 3.2vw, 12px);
letter-spacing: 0;
transform: none;
}
.entry-quick-actions .btn-ghost {
margin-top: 0;
transform: none;
}
.btn:hover,
.btn:focus,
.entry-quick-actions .btn-ghost:hover,
.entry-quick-actions .btn-ghost:focus {
transform: translateY(-2px);
}
.track-composite {
width: max(900px, 205vw);
opacity: 0.38;
}
.track-focus {
width: 112vw;
height: 58vh;
}
.section {
padding: clamp(38px, 11vw, 58px) 0;
}
.section-head,
.info-grid,
.entry-intro,
.track-list,
.timeline,
.award-grid,
.requirements {
padding-left: 18px;
padding-right: 18px;
}
.section-head {
min-height: 92px;
padding-bottom: 22px;
}
.section-kicker {
right: 18px;
bottom: 0;
font-size: clamp(54px, 16vw, 86px);
letter-spacing: 0;
opacity: 0.1;
}
.track-list {
gap: 12px;
}
.track-item {
grid-template-columns: 38px minmax(0, 1fr);
padding: 16px;
gap: 14px;
}
.track-item::after {
left: 16px;
right: 16px;
}
.track-code {
width: 36px;
height: 36px;
font-size: 14px;
}
.track-code::before {
inset: -5px;
}
.track-name {
font-size: 19px;
line-height: 1.28;
}
.track-desc {
font-size: 14px;
line-height: 1.6;
}
.signup {
grid-template-columns: 1fr;
padding: 22px 20px;
}
.signup-qr {
width: 118px;
justify-self: start;
}
.section-title {
font-size: 22px;
}
}
@media (max-width: 480px) {
.hero {
padding-top: calc(var(--kv-gutter-top) + clamp(48px, 12vw, 72px) + var(--kv-logo-title-gap));
padding-bottom: 0;
}
.hero-lockup {
padding-bottom: clamp(96px, 24vw, 160px);
}
.hero-title-img {
width: min(100%, calc(100vw - var(--kv-gutter-left) - var(--page-gutter)));
}
.hero-lead {
font-size: 11px;
}
.hero-orgs {
font-size: 9px;
line-height: 1.38;
}
.entry-quick-actions {
gap: clamp(12px, 4vw, 18px);
padding-left: 12px;
padding-right: 12px;
}
.btn {
flex-basis: clamp(58px, 20vw, 68px);
width: clamp(58px, 20vw, 68px);
padding: 8px;
font-size: clamp(10px, 3vw, 11px);
}
.track-item {
grid-template-columns: 1fr;
}
.track-code {
margin-bottom: 2px;
}
.track-code::after {
display: none;
}
.timeline,
.award-grid,
.requirements,
.info-grid,
.entry-intro,
.track-list {
padding-left: 14px;
padding-right: 14px;
}
.timeline-step {
padding-left: clamp(48px, 14vw, 54px);
overflow: visible;
}
.timeline-step > span {
left: 16px;
transform: translateX(-50%);
}
.award {
padding: 18px 12px;
}
.requirement-box {
padding-left: 18px;
}
.signup-qr {
width: 104px;
}
.site-footer {
padding-left: 14px;
padding-right: 14px;
}
}
@media (max-height: 620px) and (min-width: 641px) {
:root {
--header-h: clamp(56px, 11vh, 70px);
}
.hero {
padding-top: calc(var(--header-h) + 14px);
padding-bottom: clamp(20px, 3vh, 32px);
}
.hero-grid {
min-height: max(240px, calc(var(--vh) * 100 - var(--header-h) - 56px));
}
.hero-title-img {
width: min(760px, 84vw);
}
.entry-quick-actions {
gap: clamp(12px, 3vw, 30px);
}
.btn {
font-size: clamp(12px, 3.4vh, 16px);
}
}
@media (max-width: 640px) and (max-height: 620px) {
:root {
--header-h: clamp(42px, 10vw, 56px);
}
.hero-title-img {
width: min(100%, 90vw);
}
.entry-quick-actions {
gap: clamp(6px, 2vw, 10px);
}
.btn {
font-size: clamp(14px, 3.8vw, 16px);
}
}
@media (orientation: landscape) and (max-height: 520px) {
.hero-title-img {
width: min(680px, 72vw);
}
}
.float-logo-btn {
position: fixed;
right: max(28px, calc(env(safe-area-inset-right) + 12px));
bottom: max(36px, calc(env(safe-area-inset-bottom) + 28px));
z-index: 120;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: clamp(52px, 6vw, 68px);
aspect-ratio: 1;
border-radius: 50%;
padding: clamp(8px, 0.9vw, 10px);
font-size: clamp(9px, 0.78vw, 11px);
font-weight: 800;
line-height: 1.12;
color: rgba(255,255,255,0.96);
border: 1px solid rgba(101,216,255,0.36);
background:
radial-gradient(circle at 50% 22%, rgba(101,216,255,0.18), transparent 54%),
linear-gradient(145deg, rgba(1,31,206,0.94), rgba(5,1,121,0.92));
box-shadow:
0 0 0 clamp(5px, 0.7vw, 8px) rgba(1,31,206,0.32),
0 0 0 clamp(6px, 0.8vw, 9px) rgba(101,216,255,0.14),
0 0 22px rgba(1,31,206,0.2),
0 16px 34px rgba(5,1,121,0.3);
cursor: pointer;
transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.float-logo-btn:hover,
.float-logo-btn:focus-visible {
transform: translateY(-4px);
outline: none;
box-shadow:
0 0 0 clamp(7px, 0.95vw, 11px) rgba(1,31,206,0.42),
0 0 0 clamp(8px, 1.05vw, 12px) rgba(101,216,255,0.18),
0 0 32px rgba(1,31,206,0.26),
0 22px 46px rgba(5,1,121,0.34);
}
.float-logo-btn .action-label {
font-size: inherit;
}
.logo-modal {
position: fixed;
inset: 0;
z-index: 200;
display: flex;
align-items: center;
justify-content: center;
padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
background: rgba(5, 1, 121, 0.72);
backdrop-filter: blur(8px);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.24s ease, visibility 0.24s ease;
}
.logo-modal.is-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
}
.logo-modal-panel {
width: min(920px, 100%);
max-height: min(88vh, 920px);
overflow: auto;
border-radius: 18px;
border: 1px solid rgba(143,232,255,0.18);
background:
radial-gradient(ellipse at 18% 0%, rgba(101,216,255,0.08), transparent 42%),
radial-gradient(ellipse at 88% 8%, rgba(255,211,106,0.05), transparent 38%),
linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)),
#050179;
box-shadow: 0 24px 60px rgba(0,0,0,0.36);
}
.logo-modal-head {
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 18px 56px;
border-bottom: 1px solid rgba(143,232,255,0.12);
background: rgba(5, 1, 121, 0.96);
backdrop-filter: blur(8px);
}
.logo-modal-title {
margin: 0;
flex: 1;
font-size: clamp(16px, 2vw, 20px);
font-weight: 800;
line-height: 1.4;
text-align: center;
color: rgba(255,255,255,0.96);
}
.logo-modal-close {
position: absolute;
top: 50%;
right: 22px;
transform: translateY(-50%);
flex: 0 0 auto;
width: 36px;
height: 36px;
border: 1px solid rgba(143,232,255,0.2);
border-radius: 50%;
background: rgba(6, 42, 88, 0.72);
color: rgba(255,255,255,0.9);
font-size: 22px;
line-height: 1;
cursor: pointer;
transition: background 0.2s ease, transform 0.2s ease;
}
.logo-modal-close:hover,
.logo-modal-close:focus-visible {
background: rgba(10, 74, 122, 0.88);
transform: translateY(-50%) scale(1.04);
outline: none;
}
.logo-modal-body {
padding: 22px clamp(18px, 3vw, 28px) 28px;
color: rgba(232,241,255,0.88);
font-size: clamp(14px, 1.2vw, 16px);
line-height: 1.75;
}
.logo-modal-intro,
.logo-modal-notice,
.logo-modal-contact,
.logo-modal-footer {
margin: 0 0 18px;
}
.logo-modal-intro,
.logo-modal-notice,
.logo-modal-contact {
text-indent: 2em;
}
.logo-modal-footer {
text-align: right;
}
.logo-modal-contact a {
color: #8fe8ff;
text-decoration: underline;
text-underline-offset: 3px;
}
.logo-award-list {
display: grid;
gap: 18px;
margin: 24px 0;
}
.logo-award-item {
padding: 16px;
border-radius: 14px;
border: 1px solid rgba(143,232,255,0.12);
background: rgba(6, 42, 88, 0.42);
}
.logo-award-item.is-first {
border-color: rgba(255,211,106,0.28);
background:
radial-gradient(circle at 12% 12%, rgba(255,211,106,0.1), transparent 42%),
rgba(14, 84, 104, 0.42);
}
.logo-award-name {
margin: 0 0 12px;
font-size: clamp(15px, 1.4vw, 18px);
font-weight: 800;
color: rgba(255,244,204,0.95);
}
.logo-award-item.is-first .logo-award-name {
color: #ffd36a;
}
.logo-award-image {
display: block;
width: auto;
max-width: min(72%, 340px);
max-height: 220px;
margin: 0 auto;
object-fit: contain;
border-radius: 10px;
background: rgba(255,255,255,0.96);
box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}
@media (max-width: 480px) {
.float-logo-btn {
width: clamp(46px, 13vw, 54px);
font-size: clamp(8px, 2.4vw, 9px);
right: max(22px, calc(env(safe-area-inset-right) + 10px));
bottom: max(28px, calc(env(safe-area-inset-bottom) + 22px));
}
.logo-modal-head {
padding: 14px 48px;
}
.logo-modal-close {
right: 16px;
}
.logo-modal-body {
padding: 18px 14px 22px;
}
.logo-award-item {
padding: 12px;
}
}
</style>
@if ($publicSourceCode)
<script>
try {
localStorage.setItem('cxxfds_public_source_code', @json($publicSourceCode));
localStorage.setItem('cxxfds_public_source_checked_at', String(Date.now()));
} catch (e) {}
</script>
@endif
</head>
<body>
<div class="site">
<header class="site-header">
<div class="site-header-inner">
<a class="brand" href="#top" aria-label="2026江苏省新消费创新创业大赛">
<img class="brand-logo-img" src="/images/logo.jpg" alt="2026江苏省新消费创新创业大赛" />
</a>
<nav class="nav" aria-label="网站栏目"></nav>
</div>
</header>
<main id="top">
<section class="hero">
<div class="hero-bg" aria-hidden="true">
<img src="/images/topbg.png" alt="" />
</div>
<div class="section-inner hero-grid">
<div class="hero-lockup">
<img class="hero-title-img" src="/images/title.png" alt="新消费 创新机 向未来 - 2026江苏省新消费创新创业大赛" />
<div class="hero-orgs" aria-label="赛事组织单位">
<div class="hero-org-row hero-org-host">
<span class="hero-org-label">主&ensp;办&ensp;单&ensp;位:</span>
<div class="hero-host-grid">
<span>江苏省商务厅</span>
<span>共青团江苏省委</span>
</div>
</div>
<div class="hero-org-row hero-org-support">
<span class="hero-org-label">支&ensp;持&ensp;单&ensp;位:</span>
<div class="hero-support-grid">
<ul>
<li>江苏省委人才办</li>
<li>江苏省工业和信息化厅</li>
<li>江苏省农业农村厅</li>
<li>江苏省体育局</li>
</ul>
<ul>
<li>江苏省委宣传部</li>
<li>江苏省民政厅</li>
<li>江苏省文化和旅游厅</li>
<li>江苏广电总台</li>
</ul>
<ul>
<li>江苏省教育厅</li>
<li>江苏省财政厅</li>
<li>江苏省卫生健康委</li>
</ul>
<ul>
<li>江苏省科技厅</li>
<li>江苏省人力资源社会保障厅</li>
<li>江苏省市场监管局</li>
</ul>
</div>
</div>
<p class="hero-org-row">
<span class="hero-org-label">承&ensp;办&ensp;单&ensp;位:</span>
<span class="hero-org-value">元禾控股</span>
</p>
<p class="hero-org-row">
<span class="hero-org-label">官方指定宣传平台:</span>
<span class="hero-org-value">江苏广电总台</span>
</p>
<p class="hero-org-row">
<span class="hero-org-label">战略合作金融机构:</span>
<span class="hero-org-value">江苏银行</span>
</p>
<p class="hero-org-row">
<span class="hero-org-label">战&ensp;略&ensp;合&ensp;作&ensp;平&ensp;台:</span>
<span class="hero-org-value">抖音集团江苏公司</span>
</p>
</div>
</div>
</div>
</section>
<section class="section" id="entry">
<div class="section-inner">
<div class="section-card">
<div class="entry-quick-actions" aria-label="快捷导航">
<a class="btn btn-primary" href="#about" aria-label="查看主题赛道">
<span class="action-label">主题赛道</span>
</a>
<a target="_blank" class="btn btn-signup" href="{{ $signupUrl }}" aria-label="报名参赛">
<span class="action-label">报名参赛</span>
</a>
<a class="btn btn-ghost" href="#guide" aria-label="查看参赛指南">
<span class="action-label">参赛指南</span>
</a>
</div>
<div class="section-head">
<div class="section-kicker">ENTRY</div>
<h2 class="section-title">参赛对象</h2>
</div>
<p class="entry-intro">大赛面向国内外新消费领域创业企业、创新团队开放报名,大赛设两个组别:</p>
<div class="track-list entry-groups" aria-label="参赛组别">
<div class="track-item" data-index="01">
<span class="track-code">1</span>
<div class="track-copy">
<div class="track-name">创新组</div>
<p class="track-desc">面向尚未注册成立企业、处于商业计划书或创意方案阶段的项目团队。参赛项目应具有明确的产品、技术或服务方向,具备创新性和商业化潜力。</p>
</div>
</div>
<div class="track-item" data-index="02">
<span class="track-code">2</span>
<div class="track-copy">
<div class="track-name">创业组</div>
<p class="track-desc">面向注册成立不超过5年的企业(工商注册日期在2021年5月1日(含)之后注册)。参赛项目应已开展实际运营,具备成熟的商业模式或特色产品服务,拥有市场验证基础。</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section" id="about">
<div class="section-inner">
<div class="section-card">
<div class="section-head">
<div class="section-kicker">TRACKS</div>
<h2 class="section-title">主题赛道</h2>
</div>
<div class="track-list" aria-label="主题赛道">
<div class="track-item" data-index="01">
<span class="track-code">01</span>
<div class="track-copy">
<div class="track-name">特色消费</div>
<p class="track-desc">聚焦个性化、体验式、场景融合化(多元化)项目,包括但不限于:宠物经济(宠物智能用品、宠物食品科技、宠物医疗、宠物社区平台)、新国货与悦己消费(国潮美妆/香氛、新中式服饰、潮玩手办/谷子经济)、地标产品与老字号创新(老字号数字化赋能、特色农产品品牌化、非遗文创产品)、汽车后市场服务(汽车改装项目、汽车露营)、银发消费(适老化用品、老年文娱教育、养老产品与服务技术创新)等</p>
</div>
</div>
<div class="track-item" data-index="02">
<span class="track-code">02</span>
<div class="track-copy">
<div class="track-name">健康消费</div>
<p class="track-desc">聚焦医疗健康与消费融合项目,包括但不限于:医疗美容(轻医美等非手术类医疗美容产品与服务)、减重与健康管理(体重管理的新产品、家用健康监测设备、可穿戴健康硬件、助眠科技产品、数字疗法)、运动与康复(水上运动、运动生活方式品牌、运动医学诊所、产后康复及母婴护理)、科技与中医药(中医药智能设备研发与科技创新,药食同源与中医药大健康产品研发,中医药文创,中医养生等)、心理健康服务产业(情绪疏导、心理科普、数字化心理干预产品)等。</p>
</div>
</div>
<div class="track-item" data-index="03">
<span class="track-code">03</span>
<div class="track-copy">
<div class="track-name">商文旅农融合</div>
<p class="track-desc">聚焦文化、商业、旅游、农业深度融合项目,包括但不限于:文旅IP创新(原创IP设计、文化IP活化、全球化IP输出、光影秀、沉浸式演艺、AR导览)、商业空间与首发经济(首店/首展/首秀策划、快闪店运营、夜间经济/市集经济)、特色民宿与乡村旅游、文化创意空间、数字文娱、网络视听等。</p>
</div>
</div>
<div class="track-item" data-index="04">
<span class="track-code">04</span>
<div class="track-copy">
<div class="track-name">消费+人工智能</div>
<p class="track-desc">聚焦人工智能赋能消费提质项目,包括但不限于:智能消费硬件(智能家居系统、AI眼镜/AR-VR设备、可穿戴智能设备、服务机器人)、数字消费(直播电商平台、AI数字人、本地生活数字化、元宇宙零售)、AI内容创作(AIGC创作工具、数字文化社区、虚拟偶像)等。</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section" id="guide">
<div class="section-inner">
<div class="section-card">
<div class="section-head">
<div class="section-kicker">GUIDE</div>
<h2 class="section-title">参赛指南</h2>
</div>
<div class="timeline" aria-label="赛程安排">
<div class="timeline-step">
<span>1</span>
<h3>参赛报名</h3>
<p>2026年6月-7月</p>
</div>
<div class="timeline-step">
<span>2</span>
<h3>线上初赛</h3>
<p>2026年8月</p>
</div>
<div class="timeline-step">
<span>3</span>
<h3>线下复赛</h3>
<p>2026年8月至9月</p>
<div class="city-list" aria-label="线下复赛城市">
<span class="city-pill">苏州</span>
<span class="city-pill">徐州</span>
<span class="city-pill">镇江</span>
<span class="city-pill">南京</span>
</div>
</div>
<div class="timeline-step">
<span>4</span>
<h3>总决赛</h3>
<p>2026年10月</p>
</div>
</div>
<div class="award-grid" aria-label="赛事奖励">
<div class="award">
<h3>一等奖 1名</h3>
<strong>10万元</strong>
<p>现金奖励 + 最高500万股权投资支持</p>
</div>
<div class="award">
<h3>二等奖 4名</h3>
<strong>5万元</strong>
<p>现金奖励 + 最高500万股权投资支持</p>
</div>
<div class="award">
<h3>三等奖 15名</h3>
<strong>2万元</strong>
<p>现金奖励 + 最高500万股权投资支持</p>
</div>
</div>
<div class="requirements">
<div class="requirement-box">参赛项目应符合新消费产业发展政策导向,具有明确的市场需求和商业化前景,且不存在知识产权纠纷。</div>
<div class="requirement-box">创业组参赛企业设立时间需不超过5年。</div>
</div>
</div>
</div>
</section>
</main>
<footer class="site-footer">
<div class="footer-copyright">版权所有:2026江苏省新消费创新创业大赛</div>
</footer>
<button type="button" class="float-logo-btn" id="logoPublicityBtn" aria-label="Logo公示" aria-haspopup="dialog">
<span class="action-label">Logo公示</span>
</button>
<div class="logo-modal" id="logoPublicityModal" role="dialog" aria-modal="true" aria-labelledby="logoPublicityTitle" hidden>
<div class="logo-modal-panel">
<div class="logo-modal-head">
<h2 class="logo-modal-title" id="logoPublicityTitle">关于2026江苏省新消费创新创业大赛LOGO征集评选结果的公示</h2>
<button type="button" class="logo-modal-close" id="logoPublicityClose" aria-label="关闭弹窗">&times;</button>
</div>
<div class="logo-modal-body">
<p class="logo-modal-intro">2026江苏省新消费创新创业大赛组委会自2026年5月15日起面向社会公开征集赛事LOGO设计方案,累计收到有效作品107件。经专家评审、网络投票,遴选出一等奖1件、优秀奖5件,现将评选结果予以公示:</p>
<div class="logo-award-list" aria-label="LOGO评选结果">
<article class="logo-award-item is-first">
<h3 class="logo-award-name">一等奖:彩苏新翼</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-01.jpeg" alt="一等奖作品:彩苏新翼" loading="lazy" />
</article>
<article class="logo-award-item">
<h3 class="logo-award-name">优秀奖1:水韵江苏 数智消费</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-02.jpeg" alt="优秀奖1作品:水韵江苏 数智消费" loading="lazy" />
</article>
<article class="logo-award-item">
<h3 class="logo-award-name">优秀奖2:数启新消</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-03.jpeg" alt="优秀奖2作品:数启新消" loading="lazy" />
</article>
<article class="logo-award-item">
<h3 class="logo-award-name">优秀奖3:腾飞发展</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-04.jpeg" alt="优秀奖3作品:腾飞发展" loading="lazy" />
</article>
<article class="logo-award-item">
<h3 class="logo-award-name">优秀奖4:新消费·创未来</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-05.jpeg" alt="优秀奖4作品:新消费·创未来" loading="lazy" />
</article>
<article class="logo-award-item">
<h3 class="logo-award-name">优秀奖5:新消费 创新机 向未来</h3>
<img class="logo-award-image" src="/images/logo-publicity/logo-award-06.png" alt="优秀奖5作品:新消费 创新机 向未来" loading="lazy" />
</article>
</div>
<p class="logo-modal-notice">公示期为2026年6月10日至2026年6月16日(5个工作日)。公示期间,如有异议,请以邮件形式向大赛组委会反映,并提供相关证明材料。</p>
<p class="logo-modal-contact">联系邮箱:<a href="mailto:luby@oriza.com">luby@oriza.com</a></p>
<p class="logo-modal-footer">2026江苏省新消费创新创业大赛组委会</p>
</div>
</div>
</div>
</div>
<script>
function syncViewportSize() {
const root = document.documentElement;
const width = window.innerWidth || root.clientWidth;
const height = window.innerHeight || root.clientHeight;
root.style.setProperty("--vh", (height * 0.01) + "px");
root.dataset.screen = width < 640 ? "mobile" : (width < 1024 ? "tablet" : "desktop");
root.dataset.orientation = width > height ? "landscape" : "portrait";
}
syncViewportSize();
window.addEventListener("resize", syncViewportSize);
window.addEventListener("orientationchange", syncViewportSize);
(function initLogoPublicityModal() {
const openBtn = document.getElementById("logoPublicityBtn");
const modal = document.getElementById("logoPublicityModal");
const closeBtn = document.getElementById("logoPublicityClose");
if (!openBtn || !modal || !closeBtn) return;
let lastFocused = null;
function openModal() {
lastFocused = document.activeElement;
modal.hidden = false;
modal.classList.add("is-open");
document.body.style.overflow = "hidden";
closeBtn.focus();
}
function closeModal() {
modal.classList.remove("is-open");
modal.hidden = true;
document.body.style.overflow = "";
if (lastFocused && typeof lastFocused.focus === "function") {
lastFocused.focus();
}
}
openBtn.addEventListener("click", openModal);
closeBtn.addEventListener("click", closeModal);
modal.addEventListener("click", function (event) {
if (event.target === modal) closeModal();
});
document.addEventListener("keydown", function (event) {
if (event.key === "Escape" && modal.classList.contains("is-open")) {
closeModal();
}
});
})();
</script>
</body>
</html>