@font-face{font-family:Fredoka;src:url(/fonts/fredoka-latin.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:ZCOOL KuaiLe;src:url(/fonts/zcool-subset.woff2)format("woff2");font-display:swap}:root{--navy:#06295a;--navy2:#0a3a78;--deep:#041b3d;--gold:#ffc83d;--gold2:#ff9a1f;--ink:#3a1d00;--white:#fff;--ratio:2.1641;--hh:max(100svh,560px);--H:max(var(--hh),calc(100vw / var(--ratio)));--u:calc(var(--H) / 390);--ff:"Fredoka","ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif}:root[data-lang=zh]{--ff:"ZCOOL KuaiLe","Fredoka","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--deep);color:var(--white);font:500 17px/1.5 var(--ff);margin:0;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.skip{z-index:100;background:var(--gold);color:var(--ink);border-radius:12px;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.hero{height:var(--hh);isolation:isolate;background:linear-gradient(#1b7fd0,#0d4f9c 55%,#0a3a78);position:relative;overflow:hidden}.stage{width:calc(var(--H) * var(--ratio));height:var(--H);pointer-events:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.layer{transform:translate3d(0,calc(var(--sy,0px) * var(--k,0)),0);will-change:transform;position:absolute;top:0;bottom:0;left:0;right:0}.layer img{width:100%;height:100%}.far{--k:.05}.farfish{--k:.07}.rays{--k:.03}.mid{--k:.12}.near{--k:.22}.far img{object-fit:cover}.sway{will-change:transform;animation:8s ease-in-out infinite alternate sway;position:absolute;top:0;bottom:0;left:0;right:0}.s-far{--a:4}.s-mid{--a:8;animation-direction:alternate-reverse}.s-near{--a:14;animation-delay:-4s}.s-rays{--a:14;opacity:.9;animation:8s ease-in-out infinite alternate sway,4s ease-in-out infinite alternate glow}@keyframes sway{0%{transform:translate3d(calc(var(--u) * var(--a) * -1),0,0)}to{transform:translate3d(calc(var(--u) * var(--a)),0,0)}}@keyframes glow{0%{opacity:.55}to{opacity:.95}}.rays img{object-fit:cover;object-position:top}.farfish{opacity:.9}.drift{width:200%;animation:32s linear infinite drift;position:absolute;top:0;bottom:0;left:0;right:0}.drift img{float:left;object-fit:contain;width:50%;height:auto}@keyframes drift{to{transform:translate(-50%)}}.fish{width:min(calc(var(--u) * 54),22vw);will-change:transform;animation:18s linear infinite swim;position:absolute;left:0}.fish img{animation:2.4s ease-in-out infinite alternate bob}.f1{top:56%}.f2{width:calc(var(--u) * 40);animation-duration:24s;animation-delay:-9s;top:44%}.f3{width:calc(var(--u) * 58);animation-duration:21s;animation-delay:-15s;top:66%}.f2 img{animation-delay:-1s}.f3 img{animation-delay:-.4s}@keyframes swim{0%{transform:translate(-12%)}to{transform:translate3d(calc(var(--H) * var(--ratio)),0,0)}}@keyframes bob{0%{transform:translateY(calc(var(--u) * -4))}to{transform:translateY(calc(var(--u) * 4))}}.stage.front{z-index:3}.chars{--ch:clamp(230px,43svh,430px);left:0;right:0;bottom:calc(var(--hh) * .015);z-index:2;pointer-events:none;transform:translate3d(0,calc(var(--sy,0px) * .16),0);justify-content:center;align-items:flex-end;display:flex;position:absolute}.char{height:var(--ch);width:calc(var(--ch) * .56);animation:4s ease-in-out infinite breathe;position:relative}.char.human{margin-right:calc(var(--ch) * -.16);z-index:1;animation-delay:-1.2s}.char.cat{z-index:2}.char canvas,.char .fallback{object-fit:contain;object-position:bottom;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.char canvas{opacity:0;transition:opacity .4s}.char.live canvas{opacity:1}.char.live .fallback{opacity:0}@keyframes breathe{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-2px)rotate(.6deg)}}.char.live{animation:none}.bubbles{--rise:-110svh;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.bubbles i{bottom:-40px;left:var(--x);width:var(--s);height:var(--s);opacity:0;animation:rise var(--t) linear var(--d) infinite;will-change:transform,opacity;background:radial-gradient(circle at 32% 28%,#ffffffd9 0 10%,#ffffff1f 26%,#a0e1ff38 70%);border:1px solid #ffffff8c;border-radius:50%;position:absolute}@keyframes rise{0%{opacity:0;transform:translate(0,0)}10%{opacity:.9}50%{transform:translate3d(calc(var(--w) * 1px),calc(var(--rise) * .5),0)}90%{opacity:.8}to{transform:translate3d(calc(var(--w) * -1px),var(--rise),0);opacity:0}}.b2{--rise:-620px}.lang{z-index:6;top:calc(12px + env(safe-area-inset-top));color:#fff;min-width:76px;min-height:44px;font:600 16px var(--ff);cursor:pointer;background:#041b3d9e;border:2px solid #ffffff8c;border-radius:999px;padding:0 18px;position:absolute;right:14px}.lang:hover{background:#041b3dd1}.hero-copy{z-index:5;left:0;right:0;top:calc(max(56px,7svh) + env(safe-area-inset-top));text-align:center;flex-direction:column;align-items:center;gap:10px;padding:0 20px;display:flex;position:absolute}.logo{width:min(78vw,480px);margin:0;animation:1.3s cubic-bezier(.2,1.4,.4,1) both logoin,4s ease-in-out 1.3s infinite float;position:relative}.logo img{filter:drop-shadow(0 6px 14px #03143c73);width:100%;height:auto}@keyframes logoin{0%{opacity:0;transform:translateY(-46px)scale(.55)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(-2.5px)}50%{transform:translateY(2.5px)}}.tag{letter-spacing:.02em;color:#fff;text-shadow:0 2px #0a3a78,0 0 10px #041b3dcc,0 3px 16px #041b3d99;margin:6px 0 0;font-size:clamp(20px,5.2vw,30px);font-weight:700}.soon{border:2px solid var(--gold);color:#fff;background:#041b3db3;border-radius:999px;margin:0;padding:6px 18px;font-size:clamp(16px,4.2vw,20px);font-weight:600}.cta{background:linear-gradient(#ffd75e,var(--gold2));min-height:52px;color:var(--ink);font:700 19px var(--ff);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 30px;text-decoration:none;transition:transform .12s;display:inline-flex;box-shadow:0 5px #b86400,0 10px 20px #03143c66}.cta:hover{transform:translateY(-2px)}.cta:active{transform:translateY(3px);box-shadow:0 2px #b86400}.hero-copy .cta{margin-top:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.04)}}.scroll{display:none}main{background:linear-gradient(#0a3a78,var(--deep) 60%)}.show,.register{max-width:1040px;margin:0 auto;padding:64px 20px;position:relative}h2{text-align:center;text-shadow:0 3px #041b3d99;margin:0 0 28px;font-size:clamp(28px,7vw,40px);line-height:1.15}h3{color:var(--gold);margin:0 0 4px;font-size:22px}.show-grid{align-items:center;gap:32px;display:grid}.carousel{width:min(100%,400px);margin:0 auto;position:relative}.track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:26px;display:flex;overflow-x:auto;box-shadow:0 14px 34px #00000073}.track::-webkit-scrollbar{display:none}.slide{scroll-snap-align:center;flex:0 0 100%;margin:0}.slide img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}.arrow{color:#fff;cursor:pointer;background:#041b3db3;border:2px solid #fff9;border-radius:50%;place-items:center;width:52px;height:52px;margin-top:-26px;display:grid;position:absolute;top:50%}.arrow.prev{left:-14px}.arrow.next{right:-14px}.arrow:hover{background:var(--navy2)}.dots{justify-content:center;gap:2px;margin-top:10px;display:flex}.dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:32px;padding:0;display:grid}.dots button:after{content:"";background:#fff6;border-radius:50%;width:12px;height:12px;transition:all .2s}.dots button[aria-current=true]:after{background:var(--gold);transform:scale(1.35)}.points{gap:18px;margin:0;padding:0;list-style:none;display:grid}.points li{background:#ffffff1a;border:1px solid #fff3;border-radius:22px;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.points p{color:#e8f3ff;margin:0}.ico{flex:none;font-size:34px;line-height:1.1}.register{padding-top:48px;padding-bottom:72px;overflow:hidden}.card{z-index:1;background:#0a3a78c7;border:2px solid #ffffff4d;border-radius:30px;max-width:520px;margin:0 auto;padding:30px 24px 28px;position:relative;box-shadow:0 18px 40px #0006}.sub{text-align:center;color:#e8f3ff;margin:-12px 0 20px}.fld{margin-bottom:14px;font-weight:600;display:block}.fld input[type=email],.fld input[type=text]{color:#0c2549;width:100%;height:52px;font:500 17px var(--ff);background:#fff;border:2px solid #0000;border-radius:16px;margin-top:6px;padding:0 16px;display:block}.fld input:focus{border-color:var(--gold);outline:none}.langpick{border:0;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:0;display:flex}.langpick legend{float:left;margin-bottom:0;margin-right:12px;padding:0;font-weight:600;line-height:44px}.langpick label{position:relative}.langpick input{opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.langpick span{cursor:pointer;border:2px solid #ffffff80;border-radius:999px;align-items:center;min-height:44px;padding:0 20px;display:inline-flex}.langpick input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--ink)}.langpick input:focus-visible+span{outline-offset:2px;outline:3px solid #fff}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.ts{justify-content:center;min-height:0;margin:6px 0 14px;display:flex}.submit{width:100%}.submit[disabled]{opacity:.7;cursor:progress}.msg{text-align:center;min-height:1.6em;margin:14px 0 0;font-weight:600}.msg.ok{color:#9dffcf}.msg.err{color:#ffd0c8}footer{padding:36px 20px calc(40px + env(safe-area-inset-bottom));text-align:center;background:var(--deep);color:#cfe3ff;justify-items:center;gap:10px;display:grid}footer .privacy{max-width:480px;margin:0;font-size:15px}footer .links{gap:10px;margin:0;font-size:16px;display:flex}footer a{text-underline-offset:3px}footer img{border-radius:10px}@media (min-width:860px){.show-grid{grid-template-columns:400px 1fr;gap:56px}.hero-copy{top:calc(max(40px,6svh))}.logo{width:min(40vw,520px)}}@media (min-width:860px) and (max-height:700px){.logo{width:min(30vw,380px)}.chars{--ch:clamp(200px,38svh,430px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.layer,.chars{transform:none!important}.bubbles{display:none}}
