:root{color-scheme:light;--ink:#192f29;--green:#174f43;--muted:#66756e;--paper:#f5f7f3;--line:#dde4dc;--lime:#def193;--white:#fff;--red:#b33e32;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #709c33;outline-offset:4px}button{transition:background .16s,transform .16s}button:not(:disabled):active{transform:translateY(1px)}.header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5vw;background:#fff;border-bottom:1px solid var(--line)}.brand img{display:block;width:190px;height:60px;object-fit:contain}.header nav{display:flex;gap:32px;align-self:stretch;align-items:center}.header nav a{height:100%;display:flex;align-items:center;font-size:14px;color:var(--muted);border-bottom:3px solid transparent;padding-top:3px}.header nav a.selected{color:var(--green);border-bottom-color:var(--green);font-weight:600}.account{background:#edf3ed;color:var(--green);padding:9px 15px;border-radius:7px;white-space:nowrap;font-size:13px}.demo-strip{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:19px 24px 0;color:var(--muted);font-size:12px}.pill{background:#e9edde;padding:3px 9px;border-radius:4px;letter-spacing:.05em;color:#52603a;font-size:11px}.demo-strip button{margin-left:auto;color:var(--muted);background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:4px}main{max-width:1240px;margin:0 auto;padding:30px 24px 55px;min-height:calc(100dvh - 230px)}h1,h2,h3,p{margin:0}h1{font-size:46px;line-height:1.2;letter-spacing:-.035em;font-weight:650}h2{font-size:23px;font-weight:600;letter-spacing:-.02em}h3{font-size:17px;font-weight:600}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--green);margin-bottom:18px}.hero{display:grid;grid-template-columns: .85fr 1.15fr;gap:60px;align-items:start}.hero-intro{padding-top:24px}.hero h1{font-size:clamp(42px,4.5vw,63px);line-height:1.22}.hero h1 em{font-style:normal;color:var(--green);display:block}.lead{color:var(--muted);line-height:1.9;margin-top:20px;font-size:15px;max-width:340px}.day-badge{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:7px 13px;background:#e5ece4;border-radius:5px;color:var(--green);font-size:12px}.day-badge strong{font-size:15px}.entry-box{margin-top:35px;border-top:1px solid #d5ddd4;padding-top:23px}.entry-box .row{margin-bottom:13px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.primary{width:100%;background:var(--green);color:white;border-radius:9px;padding:16px 20px;font-size:17px;font-weight:600;letter-spacing:.04em}.primary:hover{background:#0b3b30}.primary.light{background:var(--lime);color:var(--green)}.secondary{padding:11px 17px;border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--green);font-size:14px}.secondary:hover{background:#f2f6ef}.small{font-size:12px}.entry-note{font-size:12px;color:var(--muted);margin-top:12px}.steps{display:flex;gap:14px;margin-top:30px;font-size:12px;color:var(--muted)}.step{display:flex;align-items:center;gap:7px}.step b{border:1px solid #c9d4c7;border-radius:50%;font-size:10px;display:grid;place-items:center;width:20px;height:20px;font-weight:500}.prize-heading{margin-bottom:14px}.prize-heading h2{font-size:16px}.prize-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.prize{background:#fff;border:1px solid #e2e7df;border-radius:13px;overflow:hidden;position:relative;padding:19px 20px 17px}.prize:first-child{background:#eef3df;border-color:#dbe5c4}.prize-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#405b32}.prize-top .quota{color:var(--muted);font-size:11px;font-weight:400}.product{height:174px;display:flex;align-items:center;justify-content:center;margin:6px 0 10px}.product img{max-width:95%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.prize h3{font-size:17px}.prize .sub{color:var(--muted);font-size:11px;margin-top:2px}.photo-note{font-size:10px;color:var(--muted);margin-top:12px}.page-title{margin:12px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.page-title h1{font-size:34px}.page-title p{color:var(--muted);margin-top:8px}.panel{border:1px solid var(--line);border-radius:12px;background:white;padding:26px}.staff-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.checklist{display:grid;gap:17px;margin:24px 0}.check{display:flex;gap:13px;align-items:flex-start;background:#f7f9f5;padding:18px;border-radius:8px;cursor:pointer}.check input{width:20px;height:20px;margin-top:3px;accent-color:var(--green);flex-shrink:0}.check strong{display:block;font-size:15px}.check span{font-size:12px;color:var(--muted)}.explain{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:17px;color:var(--muted);font-size:13px}.explain b{color:var(--ink);display:block;margin-bottom:3px}.status{font-size:12px;color:var(--green);padding:4px 10px;border-radius:5px;background:#eaf3e8;white-space:nowrap}.status.paused{background:#fff0e8;color:#a25725}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.stat .number{font-size:31px;line-height:1.3;margin-top:8px;font-variant-numeric:tabular-nums}.stat .caption{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:6px;background:#e6ece3;padding:5px;border-radius:8px}.tabs button{background:transparent;padding:9px 19px;border-radius:5px;font-size:13px;color:var(--muted)}.tabs button.selected{background:white;color:var(--green);box-shadow:0 1px 4px #0001;font-weight:600}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:22px}.toolbar .push{margin-left:auto}.toolbar select{min-width:190px}.table-wrap{overflow-x:auto;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;text-align:left}th{font-size:11px;font-weight:500;color:var(--muted);background:#f7f9f5;padding:11px 10px}td{padding:13px 10px;border-bottom:1px solid #edf0e9}table input{max-width:100%;width:96px}table input.name{min-width:130px;width:180px}input,select{border:1px solid #cbd6c9;background:#fff;color:var(--ink);border-radius:6px;padding:9px 10px;min-height:41px}input:focus,select:focus{border-color:var(--green)}.config-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.config-bottom .primary{width:auto;padding:12px 22px;font-size:14px}.error{font-size:13px;color:var(--red);margin:12px 0}.records-panel{margin-top:24px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.record-tag{font-size:10px;background:#edf1e6;border-radius:3px;padding:3px 6px;color:#5c684c}.record-tag.forced{background:#fff1de;color:#955c20}.text-button{background:transparent;color:var(--green);font-size:12px;padding:5px}.danger{color:var(--red)}.admin-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:25px}.admin-tools label{font-size:12px;color:var(--muted)}.admin-tools select{min-width:190px}.login-panel{max-width:560px;margin:50px auto;text-align:center;padding:38px}.login-panel .primary{margin-top:25px}.login-panel p{margin-top:13px}.result-panel{padding:38px;background:var(--green);color:#fff;border-radius:14px;margin-top:28px;text-align:center;animation:reveal .4s ease-out}.result-panel h2{font-size:31px;margin-top:8px}.result-panel .result-title{font-size:13px;color:#d7e6ce}.result-panel .result-image{height:180px;width:100%;object-fit:contain;margin:14px 0;background:#fff;border-radius:9px;padding:12px}.result-panel .result-code{font-size:11px;color:#d2e1d8;margin:14px 0;word-break:break-all}.result-panel .primary{font-size:14px;margin-top:10px}.result-panel.thanks{background:#e5eddc;color:var(--green)}.result-panel.thanks .result-title,.result-panel.thanks .result-code{color:#53694d}.result-panel .secondary{width:100%;margin-top:10px}.reveal-box{background:var(--green);color:white;text-align:center;border-radius:12px;padding:45px 20px;margin-top:28px}.spinner{height:28px;width:28px;border:2px solid #ffffff40;border-top-color:var(--lime);border-radius:50%;margin:0 auto 15px;animation:spin .7s linear infinite}.fan{width:135px;height:140px;position:relative}.fan-head{width:126px;height:103px;border-radius:50% 50% 42% 42%;background:#d7eab8;border:3px solid #c1d69f;position:absolute;top:0;left:5px;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:4px 6px 14px #173e1e12}.fan-head img{width:104px;height:40px;object-fit:contain;mix-blend-mode:multiply}.fan-handle{position:absolute;left:59px;top:90px;height:50px;width:19px;border-radius:0 0 6px 6px;background:#c1d69f}footer{max-width:1240px;padding:22px 24px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}dialog{width:min(92vw,480px);border:1px solid var(--line);border-radius:14px;padding:34px;color:var(--ink);box-shadow:0 20px 80px #16322426}dialog::backdrop{background:#182c2566;backdrop-filter:blur(3px)}dialog h2{margin-bottom:12px}.close{position:absolute;right:13px;top:9px;background:transparent;color:var(--muted);font-size:25px;line-height:1;padding:7px}.dialog-actions{display:flex;gap:10px;margin-top:24px}.dialog-actions button{flex:1;font-size:14px}.notice{font-size:12px;background:#f3f6ef;padding:13px;border-radius:7px;margin-top:17px;color:var(--muted)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;background:#17392e;color:#fff;padding:12px 22px;border-radius:8px;font-size:13px;z-index:5;display:none;box-shadow:0 6px 20px #0002}.qr-block{display:flex;gap:22px;align-items:center;margin-top:20px}.qr-block img{width:140px;height:140px}.qr-block p{font-size:12px;color:var(--muted)}.blocked{border:1px solid #eacbb4;background:#fff7ed;padding:13px;border-radius:7px;color:#9b582e;font-size:12px;margin-bottom:15px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:1400px){.hero{gap:90px}}@media(max-width:900px){.hero{gap:30px;grid-template-columns:.9fr 1.1fr}.product{height:135px}.hero h1{font-size:42px}.prize{padding:15px}.header{padding:0 24px}.header nav{gap:22px}.brand img{width:160px}.staff-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:15px}}@media(max-width:650px){.header{height:auto;min-height:78px;padding:13px 18px;flex-wrap:wrap;gap:12px}.brand img{width:155px;height:44px}.header nav{order:3;width:100%;gap:0;justify-content:space-around}.header nav a{height:37px;font-size:12px;width:33.3%;justify-content:center}.account{margin-left:auto;font-size:11px;padding:8px 10px}.demo-strip{padding:16px 20px 0;gap:9px;font-size:11px}main{padding:23px 20px 35px}.hero{display:flex;flex-direction:column;gap:24px}.hero-intro{padding:0;width:100%}.hero h1{font-size:39px}.hero h1 em{display:inline;margin-left:8px}.eyebrow{margin-bottom:12px;font-size:10px}.lead{font-size:13px;margin-top:12px;max-width:none}.day-badge{margin-top:15px;font-size:11px}.entry-box{margin-top:22px;padding-top:17px}.steps{margin-top:20px;gap:12px;font-size:10px}.prizes{width:100%}.prize-heading{margin-bottom:12px}.prize{padding:12px;border-radius:10px}.product{height:125px;margin:7px 0}.prize h3{font-size:15px}.prize .sub{font-size:10px}.prize-top{font-size:11px}.prize-top .quota{font-size:10px}.fan{transform:scale(.8)}.prize-grid{gap:10px}.photo-note{font-size:10px}.page-title{margin:4px 0 23px;align-items:flex-start}.page-title h1{font-size:27px}.page-title p{font-size:12px}.page-title .secondary{font-size:11px;padding:8px}.panel{padding:20px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat .number{font-size:28px}.toolbar{gap:10px}.toolbar .push{margin-left:0}.tabs{flex:1}.tabs button{flex:1;padding:8px 11px}.toolbar .secondary{padding:9px 11px}.config-bottom{align-items:flex-start;flex-direction:column;gap:12px}.config-bottom .primary{width:100%}.admin-tools{align-items:stretch;gap:9px}.admin-tools label{width:100%}.admin-tools select{flex:1;min-width:150px}.result-panel{padding:25px;margin-top:20px}.result-panel h2{font-size:26px}footer{flex-direction:column;gap:4px;padding:18px 20px}.login-panel{margin:15px auto;padding:25px}.qr-block{flex-direction:column}.check{padding:14px}.check strong{font-size:13px}.check span{font-size:11px}.header .account{max-width:160px}.photo-note a{text-decoration:underline}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:650px){.hero{gap:14px}.hero-intro{display:contents}.hero .eyebrow{order:1;margin-bottom:0}.hero h1{order:2;font-size:38px}.hero h1 em{display:block;margin-left:0}.hero .lead{order:3;margin-top:0}.hero .day-badge{order:4;align-self:flex-start;margin-top:0}.hero .prizes{order:5;margin-top:8px}.hero .entry-box,.hero .result-panel,.hero .reveal-box{order:6;width:100%;margin-top:8px}.hero .steps{order:7;margin-top:6px}}
.visitor{background:#f4f7f0}.visitor-header{max-width:620px;margin:auto;padding:25px 24px 15px;display:flex;justify-content:space-between;align-items:center}.visitor-header>img{width:170px;height:51px;object-fit:contain;mix-blend-mode:multiply}.visitor main{max-width:620px;margin:auto;min-height:0;padding:12px 24px 22px}.visitor-card{background:#fff;border:1px solid #e1e8d9;border-radius:20px;padding:30px}.visitor-intro{text-align:center}.visitor-intro .eyebrow{font-size:10px;margin-bottom:10px}.visitor-intro h1{font-size:32px;line-height:1.3}.visitor-intro h1 em{font-style:normal;color:var(--green)}.visitor-prizes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.visitor-prize{background:#f7f9f2;border:1px solid #eaf0e1;border-radius:12px;padding:13px 12px;text-align:center}.visitor-prize:first-child{background:#edf4dc}.visitor-prize>span{font-size:11px;color:#61734f}.visitor-prize .product{height:102px;margin:7px 0 9px}.visitor-prize h3{font-size:14px;font-weight:600}.visitor-prize .fan{transform:scale(.7);flex-shrink:0}.visitor-action .primary{padding:16px;font-size:17px}.visitor-photo-note{font-size:10px;text-align:center;color:var(--muted);margin-top:16px}.visitor-footer{justify-content:center;max-width:580px;border:0;padding:0 20px 26px;font-size:11px}.visitor-result{background:var(--green);border-radius:12px;text-align:center;color:#fff;padding:24px;animation:reveal .4s ease-out}.visitor-result .result-title{font-size:12px;color:#dae7cc}.visitor-result h2{font-size:27px;margin:5px 0}.visitor-result .product{background:#fff;border-radius:9px;padding:12px;height:130px;margin:16px 0}.visitor-result .claim-note{font-size:12px;margin-top:13px}.visitor-result .result-code{font-size:10px;margin-top:12px;overflow-wrap:anywhere;color:#d8e6d4}.visitor-result.thanks{background:#e9f1dd;color:var(--green)}.visitor-result.thanks .result-title{color:#587044}.qr-block+.qr-block{border-top:1px solid var(--line);padding-top:20px}@media(max-width:650px){.visitor-header{padding:19px 20px 12px}.visitor-header>img{width:150px;height:44px}.visitor main{padding:8px 20px 20px;min-height:0}.visitor-card{padding:22px 17px;border-radius:16px}.visitor-intro h1{font-size:29px}.visitor-prizes{gap:10px;margin:20px 0}.visitor-prize{padding:10px 8px}.visitor-prize .product{height:87px;margin:6px 0}.visitor-prize h3{font-size:12px}.visitor-prize .fan{transform:scale(.6)}.visitor .eyebrow{font-size:9px}.visitor-result{padding:20px}.visitor-result h2{font-size:24px}}
.gacha-overlay{--shine:#e6ce82;position:fixed;inset:0;z-index:30;background:radial-gradient(ellipse at 50% 45%,#285044 0%,#101f1a 66%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#f2e8c4;animation:gacha-veil 5.2s both}.gacha-caption{font-size:14px;letter-spacing:.16em;margin-bottom:24px;animation:gacha-caption 5.2s both}.gacha-stage{position:relative;width:300px;height:360px;display:grid;place-items:center;perspective:1100px}.gacha-card{width:218px;height:306px;position:relative;transform-style:preserve-3d;animation:gacha-deal 2.8s cubic-bezier(.2,.65,.25,1) both;z-index:2}.gacha-face{position:absolute;inset:0;border-radius:17px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 22px 55px #0007}.gacha-back{padding:11px;background:linear-gradient(135deg,#2a6550,#153b2f 65%,#0b241c);border:2px solid #cab875}.card-inset{border:1px solid #c7b77099;border-radius:9px;height:100%;display:flex;flex-direction:column;align-items:center;padding:29px 10px}.card-inset>img{width:160px;filter:invert(1);mix-blend-mode:screen}.card-inset strong{font-size:22px;letter-spacing:.18em;font-weight:500;margin-top:auto}.card-inset small{font-size:8px;letter-spacing:.14em;margin-top:7px;opacity:.65}.card-orbit{position:absolute;width:99px;height:99px;border:1px solid #d8c48175;border-radius:50%;left:58px;top:98px;transform:rotate(-25deg)}.card-orbit::before,.card-orbit::after{content:'';position:absolute;inset:13px -9px;border:1px solid #d8c48175;border-radius:50%;transform:rotate(58deg)}.card-orbit::after{inset:25px -14px;transform:rotate(113deg)}.card-sheen{position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 36%,#ffefc900 42%,#ffefc955 50%,transparent 58%);animation:gacha-sheen 1.7s .3s both;pointer-events:none}.gacha-front{transform:rotateY(180deg);background:linear-gradient(145deg,#fffdf3,#edf2e2);border:2px solid var(--shine);color:#254b36;display:flex;flex-direction:column;align-items:center;padding:24px 17px}.gacha-tier{color:#857034;font-size:14px;letter-spacing:.18em}.gacha-front .product{height:150px;width:100%;margin:16px 0 12px}.gacha-front .product img{max-width:100%;max-height:100%}.gacha-front .product .fan{transform:scale(.86)}.gacha-front h3{font-size:19px;text-align:center}.gacha-front>p{font-size:11px;margin-top:10px;color:#778363}.gacha-halo{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#e8d29444 0%,#e8d29422 25%,transparent 68%);animation:gacha-halo 2.8s both;opacity:0;z-index:1}.gacha-flash{position:absolute;inset:-50px;background:radial-gradient(ellipse,#fffce599,transparent 60%);animation:gacha-flash 2.8s both;opacity:0;z-index:3;pointer-events:none}.gacha-bottom{font-size:9px;letter-spacing:.2em;color:#d7e4ce88;margin-top:23px}.gacha-particles{position:absolute;inset:0;z-index:4;pointer-events:none}.gacha-particles i{position:absolute;left:50%;top:50%;width:5px;height:9px;border-radius:1px;background:var(--shine);opacity:0;animation:gacha-particle 1.25s var(--delay) cubic-bezier(.15,.65,.2,1) both}.tier-silver{--shine:#cee9dc}.tier-bronze{--shine:#dab086}.tier-green{--shine:#d8e9a9}.tier-none{--shine:#b6d4ac}.tier-none .gacha-particles{display:none}.tier-none .gacha-flash{opacity:0!important}.card-thanks{margin:auto 0 20px;font-size:21px;letter-spacing:.15em;color:#6f865e}.tier-none .gacha-front h3{margin-bottom:15px}.tier-none .gacha-front p{margin-bottom:32px}@keyframes gacha-deal{0%{opacity:1;transform:translateY(65px) rotateZ(-8deg) rotateY(0) scale(.8)}18%{opacity:1;transform:translateY(0) rotateZ(-4deg) rotateY(0) scale(1)}35%{transform:translateY(-7px) rotateZ(3deg) rotateY(0) scale(1)}50%{transform:translateY(-8px) rotateZ(0) rotateY(0) scale(1.04)}60%{transform:translateY(-8px) rotateZ(0) rotateY(0) scale(1.07)}80%{transform:translateY(-8px) rotateZ(0) rotateY(180deg) scale(1.09)}100%{opacity:1;transform:translateY(0) rotateZ(0) rotateY(180deg) scale(1)}}@keyframes gacha-sheen{0%{transform:translateX(-80%)}100%{transform:translateX(80%)}}@keyframes gacha-halo{0%,25%{opacity:0;transform:scale(.5)}60%{opacity:.8;transform:scale(.9)}80%,100%{opacity:1;transform:scale(1.2)}}@keyframes gacha-flash{0%,66%,88%,100%{opacity:0}74%{opacity:1}}@keyframes gacha-particle{0%{opacity:0;transform:rotate(var(--angle)) translateY(-30px) rotate(0deg)}15%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) rotate(140deg)}}@keyframes gacha-caption{0%,70%{opacity:1}90%,100%{opacity:0}}@keyframes gacha-veil{0%,92%{opacity:1}100%{opacity:0}}@media(max-width:360px){.gacha-stage{transform:scale(.86);margin:-20px 0}.gacha-caption{font-size:12px}}@media(prefers-reduced-motion:reduce){.gacha-overlay{display:none}}

/* Settle the flipped card into a flat face so WebKit reliably paints the prize. */
.gacha-card.revealed{animation:none;transform:translateY(0) scale(1)}.gacha-card.revealed .gacha-back{display:none}.gacha-card.revealed .gacha-front{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}.gacha-card.revealed .gacha-tier{font-size:24px;font-weight:650;letter-spacing:.08em}.gacha-card.revealed .product{height:130px}
