:root{
  --ink:#182238;--muted:#7b8497;--line:rgba(88,135,160,.16);
  --glass:rgba(255,255,255,.48);--mx:50vw;--my:50vh;--px:0;--py:0;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fbfcff;color:var(--ink)}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}

.art-stage{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:
radial-gradient(circle at 16% 12%,#fff,rgba(255,255,255,0) 30%),
radial-gradient(circle at 83% 18%,rgba(219,247,255,.78),rgba(255,255,255,0) 30%),
radial-gradient(circle at 78% 78%,rgba(255,224,240,.56),rgba(255,255,255,0) 29%),
radial-gradient(circle at 24% 80%,rgba(218,248,235,.58),rgba(255,255,255,0) 29%),
linear-gradient(145deg,#fff 0%,#f8fbff 44%,#fffaf7 100%)}
.art-stage::before{content:"";position:absolute;inset:-22%;z-index:-10;background:
radial-gradient(circle at 34% 42%,rgba(132,221,244,.36),transparent 23%),
radial-gradient(circle at 62% 40%,rgba(193,173,255,.25),transparent 24%),
radial-gradient(circle at 59% 70%,rgba(255,189,221,.24),transparent 23%),
radial-gradient(circle at 44% 70%,rgba(158,237,206,.25),transparent 23%);filter:blur(70px);transform:translate3d(calc(var(--px)*.12px),calc(var(--py)*.12px),0) scale(1.1)}
.art-stage::after{content:"";position:absolute;left:var(--mx);top:var(--my);width:42vmax;height:42vmax;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:-2;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(220,248,255,.28) 20%,rgba(235,226,255,.12) 42%,transparent 68%);filter:blur(8px)}

.ribbon{position:absolute;inset:0;pointer-events:none;z-index:0;perspective:1200px}.ribbon svg{position:absolute;width:138vw;height:88vh;left:50%;top:49%;transform:translate(-50%,-50%) translate3d(calc(var(--px)*-.13px),calc(var(--py)*-.08px),0) rotateX(calc(var(--py)*-.004deg)) rotateY(calc(var(--px)*.004deg));overflow:visible;filter:drop-shadow(0 35px 58px rgba(90,135,165,.12));transition:transform .12s linear}

.brand{position:absolute;left:50%;top:34.5%;transform:translate(-50%,-50%);width:min(86vw,1050px);text-align:center;z-index:5;pointer-events:none}.brand-mark{width:96px;height:1px;margin:0 auto 34px;background:linear-gradient(90deg,transparent,rgba(77,119,142,.38),transparent);position:relative}.brand-mark::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(73,126,150,.22);box-shadow:0 0 0 8px rgba(204,242,249,.28),0 8px 28px rgba(90,150,176,.14)}
.brand-title{margin:0;display:flex;justify-content:center;align-items:flex-end;gap:.03em;font-family:"STKaiti","KaiTi","Songti SC","STSong","SimSun",serif;font-weight:400;line-height:.9;color:#17263d;text-shadow:0 20px 58px rgba(86,126,158,.12)}.brand-title span{display:inline-block;font-size:clamp(100px,11.8vw,194px);transform-origin:50% 90%;position:relative}.brand-title span:nth-child(1){transform:rotate(-3deg) translateY(2px) scaleX(.92)}.brand-title span:nth-child(2){transform:rotate(1.5deg) translateY(-8px) scaleX(.96)}.brand-title span:nth-child(3){transform:rotate(-1deg) translateY(4px) scaleX(.90)}.brand-title span::after{content:attr(data-char);position:absolute;inset:0;color:transparent;-webkit-text-stroke:.7px rgba(255,255,255,.85);transform:translate(1px,-1px)}
.brand-slogan{margin:30px 0 0;font-size:clamp(13px,1.05vw,17px);letter-spacing:.28em;text-indent:.28em;color:#6e788d}

.announcement-btn{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right));z-index:15;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.52);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#26364d;border-radius:999px;padding:11px 17px;cursor:pointer;box-shadow:inset 0 1px 0 #fff,0 16px 45px rgba(75,124,153,.08);transition:.3s}.announcement-btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 20px 56px rgba(75,124,153,.14)}

.nav-wrap{position:absolute;left:50%;top:64%;width:min(91vw,1160px);min-height:230px;transform:translateX(-50%);z-index:8}.nav-arc{position:absolute;left:0;top:0;width:100%;height:150px;pointer-events:none;opacity:.5}.nav-list{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:56px}.portal-item{flex:0 1 245px;display:flex;align-items:center;gap:13px;min-width:0;padding:15px 18px;border-radius:999px;outline:none;cursor:pointer;color:#233149;position:relative;transition:transform .46s cubic-bezier(.16,1,.3,1),color .28s ease}.portal-item:nth-child(1),.portal-item:nth-child(4){margin-top:34px}.portal-item::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.68),rgba(255,255,255,.17));border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 52px rgba(82,132,159,.08);opacity:.38;z-index:-1;transition:.32s}.portal-item:hover::before,.portal-item:focus-visible::before{opacity:.9;transform:scale(1.035);box-shadow:inset 0 1px 0 #fff,0 22px 68px rgba(80,134,162,.15)}.portal-item:hover{color:#0a6078}.portal-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#fff;border:1px solid rgba(83,137,162,.28);box-shadow:0 0 0 7px rgba(196,239,247,.28);transition:.35s}.portal-item:hover .portal-dot{transform:scale(1.34);box-shadow:0 0 0 10px rgba(185,236,246,.38),0 7px 24px rgba(75,143,171,.16)}.portal-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.portal-title{font-size:clamp(16px,1.15vw,20px);font-weight:600;letter-spacing:.05em;white-space:nowrap}.portal-subtitle{font-size:11px;color:#8a94a6;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-arrow{margin-left:auto;font-size:18px;color:#78909e;opacity:.18;transform:translateX(-4px);transition:.28s}.portal-item:hover .portal-arrow{opacity:1;transform:translateX(2px)}

.corner-note{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:8;font-size:11px;letter-spacing:.18em;color:rgba(76,91,113,.42)}.corner-hint{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:8;font-size:11px;letter-spacing:.12em;color:rgba(76,91,113,.40)}

.light-dust{position:absolute;inset:0;z-index:3;pointer-events:none}.light-dust i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(96,176,205,.38);opacity:.5;animation:floatDot var(--t) ease-in-out infinite alternate}@keyframes floatDot{to{transform:translate3d(var(--dx2),var(--dy2),0) scale(.68);opacity:.14}}
.scan-light{position:absolute;z-index:4;pointer-events:none;left:-25vw;top:14%;width:24vw;height:72%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),rgba(194,242,255,.20),transparent);filter:blur(16px);opacity:0;animation:sweep 9s ease-in-out infinite}@keyframes sweep{0%,58%{left:-25vw;opacity:0}64%{opacity:.7}82%{left:105vw;opacity:.24}100%{left:105vw;opacity:0}}

