/* 本活动页的布局与状态样式，不改变公共导航、字体或其他页面。 */
@media(min-width:992px){body:has(#product-hunt) .account-dropdown{left:auto;right:0}}
.ph-page{--ph-bg:#121517;--ph-text:#f2f5f5;--ph-muted:#b3bdc3;--ph-line:#343c40;--ph-cyan:#73dce6;--ph-orange:#fa835e;background:var(--ph-bg);color:var(--ph-text);font-family: var(--site-font-family);letter-spacing:0;overflow:clip}
.ph-page *{box-sizing:border-box;letter-spacing:0}
.ph-page [hidden]{display:none!important}
.ph-page a{color:inherit}
.ph-page button,.ph-page a{-webkit-tap-highlight-color:transparent}
.ph-page a:focus-visible,.ph-page button:focus-visible,.ph-page summary:focus-visible{outline:3px solid var(--ph-cyan);outline-offset:5px}
.ph-page p{line-height:1.7}
.ph-page h1,.ph-page h2,.ph-page h3{color:var(--ph-text);font-weight:700;margin:0;line-height:1.3}
.ph-wrap{max-width:1280px;margin-inline:auto;padding-inline:32px}
/* 礼券与正文共用内容基准，不让宽屏的整图留白再次挤开两者。 */
.ph-hero{position:relative;isolation:isolate;overflow:clip;min-height:540px;background:#111416}
.ph-hero-art{position:absolute;left:max(0px,calc((100% - 1280px)/2 + 35px));top:calc(50% - 371.25px);width:1320px;max-width:none;height:742.5px;object-fit:fill;z-index:-1;pointer-events:none;transition:transform .5s ease;transform:translate3d(var(--ph-x,0px),var(--ph-y,0px),0)}
.ph-hero-content{padding-top:20px;padding-bottom:32px;position:relative}
.ph-breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;color:#a8b4b9;margin-bottom:28px}
.ph-breadcrumb a{text-decoration:none}
.ph-breadcrumb a:hover{color:var(--ph-cyan)}
.ph-hero-copy{width:52%;max-width:600px}
.ph-eyebrow{display:flex;align-items:center;gap:10px;color:var(--ph-orange);font-size:14px;margin:0 0 12px;font-weight:600}
.ph-eyebrow i{font-size:21px}
.ph-page h1{font-size:48px;line-height:1.12;overflow-wrap:normal}
.ph-offer{margin:18px 0 12px;font-size:24px;color:#e6eaea;line-height:1.4!important}
.ph-offer strong{color:var(--ph-cyan);font-size:36px}
.ph-intro{margin:0 0 26px;color:#c4cdd1;font-size:15px}
.ph-art-credit{position:absolute;right:56px;bottom:32px;color:#adb6ba;font-size:11px;margin:0}
.ph-claim{width:100%;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}
.ph-code-row{grid-column:1/-1;display:flex;align-items:center;gap:14px;color:#b8c1c5;font-size:13px;margin:0;min-height:36px}
.ph-code-row code{font-family:Consolas,monospace;font-size:19px;color:#fff;letter-spacing:0}
.ph-icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #4d575d;border-radius:6px;background:#20272b;color:#d6e3e7;cursor:pointer;flex:0 0 auto;transition:background .2s,transform .2s}
.ph-icon-button:hover{background:#344147;transform:translateY(-1px)}
.ph-icon-button:disabled{cursor:wait;opacity:.55}
.ph-copy-status{color:var(--ph-cyan);font-size:12px;min-width:42px}
.ph-result{min-width:0;border-left:3px solid #687880;padding:12px 14px;min-height:112px;margin:0}
.ph-state-line{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;font-size:18px;line-height:1.45!important}
.ph-state-line i{width:24px;font-size:22px;line-height:1.25;text-align:center;flex-shrink:0}
.ph-result>p:not(.ph-state-line){font-size:14px;color:#c7d3d9;margin:0;line-height:1.7;overflow-wrap:anywhere}
/* 常驻到账结果使用高对比状态带；无需重新播放弹窗，也能清楚看到权益与有效期。 */
.ph-result[data-state=claimed]{border-left:4px solid #8ce6b5;background:#19362c;padding:18px;min-height:156px}
.ph-result[data-state=claimed] .ph-state-line{color:#b5f5cf;font-size:24px;gap:12px}
.ph-result[data-state=claimed] .ph-state-line i{width:32px;font-size:30px}
.ph-result[data-state=claimed]>p:not(.ph-state-line){color:#e0eee6}
.ph-result .ph-receipt{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;border-top:1px solid #547464;padding-top:10px;margin-top:12px!important;font-size:15px!important;font-weight:600;color:#f3fbf6!important;font-variant-numeric:tabular-nums}
.ph-receipt span{flex-basis:100%;font-size:13px;font-weight:400;color:#c5dfd1}
.ph-receipt time{font:600 16px/1.5 system-ui,sans-serif;white-space:nowrap}
.ph-receipt small{font-size:12px;font-weight:400;color:#c5dfd1;white-space:nowrap}
.ph-result[data-state=available]{border-color:var(--ph-cyan)}
.ph-result[data-state=error],.ph-result[data-state=rate_limited]{border-color:var(--ph-orange)}
.ph-result[data-state=error] .ph-state-line,.ph-result[data-state=rate_limited] .ph-state-line{color:#ffb49a}
.ph-claim-actions{display:flex;gap:8px;align-items:center;min-height:48px}
/* 到账后保留权益入口，并为下载和查询状态安排独立空间。 */
.ph-has-reward .ph-claim{grid-template-columns:minmax(0,1fr)}
.ph-has-reward .ph-claim-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;width:100%;align-items:stretch}
.ph-has-reward .ph-claim-actions .ph-button{min-width:0}
.ph-has-reward .ph-refresh{align-self:center}
.ph-button{min-height:48px;padding:12px 18px;display:inline-flex;gap:12px;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;overflow-wrap:anywhere;text-align:center}
.ph-primary{background:var(--ph-cyan);color:#082b32!important;min-width:170px;font-weight:700}
.ph-primary:hover{background:#a0f0f4;transform:translateY(-2px);box-shadow:0 6px 20px #0004}
.ph-primary:disabled{background:#2a363c;color:#a4b4bb!important;cursor:not-allowed;box-shadow:none;transform:none}
.ph-refresh{width:48px;height:48px}
.ph-deadline{grid-column:1/-1;font-size:12px;color:#c0cbd0;margin:0}
.ph-claim noscript{grid-column:1/-1;font-size:12px}
.ph-assurance{border-block:1px solid var(--ph-line);background:#1c2225}
.ph-assurance>.ph-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;min-height:58px;padding-block:12px}
.ph-assurance span{font-size:13px;color:#cad4d7}
.ph-assurance i{color:var(--ph-cyan);margin-right:6px}
.ph-assurance a{margin-left:auto;font-size:13px;text-decoration:none}
.ph-section{padding-top:44px;padding-bottom:44px}
.ph-section-heading{max-width:960px;margin-bottom:24px}
.ph-kicker{color:var(--ph-orange);font-size:13px;font-weight:600;margin:0 0 7px}
.ph-page h2{font-size:28px}
.ph-section-heading>p:last-child:not(.ph-kicker){font-size:15px;color:var(--ph-muted);margin:12px 0 0}
.ph-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;gap:30px}
.ph-steps li{position:relative;border-top:1px solid var(--ph-line);padding:20px 0 0 42px}
.ph-step-number{position:absolute;left:0;top:20px;color:var(--ph-cyan);font-size:18px;font-weight:600}
.ph-page h3{font-size:18px}
.ph-steps p{font-size:14px;color:var(--ph-muted);margin:10px 0 0}
.ph-step-download{margin-top:16px;max-width:100%}
.ph-product{background:#1b2023}
.ph-product-overview{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:30px;align-items:center}
.ph-product-figure{margin:0}
.ph-product-image{position:relative;display:block}
.ph-product-figure img{display:block;width:100%;height:auto;aspect-ratio:1599/900;border-radius:6px;border:1px solid #48535c}
.ph-image-expand{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #ffffff75;border-radius:6px;background:#121517d9;color:#fff}
.ph-product-image:hover .ph-image-expand{background:#253338}
.ph-product-figure figcaption{font-size:11px;color:#b4bdc5;line-height:1.6;margin-top:8px}
.ph-product-details{display:grid;gap:24px}
.ph-product-details p{display:grid;grid-template-columns:24px 1fr;gap:7px;margin:0}
.ph-product-details i{color:var(--ph-cyan);margin-top:5px}
.ph-product-details strong{font-size:16px}
.ph-product-details span{grid-column:2;color:var(--ph-muted);font-size:13px}
.ph-text-link{display:inline-flex;gap:10px;align-items:center;font-size:14px;margin-top:24px;text-decoration:none;color:var(--ph-cyan)!important}
.ph-text-link:hover{text-decoration:underline}
/* 规则和 FAQ 标题置于内容上方，避免桌面端留下整列的空白。 */
.ph-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin:0}
.ph-rule-list>div{border-top:1px solid var(--ph-line);padding:18px 0}
.ph-rule-list>div:last-child{grid-column:1/-1;padding-bottom:0}
.ph-rule-list dt{font-size:15px;color:#e3ebee;font-weight:600;margin-bottom:6px}
.ph-rule-list dd{margin:0;color:var(--ph-muted);font-size:14px;line-height:1.8}
.ph-faq{background:#1b2023}
.ph-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;align-items:start}
.ph-faq-list details{border-top:1px solid #424b50}
.ph-faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;font-weight:600;padding:18px 0;line-height:1.6}
.ph-faq-list summary::-webkit-details-marker{display:none}
.ph-faq-list summary i{font-size:12px;color:var(--ph-cyan);flex:0 0 auto;transition:transform .2s}
.ph-faq-list details[open] summary i{transform:rotate(45deg)}
.ph-faq-list details[open] summary{color:var(--ph-cyan)}
.ph-faq-list details p{margin:0 0 18px;font-size:14px;color:var(--ph-muted)}
.ph-install{display:flex;justify-content:space-between;align-items:center;gap:30px}
.ph-install p:not(.ph-kicker){color:var(--ph-muted);font-size:14px;margin:12px 0 0}
.ph-install-links{display:flex;flex-direction:column;gap:10px}
.ph-secondary{background:transparent;border-color:#52626b;color:#e2f3f7!important;font-size:14px}
.ph-secondary:hover{background:#2a353b}
.ph-secondary>.fa-brands{color:var(--ph-cyan);font-size:20px}
.ph-secondary>.fa-solid{font-size:12px;color:#adbac2}
.ph-legal{border-top:1px solid var(--ph-line);padding-top:20px;padding-bottom:24px;color:#a4b0b6;font-size:12px}
.ph-legal p{margin:0 0 8px}
.ph-legal a{margin-right:24px}
.ph-legal a:hover{color:var(--ph-cyan)}
/* 入场只增强已可见正文；无脚本和减少动态效果时保留完整内容。 */
.ph-enter{animation:ph-enter .55s ease-out both}
.ph-spinning{animation:ph-spin 1s linear infinite}
@keyframes ph-enter{from{transform:translateY(14px);opacity:.35}to{transform:translateY(0);opacity:1}}
@keyframes ph-spin{to{transform:rotate(360deg)}}
/* 到账弹窗独立于小状态区；不自动消失，低高度视口可滚动，背景保持锁定。 */
html.ph-success-open{overflow:hidden}
.ph-success{width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #5a8870;border-radius:8px;background:#18211f;color:var(--ph-text);box-shadow:0 28px 100px #0009;text-align:center}
.ph-success::backdrop{background:#000b}
.ph-success[open]{animation:ph-success-enter .35s ease-out}
.ph-success-content{position:relative;z-index:1;padding:34px 32px 28px}
.ph-success-close{position:absolute;top:14px;right:14px;width:36px;height:36px}
.ph-success-check{display:block;width:64px;height:64px;margin:0 auto 16px;color:#95ebbc;font-size:56px;line-height:64px}
.ph-success[open] .ph-success-check{animation:ph-success-check .6s ease-out}
.ph-success h2{font-size:28px;line-height:1.35;overflow-wrap:anywhere}
.ph-success .ph-kicker{color:#e9c875;font-size:13px}
.ph-success-reward{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:16px 0 10px!important;line-height:1.1!important}
.ph-success-reward strong{font-size:68px;color:#9bedc1;line-height:1;font-variant-numeric:tabular-nums}
.ph-success-reward span{font-size:23px;font-weight:600}
#ph-success-description{font-size:15px;color:#cfdbd5;margin:0 auto 22px;max-width:340px}
.ph-success-expiry{display:grid;gap:4px;margin:0 0 24px!important;padding:14px 0;border-block:1px solid #405349}
.ph-success-expiry span{font-size:13px;color:#b3c8bd}
.ph-success-expiry time{font:600 18px/1.5 system-ui,sans-serif;color:#f0f7f3;overflow-wrap:anywhere}
.ph-success-done{width:100%;min-height:48px;background:#9bedc1}
.ph-success .ph-text-link{margin-top:18px}
.ph-celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.ph-celebration span{position:absolute;top:-18px;left:var(--paper-x);width:7px;height:13px;background:var(--paper-color);animation:ph-paper-fall 2.4s var(--paper-delay) ease-in forwards}
@keyframes ph-success-enter{from{opacity:.3;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ph-success-check{0%{transform:scale(.6)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes ph-paper-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:1}80%{opacity:.8}100%{opacity:0;transform:translate3d(var(--paper-drift),580px,0) rotate(var(--paper-turn))}}
@media(max-width:400px){.ph-success-content{padding:26px 20px 22px}.ph-success h2{font-size:24px}.ph-success-reward strong{font-size:58px}.ph-success-reward span{font-size:20px}.ph-success-close{top:10px;right:10px}}
@media(max-width:1399px) and (min-width:1101px){
 .ph-hero-art{left:calc(50% - 520px);top:calc(50% - 337.5px);width:1200px;height:675px}
 .ph-page h1{font-size:44px}
 .ph-claim{grid-template-columns:1fr;gap:10px}
 .ph-result{min-height:68px}
 .ph-claim-actions{justify-self:start}
}
@media(max-width:1100px) and (min-width:768px){
 .ph-hero-art{left:80px;top:90px;width:calc(100% - 78px);height:auto;aspect-ratio:16/9}
 .ph-hero-copy{width:50%;max-width:none}
 .ph-page h1{font-size:40px}
 .ph-intro{max-width:370px}
 .ph-claim{grid-template-columns:1fr;gap:10px}
 .ph-result{min-height:76px}
 .ph-claim-actions{justify-self:start}
 .ph-art-credit{right:32px}
 .ph-product-overview{grid-template-columns:minmax(0,2.4fr) minmax(210px,1fr);gap:24px}
 .ph-product-details{gap:18px}
 .ph-product-details strong{font-size:15px}
 .ph-steps{gap:20px}
}
@media(max-width:767px){
 .ph-wrap{padding-inline:22px}
 .ph-hero{min-height:0}
 .ph-hero-content{padding-top:20px;padding-bottom:22px}
 .ph-breadcrumb{display:none}
 .ph-hero-copy{width:100%;max-width:none}
 .ph-eyebrow{font-size:12px;margin-bottom:10px}
 .ph-eyebrow i{font-size:18px}
 .ph-page h1{font-size:32px;line-height:1.12}
 .ph-offer{font-size:18px;margin:18px 0 32px;min-height:68px}
 .ph-offer strong{display:block;font-size:28px}
 .ph-intro{font-size:13px;margin-bottom:18px;line-height:1.7}
 .ph-hero-art{top:90px;left:calc(100% - 315px);width:300px;height:168.75px;transform:none}
 .ph-art-credit{top:221px;right:26px;bottom:auto;font-size:9px}
 .ph-claim{grid-template-columns:1fr;gap:10px}
 .ph-code-row{gap:12px;min-height:32px}
 .ph-code-row code{font-size:18px}
 .ph-code-row .ph-icon-button{width:32px;height:32px}
 .ph-result{min-height:78px;padding-left:12px}
 .ph-state-line{font-size:18px}
 .ph-result[data-state=claimed]{padding:16px 14px}
 .ph-result[data-state=claimed] .ph-state-line{font-size:22px;gap:10px}
 .ph-result[data-state=claimed] .ph-state-line i{width:28px;font-size:27px}
 .ph-claim-actions{width:100%}
 .ph-has-reward .ph-claim-actions{grid-template-columns:minmax(0,1fr) 48px}
 .ph-has-reward #ph-account{grid-column:1/-1}
 .ph-primary{min-width:0;flex:1}
 .ph-button{font-size:14px;padding:11px 14px}
 .ph-deadline{font-size:12px;line-height:1.7}
 .ph-assurance>.ph-wrap{gap:10px 18px;padding-block:14px}
 .ph-assurance span,.ph-assurance a{font-size:11px}
 .ph-assurance a{margin-left:0}
 .ph-section{padding-top:32px;padding-bottom:32px}
 .ph-section-heading{margin-bottom:20px}
 .ph-page h2{font-size:23px}
 .ph-page h3{font-size:17px}
 .ph-steps{grid-template-columns:1fr;gap:18px}
 .ph-steps li{padding-top:16px}
 .ph-step-number{top:16px;font-size:16px}
 .ph-steps p{font-size:13px;margin-top:8px}
 .ph-product-overview{grid-template-columns:1fr;gap:22px}
 .ph-product-details{gap:18px}
 .ph-product-figure figcaption{font-size:10px}
 .ph-image-expand{width:30px;height:30px;right:8px;bottom:8px}
 .ph-rule-list,.ph-faq-list{grid-template-columns:1fr}
 .ph-rule-list>div{padding:16px 0}
 .ph-rule-list dt{font-size:14px}
 .ph-rule-list dd{font-size:13px}
 .ph-faq-list summary{font-size:14px;padding-block:16px}
 .ph-faq-list details p{font-size:13px}
 .ph-install{flex-direction:column;align-items:stretch;gap:18px}
 .ph-legal{font-size:11px}
 .ph-legal a{display:inline-block;margin-right:18px;margin-bottom:6px}
}
@media(max-width:767px) and (max-height:740px){
 .ph-hero-content{padding-top:16px;padding-bottom:16px}
 .ph-page h1{font-size:28px}
 .ph-offer{margin:14px 0 40px;min-height:62px}
 .ph-offer strong{font-size:26px}
 .ph-intro{margin-bottom:14px;font-size:12px}
 .ph-hero-art{top:78px}
 .ph-art-credit{top:206px}
 .ph-claim{gap:8px}
 .ph-result{min-height:74px}
}
@media(prefers-reduced-motion:reduce){
 .ph-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .ph-hero-art{transform:none!important}
}
