
:root{--cyan:#1FB6CE;--teal:#2CCDBF;--lime:#C6E24B;--sky:#6FC3E8;--pink:#E7A6D6;--violet:#A79BE0;--ink:#0B3540;}
html{scroll-behavior:smooth;}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;color:#0B3540;margin:0;overflow-x:hidden;background:#F6FDFD;}
.font-serif{font-family:'Noto Serif SC','Songti SC','SimSun',serif;}
.view{display:none;}
.view.active{display:block;}
.view-index{background:#F6FDFD;min-height:100vh;}
.view-register{background:radial-gradient(60% 55% at 12% 8%, rgba(198,226,75,.5) 0%, rgba(198,226,75,0) 60%),radial-gradient(55% 60% at 88% 12%, rgba(167,155,224,.34) 0%, rgba(167,155,224,0) 62%),radial-gradient(70% 65% at 78% 88%, rgba(111,195,232,.5) 0%, rgba(111,195,232,0) 65%),radial-gradient(65% 60% at 18% 92%, rgba(44,205,191,.45) 0%, rgba(44,205,191,0) 62%),linear-gradient(160deg,#E9FBF2 0%,#E4F7FA 42%,#EAF3FB 100%);min-height:100vh;}
.view-thanks{background:radial-gradient(60% 55% at 12% 8%, rgba(198,226,75,.5) 0%, rgba(198,226,75,0) 60%),radial-gradient(55% 60% at 88% 12%, rgba(167,155,224,.34) 0%, rgba(167,155,224,0) 62%),radial-gradient(70% 65% at 78% 88%, rgba(111,195,232,.5) 0%, rgba(111,195,232,0) 65%),radial-gradient(65% 60% at 18% 92%, rgba(44,205,191,.45) 0%, rgba(44,205,191,0) 62%),linear-gradient(160deg,#E9FBF2 0%,#E4F7FA 42%,#EAF3FB 100%);min-height:100vh;}
.view-thanks.active{display:flex;align-items:center;justify-content:center;overflow:hidden;}
/* ===== INDEX ===== */
.view-index ::selection { background: var(--cyan); color: #fff; }
.view-index ::-webkit-scrollbar { width: 10px; }
.view-index ::-webkit-scrollbar-track { background: #EAF7F7; }
.view-index ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--cyan), var(--teal)); border-radius: 8px; }
.view-index .hero-bg {
    background:
      radial-gradient(60% 55% at 12% 8%, rgba(198,226,75,.28) 0%, rgba(198,226,75,0) 60%),
      radial-gradient(55% 60% at 88% 12%, rgba(167,155,224,.18) 0%, rgba(167,155,224,0) 62%),
      radial-gradient(70% 65% at 78% 88%, rgba(111,195,232,.28) 0%, rgba(111,195,232,0) 65%),
      radial-gradient(65% 60% at 18% 92%, rgba(44,205,191,.22) 0%, rgba(44,205,191,0) 62%),
      radial-gradient(45% 40% at 55% 45%, rgba(231,166,214,.10) 0%, rgba(231,166,214,0) 60%),
      linear-gradient(160deg, #F7FDFB 0%, #F4FCFE 42%, #F7FBFE 100%);
  }
.view-index .blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .28; will-change: transform; pointer-events: none; }
.view-index .grain::after {
    content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .05; mix-blend-mode: multiply;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  }
.view-index .grad-text {
    background: linear-gradient(92deg, #0E9DB8 0%, #1FB6CE 30%, #2CCDBF 62%, #8FC93E 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
.view-index .stroke-title {
    -webkit-text-stroke: 1.2px rgba(31,182,206,.22); color: transparent;
    font-family: 'Noto Serif SC', serif; user-select: none;
  }
.view-index .bg-year {
    font-family: 'Noto Serif SC', serif;
    background: linear-gradient(180deg, rgba(31,182,206,.10), rgba(44,205,191,.04));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 1px rgba(31,182,206,.12);
  }
.view-index .glass {
    background: rgba(255,255,255,.55);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255,255,255,.7);
  }
.view-index .glass-strong {
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(28px) saturate(200%);
    -webkit-backdrop-filter: blur(28px) saturate(200%);
    border: 1px solid rgba(255,255,255,.85);
  }
.view-index #nav { transition: all .4s cubic-bezier(.16,1,.3,1); }
.view-index #nav.scrolled { background: rgba(255,255,255,.88); backdrop-filter: blur(20px) saturate(180%); box-shadow: 0 8px 32px rgba(11,53,64,.08); }
.view-index .nav-link {
    position: relative; padding: .55rem 1rem; border-radius: 999px;
    transition: all .35s cubic-bezier(.16,1,.3,1);
  }
.view-index .nav-link::after {
    content: ''; position: absolute; left: 50%; bottom: 3px; width: 0; height: 2px; border-radius: 2px;
    background: linear-gradient(90deg, var(--cyan), var(--teal), var(--lime));
    transform: translateX(-50%); transition: width .4s cubic-bezier(.16,1,.3,1);
  }
.view-index .nav-link:hover { color: #0E9DB8; transform: translateY(-2px); }
.view-index .nav-link:hover::after { width: 70%; }
.view-index .nav-link.active { color: #0E9DB8; background: rgba(31,182,206,.10); }
.view-index .nav-link.active::after { width: 70%; }
.view-index .btn-primary {
    position: relative; overflow: hidden;
    background: linear-gradient(95deg, #0E9DB8, #1FB6CE 45%, #2CCDBF);
    box-shadow: 0 10px 30px -8px rgba(31,182,206,.55), inset 0 1px 0 rgba(255,255,255,.35);
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
  }
.view-index .btn-primary:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 18px 40px -8px rgba(31,182,206,.65), inset 0 1px 0 rgba(255,255,255,.35); }
.view-index .btn-primary .sheen {
    position: absolute; top: 0; left: -70%; width: 45%; height: 100%; pointer-events: none;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-20deg); opacity: 0; transition: opacity .3s;
  }
.view-index .btn-primary:hover .sheen { opacity: 1; animation: sheenLoop 4.2s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes sheenLoop { 0% { left: -70%; } 55%, 100% { left: 140%; } }.view-index .glow-dot { box-shadow: 0 0 10px rgba(31,182,206,.6); animation: softPulse 2.8s ease-in-out infinite; }
@keyframes softPulse { 0%,100% { opacity:.75; transform:scale(1); } 50% { opacity:1; transform:scale(1.12); } }.view-index .plus-mark { font-family: 'Noto Sans SC', system-ui, sans-serif; font-size: .36em; font-weight: 900; vertical-align: super; margin-left: .1em; color: #2CCDBF; }
.view-index .btn-primary .arr, .view-index .btn-ghost .arr { display: inline-block; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.view-index .btn-primary:hover .arr, .view-index .btn-ghost:hover .arr { transform: translateX(5px); }
.view-index .btn-ghost {
    position: relative; border: 1.5px solid rgba(14,157,184,.4); color: #0E9DB8;
    transition: all .35s cubic-bezier(.16,1,.3,1); overflow: hidden; background: rgba(255,255,255,.45);
  }
.view-index .btn-ghost::after {
    content: ''; position: absolute; inset: 0; opacity: 0; transition: opacity .4s;
    background: linear-gradient(95deg, rgba(31,182,206,.12), rgba(198,226,75,.15));
  }
.view-index .btn-ghost:hover { border-color: var(--cyan); transform: translateY(-3px); }
.view-index .btn-ghost:hover::after { opacity: 1; }
.view-index .btn-ghost > * { position: relative; z-index: 1; }
.view-index .magnetic { will-change: transform; }
.view-index .marquee-track { display: flex; width: max-content; animation: marquee 30s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }.view-index .marquee-slow { animation-duration: 55s; }
.view-index .marquee-hover:hover .marquee-track { animation-play-state: paused; }
.view-index .lift-card { transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s; }
.view-index .lift-card:hover { transform: translateY(-8px); box-shadow: 0 24px 48px -16px rgba(11,53,64,.18); }
.view-index .topic-card {
    position: relative; overflow: hidden; border: 1px solid rgba(31,182,206,.16);
    background: linear-gradient(135deg, rgba(255,255,255,.75), rgba(255,255,255,.55));
  }
.view-index .topic-card::before {
    content: ''; position: absolute; inset: 0; opacity: 1;
    background: linear-gradient(135deg, rgba(31,182,206,.14), rgba(198,226,75,.16));
  }
.view-index .topic-card:hover::before { background: linear-gradient(135deg, rgba(31,182,206,.22), rgba(198,226,75,.24)); }
.view-index .topic-card > * { position: relative; }
.view-index .topic-card .num { transition: all .45s cubic-bezier(.16,1,.3,1); color: var(--cyan); }
.view-index .topic-card:hover .num { transform: translateX(6px) scale(1.08); }
.view-index .award-card { position: relative; overflow: hidden; }
.view-index .award-card .shine {
    position: absolute; top: 0; left: -80%; width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-20deg); transition: left .7s ease;
  }
.view-index .award-card:hover .shine { left: 130%; }
.view-index .tl-item { position: relative; padding-left: 2.25rem; }
.view-index .tl-item::before {
    content: ''; position: absolute; left: 7px; top: 22px; bottom: -8px; width: 2px;
    background: linear-gradient(180deg, rgba(31,182,206,.5), rgba(31,182,206,.08));
  }
.view-index .tl-item:last-child::before { display: none; }
.view-index .tl-dot {
    position: absolute; left: 0; top: 8px; width: 16px; height: 16px; border-radius: 50%;
    background: linear-gradient(135deg, var(--cyan), var(--teal));
    box-shadow: 0 0 0 5px rgba(31,182,206,.15);
  }
.view-index .day-tab { transition: all .35s cubic-bezier(.16,1,.3,1); }
.view-index .day-tab.active {
    background: linear-gradient(95deg, #0E9DB8, #2CCDBF); color: #fff;
    box-shadow: 0 12px 28px -8px rgba(31,182,206,.5);
  }
.view-index .quote-card { width: 420px; flex-shrink: 0; }
@media (max-width: 640px) {
.view-index .quote-card { width: 320px; }
}
.view-index .quote-card .quote-mark { color: var(--cyan); font-family: 'Noto Serif SC', serif; font-weight: 900; line-height: 1; }
.view-index .reveal { opacity: 0; transform: translateY(36px); }
.view-index .skyline { position: absolute; bottom: -2px; left: 0; width: 100%; pointer-events: none; }
.view-index .cd-cell { min-width: 78px; }
@media (max-width: 640px) {
.view-index .cd-cell { min-width: 62px; }
}
.view-index .cd-num {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    transition: color .3s;
  }
.view-index .sec-index {
    font-family: 'Noto Serif SC', serif; font-weight: 900; line-height: 1;
    -webkit-text-stroke: 1.5px rgba(31,182,206,.22); color: transparent; user-select: none;
  }
.view-index .chip { transition: all .3s cubic-bezier(.16,1,.3,1); }
.view-index .chip:hover { transform: translateY(-3px); border-color: var(--cyan); color: #0E9DB8; background: rgba(31,182,206,.06); }
.view-index .float-anim { animation: floaty 6s ease-in-out infinite; }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }.view-index .scroll-hint { animation: hint 2s ease-in-out infinite; }
@keyframes hint { 0%,100% { transform: translateY(0); opacity: .9; } 50% { transform: translateY(10px); opacity: .4; } }.view-index .sec-label { display: inline-flex; align-items: center; gap: .8rem; }
.view-index .sec-label .diamond {
    width: 10px; height: 10px; transform: rotate(45deg); border-radius: 2.5px;
    background: linear-gradient(135deg, var(--cyan), var(--teal));
    box-shadow: 0 3px 10px rgba(31,182,206,.4);
  }
.view-index .sec-label .dash-soft { width: 26px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--cyan), transparent); }
.view-index .qr-card {
    background: #fff; border: 1px solid rgba(11,53,64,.08); border-radius: 20px;
    box-shadow: 0 12px 30px -12px rgba(11,53,64,.14);
    transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
  }
.view-index .qr-card:hover { transform: translateY(-6px); box-shadow: 0 22px 42px -14px rgba(31,182,206,.35); }
.view-index .qr-card img { border-radius: 12px; }
.view-index .fee-card {
    background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.6));
    border: 1px solid rgba(255,255,255,.8);
    backdrop-filter: blur(20px) saturate(160%);
  }

/* ===== REGISTER ===== */
.view-register ::selection {background:var(--cyan);color:#fff;}
.view-register .hero-bg {
    background:
      radial-gradient(60% 55% at 12% 8%, rgba(198,226,75,.5) 0%, rgba(198,226,75,0) 60%),
      radial-gradient(55% 60% at 88% 12%, rgba(167,155,224,.34) 0%, rgba(167,155,224,0) 62%),
      radial-gradient(70% 65% at 78% 88%, rgba(111,195,232,.5) 0%, rgba(111,195,232,0) 65%),
      radial-gradient(65% 60% at 18% 92%, rgba(44,205,191,.45) 0%, rgba(44,205,191,0) 62%),
      linear-gradient(160deg,#E9FBF2 0%,#E4F7FA 42%,#EAF3FB 100%);
  }
.view-register .blob {position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;}
.view-register .grad-text {background:linear-gradient(92deg,#0E9DB8 0%,#1FB6CE 30%,#2CCDBF 62%,#8FC93E 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.view-register .glass {background:rgba(255,255,255,.55);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.7);}
.view-register .glass-strong {background:rgba(255,255,255,.78);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid rgba(255,255,255,.85);}
.view-register .btn-primary {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 2.2rem;border-radius:999px;font-weight:700;color:#fff;text-decoration:none;
    background:linear-gradient(95deg,#0E9DB8,#1FB6CE 45%,#2CCDBF);box-shadow:0 10px 30px -8px rgba(31,182,206,.55),inset 0 1px 0 rgba(255,255,255,.35);
    transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;}
.view-register .btn-primary:hover {transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px -8px rgba(31,182,206,.65);}
.view-register .btn-ghost {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 2rem;border-radius:999px;font-weight:600;text-decoration:none;color:#0E9DB8;border:1.5px solid rgba(14,157,184,.4);background:rgba(255,255,255,.45);
    transition:all .35s cubic-bezier(.16,1,.3,1);}
.view-register .btn-ghost:hover {border-color:var(--cyan);transform:translateY(-3px);background:rgba(31,182,206,.08);}
.view-register .magnetic {will-change:transform;}
.view-register iframe {border:0;border-radius:18px;}
.view-register .stat-step {transition:transform .4s cubic-bezier(.16,1,.3,1);}
.view-register .stat-step:hover {transform:translateY(-4px);}
.view-register .form-group {display:flex;flex-direction:column;gap:.35rem;}
.view-register .form-label {font-size:.875rem;font-weight:800;color:rgba(11,53,64,.85);display:flex;align-items:center;gap:.25rem;}
.view-register .form-input,
.view-register .form-textarea {
  width:100%;border-radius:.75rem;border:1px solid rgba(11,53,64,.1);background:rgba(255,255,255,.7);
  padding:.65rem .9rem;font-size:.875rem;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;
}
.view-register .form-input::placeholder,
.view-register .form-textarea::placeholder {color:rgba(11,53,64,.35);}
.view-register .form-input:focus,
.view-register .form-textarea:focus {border-color:var(--cyan);box-shadow:0 0 0 3px rgba(31,182,206,.12);}
.view-register .form-textarea {resize:none;}
.view-register .radio-group {display:flex;align-items:center;gap:1.25rem;padding:.4rem 0;}
.view-register .radio-label {display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:rgba(11,53,64,.8);cursor:pointer;}
.view-register .radio-input {
  width:1.15rem;height:1.15rem;accent-color:var(--cyan);cursor:pointer;flex-shrink:0;
}
.view-register .person-card {border-radius:.75rem;border:1px solid rgba(11,53,64,.08);background:rgba(255,255,255,.55);padding:1rem;}
.view-register .person-card h4 {font-size:.8rem;font-weight:800;color:var(--cyan);margin-bottom:.75rem;}

/* ===== THANKS ===== */
.view-thanks .grad-text {background:linear-gradient(92deg,#0E9DB8 0%,#1FB6CE 30%,#2CCDBF 62%,#8FC93E 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.view-thanks .btn-primary {display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.2rem;border-radius:999px;font-weight:700;color:#fff;text-decoration:none;
    background:linear-gradient(95deg,#0E9DB8,#1FB6CE 45%,#2CCDBF);box-shadow:0 10px 30px -8px rgba(31,182,206,.55),inset 0 1px 0 rgba(255,255,255,.35);
    transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;}
.view-thanks .btn-primary:hover {transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px -8px rgba(31,182,206,.65);}
.view-thanks .blob {position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;}
.view-thanks .check-circle {stroke-dasharray:166;stroke-dashoffset:166;}
.view-thanks .check-mark {stroke-dasharray:48;stroke-dashoffset:48;}