.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(231,239,247,.52);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:.32s}.modal-backdrop.open{opacity:1;visibility:visible}.modal{width:min(94vw,620px);max-height:min(84vh,760px);overflow:auto;border-radius:34px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.88);box-shadow:0 30px 100px rgba(77,118,145,.19),inset 0 1px 0 #fff;padding:30px;transform:translateY(18px) scale(.97);transition:.38s cubic-bezier(.16,1,.3,1)}.modal-backdrop.open .modal{transform:none}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.modal h2{margin:0;font-family:"Songti SC","STSong",serif;font-size:30px;font-weight:600;letter-spacing:.04em}.modal-close{border:0;background:rgba(238,245,249,.75);width:38px;height:38px;border-radius:50%;cursor:pointer;color:#526176}.modal-body{margin-top:18px;color:#5f6a7c;line-height:1.9;white-space:pre-wrap}.modal-media{margin-top:22px;display:flex;justify-content:center}.modal-media img{max-width:100%;max-height:54vh;border-radius:24px;box-shadow:0 18px 55px rgba(70,105,128,.12)}.qr-image{width:min(72vw,340px)!important;aspect-ratio:1;object-fit:contain;background:#fff;padding:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.soft-btn,.primary-btn{border:0;border-radius:999px;padding:12px 18px;cursor:pointer}.soft-btn{background:#edf4f8;color:#40536a}.primary-btn{background:#18334d;color:white;box-shadow:0 10px 28px rgba(32,77,108,.18)}

.page-transition{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.96) 43%,rgba(221,248,255,.98) 52%,rgba(238,230,255,.96) 59%,transparent);transform:translateX(-120%) skewX(-10deg)}.page-transition.active{animation:pageSweep .64s cubic-bezier(.7,0,.2,1) forwards}@keyframes pageSweep{0%{opacity:0;transform:translateX(-120%) skewX(-10deg)}24%{opacity:1}100%{opacity:1;transform:translateX(120%) skewX(-10deg)}}

@media(max-width:900px){.nav-wrap{top:62%;width:min(94vw,760px)}.nav-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-item{width:100%;max-width:none}.portal-item:nth-child(1),.portal-item:nth-child(4){margin-top:0}.nav-arc{display:none}}
@media(max-width:760px){body{overflow:auto}.art-stage{height:auto;min-height:100svh;padding-bottom:max(34px,env(safe-area-inset-bottom))}.ribbon svg{width:190vw;height:66vh;top:34%;transform:translate(-50%,-50%);opacity:.72}.brand{position:relative;left:auto;top:auto;transform:none;width:auto;padding:14vh 20px 0}.brand-mark{margin-bottom:24px}.brand-title span{font-size:clamp(72px,22vw,104px)}.brand-title span:nth-child(1),.brand-title span:nth-child(2),.brand-title span:nth-child(3){transform:none}.brand-slogan{margin-top:22px;font-size:13px;line-height:1.8;letter-spacing:.18em;text-indent:.18em}.announcement-btn{top:max(14px,env(safe-area-inset-top));right:14px;padding:9px 13px;font-size:13px}.nav-wrap{position:relative;left:auto;top:auto;transform:none;width:min(90vw,430px);min-height:0;margin:10vh auto 0;padding:0 6px 68px}.nav-list{display:flex;flex-direction:column;padding:0;gap:10px}.portal-item{width:100%;max-width:none;flex:none;min-height:70px;border-radius:22px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 36px rgba(101,137,159,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.portal-item::before{display:none}.portal-item:nth-child(odd){translate:-3vw 0}.portal-item:nth-child(even){translate:3vw 0}.portal-title{font-size:17px}.portal-subtitle{font-size:11px}.portal-arrow{opacity:.58;transform:none}.scan-light{display:none}.light-dust i:nth-child(n+9){display:none}.corner-note{display:none}.corner-hint{position:relative;right:auto;bottom:auto;text-align:center;margin:-44px 0 20px;padding:0 24px;font-size:10px}.modal{padding:24px 20px;border-radius:28px}.modal h2{font-size:25px}}
@media(max-width:390px){.brand{padding-top:12vh}.nav-wrap{margin-top:8vh}.portal-item:nth-child(odd),.portal-item:nth-child(even){translate:0 0}}
@media(hover:none){.art-stage::after{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}svg animate{display:none}}
