:root{--navy: #16356b;--navy-deep: #102a58;--ink: #1c2b40;--muted: #8b97a8;--line: #e6ebf2;--card: #ffffff;--field: #f3f6fa;--danger: #d64545;--blue: #1b4f9e;--gold: #e7d3a4;--hero: #001e44;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;background:#d5deea}button,input{font-family:inherit}#app{width:min(430px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;background:#013275;box-shadow:0 0 48px #10244824}.page{min-height:100vh;min-height:100dvh}.page-bg{position:fixed;z-index:0;top:0;left:50%;width:min(430px,100%);height:100vh;height:100dvh;transform:translate(-50%);object-fit:cover;object-position:center top;pointer-events:none;-webkit-user-select:none;user-select:none}.hero{position:relative;z-index:1}.hero-top{position:relative;z-index:1;padding:18px 18px 30px;color:#fff;background:linear-gradient(180deg,#030e28c7,#030e28d9 42%,#030e289e 78%,#030e2800)}.logos{display:flex;align-items:center;justify-content:space-between;gap:10px}.logo{display:block;width:auto;object-fit:contain}.logo.partner{display:none;height:36px}.logo.boao{height:42px}.hero h1{margin:18px 0 0;text-align:center;font-family:Songti SC,"Noto Serif SC",STSong,SimSun,serif;font-weight:700;letter-spacing:.5px;line-height:1.35;filter:drop-shadow(0 2px 8px rgba(0,20,48,.35))}.hero h1 .title-main,.hero h1 .title-sub{display:block;background:linear-gradient(180deg,#fff8ea,#f4e0b6 46%,#e4c17a);-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1 .title-main{font-size:clamp(24px,6.5vw,30px)}.hero h1 .title-sub{margin-top:4px;font-size:clamp(17px,4.6vw,21px);font-weight:600;letter-spacing:1px}.slogan{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 0;font-size:15px;letter-spacing:1px}.slogan i{width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,#f3e2bc,#c6a56a)}.organizer{margin:12px 0 0;font-size:13px;line-height:1.55;letter-spacing:.3px;color:#ffffffeb;text-shadow:0 1px 8px rgba(0,16,40,.45)}.meta{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.meta p{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 8px rgba(0,16,40,.45)}.meta-ico{width:22px;height:22px;border:1px solid rgba(255,255,255,.72);border-radius:5px;display:grid;place-items:center;flex:none}.meta-ico svg{width:14px;height:14px}.card{position:relative;z-index:2;margin:0 14px;padding:10px 16px 18px;background:var(--card);border-radius:20px;box-shadow:0 12px 32px #122a5614}.card h2{margin:0;text-align:center;color:var(--navy);font-size:22px;font-weight:700;letter-spacing:1px}.card>.gold-line{margin-top:8px}.lead{margin:10px 6px 2px;text-align:center;color:#8b97a8;font-size:13px;line-height:1.65}.submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.submit:disabled:active{transform:none}.field{margin-top:14px}.agree-field{margin-top:28px}label{display:block}.label{display:block;width:auto;margin:0 0 8px;color:var(--navy);font-size:14px;font-weight:700;line-height:1.3}.label em{margin-left:3px;color:#e23b3b;font-style:normal}.optional{font-weight:700}.control{display:flex;align-items:center;gap:10px;width:100%;min-width:0;height:48px;padding:0 14px;background:#f4f7fb;border-radius:12px;border:1px solid transparent;color:#9aa6b5}.control svg{width:20px;height:20px;flex:none}.control input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:16px;color:var(--ink)}.control input::placeholder{color:#b7c0cb}.control:focus-within{background:#fff;border-color:#c5d7f2;box-shadow:0 0 0 3px #1b4f9e14}.field.bad .control{box-shadow:0 0 0 1.5px #d6454573;border-radius:12px}.field small{display:block;margin:6px 2px 0;color:var(--danger);font-size:12px}fieldset.field{border:0;padding:0;min-width:0}.tick{width:18px;height:18px;border-radius:4px;border:1.5px solid #c5ced8;background:#fff;display:grid;place-items:center;flex:none}.tick svg{width:14px;height:14px}.tick.on{background:var(--blue);border-color:var(--blue)}.genders,.modes,.levels{display:flex;flex-direction:row;align-items:center;gap:6px}.genders,.modes{justify-content:flex-start;gap:28px}.levels{justify-content:space-between}.level{display:flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:#1e3354;font-size:14px;line-height:1.2;white-space:nowrap;text-align:left;cursor:pointer}.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #c8d0da;display:grid;place-items:center;flex:none;background:#fff}.level.on .radio{border-color:var(--blue)}.level.on .radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue)}.agree{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.agree input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.agree-copy{color:#667384;font-size:13px;line-height:1.65}.link{padding:0;border:0;background:none;color:var(--blue);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.submit{width:100%;height:48px;margin-top:16px;border:0;border-radius:24px;background:linear-gradient(180deg,#1d4d98,#123472);color:#fff;font-size:16px;font-weight:650;letter-spacing:1px;box-shadow:0 8px 18px #10307038;cursor:pointer}.submit:active{transform:translateY(1px)}.card+.page,.page{padding-bottom:0}form.card,.success{margin-bottom:0}.page-foot{position:relative;z-index:1;padding:18px 16px 28px;text-align:center;color:#ffffffeb;text-shadow:0 1px 8px rgba(0,20,50,.35)}.page-foot p{margin:0;font-size:13px;letter-spacing:1px}.page-foot p+p{margin-top:6px;font-size:12px;letter-spacing:2px;color:#f3e2b8}.success{margin-bottom:0;padding:36px 22px 32px;text-align:center}.check{width:74px;height:74px;margin:4px auto 18px;border-radius:50%;background:#e7f1fb;color:#1a4488;display:grid;place-items:center}.check svg{width:42px;height:42px}.gold-line{display:block;width:28px;height:2px;margin:12px auto 0;border-radius:2px;background:#d4b07a}.thanks{margin:18px 0 0;color:#5d6c82;font-size:14px;line-height:1.7}.detail{margin:14px 0 0;color:#667588;font-size:14px;line-height:1.85}.back{margin-top:22px;height:40px;padding:0 28px;border-radius:20px;border:1.5px solid #1a3f7a;background:#fff;color:#1a3f7a;font-size:15px;font-weight:600;cursor:pointer}.venue{position:relative;z-index:1;margin-top:18px;background:#041432;line-height:0}.venue img{width:100%;display:block}.venue-slogan{position:absolute;left:28px;bottom:86px;margin:0;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:26px;letter-spacing:2px;color:#f3e2b8;line-height:1;transform:rotate(-8deg);text-shadow:0 8px 18px rgba(0,0,0,.35)}.venue-waves{position:absolute;left:0;right:0;bottom:10px;width:100%;height:72px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0812287a;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(430px,100%);max-height:min(78vh,640px);overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h3{margin:0;color:var(--navy);font-size:17px}.close{width:32px;height:32px;border:0;border-radius:50%;background:#f2f4f8;color:#526072;font-size:22px;line-height:1;cursor:pointer}.sheet-body{margin-top:8px;color:#4d5b6e;font-size:14px;line-height:1.75}.sheet-body h4{margin:14px 0 4px;color:var(--navy);font-size:14px}.sheet-body p{margin:0}.sheet-ok{width:100%;height:46px;margin-top:16px;border:0;border-radius:23px;background:linear-gradient(180deg,#1d4d98,#123472);color:#fff;font-size:16px;font-weight:650;cursor:pointer}.alert-mask{align-items:center;padding:24px}.alert-box{width:min(320px,100%);padding:22px 20px 18px;background:#fff;border-radius:16px;box-shadow:0 16px 40px #08183838;text-align:center}.alert-box h3{margin:0;color:var(--navy);font-size:17px;font-weight:700}.alert-msg{margin:14px 0 0;color:#4d5b6e;font-size:14px;line-height:1.7;word-break:break-word}.alert-ok{width:100%;height:44px;margin-top:18px;border:0;border-radius:22px;background:linear-gradient(180deg,#1d4d98,#123472);color:#fff;font-size:15px;font-weight:650;cursor:pointer}@media(min-width:480px){body{padding:24px 0}#app{min-height:calc(100vh - 48px);border-radius:28px;overflow:hidden}.page-bg{top:24px;height:calc(100vh - 48px);height:calc(100dvh - 48px);border-radius:28px}.mask{align-items:center}.sheet{border-radius:18px;margin-bottom:24px}}
