:root{--navy:#072b58;--blue:#0b67c2;--sky:#eaf7ff;--pink:#e95d93;--gold:#f4b83f;--orange:#ef7c2f;--ink:#15304d;--muted:#63758a;--line:#d7e3ef;--card:#fff;--shadow:0 20px 50px rgba(7,43,88,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Noto Sans TC","PingFang HK","Microsoft JhengHei",sans-serif;color:var(--ink);background:#f7fbff;line-height:1.6}button,input,select,textarea{font:inherit}.event-shell{width:min(1180px,calc(100% - 32px));margin:auto}.preview-banner{position:sticky;top:0;z-index:50;padding:10px 16px;text-align:center;font-weight:800;color:#754c00;background:#fff1bf;border-bottom:1px solid #f0d37a}.event-hero{padding:56px 0 70px;background:radial-gradient(circle at 80% 20%,rgba(233,93,147,.18),transparent 26%),radial-gradient(circle at 12% 85%,rgba(10,123,214,.28),transparent 34%),linear-gradient(145deg,#072b58 0%,#0a5fae 55%,#66c7ef 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr)minmax(320px,.7fr);gap:56px;align-items:center}.hero-copy{color:#fff}.eyebrow,.section-heading>span{display:inline-flex;padding:7px 12px;border-radius:999px;font-size:.82rem;font-weight:900;letter-spacing:.08em}.eyebrow{color:#082d57;background:#ffda66}.hero-copy h1{margin:18px 0 14px;font-size:clamp(2.6rem,6vw,5rem);line-height:1.05;letter-spacing:-.04em}.hero-copy h1 span{color:#ffe193}.hero-lead{max-width:680px;font-size:1.15rem;color:#e7f5ff}.hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.hero-facts div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}.hero-facts dt{font-size:.78rem;color:#bfe6ff}.hero-facts dd{margin:2px 0 0;font-weight:800}.price-pills{display:flex;flex-wrap:wrap;gap:10px}.price-pills strong{padding:10px 14px;border-radius:12px;color:#163253;background:#fff}.hero-actions,.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;border:0;border-radius:13px;font-weight:900;text-decoration:none;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:linear-gradient(135deg,#f18b2f,#e04c65);box-shadow:0 12px 25px rgba(225,77,102,.3)}.button.secondary{color:var(--navy);background:#fff;border:1px solid var(--line)}.poster-card{padding:0;border:0;border-radius:26px;background:#fff;box-shadow:0 26px 70px rgba(0,0,0,.3);overflow:hidden;cursor:zoom-in;transform:rotate(1deg);transition:.25s ease}.poster-card:hover{transform:rotate(0) translateY(-5px)}.poster-card img{display:block;width:100%;height:auto}.section{padding:72px 0}.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.highlight-grid article,.ticket-card,.prize-grid article,.registration-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.highlight-grid article{padding:24px;border-radius:20px}.highlight-grid span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:900;color:#fff;background:var(--blue)}.highlight-grid h2{margin:14px 0 6px;font-size:1.05rem}.highlight-grid p{margin:0;color:var(--muted)}.prizes{background:#eef7ff}.section-heading{text-align:center;max-width:760px;margin:0 auto 30px}.section-heading>span{color:#0a5fae;background:#dff2ff}.section-heading h2{margin:10px 0 6px;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.section-heading p{margin:0;color:var(--muted)}.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.prize-grid article{padding:28px;border-radius:22px;text-align:center}.prize-grid small{display:block;font-weight:900;color:var(--muted)}.prize-grid strong{display:block;font-size:2rem}.prize-grid .gold{border-top:6px solid #e8af22}.prize-grid .silver{border-top:6px solid #aeb8c4}.prize-grid .bronze{border-top:6px solid #bd6d34}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ticket-card{padding:28px;border-radius:24px}.ticket-card.featured{border:2px solid #e96d57;transform:translateY(-6px)}.ticket-card>div{display:flex;justify-content:space-between;align-items:end;gap:12px}.ticket-card>div span{font-size:1.15rem;font-weight:900}.ticket-card>div strong{font-size:2rem;color:var(--navy)}.ticket-card small{font-size:.9rem}.ticket-card ul,.rule-summary{padding-left:1.3rem}.ticket-card li,.rule-summary li{margin:.55rem 0}.rules-section{background:#072b58;color:#fff}.rules-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.rules-section .section-heading{text-align:left;margin-left:0}.rules-section .section-heading>span{color:#fff;background:rgba(255,255,255,.14)}.rule-summary{color:#d8edff}.accordion{display:grid;gap:10px}.accordion details{border-radius:14px;background:#fff;color:var(--ink);overflow:hidden}.accordion summary{padding:16px 18px;font-weight:900;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"＋";float:right}.accordion details[open] summary:after{content:"−"}.accordion details div{padding:0 18px 16px;color:var(--muted)}.registration-section{background:linear-gradient(180deg,#f7fbff,#e7f5ff)}.registration-card{padding:32px;border-radius:28px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0;list-style:none}.steps li{padding:12px;border-radius:12px;text-align:center;font-weight:800;color:var(--muted);background:#eff4f8}.steps li.active{color:#fff;background:var(--blue)}.form-step{display:none;padding:18px 0}.form-step.active{display:block}.field-grid,.quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid label,.quantity-grid label,.upload-box{display:grid;gap:7px;font-weight:800}.field-grid input,.field-grid select,.quantity-grid input,.participant-card input,.participant-card select,.upload-box{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd9e6;border-radius:12px;background:#fff}.quantity-grid small{display:block;color:var(--muted)}.total-box,.payment-note,.summary-box{display:flex;justify-content:space-between;gap:18px;margin-top:18px;padding:18px;border-radius:16px;background:#edf7ff}.total-box strong{display:block;font-size:1.35rem}.participants{display:grid;gap:14px;margin-top:20px}.participant-card{padding:18px;border-radius:16px;background:#f5f9fc;border:1px solid var(--line)}.participant-card h4{margin:0 0 12px}.participant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.minor-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.upload-box{margin-top:18px;border-style:dashed;cursor:pointer}.upload-box input{padding:0;border:0;min-height:auto}.file-preview{margin-top:12px;padding:14px;border-radius:12px;background:#f3f8fb}.agreements{display:grid;gap:10px}.agreements label{display:flex;gap:10px;align-items:flex-start}.form-message{min-height:24px;font-weight:800;color:#bf3a3a}.success-panel{text-align:center;padding:30px}.success-panel>span{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:2rem;color:#fff;background:#21a366}.preview-warning{padding:12px;border-radius:12px;background:#fff1bf;color:#754c00}.poster-lightbox{width:min(94vw,900px);max-height:94vh;padding:0;border:0;border-radius:18px;background:transparent;overflow:auto}.poster-lightbox::backdrop{background:rgba(3,16,31,.88)}.poster-lightbox img{display:block;width:100%;height:auto;border-radius:18px}.lightbox-close{position:fixed;right:18px;top:18px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;font-size:1.8rem;cursor:pointer}.poster-lightbox[open]{display:block}footer{padding:28px 0;background:#061f3d;color:#b9d5ec}footer .event-shell{display:flex;justify-content:space-between}.reveal{animation:fadeUp .65s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:900px){.hero-grid,.rules-layout{grid-template-columns:1fr}.poster-card{width:min(560px,100%);margin:auto}.highlight-grid{grid-template-columns:1fr 1fr}.hero-copy{text-align:center}.hero-facts{grid-template-columns:1fr 1fr}.hero-actions,.price-pills{justify-content:center}.rules-section .section-heading{text-align:center;margin:auto auto 30px}}@media(max-width:680px){.event-shell{width:min(100% - 22px,1180px)}.preview-banner{font-size:.86rem}.event-hero{padding:36px 0 46px}.hero-copy h1{font-size:2.55rem}.hero-lead{font-size:1rem}.hero-facts,.highlight-grid,.prize-grid,.ticket-grid,.field-grid,.quantity-grid,.participant-grid,.minor-fields{grid-template-columns:1fr}.ticket-card.featured{transform:none}.section{padding:50px 0}.registration-card{padding:20px 15px}.steps{grid-template-columns:1fr 1fr}.steps li{font-size:.84rem}.total-box,.payment-note,.summary-box{flex-direction:column}.hero-actions .button,.form-actions .button{flex:1 1 100%}footer .event-shell{display:block;text-align:center}.poster-lightbox{width:100vw;max-height:100dvh;border-radius:0}.poster-lightbox img{border-radius:0}}.return-to-purchase{position:fixed;top:56px;left:18px;z-index:45;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid rgba(255,255,255,.52);border-radius:999px;color:#fff;background:rgba(5,38,76,.78);box-shadow:0 10px 28px rgba(3,24,50,.25);backdrop-filter:blur(12px);font-weight:900;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.return-to-purchase:hover{transform:translateY(-2px);background:#082f5d;box-shadow:0 14px 32px rgba(3,24,50,.32)}.return-to-purchase span:first-child{font-size:1.2rem;line-height:1}.back-to-top{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.62);border-radius:50%;color:#fff;background:linear-gradient(145deg,#0b67c2,#072b58);box-shadow:0 12px 28px rgba(7,43,88,.32);font-size:1.45rem;font-weight:900;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px) scale(.92);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,box-shadow .2s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(7,43,88,.4)}.back-to-top:focus-visible,.return-to-purchase:focus-visible{outline:3px solid #ffda66;outline-offset:3px}@media(max-width:680px){.return-to-purchase{top:52px;left:10px;min-height:38px;padding:7px 11px;font-size:.84rem}.back-to-top{right:12px;bottom:12px;width:44px;height:44px}}