:root{color:#172d4d;font-synthesis:none;text-rendering:optimizelegibility;--blue:#0d62ca;--deep-blue:#063d86;--light-blue:#eaf4ff;--orange:#ff7a33;--red:#da4e48;--muted:#718198;--border:#e5ebf2;--shadow:0 14px 44px #183f6f17;background:#f4f7fb;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#edf3f9;min-height:100%}body{background:#f7f9fc;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.page-shell{min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.page-content{width:min(100%,760px);margin:0 auto;padding:20px 18px 40px}.app-header{z-index:30;min-height:58px;padding:max(10px, env(safe-area-inset-top)) 18px 10px;color:#163252;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe8;border-bottom:1px solid #dce5f0cc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{letter-spacing:.02em;align-items:center;gap:10px;font-size:17px;font-weight:900;display:flex}.wordmark-mark{color:#fff;background:linear-gradient(145deg,#0873e7,#073d88);border-radius:12px 12px 12px 4px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 7px 16px #0d62ca38}.icon-button{color:#233d5d;background:#f0f5fa;border:0;border-radius:14px;place-items:center;width:38px;height:38px;padding:0;font-size:34px;font-weight:300;line-height:1;display:grid}.header-title{font-size:16px;position:absolute;left:50%;transform:translate(-50%)}.header-spacer{width:38px}.list-page{padding-top:16px}.list-hero{color:#fff;background:radial-gradient(circle at 87% 17%,#7fc9ff7a,#0000 27%),linear-gradient(135deg,#063f8f 0%,#0870dc 58%,#20a0ed 100%);border-radius:28px;align-items:center;min-height:232px;padding:30px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #05499e33}.list-hero:after{content:"";border:28px solid #ffffff1a;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-100px;right:-75px}.hero-copy{z-index:2;max-width:68%;position:relative}.eyebrow{color:#4d87c5;letter-spacing:.18em;font-size:10px;font-weight:900;display:block}.list-hero .eyebrow{color:#ffffffad}.list-hero h1{letter-spacing:-.05em;margin:12px 0 14px;font-size:clamp(34px,9vw,49px);line-height:1.08}.list-hero h1 em{color:#ffd58d;font-style:normal}.list-hero p{color:#ffffffc4;margin:0;font-size:13px;line-height:1.7}.hero-art{border:1px solid #fff3;border-radius:38px;place-items:center;width:118px;height:118px;display:grid;position:absolute;right:18px;transform:rotate(7deg);box-shadow:inset 0 0 0 9px #ffffff0f}.hero-art span,.hero-art b{font-size:43px;font-weight:900;position:absolute}.hero-art span{color:#fffffff2;top:14px;left:18px}.hero-art b{color:#ffd07e;bottom:12px;right:15px}.hero-art i{color:#ffffff61;font-size:25px;font-style:normal}.section-heading{justify-content:space-between;align-items:end;margin:32px 2px 17px;display:flex}.section-heading span{color:var(--blue);font-size:11px;font-weight:900}.section-heading h2{letter-spacing:-.03em;margin:5px 0 0;font-size:24px}.section-heading small{color:#8794a7;font-size:12px}.activity-grid{gap:18px;display:grid}.activity-card{box-shadow:var(--shadow);background:#fff;border:1px solid #eaf0f5;border-radius:23px;transition:transform .18s,box-shadow .18s;display:block;overflow:hidden}.activity-card:active{transform:scale(.985)}.card-cover{background:#dceeff;height:208px;position:relative;overflow:hidden}.card-cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-placeholder,.detail-cover-placeholder{color:#0c5fbd;background:radial-gradient(circle at 70% 30%,#fffc,#0000 24%),linear-gradient(145deg,#d8efff,#edf7ff);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.cover-placeholder span,.detail-cover-placeholder span{color:#fff;background:linear-gradient(145deg,#0b77df,#07438f);border-radius:26px 26px 26px 8px;place-items:center;width:72px;height:72px;font-size:36px;font-weight:900;display:grid;box-shadow:0 15px 32px #095bb93d}.cover-placeholder small,.detail-cover-placeholder small{letter-spacing:.18em;margin-top:13px;font-size:9px;font-weight:900}.phase-badge,.detail-phase{color:#0a62c4;background:#ffffffeb;border-radius:20px;padding:7px 12px;font-size:11px;font-weight:900;position:absolute;top:15px;right:15px;box-shadow:0 5px 16px #19395e1a}.phase-badge.registration_ended,.phase-badge.ended,.phase-badge.cancelled{color:#68758a}.card-body{padding:20px 20px 18px}.card-title-row{align-items:flex-start;gap:14px;display:flex}.card-title-row h2{flex:1;margin:0;font-size:20px;line-height:1.35}.card-title-row strong{color:var(--orange);white-space:nowrap;padding-top:2px;font-size:19px}.card-subtitle{color:var(--muted);margin:8px 0 15px;font-size:13px}.meta-line{color:#64758b;gap:10px;margin-top:9px;font-size:12px;line-height:1.5;display:flex}.meta-line>span:first-child{width:17px;color:var(--blue);text-align:center;font-weight:900}.seat-row{color:#7b899d;border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;margin-top:17px;padding-top:15px;font-size:11px;display:flex}.seat-row b{color:var(--blue)}.seat-row span:last-child{color:#386794;font-weight:800}.seat-row i{vertical-align:-1px;margin-left:4px;font-size:18px;font-style:normal}.surface-card{border:1px solid var(--border);background:#fff;border-radius:22px;padding:23px;box-shadow:0 10px 32px #183f6f11}.detail-page{padding:0 0 130px}.detail-page>section:not(.detail-cover){margin:16px 18px 0}.detail-cover{background:#dceeff;height:min(54vw,390px);min-height:260px;position:relative;overflow:hidden}.detail-cover>img{object-fit:cover;width:100%;height:100%}.detail-cover-placeholder span{width:86px;height:86px;font-size:43px}.detail-phase{top:auto;bottom:18px;right:18px}.detail-intro{z-index:2;align-items:flex-start;gap:18px;display:flex;position:relative;border-radius:25px!important;margin-top:-24px!important}.detail-intro>div{flex:1}.detail-intro h1{color:#183252;margin:8px 0 0;font-size:26px;line-height:1.3}.detail-intro p{color:var(--muted);margin:7px 0 0;font-size:13px}.detail-fee{color:var(--orange);white-space:nowrap;font-size:22px}.info-list>div{align-items:center;gap:14px;display:flex}.info-list>div+div{margin-top:19px}.info-icon{width:38px;height:38px;color:var(--blue);background:var(--light-blue);border-radius:13px;flex:0 0 38px;place-items:center;font-size:13px;font-weight:900;display:grid}.info-list p{margin:0}.info-list p small,.info-list p b{display:block}.info-list p small{color:#8996a8;margin-bottom:4px;font-size:10px}.info-list p b{color:#304862;font-size:13px;font-weight:700;line-height:1.5}.info-list .capacity-line{color:#6d7d91;border-top:1px solid #edf1f4;justify-content:space-between;margin-top:22px;padding-top:18px;font-size:12px}.capacity-line b{color:var(--blue);font-size:18px}.description-card h2{margin:7px 0 0;font-size:21px}.description-card p{color:#61738a;white-space:pre-wrap;margin:15px 0 0;font-size:14px;line-height:1.9}.notice-card{color:#356086;background:#eaf5ff;border:1px solid #d5eafa;border-radius:21px;gap:14px;padding:20px;display:flex}.notice-card>span{color:#fff;background:var(--blue);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.notice-card h2{margin:1px 0 6px;font-size:15px}.notice-card p{color:#587691;margin:0;font-size:12px;line-height:1.75}.sticky-action{z-index:25;padding:13px max(18px, calc((100% - 724px)/2)) calc(13px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top:1px solid #e1e8f0;align-items:center;gap:18px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 35px #1b375717}.sticky-action>div{min-width:92px}.sticky-action small,.sticky-action strong{display:block}.sticky-action small{color:#8693a5;font-size:10px}.sticky-action strong{color:var(--orange);margin-top:3px;font-size:20px}.sticky-action .primary-button{flex:1}.primary-button,.secondary-button,.refund-button{border-radius:16px;justify-content:center;align-items:center;min-height:48px;padding:0 23px;font-size:14px;font-weight:900;transition:transform .15s,opacity .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#0873df,#084aa2);border:0;box-shadow:0 10px 24px #0957b433}.primary-button:active,.secondary-button:active,.refund-button:active{transform:scale(.98)}.primary-button:disabled{color:#96a2b0;box-shadow:none;cursor:not-allowed;background:#e5eaf0}.secondary-button{color:#27557e;background:#eef5fb;border:1px solid #d9e7f3}.refund-button{color:#c34540;background:#fff;border:1px solid #e7b6b3}.button-link{width:100%}.register-page{padding-top:18px}.register-summary{align-items:center;gap:13px;padding:18px 5px 21px;display:flex}.summary-mark{color:#fff;background:linear-gradient(145deg,#0b78df,#07438f);border-radius:17px 17px 17px 6px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:grid}.register-summary>div{flex:1;min-width:0}.register-summary small{color:var(--blue);font-size:10px;font-weight:900}.register-summary h1{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:18px;overflow:hidden}.register-summary p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.register-summary>strong{color:var(--orange);font-size:18px}.registration-form h2{margin:7px 0 0;font-size:23px}.form-copy{color:var(--muted);margin:8px 0 21px;font-size:12px;line-height:1.6}.registration-form>label{margin-top:18px;display:block}.registration-form>label>span:first-child{color:#334b67;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.registration-form input[type=text],.registration-form input[type=tel],.registration-form input:not([type]){color:#203953;background:#f5f8fb;border:1px solid #e1e8ef;border-radius:15px;outline:none;width:100%;height:52px;padding:0 16px;font-size:15px;transition:border .15s,box-shadow .15s}.registration-form input:focus{border-color:#70a9e7;box-shadow:0 0 0 4px #126acf17}.form-error{color:#b33e39;background:#fff1f0;border:1px solid #f4d0ce;border-radius:13px;align-items:flex-start;gap:9px;margin-top:17px;padding:12px 13px;font-size:12px;line-height:1.55;display:flex}.form-error span{color:#fff;background:#d64d47;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:10px;font-weight:900;display:grid}.form-submit{width:100%;min-height:54px;margin-top:21px}.secure-tip{color:#8996a7;text-align:center;margin:14px 0 0;font-size:10px}.secure-tip span{color:#27a671;font-weight:900}.form-notes{margin:24px 5px 0}.form-notes h2{font-size:15px}.form-notes ul{color:#748398;padding-left:18px;font-size:11px;line-height:2}.result-page{max-width:600px;padding-top:28px}.result-hero{text-align:center}.result-symbol,.result-spinner{color:#fff;background:linear-gradient(145deg,#20b87b,#098e65);border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 20px;font-size:39px;font-weight:500;display:grid;box-shadow:0 15px 36px #0a99683b}.result-hero.pending .result-symbol,.result-spinner{color:#155ea9;box-shadow:none;background:#e7f3ff}.result-hero.danger .result-symbol{color:#cf4b45;box-shadow:none;background:#ffebea}.result-spinner span{border:3px solid #b8d5f2;border-top-color:#1264ba;border-radius:50%;width:30px;height:30px;animation:.75s linear infinite spin}.result-hero h1{color:#193653;margin:8px 0 9px;font-size:25px}.result-hero>p{color:#708096;max-width:440px;margin:0 auto;font-size:12px;line-height:1.8}.result-card{margin-top:27px}.result-card-title{justify-content:space-between;font-size:15px;font-weight:900;display:flex}.result-card-title strong{color:var(--orange);font-size:18px}.result-card dl{margin:17px 0 0}.result-card dl div{border-top:1px solid #edf1f5;grid-template-columns:78px 1fr;gap:12px;padding:10px 0;display:grid}.result-card dt{color:#8794a6;font-size:11px}.result-card dd{color:#334b65;text-align:right;word-break:break-all;margin:0;font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px!important}.result-actions{gap:11px;margin-top:20px;display:grid}.result-actions>button{width:100%}.result-error{margin:18px 0 0}.result-footnote{color:#919cad;text-align:center;margin:19px 12px 0;font-size:10px;line-height:1.7}.lost-session{text-align:center;margin-top:28px}.lost-session>span{color:#c14b45;background:#fff0ef;border-radius:12px;padding:6px 10px;font-size:10px;font-weight:900;display:inline-block}.lost-session h2{margin:14px 0 8px;font-size:20px}.lost-session p{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.8}.lost-session .primary-button{width:100%}.state-block{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:45px 20px;display:flex}.state-icon{width:68px;height:68px;color:var(--blue);background:var(--light-blue);border-radius:24px 24px 24px 8px;place-items:center;font-size:28px;font-weight:900;display:grid}.state-block h2{margin:18px 0 0;font-size:19px}.state-block p{max-width:390px;color:var(--muted);margin:8px 0 18px;font-size:12px;line-height:1.7}.spinner{border:4px solid #d8e7f5;border-top-color:var(--blue);border-radius:50%;width:43px;height:43px;animation:.75s linear infinite spin}.site-footer{color:#98a3b1;text-align:center;padding:4px 20px 32px;font-size:10px}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=760px){body{background:linear-gradient(90deg,#edf3f9 0,#f8fafc 24% 76%,#edf3f9 100%)}.app-header{padding-left:max(24px,50% - 380px);padding-right:max(24px,50% - 380px)}.page-content{padding-left:0;padding-right:0}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-cover{height:190px}.detail-shell,.form-shell,.result-shell{background:#f7f9fc;width:760px;min-height:100vh;margin:0 auto;box-shadow:0 0 70px #233e5d14}.detail-cover{border-radius:0 0 28px 28px}}@media (width<=390px){.list-hero{min-height:218px;padding:25px 20px}.hero-art{right:8px;transform:scale(.84)rotate(7deg)}.hero-copy{max-width:70%}.detail-intro h1{font-size:23px}.detail-fee{font-size:19px}.sticky-action{gap:12px}.sticky-action .primary-button{padding:0 15px;font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
