@charset "UTF-8";
:root{--forest:#12251e;--forest-light:#1d342a;--lime:#d9f982;--paper:#f2f1e9;--muted:#9ba99b;--ink:#1a3025;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #84ae42;outline-offset:6px}button:disabled{cursor:wait}a{color:inherit}button{touch-action:manipulation}[hidden]{display:none!important}
.stage-page{background:var(--forest);color:var(--paper)}.stage{max-width:1920px;min-height:100svh;margin:auto;padding:38px 5.2vw 28px;display:flex;flex-direction:column;overflow:hidden;position:relative}.masthead{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-weight:650;font-size:20px;letter-spacing:2px}.brand-symbol{font-size:48px;line-height:1;color:var(--lime);font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:7px;color:#a9b5a8}.fullscreen{border:1px solid #425246;background:transparent;border-radius:50px;color:#d6ddce;padding:11px 17px;font-size:12px;display:flex;align-items:center;gap:9px}.fullscreen span{font-size:19px;line-height:1}.fullscreen:hover{background:#25392c}.stage-content{display:grid;grid-template-columns:1.07fr 1fr;gap:32px;align-items:center;flex:1;padding:45px 0 40px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;display:flex;align-items:center;gap:10px}.story .eyebrow{color:#becbb6}.tiny-star{color:var(--lime);font-size:21px}.story h1{font-size:clamp(64px,7.3vw,128px);line-height:1.15;font-weight:650;letter-spacing:-.055em;margin:23px 0 24px}.story h1>span{color:var(--lime)}.headline-dot{font-style:normal;padding-left:3px}.stage-description{color:#b3c0b0;font-size:16px;line-height:1.9;letter-spacing:1px;margin:0}.participation{display:flex;align-items:flex-end;gap:24px;margin-top:38px}.count-line{display:flex;gap:14px;align-items:baseline}.count{font-family:"Helvetica Neue",Arial,sans-serif;font-size:62px;letter-spacing:-3px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums}.count-unit{font-size:13px;color:#c3cdba}.live-state{display:flex;gap:7px;align-items:center;font-size:11px;letter-spacing:.5px;color:#a9bd98;padding-bottom:7px;white-space:nowrap}.status-dot{width:6px;height:6px;background:var(--lime);border-radius:100%;box-shadow:0 0 0 4px #d9f9820c}.live-state.offline{color:#dfc78f}.live-state.offline .status-dot{background:#dfc78f;box-shadow:none}.scan-composition{position:relative;display:flex;justify-content:center;align-items:center;padding:34px 16px;min-width:0}.orbit{position:absolute;width:125%;max-width:700px;aspect-ratio:1;pointer-events:none;color:#3b5140;stroke:currentColor;stroke-width:1}.orbit-point{fill:var(--lime);stroke:none}.scan-card{background:var(--paper);color:var(--ink);border-radius:5px;padding:25px 34px 0;width:364px;position:relative;transform:rotate(3deg);box-shadow:12px 16px 0 #0b1b15,0 30px 60px #06130e44}.scan-card>*{transform:rotate(0deg)}.scan-card-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1.5px;font-weight:650;margin-bottom:17px}.card-star{font-size:27px;color:#45643b}.qr-frame{width:100%;aspect-ratio:1;background:#fff;padding:9px;position:relative}.qr-frame img{width:100%;height:100%;display:block;image-rendering:pixelated}.qr-error{position:absolute;inset:0;background:white;display:grid;place-content:center;text-align:center;gap:20px;font-size:14px;line-height:1.8}.qr-error button{border:1px solid #a4b498;border-radius:6px;background:var(--paper);padding:8px}.scan-card h2{text-align:center;font-size:21px;letter-spacing:1px;margin:22px 0 8px;font-weight:650}.scan-card p{text-align:center;font-size:11px;color:#6c7966;letter-spacing:.7px;margin:0 0 22px}.card-divider{border-top:1px dashed #bac3ac;position:relative;margin:0 -34px}.card-divider:before,.card-divider:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--forest);position:absolute;top:-8px}.card-divider:before{left:-8px}.card-divider:after{right:-8px}.card-foot{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:10px;letter-spacing:2px}.card-foot>span:last-child{font-size:26px;line-height:1}.floating-note{position:absolute;bottom:2px;right:5%;font-size:9px;letter-spacing:2px;color:#809679;transform:rotate(3deg)}.stage-footer{border-top:1px solid #3a4a3b;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:18px;position:relative;z-index:2}.steps{display:flex;align-items:center;gap:20px;color:#c1ccba;font-size:11px;white-space:nowrap}.steps b{font-size:10px;letter-spacing:1px;font-weight:500;color:#829876;margin-right:8px}.steps i{width:27px;height:1px;background:#52634c}.footer-end{font-size:9px;letter-spacing:1.7px;color:#8da081}.preview-note{font-size:10px;color:#92a18c;text-align:right;line-height:1.8}.preview-note a{display:block;text-underline-offset:3px;color:#d5e2c5}
.ticket-page{background:var(--paper);color:var(--ink)}.phone-layout{max-width:460px;min-height:100svh;margin:0 auto;padding:30px 26px 20px;display:flex;flex-direction:column}.phone-header{display:flex;align-items:center;justify-content:space-between}.phone-brand{font-size:13px;font-weight:650;display:flex;align-items:center;gap:8px;letter-spacing:.6px}.phone-brand>span{font-size:27px;font-weight:400;line-height:1}.edition{font-size:7px;letter-spacing:1.1px;color:#63705c}.ticket-intro{margin:48px 0 28px}.ticket-intro .eyebrow{font-size:8px;letter-spacing:2px;color:#758268}.ticket-intro h1{font-size:36px;line-height:1.35;letter-spacing:-1.5px;margin:15px 0 0;font-weight:650}.ticket-intro h1>span{color:#8aa944}.ticket{background:var(--forest);color:var(--paper);border-radius:5px;box-shadow:0 12px 25px #20321d12;position:relative}.ticket-top{display:flex;justify-content:space-between;align-items:center;padding:25px 24px 0;font-size:12px;letter-spacing:1px;color:#c8d3bd}.ticket-badge{font-size:9px;border:1px solid #5a6c4a;border-radius:30px;padding:5px 9px;color:var(--lime);letter-spacing:.5px}.number-area{text-align:center;padding:27px 15px 32px}.ticket-number{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(80px,28vw,126px);font-weight:400;line-height:1.05;letter-spacing:-6px;color:var(--lime);font-variant-numeric:tabular-nums}.number-caption{font-size:8px;letter-spacing:3px;color:#9eaf8f;margin-top:14px}.ticket-tear{border-top:1px dashed #536449;position:relative}.ticket-tear:before,.ticket-tear:after{content:"";position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--paper)}.ticket-tear:before{left:-9px}.ticket-tear:after{right:-9px}.ticket-bottom{padding:24px}.ticket-state{display:flex;gap:12px;align-items:center}.ticket-check{width:25px;height:25px;flex-shrink:0;border-radius:50%;border:1px solid #718958;display:grid;place-items:center;font-size:13px;color:var(--lime)}.ticket-state strong{display:block;font-size:12px;font-weight:500;letter-spacing:.5px}.ticket-state p{font-size:10px;margin:6px 0 0;color:#a5b298;line-height:1.6}.keep-note{text-align:center;font-size:11px;color:#7d8773;margin:24px 0;line-height:1.9}.phone-footer{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:#77856c}.footer-flower{font-size:34px;color:#86a34c}.retry{background:var(--lime);border:0;color:var(--forest);padding:12px 18px;border-radius:4px;margin-top:18px;width:100%;font-size:12px}.retry:hover{background:#e8ffb1}
@media(min-width:1600px){.scan-card{width:430px;padding:30px 40px 0}.card-divider{margin:0 -40px}.scan-card h2{font-size:25px}.scan-card p{font-size:13px}.scan-card-top{font-size:14px}.card-foot{padding:19px 0}.stage-description{font-size:20px}.count{font-size:76px}.count-unit{font-size:16px}.live-state{font-size:13px}.stage-content{padding:65px 0}.story .eyebrow{font-size:12px}.steps{font-size:14px}.stage-footer{padding-top:28px}}
@media(max-width:900px){.stage{padding:24px 5vw}.stage-content{gap:12px}.story h1{font-size:70px}.scan-card{width:300px;padding:22px 27px 0}.card-divider{margin:0 -27px}.scan-card h2{font-size:18px}.scan-card p{font-size:10px}.scan-composition{padding:34px 5px}.story .eyebrow{font-size:8px;letter-spacing:1.2px}.stage-description{font-size:13px}.participation{gap:14px}.count{font-size:52px}.count-unit{font-size:11px}.live-state{font-size:9px}.steps{gap:10px}.steps i{width:15px}.preview-note{max-width:220px}}
@media(max-width:650px){.stage{padding:24px;min-height:100svh}.brand{font-size:16px}.brand-symbol{font-size:38px}.brand small{font-size:7px}.fullscreen{font-size:10px;padding:9px 12px}.stage-content{grid-template-columns:1fr;padding-top:36px;gap:0}.story h1{font-size:64px;margin-top:16px}.story h1 br{display:none}.story h1{font-size:clamp(36px,10vw,64px);letter-spacing:-2px}.stage-description br{display:none}.stage-description{font-size:12px}.story .eyebrow{font-size:8px}.participation{margin-top:25px}.count{font-size:43px}.scan-composition{padding:42px 12px 36px}.orbit{width:115%;max-width:420px}.scan-card{width:280px}.floating-note{right:0;font-size:7px;bottom:8px}.stage-footer{flex-direction:column;align-items:flex-start;padding-top:20px}.preview-note{text-align:left;max-width:none}.preview-note a{display:inline-block;margin-left:5px}.footer-end{display:none}.stage-content{padding-bottom:22px}}
@media(max-height:740px) and (min-width:901px){.stage{padding-top:24px;padding-bottom:20px}.stage-content{padding:15px 0 25px}.story h1{font-size:84px;margin-top:15px;margin-bottom:18px}.participation{margin-top:23px}.scan-card{width:310px;padding:19px 26px 0}.card-divider{margin:0 -26px}.scan-card h2{font-size:18px;margin-top:15px}.scan-card p{margin-bottom:16px;font-size:10px}.card-foot{padding:11px 0}.scan-composition{padding:28px 10px}.scan-card-top{margin-bottom:12px}.stage-footer{padding-top:18px}}
@media(max-height:720px){.phone-layout{padding-top:22px}.ticket-intro{margin-top:29px;margin-bottom:23px}.ticket-intro h1{font-size:32px}.number-area{padding-top:21px;padding-bottom:25px}.ticket-bottom{padding:21px 24px}.keep-note{margin:20px 0}.phone-footer{padding-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-height:740px) and (min-width:901px){.stage-content{padding-top:0;padding-bottom:12px}.scan-composition{padding-top:20px;padding-bottom:20px}.stage-footer{padding-top:13px}.stage{padding-bottom:16px}}
/* Brand and per-event identity */
.header-tools{display:flex;align-items:center;gap:26px}.beijing-clock{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.beijing-clock>span{display:block;color:#91a383;font-size:9px;letter-spacing:.8px;margin-bottom:5px}.beijing-clock strong{font:400 25px/1.1 "Helvetica Neue",Arial,sans-serif;letter-spacing:1px;color:inherit}.event-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#dce7ce;font-size:14px;letter-spacing:.7px;max-width:520px}.event-kicker #event-name{overflow-wrap:anywhere;max-width:calc(100% - 35px)}.event-state{font-size:9px;padding:4px 8px;border:1px solid #647b4d;border-radius:30px;color:var(--lime);white-space:nowrap}.brand-visit{text-decoration:none;color:var(--lime);white-space:nowrap}.brand-visit:hover{text-decoration:underline}.phone-event{line-height:1.8;overflow-wrap:anywhere;letter-spacing:1px!important}.phone-header .phone-brand{font-size:12px;letter-spacing:.1px}.phone-header .edition{font-size:8px;letter-spacing:0;color:#758268}.experience-link{display:flex;align-items:center;justify-content:space-between;background:#e2e9d4;border:1px solid #d5dfc3;padding:16px 18px;border-radius:5px;text-decoration:none;gap:20px}.experience-link small{display:block;color:#71865b;font-size:9px;letter-spacing:1px;margin-bottom:6px}.experience-link strong{font-size:13px;font-weight:600;letter-spacing:.5px}.experience-link>span:last-child{font-size:24px}.experience-link:hover{background:#d9e5c6}.ticket-intro{margin-top:36px}.phone-footer{font-size:8px;letter-spacing:.7px;padding-top:20px}.stage-footer .preview-note{max-width:250px}.stage-footer .brand-visit{font-size:10px;letter-spacing:.7px}
@media(max-width:900px){.header-tools{gap:15px}.beijing-clock strong{font-size:20px}.beijing-clock>span{font-size:8px}.event-kicker{font-size:12px}.brand{font-size:17px;letter-spacing:.3px}.brand small{font-size:7px;letter-spacing:1px}}
@media(max-width:650px){.masthead{align-items:flex-start}.header-tools{flex-direction:column;align-items:flex-end;gap:10px}.header-tools .fullscreen{display:none}.beijing-clock strong{font-size:19px}.brand-symbol{font-size:32px}.brand{gap:9px;font-size:15px}.brand small{font-size:6px;letter-spacing:.7px}.beijing-clock>span{font-size:7px}.stage-footer .preview-note{max-width:none}.stage-footer .brand-visit{display:block}.event-kicker{font-size:12px}.story h1{margin-top:20px}}
@media(max-height:740px) and (min-width:901px){.event-kicker{font-size:12px}.stage-footer .preview-note{font-size:9px;max-width:220px}.brand{font-size:19px;letter-spacing:.5px}.brand small{font-size:8px;letter-spacing:1.3px}}
@media(max-height:720px){.ticket-intro{margin-top:24px}.ticket-intro h1{font-size:30px}.experience-link{padding:12px 16px}.phone-layout .phone-footer{padding-top:16px}}
.join-invitation{text-align:center;padding:24px 24px 22px}.invitation-star{display:block;font-size:42px;line-height:1;color:var(--lime);margin-bottom:12px}.join-invitation h2{font-size:25px;line-height:1.45;font-weight:500;letter-spacing:-.6px;margin:0 0 23px}.join-invitation button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 19px;border:0;border-radius:4px;background:var(--lime);color:var(--forest);font-size:15px;font-weight:600}.join-invitation button>span:last-child{font-size:22px;line-height:1}.join-invitation button:hover:not(:disabled){background:#e8ffb1}.join-invitation button:disabled{opacity:.5;cursor:default}.join-invitation p{font-size:10px;letter-spacing:.5px;color:#9eaf8f;margin:13px 0 0}@media(max-height:720px){.join-invitation{padding-top:20px;padding-bottom:19px}.invitation-star{font-size:30px}.join-invitation h2{font-size:22px;margin-bottom:18px}}
.draw-display{flex:1;text-align:center;padding:42px 0 30px;min-width:0}.draw-event-label{color:#bccbb0;font-size:15px;letter-spacing:1px;overflow-wrap:anywhere;margin-bottom:30px}.draw-eyebrow{justify-content:center;color:#8fa47b;font-size:9px}.draw-display h1{font-size:clamp(32px,4.5vw,70px);font-weight:550;letter-spacing:-2px;margin:15px 0}.draw-display h1 span{color:var(--lime)}.draw-description{font-size:13px;color:#aebfa0;margin:0 0 30px}.winners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;max-width:1050px;margin:0 auto}.winner-tile{padding:24px 14px 19px;background:#21372a;border:1px solid #557044;border-radius:5px;position:relative;overflow:hidden}.winner-tile:after{content:'✳';position:absolute;right:10px;top:6px;color:#5e7b42;font-size:20px}.winner-tile strong{display:block;color:var(--lime);font-family:'Helvetica Neue',Arial,sans-serif;font-size:clamp(45px,5vw,78px);font-weight:400;letter-spacing:-2px;font-variant-numeric:tabular-nums}.winner-tile small{display:block;font-size:9px;letter-spacing:2px;color:#8ea77a;margin-top:12px}.winners-grid.single{max-width:380px}.winners-grid.single .winner-tile strong{font-size:126px}.winner-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:20px;font-size:11px;color:#afc298}.winner-pagination button{background:transparent;color:var(--lime);border:1px solid #536b40;padding:7px 13px;border-radius:4px}.winner-pagination button:disabled{opacity:.3}.draw-result-note{font-size:11px;color:#90a67d;margin-top:24px;line-height:1.8}.draw-reveal{padding:20px 0}.reveal-star{display:block;font-size:92px;color:var(--lime);animation:reveal-spin 4s ease-out both}.draw-reveal p{font-size:26px;letter-spacing:2px}.draw-reveal strong{font:400 100px/1.1 'Helvetica Neue',Arial,sans-serif;color:var(--lime)}.stage.is-drawn .steps{display:none}.stage.is-drawn .stage-footer{justify-content:space-between}.stage.is-drawn #preview-note a{display:none}@keyframes reveal-spin{from{transform:rotate(-120deg);opacity:.4}to{transform:rotate(60deg);opacity:1}}@media(prefers-reduced-motion:reduce){.reveal-star{animation:none}}@media(max-width:650px){.draw-display{padding-top:35px}.winners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.winners-grid.single{grid-template-columns:1fr}.winner-tile{padding:20px 8px}.winner-tile strong{font-size:49px}.draw-event-label{font-size:12px;margin-bottom:24px}.draw-description{font-size:11px;line-height:1.8}.draw-display h1{font-size:31px}.draw-result-note{font-size:10px}}@media(max-height:740px) and (min-width:901px){.draw-display{padding-top:22px;padding-bottom:20px}.draw-event-label{margin-bottom:18px}.draw-display h1{font-size:44px}.draw-description{margin-bottom:20px}.winner-tile{padding:15px 10px}.winner-tile strong{font-size:52px}.winners-grid{gap:12px}.draw-result-note{margin-top:16px}}

/* One saved result per host action; animation never invents candidate numbers. */
.latest-ticket{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(480px,90%);margin:0 auto;padding:10px 40px 25px;border:1px solid #6b844e;background:linear-gradient(130deg,#2e452e,#203527);border-radius:6px;overflow:hidden;box-shadow:0 16px 70px #07181055;animation:ticket-arrive .6s ease-out both}.latest-ticket:before{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(110deg,transparent,#deffab22,transparent);animation:ticket-shine 1.2s ease-out}.latest-ticket strong{position:relative;font-weight:400;font-family:'Helvetica Neue',Arial,sans-serif;color:var(--lime);font-variant-numeric:tabular-nums;letter-spacing:-6px;line-height:1.2}.latest-star{position:absolute;right:22px;top:12px;font-size:38px;color:#8ea66e55}.latest-caption{font-size:10px;letter-spacing:4px;color:#b7cc9c}.draw-progress{font-size:12px;color:#bdcdac;margin:20px 0}.winner-summary-label{font-size:10px;color:#8fa47b;letter-spacing:2px;margin-bottom:12px}.draw-display .winners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:850px}.draw-display .winner-tile{padding:5px 12px;border-color:#435a38;background:#1b3025;border-radius:3px}.draw-display .winner-tile:after{display:none}.draw-display .winner-tile strong{font-size:22px;letter-spacing:0}.draw-display{padding-top:22px}.draw-display h1{font-size:clamp(30px,3.5vw,56px)}.draw-event-label{margin-bottom:20px}.draw-description{margin-bottom:18px}.draw-result-note{margin-top:16px}.draw-reveal{min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center}.reveal-star{animation:reveal-orbit 2s ease-in-out infinite}.draw-reveal strong{animation:count-pulse 1s ease-out infinite;font-variant-numeric:tabular-nums}.draw-reveal p{color:#dce8cc}.draw-reveal:before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid #b7f26d22;box-shadow:0 0 90px #b7f26d0c;pointer-events:none}@keyframes reveal-orbit{50%{transform:rotate(90deg) scale(1.12);filter:drop-shadow(0 0 22px #c2f28466)}100%{transform:rotate(180deg)}}@keyframes count-pulse{from{opacity:.35;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes ticket-arrive{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:none}}@keyframes ticket-shine{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.latest-ticket,.latest-ticket:before,.reveal-star,.draw-reveal strong{animation:none}}@media(max-height:800px) and (min-width:901px){.draw-display{padding:15px 0}.draw-event-label{margin-bottom:10px}.draw-display h1{font-size:36px;margin:8px 0}.latest-ticket{padding:0 25px 16px;width:360px}.latest-ticket strong{font-size:115px!important}.draw-progress{margin:12px 0}.draw-reveal{min-height:350px}}@media(max-width:650px){.draw-reveal{min-height:380px}.draw-reveal:before{width:270px;height:270px}.latest-ticket strong{letter-spacing:-3px}.draw-description{line-height:1.8}.draw-display .winner-tile strong{font-size:18px}.draw-progress{line-height:1.7}}

.draw-network{color:#e6c37a;background:#e6c37a12;border:1px solid #e6c37a44;padding:10px;font-size:12px;border-radius:4px;max-width:550px;margin:0 auto 18px}
