:root{color-scheme:dark;--bg:#0d0d0d;--red:#cc0000;--bright:#ed3029;--muted:#949090}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:5px}
[hidden]{display:none!important}.top-line{height:5px;background:var(--red);box-shadow:0 0 20px #c00;position:relative;z-index:2}
.hero{background:linear-gradient(180deg,#1c0000,var(--bg));overflow:hidden}
.brand{text-align:center;padding:26px 16px 0;font-family:Impact,"Arial Narrow",sans-serif;font-size:25px;font-weight:900;letter-spacing:.22em;color:#aaa0a0;line-height:1.4}
.brand span{color:var(--red)}.brand small{font-family:inherit;font-size:10px;letter-spacing:.2em;margin-left:14px;color:#9d8585;vertical-align:middle}
.hero-media{position:relative;max-width:500px;margin:0 auto}
.hero-media img{display:block;width:100%;height:auto;aspect-ratio:960/875;mask-image:linear-gradient(to bottom,#000 58%,transparent 100%)}
.asset-label{position:absolute;top:14px;left:16px;margin:0;color:#514747;font-size:10px;letter-spacing:.08em}
.content{max-width:620px;margin:0 auto;padding:0 20px 50px;position:relative}
.stamp{text-align:center;margin:-16px 0 32px;position:relative;font-size:clamp(58px,16vw,92px);line-height:1.1;letter-spacing:.06em;font-weight:950}
.stamp>span:first-child{display:inline-block;color:var(--red);border:6px solid var(--red);padding:6px 20px 11px;transform:rotate(-4deg);background:#c000000b;box-shadow:inset 0 0 20px #c000001e,0 0 40px #c0000045;text-shadow:2px 2px #000;animation:stamp-in .55s ease-out both}
.intro{border-left:3px solid var(--red);padding-left:18px;margin-bottom:32px}
.intro p{margin:0;font-size:16px;line-height:1.85;color:#c1bcbc}.intro p:first-child{color:#e4dede;font-weight:600;margin-bottom:5px}
.intro p+p{margin-top:10px}
.counter-card{position:relative;overflow:hidden;border:1px solid #cc00002e;border-radius:14px;background:#111;padding:24px 28px;margin-bottom:18px}
.counter-card:after{content:"";position:absolute;bottom:-40px;left:25%;width:50%;height:80px;background:#c0000019;filter:blur(35px);pointer-events:none}
.count-number{font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;font-size:clamp(54px,14vw,80px);letter-spacing:-.025em;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.count-label{font-size:12px;letter-spacing:.13em;margin-top:7px;color:#aaa0a0}
.counter-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.goal{text-align:right}.goal-number{font-family:Impact,"Arial Narrow",sans-serif;font-size:30px;color:var(--red);line-height:1.2}.goal-label{font-size:11px;color:#aaa0a0;margin-top:4px}
.goal-progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;border:0;border-radius:100px;overflow:hidden;background:#ffffff0f}.goal-progress::-webkit-progress-bar{background:#ffffff0f;border-radius:100px}.goal-progress::-webkit-progress-value{background:linear-gradient(90deg,#760000,#cc0000,#ef4036);border-radius:100px;transition:width .5s ease}.goal-progress::-moz-progress-bar{background:linear-gradient(90deg,#760000,#cc0000,#ef4036);border-radius:100px}.progress-copy{text-align:right;font-size:11px;line-height:1.6;color:#aaa0a0;margin:8px 0 0}
.count-status{font-size:12px;line-height:1.65;color:#aaa0a0;margin:0}.text-button{position:relative;border:0;background:none;color:#ff847e;padding:8px 0 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.vote-button{width:100%;border:1px solid #c12620;border-radius:9px;min-height:70px;background:linear-gradient(110deg,#97120d,#c21e17);box-shadow:0 4px 30px #c000005a;color:#fff;font-size:20px;font-weight:800;letter-spacing:.15em;transition:transform .15s,box-shadow .15s}
.vote-button:hover:enabled{transform:translateY(-2px);box-shadow:0 7px 40px #c000007a}.vote-button:active:enabled{transform:scale(.99)}.vote-button:disabled{opacity:.7}
.vote-status{font-size:13px;line-height:1.7;text-align:center;margin:12px 0 0;color:#ffb5b1}.vote-status:empty{display:none}
.success{border:1px solid #c0000045;background:linear-gradient(160deg,#26100f,#121010);padding:24px;border-radius:12px;text-align:center;animation:fade-up .3s ease-out both}
.success-check{margin:auto auto 12px;width:38px;height:38px;border:1px solid #f05349;border-radius:50%;color:#f37870;display:grid;place-items:center;font-size:22px}
.success h2{font-size:23px;line-height:1.45;margin:0 0 10px}.success p{font-size:13px;color:#c1afaf;line-height:1.8;margin:0}
.share-row{display:flex;gap:10px;margin-top:20px}.share-button{flex:1;min-height:48px;border:1px solid #89413b;border-radius:6px;color:#f7e5e4;background:#ffffff05;font-size:14px}.share-button:hover{background:#ffffff0f}.success .share-status{margin-top:10px;color:#ffb5b1}
#copy-fallback,.copy-fallback{text-align:left;font-size:12px;line-height:1.8;margin-top:12px}#share-url,.share-url{width:100%;padding:10px;background:#111;border:1px solid #98504a;border-radius:4px;color:#fff;font-size:14px}
.thanks-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:32px 28px;border:1px solid #c0000066;border-radius:14px;background:#111;color:#fff;box-shadow:0 10px 80px #000b}.thanks-dialog::backdrop{background:#000c;backdrop-filter:blur(3px)}.thanks-dialog h2{font-size:28px;margin:0 36px 16px 0}.thanks-dialog>p{font-size:14px;line-height:1.8;color:#bdb2b2}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#aaa;font-size:28px;width:44px;height:44px}.thanks-dialog .share-status{font-size:13px;color:#ffb5b1}
.subnote{text-align:center;font-size:12px;color:var(--muted);margin:32px 0 38px;line-height:1.8}
.event-background{margin:0 0 28px;font-size:12px;color:#aaa0a0;line-height:1.9}.event-background summary{cursor:pointer;text-align:center}.event-background p{margin:12px 0}.event-background a{color:#df938d;text-underline-offset:3px}
footer{border-top:1px solid #ffffff0d;padding-top:26px}.footer-rule{display:flex;align-items:center;gap:16px;margin-bottom:24px}.footer-rule span{height:1px;background:linear-gradient(90deg,transparent,#70000066);flex:1}.footer-rule span:last-child{transform:rotate(180deg)}.footer-rule b{font-size:10px;font-weight:500;letter-spacing:.24em;color:#8d7c7c}
.campaign-note{font-size:13px;line-height:1.9;color:#aaa0a0;margin:0 0 22px;text-align:center}.site-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;font-size:12px;line-height:1.8}.site-links a,.back-link{color:#c6adab;text-decoration:none}.site-links a:hover,.back-link:hover{text-decoration:underline;text-underline-offset:4px}.site-links a:focus-visible,.back-link:focus-visible{outline:2px solid #fff;outline-offset:4px}
.info-page{max-width:760px;padding:36px 24px 48px;margin:auto;text-align:center}.back-link{display:inline-block;font-size:14px;min-height:44px;line-height:44px}.info-page h1{font-size:30px;line-height:1.4;margin:22px 0}.info-page h2{font-size:19px;line-height:1.6;margin:30px 0 10px}.info-page p{font-size:15px;line-height:1.95;color:#c1bcbc;margin:10px 0}.info-page .info-date{font-size:12px;color:#aaa0a0}.info-page footer{margin-top:36px}.info-page section{scroll-margin-top:24px}
.site-details{display:flex;align-items:flex-start;gap:20px;justify-content:center}.site-details details{font-size:11px;color:#aaa0a0;max-width:50%;line-height:1.9}.site-details summary{cursor:pointer;text-align:center;list-style:none}.site-details summary::-webkit-details-marker{display:none}.site-details summary:after{content:" +";color:#cf736f}.site-details details[open] summary:after{content:" −"}.site-details p{margin:10px 0 0}.disclaimer{text-align:center;font-size:10px;color:#827777;margin:18px 0 0;line-height:1.8}
.error{color:#ffaaa3;font-size:14px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes stamp-in{from{opacity:0;transform:rotate(-8deg) scale(1.15)}to{opacity:1;transform:rotate(-4deg) scale(1)}}@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.brand{padding-top:22px;font-size:18px;line-height:1.2}.hero-media{max-width:420px}.content{padding:0 16px 42px}.stamp{font-size:clamp(54px,16vw,68px);margin-top:-10px;margin-bottom:26px}.stamp>span:first-child{border-width:5px;padding:5px 14px 9px}.intro{padding-left:14px;margin-bottom:24px}.intro p{font-size:14px;line-height:1.85}}
@media(max-width:420px){.content{padding-left:14px;padding-right:14px}.counter-card{padding:22px 18px;border-radius:12px}.vote-button{min-height:64px;font-size:18px}.share-row{flex-direction:column}.share-button{flex:auto}.success{padding:22px 18px}.success h2{font-size:21px}.brand small{margin-left:10px}.asset-label{font-size:9px}}
@media(max-width:560px){.counter-head{flex-direction:column;align-items:flex-start}.goal{text-align:left}.thanks-dialog{padding:26px 20px}.thanks-dialog h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
