:root{--berry:#8f0758;--berry-dark:#5f063c;--cream:#fff7ec;--gold:#c58c2f;--ink:#4a2934;--glass:rgba(255,248,238,.88);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#f4cfb2}button,input,a{font:inherit}.app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden}.screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background-position:center;background-size:cover}.screen.active{display:flex}.start-screen,.result-screen{background-image:linear-gradient(rgba(255,247,236,.04),rgba(83,28,40,.12)),url('/static/img/result-bg.webp')}.game-bg{background-image:url('/static/img/game-bg.webp')}.start-screen{justify-content:space-between;flex-direction:column}.brand-logo{display:block;width:min(62vw,440px);height:auto;mix-blend-mode:screen;margin-top:max(8px,env(safe-area-inset-top));filter:drop-shadow(0 3px 8px rgba(43,0,26,.35))}.glass{background:var(--glass);border:1px solid rgba(255,255,255,.7);box-shadow:0 16px 50px rgba(92,35,44,.22);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-radius:28px}.intro-card,.result-card,.center-card{width:min(100%,560px);padding:clamp(20px,4vw,34px);text-align:center}.intro-card{margin-top:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.77rem;font-weight:800;color:var(--berry);margin:0 0 8px}.intro-card h1{font-family:Georgia,serif;font-size:clamp(2.25rem,8vw,4.5rem);line-height:.95;color:var(--berry);margin:0 0 10px}.intro-card h2,.result-card h2,.center-card h2{font-family:Georgia,serif;color:var(--berry-dark);font-size:clamp(1.55rem,5vw,2.4rem);margin:8px 0}.intro-card p,.result-card p,.center-card p{line-height:1.45}.primary{border:0;border-radius:999px;background:linear-gradient(135deg,var(--berry),#b71970);color:white;padding:14px 25px;font-weight:800;box-shadow:0 8px 20px rgba(143,7,88,.25);cursor:pointer;min-height:50px;transition:.18s transform,.18s box-shadow}.primary:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(143,7,88,.32)}.primary:focus-visible,.text-button:focus-visible,input:focus-visible{outline:3px solid #f5b632;outline-offset:3px}.text-button,.inline-link{border:0;background:none;color:var(--berry);text-decoration:underline;cursor:pointer}.text-button{display:block;margin:10px auto 0}.compact{max-width:470px}.leaf-mark{font-size:3rem}.hud{position:absolute;z-index:4;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(75px,1fr));width:min(calc(100% - 20px),620px);background:rgba(99,25,52,.88);border:1px solid rgba(255,255,255,.42);color:white;border-radius:18px;box-shadow:0 7px 22px rgba(54,19,28,.22);overflow:hidden}.hud div{padding:8px 10px;text-align:center}.hud div+div{border-left:1px solid rgba(255,255,255,.22)}.hud span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.hud strong{font-size:1.15rem}#gameCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.countdown{position:absolute;z-index:8;font:bold clamp(5rem,22vw,11rem) Georgia,serif;color:var(--berry);text-shadow:0 5px 18px white}.icon-button{position:absolute;z-index:5;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(99,25,52,.8);color:white;font-weight:bold}.result-card{max-height:calc(100dvh - 30px);overflow:auto}.result-card form{text-align:left}.result-card label:not(.consent){display:block;font-weight:800;margin:16px 0 7px}.result-card input[type=text],.result-card input:not([type]){width:100%;border:2px solid rgba(143,7,88,.25);border-radius:14px;background:white;padding:13px 14px;color:var(--ink)}.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;margin:18px 0;font-size:.84rem;line-height:1.4}.consent input{width:20px;height:20px;accent-color:var(--berry)}.error{color:#a40023;font-weight:700;min-height:1.3em}.code-box{padding:18px;margin:20px 0;border-radius:18px;background:#fff;border:2px dashed var(--gold)}.code-box span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.code-box strong{display:block;color:var(--berry);font-size:clamp(1.7rem,7vw,2.8rem);letter-spacing:.06em;margin-top:6px;overflow-wrap:anywhere}.fineprint{font-size:.85rem}.link-button{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}dialog{border:0;padding:0;border-radius:24px;width:min(calc(100% - 28px),680px);max-height:86dvh;color:var(--ink);box-shadow:0 22px 70px rgba(45,12,26,.45)}dialog::backdrop{background:rgba(45,12,26,.68);backdrop-filter:blur(5px)}.dialog-inner{padding:clamp(22px,5vw,38px);max-height:86dvh;overflow:auto}.dialog-inner h2{color:var(--berry);font-family:Georgia,serif}.dialog-inner p{line-height:1.45}.close-dialog{position:absolute;right:13px;top:9px;border:0;background:none;color:var(--berry);font-size:2rem;cursor:pointer}.close-action{display:block;margin:20px auto 0}
.legal-nav{position:fixed;z-index:12;left:50%;bottom:max(5px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;padding:5px 11px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:rgba(83,28,48,.82);box-shadow:0 5px 16px rgba(50,13,28,.2);backdrop-filter:blur(8px)}.legal-nav button{border:0;background:none;padding:2px;color:#fff;font-size:clamp(.64rem,2.4vw,.76rem);cursor:pointer;text-decoration:underline}.legal-nav span{color:rgba(255,255,255,.5)}.consent-dialog{width:min(calc(100% - 28px),580px)}.consent-dialog .dialog-inner{text-align:center}.legal-popup-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 18px;margin:12px 0 20px}.centered-link{margin:14px auto;text-align:center}
.wind-notice{position:absolute;z-index:7;top:88px;left:50%;transform:translate(-50%,-12px);opacity:0;padding:8px 16px;border-radius:999px;background:rgba(255,248,238,.9);color:var(--berry);font-weight:900;box-shadow:0 7px 22px rgba(83,28,48,.2);pointer-events:none;transition:opacity .18s,transform .18s}.wind-notice.active{opacity:1;transform:translate(-50%,0)}.win-qr{display:block;width:min(180px,54vw);height:auto;margin:14px auto 0;padding:7px;border-radius:12px;background:#fff}.brand-logo{position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));width:clamp(170px,30vw,320px);margin:0;mix-blend-mode:normal}.intro-card h1{font-size:clamp(1.9rem,6.5vw,3.6rem);letter-spacing:-.025em;overflow-wrap:normal;white-space:nowrap}.honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.campaign-period{margin:10px 0 5px;padding:7px 10px;border-radius:12px;background:rgba(143,7,88,.1);color:var(--berry-dark);font-weight:900}.redeem-rule{font-size:.82rem;line-height:1.35!important;margin:7px 0 12px}.compact{max-height:calc(100dvh - 42px);overflow:auto}.prize-tiers{margin:12px 0;padding:10px;border:1px solid rgba(143,7,88,.18);border-radius:16px;background:rgba(255,255,255,.72);text-align:left}.prize-tiers h3{margin:0 0 7px;text-align:center;color:var(--berry);font-family:Georgia,serif}.prize-tiers div{display:flex;justify-content:space-between;gap:12px;padding:5px 3px;border-top:1px solid rgba(143,7,88,.1);font-size:.78rem}.prize-tiers div:first-of-type{border-top:0}.prize-tiers span{white-space:nowrap;color:#6b4b55}.tier-note{font-size:.76rem;line-height:1.35!important}.redeem-deadline{margin:12px 0;padding:10px;border-radius:12px;background:rgba(143,7,88,.1);color:var(--berry-dark);font-weight:900;font-size:.87rem}
.experience-copy{margin:10px 0 14px;padding-top:9px;border-top:1px solid rgba(143,7,88,.14);font-size:.78rem;line-height:1.38!important}.intro-card{max-height:calc(100dvh - 28px);overflow:auto}
@media (max-width:600px) and (orientation:portrait){:root{font-size:17px}.screen{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.brand-logo{width:clamp(160px,52vw,210px)}.intro-card{max-height:calc(100dvh - 118px);margin-top:100px;padding:18px 16px;border-radius:21px}.center-card.compact,.result-card{max-height:calc(100dvh - 64px);padding:19px 16px;border-radius:21px}.intro-card h1{font-size:clamp(1.9rem,9vw,2.55rem)}.intro-card h2,.result-card h2,.center-card h2{font-size:clamp(1.45rem,6.4vw,2rem)}.intro-card p,.result-card p,.center-card p{font-size:1rem;line-height:1.48}.eyebrow{font-size:.84rem}.campaign-period{font-size:.95rem;padding:9px 10px}.redeem-rule,.experience-copy,.tier-note,.fineprint{font-size:.9rem!important;line-height:1.45!important}.prize-tiers{padding:11px}.prize-tiers h3{font-size:1.15rem}.prize-tiers div{font-size:.9rem;line-height:1.3;padding:7px 3px}.primary{font-size:1rem;min-height:52px;padding:14px 21px}.result-card label:not(.consent){font-size:1rem}.result-card input[type=text],.result-card input:not([type]){font-size:1rem;min-height:50px}.consent{font-size:.9rem}.code-box span{font-size:.82rem}.redeem-deadline{font-size:.94rem}.dialog-inner{font-size:.95rem;padding:24px 20px}.hud span{font-size:.74rem}.hud strong{font-size:1.15rem}.wind-notice{font-size:.92rem}.legal-nav{width:calc(100% - 16px);justify-content:center;flex-wrap:wrap;gap:3px 7px;white-space:normal}.legal-nav button{font-size:.82rem}.icon-button{bottom:max(52px,env(safe-area-inset-bottom))}}
@media (max-width:600px) and (orientation:portrait){:root{font-size:19px}.screen{padding:max(12px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(70px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.brand-logo{width:clamp(180px,58vw,230px)}.intro-card{max-height:calc(100dvh - 134px);margin-top:112px;padding:22px 18px}.center-card.compact,.result-card{max-height:calc(100dvh - 86px);padding:23px 18px}.intro-card h1{font-size:clamp(2rem,10.5vw,2.3rem)}.intro-card h2,.result-card h2,.center-card h2{font-size:clamp(1.6rem,7.4vw,2.15rem)}.intro-card p,.result-card p,.center-card p{font-size:1.08rem;line-height:1.52}.eyebrow{font-size:.92rem}.campaign-period{font-size:1.03rem;padding:11px}.redeem-rule,.experience-copy,.tier-note,.fineprint{font-size:.98rem!important;line-height:1.5!important}.prize-tiers{padding:13px}.prize-tiers h3{font-size:1.28rem}.prize-tiers div{font-size:1rem;line-height:1.38;padding:9px 3px;flex-direction:column;gap:2px}.prize-tiers span{white-space:normal}.primary{width:100%;font-size:1.1rem;min-height:60px;padding:16px 20px}.result-card label:not(.consent){font-size:1.08rem}.result-card input[type=text],.result-card input:not([type]){font-size:1.08rem;min-height:58px}.consent{font-size:.98rem;grid-template-columns:26px 1fr}.consent input{width:24px;height:24px}.code-box span{font-size:.9rem}.code-box strong{font-size:2rem}.redeem-deadline{font-size:1rem;padding:12px}.dialog-inner{font-size:1.02rem;padding:28px 22px}.dialog-inner .primary{width:100%}.hud{top:max(8px,env(safe-area-inset-top));width:calc(100% - 12px);min-height:86px;border-radius:20px}.hud div{padding:13px 6px}.hud span{font-size:.88rem;letter-spacing:.05em}.hud strong{font-size:1.38rem;line-height:1.25}.wind-notice{top:106px;font-size:1rem;padding:10px 18px}.legal-nav{bottom:max(5px,env(safe-area-inset-bottom));padding:8px 9px;min-height:50px}.legal-nav button{font-size:.9rem;padding:3px}.icon-button{width:54px;height:54px;bottom:max(68px,env(safe-area-inset-bottom));font-size:1.15rem}}
@media (min-aspect-ratio:4/5){.start-screen,.result-screen{background-color:#d3a180;background-size:cover,auto 100%;background-repeat:no-repeat;background-position:center}}
@media (orientation:landscape) and (max-height:700px){.brand-logo{position:absolute;left:24px;top:10px;width:min(30vw,300px)}.intro-card{margin:auto 4vw auto auto;max-width:520px}.result-card{margin-left:auto;margin-right:3vw}.hud{left:12px;transform:none;width:260px}.screen{background-position:center 42%}}
@media (orientation:landscape) and (max-height:600px){:root{font-size:17px}.hud{width:min(390px,48vw);min-height:72px}.hud div{padding:10px 7px}.hud span{font-size:.78rem}.hud strong{font-size:1.25rem}.primary{font-size:1rem;min-height:52px}.intro-card,.result-card,.center-card.compact{max-height:calc(100dvh - 30px);overflow:auto}.wind-notice{top:90px;font-size:.95rem}}
@media (min-width:900px){.screen{background-size:cover}.start-screen,.result-screen{background-position:center 42%}.game-bg{background-position:center center}.intro-card{margin-bottom:4vh}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
