:root{
  --bg:#081426;
  --bg2:#0d2350;
  --card:#ffffff;
  --ink:#12213a;
  --muted:#667085;
  --blue:#1677ff;
  --cyan:#18d1ff;
  --purple:#6a4cff;
  --line:#e6edf7;
  --success:#14b87a;
  --danger:#d92d20;
  --radius:22px;
  --shadow:0 20px 60px rgba(10,31,68,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"HarmonyOS Sans","MiSans","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:#f5f8ff;line-height:1.65}
a{text-decoration:none;color:inherit}
.bg-grid{position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 20% 10%,rgba(24,209,255,.18),transparent 26%),radial-gradient(circle at 80% 0%,rgba(20,184,122,.16),transparent 28%),linear-gradient(180deg,#f8fbff,#eef5ff 52%,#f7faff)}
.bg-grid:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(22,119,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent);animation:gridPulse 8s ease-in-out infinite}.tech-canvas{position:fixed;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.38}@keyframes gridPulse{0%,100%{opacity:.58;background-position:0 0}50%{opacity:.88;background-position:22px 22px}}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(22,119,255,.12)}
.brand{display:flex;align-items:center;gap:12px;min-width:280px}.brand img{width:56px;height:42px;object-fit:contain}.brand b{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:-2px}
.site-nav{display:flex;align-items:center;gap:22px;font-size:14px}.site-nav a{color:#22324f}.site-nav a:hover{color:var(--blue)}.site-nav a.active{color:var(--blue);font-weight:900}.site-nav a.active:not(.nav-entry):after{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--blue),#0aa37f);border-radius:2px;margin-top:3px}.nav-btn,.btn{border:none;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease;font-size:14px}.nav-btn{background:var(--blue);color:#fff}.nav-btn.ghost{background:transparent;border:1px solid #cdd9ef;color:var(--blue)}.nav-entry{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfe0f7;border-radius:999px;padding:8px 12px;font-weight:900;overflow:hidden;background:#fff}.nav-entry:after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transition:.35s}.nav-entry:hover:after{transform:translateX(110%)}.nav-entry.admin{color:#0b5bd3;border-color:#b9d7ff;background:#eef6ff}.nav-entry.judge{color:#08745a;border-color:#b7eadb;background:#ecfdf6}.inline-form{display:inline}.menu-toggle{display:none;background:none;border:none;font-size:28px;color:var(--blue)}
.flash{max-width:1180px;margin:18px auto -6px;padding:12px 18px;border-radius:16px;background:#ecfdf3;border:1px solid #abefc6;color:#067647}.flash.error{background:#fef3f2;border-color:#fecdca;color:#b42318}
.hero{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;min-height:680px;padding:70px 5vw 80px;overflow:hidden;background:linear-gradient(135deg,#081426 0%,#0b2a62 48%,#113f4f 100%);color:#fff}.hero:after{content:"";position:absolute;right:-150px;top:60px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(24,209,255,.18),transparent 62%);filter:blur(4px)}.hero-particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.55) 1px,transparent 1px);background-size:44px 44px;animation:floatBg 14s linear infinite;opacity:.32}.hero-scan{position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 0 45%,rgba(24,209,255,.12) 50%,transparent 55%);animation:scanMove 7s ease-in-out infinite;mix-blend-mode:screen}.signal-stack{position:absolute;right:6vw;bottom:8%;width:min(520px,42vw);height:210px;z-index:1;opacity:.55;transform:skewY(-8deg);pointer-events:none}.signal-stack span{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),#30e39d,transparent);box-shadow:0 0 20px rgba(24,209,255,.45);animation:signalTravel 4.8s ease-in-out infinite}.signal-stack span:nth-child(1){top:28px}.signal-stack span:nth-child(2){top:96px;animation-delay:.9s}.signal-stack span:nth-child(3){top:164px;animation-delay:1.8s}@keyframes floatBg{from{background-position:0 0}to{background-position:44px 88px}}@keyframes scanMove{0%,35%{transform:translateX(-35%)}70%,100%{transform:translateX(35%)}}@keyframes signalTravel{0%,100%{clip-path:inset(0 100% 0 0);opacity:.2}45%,70%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 100%)}}
.hero-copy{position:relative;z-index:2;max-width:920px}.badge{display:inline-flex;border:1px solid rgba(24,209,255,.45);background:rgba(24,209,255,.09);color:#bdf4ff;padding:7px 14px;border-radius:999px;font-weight:700;letter-spacing:0}.hero h1{font-size:64px;line-height:1.12;margin:22px 0 14px;font-weight:900;letter-spacing:0}.hero-subtitle{font-size:30px;color:#bdf4ff;font-weight:800;margin:0 0 18px}.hero-desc{font-size:18px;color:#d8e7ff;max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn.primary{background:linear-gradient(135deg,var(--blue),#0aa37f);color:#fff;box-shadow:0 12px 30px rgba(22,119,255,.28)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(22,119,255,.38)}.btn.secondary{background:#eaf3ff;color:#0b5bd3}.btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff}.btn.outline-light{background:rgba(255,255,255,.12);border:1px solid rgba(183,234,219,.55);color:#e8fff8}.btn.wide{width:100%;padding:14px 20px}.hero-logo-card{position:relative;z-index:2;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);border-radius:34px;padding:26px;box-shadow:0 20px 80px rgba(0,0,0,.28);transform-style:preserve-3d;transition:transform .18s ease}.hero-logo-card:before{content:"";position:absolute;left:26px;right:26px;top:26px;height:3px;background:linear-gradient(90deg,transparent,var(--cyan),#30e39d,transparent);animation:linePulse 2.8s ease-in-out infinite}.hero-logo-card img{width:100%;display:block;border-radius:24px;background:#fff}.logo-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.logo-card-meta span{border:1px solid rgba(255,255,255,.18);border-radius:12px;text-align:center;padding:8px;color:#e8fff8;font-weight:800;font-size:13px}@keyframes linePulse{0%,100%{opacity:.35;transform:scaleX(.65)}50%{opacity:1;transform:scaleX(1)}}
.hero-flow{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.hero-flow span{position:relative;border:1px solid rgba(183,234,219,.3);background:rgba(255,255,255,.08);color:#d8e7ff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;overflow:hidden;transition:.25s ease}.hero-flow span:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(24,209,255,.25),rgba(48,227,157,.25));transition:width .45s ease}.hero-flow span.active{border-color:#7ef0cd;color:#fff;box-shadow:0 8px 22px rgba(24,209,255,.2)}.hero-flow span.active:before{width:100%}.hero-flow span{isolation:isolate}.hero-flow span::after{content:"";position:absolute;inset:0;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);z-index:-1}.hero-flow span.active::after{animation:chipPing 1.2s ease-in-out}@keyframes chipPing{0%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 0 0 0 rgba(126,240,205,.28)}100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 12px rgba(126,240,205,0)}}
.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;max-width:1180px;margin:-48px auto 0;position:relative;z-index:3;padding:0 18px}.metrics.compact{margin:0 auto 24px;padding:0;grid-template-columns:repeat(5,1fr)}.metric-card{position:relative;overflow:hidden;background:rgba(255,255,255,.92);border:1px solid rgba(22,119,255,.15);box-shadow:var(--shadow);border-radius:var(--radius);padding:22px;text-align:center}.metric-card:after{content:"";position:absolute;left:-40%;top:0;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(24,209,255,.18),transparent);transform:skewX(-18deg);animation:metricSweep 5s ease-in-out infinite}.metric-card b{display:block;font-size:32px;color:var(--blue);line-height:1}.metric-card span{color:var(--muted);font-size:13px}@keyframes metricSweep{0%,55%{left:-45%}85%,100%{left:110%}}
.page-section{max-width:1180px;margin:0 auto;padding:78px 18px}.page-section.narrow{max-width:920px}.section-title{text-align:center;margin-bottom:34px}.section-title span{color:var(--blue);font-weight:900;letter-spacing:0;text-transform:uppercase}.section-title h2{font-size:38px;line-height:1.2;margin:8px 0 10px}.section-title p{color:var(--muted);margin:0 auto;max-width:760px}.section-title.light h2,.section-title.light span{color:#fff}.section-title.light p{color:#d8e7ff}
.track-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.track-card,.panel,.form-panel,.login-card,.work-card{background:rgba(255,255,255,.92);border:1px solid rgba(22,119,255,.14);box-shadow:var(--shadow);border-radius:var(--radius)}.track-card{padding:26px;position:relative;overflow:hidden}.track-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--cyan),#0aa37f,#f2a900)}.track-card i{font-style:normal;color:var(--cyan);font-weight:900;letter-spacing:0}.track-card h3{font-size:24px;margin:10px 0}.track-card p{color:var(--muted);margin:0}.track-card:hover,.work-card:hover{transform:translateY(-4px);border-color:rgba(24,209,255,.5);box-shadow:0 28px 70px rgba(22,119,255,.18)}
.operation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.operation-card{position:relative;overflow:hidden;background:#fff;border:1px solid #d7e6ff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:.2s ease}.operation-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),#0aa37f,#f2a900);background-size:220% 100%;animation:barFlow 4s linear infinite}.operation-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.72) 48%,transparent 58%);transform:translateX(-120%);transition:.45s ease}.operation-card:hover:after{transform:translateX(120%)}.operation-card b,.operation-card h3,.operation-card p{position:relative;z-index:1}.operation-card b{color:#0b5bd3;letter-spacing:0;text-transform:uppercase}.operation-card h3{font-size:22px;margin:10px 0}.operation-card p{color:var(--muted);margin:0}.operation-card:hover{transform:translateY(-4px);border-color:#9ec7ff}@keyframes barFlow{from{background-position:0 0}to{background-position:220% 0}}
.flow-section{max-width:none;background:linear-gradient(135deg,#071327,#102e65 54%,#123f52);padding-left:5vw;padding-right:5vw}.timeline-progress{max-width:1180px;height:3px;margin:0 auto 18px;background:rgba(255,255,255,.14);border-radius:999px;overflow:hidden}.timeline-progress span{display:block;width:38%;height:100%;background:linear-gradient(90deg,var(--cyan),#30e39d,#f2a900);border-radius:999px;animation:timelineRail 6s ease-in-out infinite}.timeline{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.timeline div{position:relative;overflow:hidden;border:1px solid rgba(24,209,255,.28);background:rgba(255,255,255,.08);border-radius:18px;padding:18px;text-align:center;color:#fff;transition:.25s ease}.timeline div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--cyan),#30e39d);transform:scaleX(0);transform-origin:left;transition:.35s ease}.timeline div.active,.timeline div:hover{border-color:#7ef0cd;background:rgba(255,255,255,.14);transform:translateY(-3px)}.timeline div.active:after,.timeline div:hover:after{transform:scaleX(1)}.timeline b{display:block;color:var(--cyan);font-size:22px}.timeline span{font-size:14px}@keyframes timelineRail{0%,100%{transform:translateX(-10%)}50%{transform:translateX(175%)}}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{position:relative;overflow:hidden;transition:.2s ease}.work-card:after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue),#0aa37f,#f2a900);transform:scaleX(0);transform-origin:left;transition:.3s ease}.work-card:hover:after{transform:scaleX(1)}.work-card img{width:100%;height:210px;object-fit:cover;background:#fff}.work-body{padding:18px}.tag{display:inline-flex;align-items:center;border-radius:999px;background:#eaf3ff;color:#0b5bd3;padding:4px 10px;font-size:12px;font-weight:800}.work-body h3{font-size:20px;line-height:1.35;margin:12px 0 6px}.work-body p{color:var(--muted);margin:0}.work-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;color:#0b5bd3;font-weight:800;font-size:13px}.work-meta.big{font-size:15px;color:#dbeafe}.center{text-align:center}.page-hero.small{position:relative;overflow:hidden;padding:62px 5vw;text-align:center;background:linear-gradient(135deg,#071327,#102e65 60%,#123f52);color:#fff}.page-hero.small:after{content:"";position:absolute;left:-20%;right:-20%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),#30e39d,transparent);animation:pageHeroLine 4.5s ease-in-out infinite}.page-hero h1{font-size:42px;margin:0;position:relative;z-index:1}.page-hero p{color:#d8e7ff;position:relative;z-index:1}.doc-content h2{font-size:30px}.doc-content h3{margin-top:26px}.doc-content p{white-space:pre-line;color:#354663}@keyframes pageHeroLine{0%,100%{transform:translateX(-28%)}50%{transform:translateX(28%)}}
.form-panel,.panel{padding:28px}.form-panel h2{font-size:22px;margin:28px 0 16px}.form-panel h2:first-child{margin-top:0}label{display:block;font-weight:800;margin:12px 0 8px}input,select,textarea{width:100%;border:1px solid #ccd9eb;background:#fff;border-radius:14px;padding:12px 14px;font:inherit;color:var(--ink)}textarea{resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.checkbox-row label,.confirm{font-weight:700;background:#f1f7ff;border:1px solid #d7e6ff;border-radius:14px;padding:10px 12px}.checkbox-row input,.confirm input{width:auto;margin-right:6px}.hint{color:var(--muted);font-size:14px}.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;margin-bottom:24px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#f1f7ff;color:#1c3f75}.status{display:inline-flex;background:#eaf3ff;color:#0b5bd3;border-radius:999px;padding:2px 8px;font-weight:800}.admin-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin-nav a{background:#fff;border:1px solid #d7e6ff;color:#0b5bd3;border-radius:999px;padding:9px 14px;font-weight:800}.two-col{display:grid;grid-template-columns:1.6fr .9fr;gap:22px;align-items:start}.side-panel{position:sticky;top:100px}.file-link{display:block;background:#f5f9ff;border:1px solid #dbe7fb;border-radius:12px;padding:8px 10px;margin:8px 0;color:#0b5bd3}.video{width:100%;border-radius:16px;background:#000}.work-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:center;padding:64px 5vw;background:linear-gradient(135deg,#081426,#0d2e68 60%,#21165e);color:#fff}.work-hero h1{font-size:48px;line-height:1.15;margin:14px 0}.work-cover{width:100%;border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.quota-strip,.quota-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:0 0 24px}.quota-strip div,.quota-card{background:#fff;border:1px solid #d7e6ff;border-radius:16px;padding:16px;text-align:center;box-shadow:0 12px 35px rgba(10,31,68,.08)}.quota-strip b,.quota-card b{display:block;color:#08745a;font-size:24px;line-height:1}.quota-strip span,.quota-card span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.review-box{border:1px solid #d7e6ff;background:#f8fbff;border-radius:16px;padding:14px;margin-bottom:16px}.review-box h3{margin:0 0 8px}.review-box p{margin:6px 0}.ok-text{color:#067647;font-weight:800}.warn-text{color:#b42318;font-weight:800}.inline-edit{display:grid;grid-template-columns:minmax(90px,1fr) minmax(140px,1fr) minmax(120px,1fr) minmax(150px,1fr) auto;gap:8px;align-items:center}.inline-edit input{padding:8px 10px;border-radius:10px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
.login-page{display:grid;grid-template-columns:1fr 430px;gap:24px;align-items:center;min-height:calc(100vh - 90px);padding:70px 5vw}.login-visual{background:linear-gradient(135deg,#081426,#103a52);border-radius:34px;padding:46px;color:#fff;box-shadow:var(--shadow)}.login-visual img{max-width:520px;width:100%;background:#fff;border-radius:22px}.login-visual h1{font-size:42px}.login-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.login-quick a{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:9px 14px;color:#e8fff8;font-weight:900}.login-quick a.active{background:#fff;color:#0b5bd3}.login-card{padding:34px}.link-btn{border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.footer-mini{font-size:13px;color:#9db1d5;display:grid;gap:4px}.site-footer{display:flex;justify-content:space-between;gap:28px;padding:34px 5vw;background:#061124;color:#d8e7ff}.site-footer p{margin:5px 0;color:#9db1d5}
@media(max-width:980px){.hero,.work-hero,.two-col,.login-page{grid-template-columns:1fr}.hero h1{font-size:50px}.metrics,.metrics.compact,.quota-strip,.quota-grid{grid-template-columns:repeat(2,1fr);margin:16px auto}.track-grid,.work-grid,.operation-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.filter-bar,.form-grid.four,.inline-edit{grid-template-columns:1fr 1fr}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:18px 5vw;border-bottom:1px solid #e6edf7}.site-nav.open{display:flex}.menu-toggle{display:block}.brand{min-width:auto}.hero{min-height:auto}.side-panel{position:static}}
@media(max-width:640px){.site-header{padding:12px 18px}.brand b{font-size:14px}.brand small{display:none}.brand img{width:44px}.hero{padding:48px 18px}.hero h1{font-size:36px}.hero-subtitle{font-size:22px}.hero-flow{display:grid;grid-template-columns:1fr 1fr}.page-section{padding:50px 16px}.track-grid,.work-grid,.operation-grid,.timeline,.filter-bar,.form-grid.two,.form-grid.four,.inline-edit{grid-template-columns:1fr}.metrics,.quota-strip,.quota-grid{grid-template-columns:1fr 1fr}.work-hero h1{font-size:34px}.site-footer{display:block}.page-hero h1{font-size:32px}.form-panel,.panel{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tech-canvas,.signal-stack{display:none}.reveal{opacity:1!important;transform:none!important}.hero-logo-card{transform:none!important}.timeline-progress span{width:100%!important;transform:none!important}}
