:root{
  --bg:#0c0f22; --gold:#f5c542; --accent:#e23b54; --text:#e8ebff; --muted:#9aa3c7;
  --line:rgba(255,255,255,.10);
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0; font-family:"Segoe UI","Microsoft YaHei",system-ui,sans-serif; color:var(--text);
  display:flex; flex-direction:column; min-height:100vh;
  background:
    radial-gradient(900px 500px at 12% -5%, rgba(226,59,84,.16), transparent 60%),
    radial-gradient(1000px 600px at 88% 0%, rgba(245,197,66,.10), transparent 55%),
    radial-gradient(1200px 700px at 50% 115%, rgba(64,90,200,.22), transparent 60%),
    linear-gradient(180deg,#0c0f22 0%,#0f1226 100%);
  background-attachment:fixed;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%, rgba(255,255,255,.35), transparent 100%),
    radial-gradient(1px 1px at 32% 68%, rgba(255,255,255,.22), transparent 100%),
    radial-gradient(1.5px 1.5px at 68% 14%, rgba(245,197,66,.35), transparent 100%),
    radial-gradient(1px 1px at 82% 54%, rgba(255,255,255,.28), transparent 100%),
    radial-gradient(1.5px 1.5px at 50% 88%, rgba(255,255,255,.18), transparent 100%);
}
.navbar{
  position:sticky; top:0; z-index:20; backdrop-filter:blur(12px);
  background:rgba(12,15,34,.8); border-bottom:1px solid var(--line);
  box-shadow:0 4px 30px rgba(0,0,0,.4);
}
.nav-inner{
  max-width:1080px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; padding:16px 24px;
}
.brand{
  font-size:24px; font-weight:800; color:var(--gold); text-decoration:none;
  letter-spacing:3px; text-shadow:0 0 18px rgba(245,197,66,.5);
}
.nav-links a{
  color:var(--text); text-decoration:none; margin-left:8px; font-size:15px; opacity:.8;
  padding:8px 14px; border-radius:999px; transition:.2s; white-space:nowrap;
}
.nav-links a svg{ display:none; }
.nav-links a:hover{ color:var(--gold); opacity:1; background:rgba(245,197,66,.08); }
.nav-links a.active{
  color:#1a1f3c; background:linear-gradient(90deg,var(--gold),#ffd86b);
  opacity:1; font-weight:700;
}
.container{
  position:relative; z-index:1; max-width:1080px; width:100%;
  margin:0 auto; padding:48px 24px; flex:1;
}
.card{
  position:relative; border-radius:18px; padding:34px; margin-bottom:26px; margin-left:auto; margin-right:auto;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  box-shadow:0 16px 50px rgba(0,0,0,.45);
}
.card::before{
  content:""; position:absolute; inset:0; border-radius:18px; padding:1px; pointer-events:none;
  background:linear-gradient(135deg,rgba(245,197,66,.5),rgba(226,59,84,.3) 40%,rgba(255,255,255,.06) 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
h1{
  font-size:38px; margin:6px 0 12px;
  background:linear-gradient(90deg,var(--gold),var(--accent));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
h2{ font-size:24px; color:var(--gold); margin:0 0 10px; text-shadow:0 0 14px rgba(245,197,66,.35); }
h3{ display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:17px; color:var(--gold); }
p{ line-height:1.8; color:var(--muted); margin:0; }
label{ display:block; margin:16px 0 6px; color:var(--muted); font-size:14px; }
form > label:first-of-type{ margin-top:4px; }
input, select{
  width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--line);
  background:rgba(0,0,0,.25); color:var(--text); font-size:15px; outline:none; transition:.2s;
}
input:hover, select:hover{ border-color:rgba(245,197,66,.35); }
input:focus, select:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(245,197,66,.18); }
select{
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23f5c542' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center;
}
select option{ background:#141833; color:var(--text); }
.btn{
  margin-top:22px; display:inline-block; padding:12px 30px; border:none; border-radius:999px;
  cursor:pointer; font-size:16px; font-weight:700; color:#1a1f3c; text-decoration:none;
  background:linear-gradient(90deg,var(--gold),#ffd86b);
  box-shadow:0 6px 20px rgba(245,197,66,.35); transition:.2s;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(245,197,66,.5); }
form .btn{ width:100%; }
.btn.ghost{
  background:transparent; color:var(--gold);
  border:1px solid rgba(245,197,66,.5); box-shadow:none;
}
.btn.ghost:hover{ background:rgba(245,197,66,.1); }
.msg{ margin-top:16px; padding:12px 16px; border-radius:10px; font-size:14px; }
.msg.ok{ background:rgba(46,204,113,.15); color:#7CFFB0; border:1px solid rgba(46,204,113,.4); }
.msg.err{ background:rgba(226,59,84,.15); color:#ff9aab; border:1px solid rgba(226,59,84,.4); }
.footer{
  position:relative; z-index:1; text-align:center; color:var(--muted); font-size:13px;
  padding:26px 0; border-top:1px solid var(--line); background:rgba(12,15,34,.5);
}
.grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:26px; }
.info-box{
  position:relative; border:1px solid var(--line); border-radius:16px; padding:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)); transition:.25s;
}
.info-box:hover{
  transform:translateY(-4px); border-color:rgba(245,197,66,.4);
  box-shadow:0 14px 34px rgba(0,0,0,.4);
}
.info-icon{
  width:44px; height:44px; border-radius:12px; display:flex; align-items:center;
  justify-content:center; font-size:22px; margin-bottom:14px;
  background:rgba(245,197,66,.1); border:1px solid rgba(245,197,66,.3);
}
.hero{ text-align:center; padding:56px 34px; overflow:hidden; }
.hero::after{
  content:""; position:absolute; top:-120px; left:50%; transform:translateX(-50%);
  width:520px; height:260px; border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side,rgba(245,197,66,.18),transparent);
}
.badge{
  display:inline-block; padding:6px 16px; border-radius:999px; font-size:13px; font-weight:700;
  color:var(--gold); border:1px solid rgba(245,197,66,.45); background:rgba(245,197,66,.08);
  letter-spacing:2px; margin-bottom:14px; animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(245,197,66,.25); }
  50%{ box-shadow:0 0 0 10px rgba(245,197,66,0); }
}
.hero p{ max-width:560px; margin:0 auto; font-size:16px; }
.hero-actions{ margin-top:26px; display:flex; gap:14px; justify-content:center; }
@media (max-width:640px){
  .grid{ grid-template-columns:1fr; }
  .container{ padding:30px 16px; }
  .nav-inner{ flex-direction:column; gap:6px; padding:10px 8px 8px; }
  .brand{ font-size:20px; letter-spacing:2px; }
  /* 移动端导航：图标在上、文字在下的标签栏，均分整行 */
  .nav-links{ display:flex; width:100%; gap:2px; }
  .nav-links a{
    flex:1; margin:0; padding:9px 2px 8px; font-size:12px; opacity:.85;
    display:flex; flex-direction:column; align-items:center; gap:4px;
    border-radius:12px; text-align:center;
  }
  .nav-links a svg{ display:block; width:22px; height:22px; }
  .nav-links a.active{
    color:var(--gold); /* 覆盖桌面 active 的深色文字，保证图标(继承 currentColor)清晰明亮 */
    background:linear-gradient(180deg,rgba(245,197,66,.18),rgba(245,197,66,.08));
    box-shadow:inset 0 0 0 1px rgba(245,197,66,.45);
    opacity:1;
  }
  .nav-links a.active span{ color:var(--gold); font-weight:700; }
  /* 移动端字号与留白整体收紧 */
  h1{ font-size:27px; margin:4px 0 10px; }
  h2{ font-size:20px; }
  h3{ font-size:16px; }
  .card{ padding:22px 16px; }
  .hero{ padding:34px 20px; }
  .hero p{ font-size:14.5px; }
  .badge{ font-size:12px; letter-spacing:1px; padding:5px 14px; }
  .info-box{ padding:20px 16px; }
  .info-icon{ width:38px; height:38px; font-size:19px; }
  .btn{ padding:12px 24px; font-size:15px; }
  .msg{ font-size:13px; }
}
