.cover-preview{position:absolute;left:33%;top:66%;width:36%;height:16%;z-index:20;background:#ffffff09;border:3px solid #fff3ab;border-radius:8px;box-shadow:0 0 0 3px #183e43,4px 6px 0 #183e4355;cursor:pointer;transition:background .15s,box-shadow .15s;animation:preview-glow 2s ease-in-out infinite}
.cover-preview:after{content:'↗';position:absolute;right:-15px;bottom:-8px;background:#fff8d8;border:2px solid var(--ink);color:var(--green);width:35px;height:35px;display:grid;place-items:center;font-size:24px;font-family:var(--title-font);box-shadow:2px 2px 0 var(--ink)}
.cover-preview:hover,.cover-preview:focus-visible{background:#fff79a30;outline:4px solid #fff6c1;outline-offset:5px}
.cover-preview:active{background:#fff79a55}
.campaign-intro{display:block}
.campaign-intro p{margin-top:12px}
.campaign-intro .entry-instruction{font-size:17px;font-family:var(--body-font);color:var(--green);margin-top:16px}
.registration-page{max-width:580px;margin:16px auto 0;padding:35px;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 #c2d2ae}
.registration-page h2{font-size:28px;font-family:var(--title-font);font-synthesis:none;margin:12px 0 16px;line-height:1.5}
.registration-page p{font-size:18px;font-family:var(--body-font);line-height:1.8}
.registration-page label{display:block;font-size:18px;font-family:var(--body-font);margin:20px 0 8px}
.registration-page input,.registration-page select{width:100%;min-height:48px;padding:12px;border:1px solid #aebaa5;background:white;color:var(--ink);font-size:18px;font-family:var(--body-font)}
.registration-page .btn{width:100%;margin-top:20px}
#registration-back{display:block;margin:20px auto}
.booth-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:8px 0 24px}
.booth-intro>div{min-width:0}
.booth-intro h1{font-size:30px;font-family:var(--title-font);font-synthesis:none;margin:8px 0;line-height:1.5}
.booth-intro p{font-size:19px;font-family:var(--body-font);margin:8px 0;line-height:1.7}
.booth-intro .btn{flex-shrink:0;max-width:260px}
@keyframes preview-glow{50%{box-shadow:0 0 0 3px #183e43,0 0 18px 6px #fff7ac88}}
@media(max-width:600px){.cover-preview{border-width:2px;border-radius:4px}.cover-preview:after{font-size:20px;width:27px;height:27px;right:-10px;bottom:-7px}.registration-page{padding:24px 20px;margin-top:8px}.registration-page h2{font-size:24px}.booth-intro{flex-direction:column;align-items:stretch;gap:12px}.booth-intro h1{font-size:25px}.booth-intro p{font-size:17px}.booth-intro .btn{align-self:flex-start}.campaign-intro p{font-size:18px}.campaign-intro .entry-instruction{font-size:16px}}
@media(prefers-reduced-motion:reduce){.cover-preview{animation:none;transition:none}}
.cover-preview{left:34%;top:67%;width:32%;height:15%;border:0;border-radius:0;background:#fffddd;color:#173d36;box-shadow:0 -4px #183e43,0 4px #183e43,-4px 0 #183e43,4px 0 #183e43,7px 8px #183e4355;animation:none;font-family:var(--title-font);font-size:clamp(18px,3.5vw,43px);line-height:1;overflow:visible}
.cover-preview:after{display:none}
.cover-preview:hover,.cover-preview:focus-visible{background:#d6f48d;color:#183e43;outline:3px solid #fff;outline-offset:7px;transform:translateY(-2px)}
.cover-preview .click-hint{position:absolute;right:-27%;top:38%;font-family:var(--body-font);font-size:clamp(11px,1.7vw,20px);color:#fff;text-shadow:2px 2px #173d36;transform:rotate(-8deg)}
.cover-stage .click-hint img{position:static;display:block;width:clamp(35px,6vw,70px);height:48px;object-fit:contain;image-rendering:pixelated;transform:rotate(8deg)}
.landing-instruction{text-align:center;font-family:var(--body-font);font-size:19px;line-height:1.8;margin:24px 0 12px}
.campaign-card{max-width:760px;margin:16px auto 32px;padding:28px;text-align:center;background:#fff;box-shadow:0 -4px #24423d,0 4px #24423d,-4px 0 #24423d,4px 0 #24423d,8px 8px #a4b597;border:3px solid #91ed77;font-family:var(--body-font)}
.campaign-card .eyebrow{font-family:var(--title-font);font-size:23px;line-height:1.7;letter-spacing:0;color:#245b44}
.campaign-card p{font-size:21px;line-height:1.9;margin:16px 0}
.campaign-date{padding:16px 12px;background:#ebf8cd;border-top:3px solid #24423d;font-size:21px;line-height:1.7}
.registration-page{border:0;box-shadow:0 -3px #24423d,0 3px #24423d,-3px 0 #24423d,3px 0 #24423d,7px 7px #b9c8a9}
.registration-page input,.registration-page select{border:2px solid #24423d;border-radius:0;font-size:18px}
.prize-banner{margin:0 0 26px;padding:20px 24px;background:#e5f7a3;color:#204c38;text-align:center;font-family:var(--body-font);font-size:21px;line-height:1.8;box-shadow:0 -3px #24423d,0 3px #24423d,-3px 0 #24423d,3px 0 #24423d,6px 6px #b7c89d}
.prize-banner strong{color:#9d3a30}
.booth-intro h1{font-size:28px}.booth-intro p{font-size:18px}.eyebrow{line-height:1.6}
@media(max-width:600px){.landing-instruction{font-size:16px;padding:0 12px}.campaign-card{margin:12px 5px 28px;padding:20px 12px}.campaign-card .eyebrow{font-size:19px}.campaign-card p,.campaign-date{font-size:17px}.prize-banner{font-size:17px;padding:16px 12px;margin:0 5px 24px}.booth-intro h1{font-size:24px}.booth-intro p{font-size:16px}.cover-stage .click-hint img{height:30px}}
.protocol-resources{margin:24px 0;padding:28px;background:var(--paper);border:2px solid var(--green)}
.protocol-resources h2{font-family:var(--title-font);font-size:26px;line-height:1.5;margin:12px 0}.protocol-resources h3{font-family:var(--title-font);font-size:22px;margin:30px 0 12px;line-height:1.5}
.protocol-poster{display:block;max-width:850px;margin:22px auto;background:white;border:1px solid #b5c6b9;cursor:zoom-in}.protocol-poster img{display:block;width:100%;height:auto}
.protocol-qr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.protocol-qr{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);background:#fff;padding:18px 12px;border:2px solid #426655;box-shadow:3px 3px #c0ceae;cursor:zoom-in}.protocol-qr:hover,.protocol-qr:focus-visible{outline:3px solid #b8d56e;outline-offset:3px}.protocol-qr h4{font-family:var(--body-font);font-size:18px;line-height:1.5;text-align:center;margin:0 0 14px}.protocol-qr img{width:100%;max-width:190px;height:auto;image-rendering:pixelated;border:12px solid white;box-sizing:border-box}.protocol-qr span{font-family:var(--body-font);font-size:13px;text-align:center;line-height:1.7;margin-top:8px}
@media(max-width:650px){.protocol-resources{padding:20px 14px}.protocol-resources h2{font-size:22px}.protocol-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.protocol-qr{padding:14px 6px}.protocol-qr h4{font-size:16px}.protocol-qr img{border-width:8px}}
.personal-rank-badge{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:20px 0;padding:16px 20px;background:#edf5d5;border:2px solid #75915c;color:#214d3b;font-family:var(--body-font)}.personal-rank-badge>span{font-size:18px}.personal-rank-badge>strong{font-family:var(--title-font);font-size:28px;line-height:1.6}.personal-rank-badge>small{flex-basis:100%;font-size:14px;line-height:1.8}.result-hero .personal-rank-badge{max-width:620px;margin:22px auto;text-align:left}.result-hero .personal-rank-badge strong{color:#214d3b}
header{gap:24px}.brand{font-size:25px;line-height:1.5;letter-spacing:0;max-width:650px}.header-right{flex-shrink:0}.registration-page{max-width:760px;padding:28px;background:#fff;border:3px solid #91ed77;box-shadow:0 -4px #24423d,0 4px #24423d,-4px 0 #24423d,4px 0 #24423d,8px 8px #a4b597}.registration-page h2{font-size:27px;line-height:1.7}.campaign-times{display:block;font-size:18px;margin-top:6px}
@media(max-width:850px){.brand{font-size:21px;max-width:460px}}
@media(max-width:600px){header{height:auto;min-height:110px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}.brand{font-size:20px;max-width:none;width:100%;justify-content:center;text-align:center}.header-right{margin-left:auto}.registration-page{margin-left:5px;margin-right:5px;padding:20px 12px}.registration-page h2{font-size:22px}.campaign-times{font-size:16px}}
.campaign-times{font-size:inherit}.campaign-times strong{font-weight:700;-webkit-text-stroke:.45px currentColor}
.landing-instruction{margin:0 0 24px;text-align:left}
.result-hero{background:#fff;color:var(--ink)}.result-hero .eyebrow{color:var(--green)}.result-hero h1{color:var(--ink)}.result-hero .result-scores b{color:var(--green)}
.result-character{width:200px;height:200px;border-radius:0;border:0;overflow:visible;box-shadow:none;background:#fff;margin:16px auto}.result-hero .result-character img{width:100%;height:100%;object-fit:contain}
.mascot-promo{padding:30px 28px 30px 340px;min-height:350px;margin:26px 0}.mascot-promo>img{width:300px;height:330px;left:18px;mix-blend-mode:normal}.mascot-promo strong{line-height:1.6}
@media(max-width:600px){.campaign-times{font-size:inherit}.landing-instruction{text-align:center;margin-bottom:20px}.result-character{width:180px;height:180px}.mascot-promo{padding:26px 18px;min-height:0;align-items:center}.mascot-promo>img{position:static;transform:none;width:210px;height:285px;max-width:100%;margin-bottom:12px}}
.mascot-promo{background:#fff;font-size:32px;line-height:1.7}.mascot-promo strong{font-size:39px}.promo-spid{color:#c52e36}.result-actions{margin:24px 0 30px;gap:16px}
@media(max-width:600px){.mascot-promo{font-size:25px}.mascot-promo strong{font-size:30px}}
