@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=Unbounded:wght@700;800&display=swap');

:root { color-scheme: dark; --lime:#c8ff3d; --violet:#138f5b; --ink:#052b1e; --pink:#4ee49a; }
* { box-sizing:border-box; }
html { min-width:320px; background:#031d14; }
body { margin:0; min-width:320px; min-height:100vh; font-family:Manrope,system-ui,sans-serif; color:white; background:#031d14; }
button,a { font:inherit; -webkit-tap-highlight-color:transparent; }
a{color:inherit}
.app { position:relative; isolation:isolate; width:min(100%,480px); min-height:100vh; min-height:100dvh; margin:auto; padding:max(18px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom)); overflow:hidden; background:radial-gradient(circle at 105% 17%,rgba(200,255,61,.18),transparent 31%),radial-gradient(circle at -8% 43%,rgba(31,190,115,.3),transparent 35%),linear-gradient(160deg,#073c29 0%,#031d14 58%,#062d20 100%); }
.app::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(to bottom,black,transparent 65%); }
.orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); opacity:.7; }
.orb-one { width:150px;height:150px;right:-105px;top:38%;border:24px solid var(--lime); }
.orb-two { width:100px;height:100px;left:-72px;top:13%;border:18px solid var(--pink); }
.topbar { display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex;align-items:center;gap:9px;color:white;text-decoration:none;font:800 13px Unbounded,sans-serif;letter-spacing:.04em; }
.logo-mark { display:grid;place-items:center;width:32px;height:32px;border-radius:10px 4px 10px 4px;color:var(--ink);background:var(--lime);transform:rotate(-4deg);box-shadow:0 0 24px rgba(216,255,53,.32); }
.wallet { display:flex;align-items:flex-end;gap:7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 11px;color:white;background:rgba(255,255,255,.07); }
.wallet span { font-size:9px;opacity:.55;text-transform:uppercase;letter-spacing:.08em; }.wallet strong{font-size:12px;}
.hero { position:relative;padding:36px 3px 22px; }
.live-pill { position:absolute;right:0;top:25px;padding:7px 10px;border:1px solid rgba(216,255,53,.24);border-radius:99px;color:var(--lime);background:rgba(216,255,53,.08);font-size:8px;font-weight:800;letter-spacing:.12em; }
.live-pill i { display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(216,255,53,.12);animation:pulse 1.4s infinite; }
.eyebrow { margin:0 0 4px;color:rgba(255,255,255,.6);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase; }
h1 { margin:0;font:800 clamp(39px,11vw,52px)/.91 Unbounded,sans-serif;letter-spacing:-.065em; }
h1 span { color:var(--lime);text-shadow:0 0 32px rgba(216,255,53,.28); }
.subtitle { max-width:260px;margin:13px 0 0;color:rgba(255,255,255,.66);font-size:13px;line-height:1.45; }
.ticket { position:relative;padding:5px 5px 16px;border:1px solid rgba(255,255,255,.16);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));box-shadow:0 28px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.13);backdrop-filter:blur(14px); }
.ticket::before,.ticket::after { content:"";position:absolute;top:63px;width:22px;height:22px;border-radius:50%;background:#031d14; }.ticket::before{left:-12px}.ticket::after{right:-12px}
.ticket-head { display:flex;justify-content:space-between;align-items:center;padding:13px 15px 14px;border-bottom:1px dashed rgba(255,255,255,.17); }
.ticket-head>div { display:flex;flex-direction:column;gap:2px; }.ticket-head span{font-size:8px;font-weight:800;letter-spacing:.18em;opacity:.46}.ticket-head strong{font:700 12px Unbounded,sans-serif}.jackpot{text-align:right}.jackpot strong{color:var(--lime)}
.scratch-status { display:flex;align-items:center;justify-content:space-between;margin:13px 11px 0;padding:9px 12px;border-radius:12px;color:rgba(255,255,255,.55);background:rgba(0,0,0,.2);font-size:8px;font-weight:800;letter-spacing:.12em; }
.scratch-status i{color:white;font-style:normal}.scratch-status strong{color:var(--lime);font:700 13px Unbounded,sans-serif;letter-spacing:-.04em}
.scratch-grid { display:grid;gap:9px;padding:10px 7px 6px; }
.scratch-card { position:relative;height:94px;border:1px solid color-mix(in srgb,var(--accent),white 25%);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 13% 50%,color-mix(in srgb,var(--accent),white 16%),transparent 25%),linear-gradient(112deg,color-mix(in srgb,var(--accent),#371064 42%),#441377);box-shadow:inset 0 0 30px rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s; }
.scratch-card::before{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.16) 48%,transparent 58%);transform:translateX(-60%);animation:holo 4s ease-in-out infinite;pointer-events:none}
.scratch-card.featured { height:106px;border-color:rgba(255,121,205,.7);box-shadow:0 0 26px rgba(255,63,180,.18),inset 0 0 34px rgba(255,255,255,.13); }
.prize { position:absolute;inset:0;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:1fr 1fr;align-items:end;padding:16px 18px;text-align:left; }
.prize-icon{grid-row:1/3;align-self:center;display:grid;place-items:center;width:34px;height:34px;margin:0 8px 0 0!important;border-radius:50%;color:var(--ink);background:var(--lime);font-size:17px!important;box-shadow:0 0 20px rgba(216,255,53,.28)}
.prize small { align-self:end;font-size:7px;font-weight:800;letter-spacing:.15em;opacity:.63; }.prize strong{grid-row:1/3;grid-column:3;align-self:center;font:800 clamp(20px,6.3vw,29px) Unbounded,sans-serif;color:var(--lime);white-space:nowrap}.prize>span:last-child{grid-column:2;margin:2px 0 0;font-size:9px;font-weight:800;align-self:start}
canvas { position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .5s ease,transform .5s ease; }
canvas:focus-visible{outline:3px solid var(--lime);outline-offset:-5px;border-radius:18px}
.scratch-card.revealed canvas { opacity:0;transform:scale(1.08);pointer-events:none; }.scratch-card.revealed{animation:win .6s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 30px color-mix(in srgb,var(--accent),transparent 60%)}
.card-number { position:absolute;right:9px;bottom:5px;z-index:3;font:700 6px Unbounded,sans-serif;opacity:.4;pointer-events:none; }
.scratch-progress{position:absolute;z-index:4;left:10px;right:10px;bottom:5px;height:2px;border-radius:2px;overflow:hidden;background:rgba(18,5,37,.18);pointer-events:none}.scratch-progress i{display:block;width:0;height:100%;background:var(--lime);box-shadow:0 0 8px var(--lime);transition:width .15s}.revealed .scratch-progress{opacity:0}
.gesture-hint { display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 8px 0;padding:10px;border-radius:14px;background:rgba(0,0,0,.18); }
.finger { font-size:22px;animation:swipe 1.8s ease-in-out infinite; }.gesture-hint div{display:flex;flex-direction:column}.gesture-hint strong{font-size:11px}.gesture-hint small{font-size:9px;opacity:.52}
.result { margin-top:13px;padding:18px;border-radius:22px;text-align:center;color:var(--ink);background:var(--lime);box-shadow:0 0 42px rgba(216,255,53,.24);animation:rise .55s ease both; }
.result-kicker { font-size:9px;font-weight:800;letter-spacing:.18em; }.result>strong{display:block;font:800 32px Unbounded,sans-serif;letter-spacing:-.04em}.result p{margin:3px 0 13px;font-size:11px;font-weight:700;opacity:.68}
.result button { width:100%;padding:13px;border:0;border-radius:13px;color:white;background:var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 18px rgba(18,5,37,.25); }.result button span{float:right;font-size:17px;line-height:12px}
.trust { display:flex;justify-content:space-between;margin-top:15px;padding:0 5px;color:rgba(255,255,255,.37);font-size:8px;font-weight:700; }
.trust a{text-underline-offset:3px}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.consent a{color:var(--lime);text-underline-offset:2px}
.confetti,.scratch-dust { position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden; }.confetti i{position:absolute;top:-20px;width:8px;height:14px;animation:fall 2.8s linear forwards;}.scratch-dust i{position:fixed;width:4px;height:4px;border-radius:50%;background:#d8d9de;box-shadow:0 0 3px white;animation:dust .55s ease-out forwards}
.logo b{color:var(--lime)}
.lead-panel{position:fixed;z-index:30;left:50%;bottom:0;width:min(100%,480px);padding:28px 22px max(24px,env(safe-area-inset-bottom));border:1px solid rgba(200,255,61,.32);border-bottom:0;border-radius:28px 28px 0 0;color:white;background:linear-gradient(155deg,#0b5036,#04271b 65%);box-shadow:0 -24px 70px rgba(0,0,0,.55);animation:sheet .45s cubic-bezier(.2,.8,.2,1) both}.lead-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 85% 5%,rgba(200,255,61,.22),transparent 34%)}
.lead-close{position:absolute;z-index:2;right:16px;top:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:white;background:rgba(255,255,255,.08);font-size:23px;line-height:1}.lead-badge{display:inline-flex;padding:7px 10px;border-radius:9px;color:var(--ink);background:var(--lime);font:800 12px Unbounded,sans-serif;transform:rotate(-3deg)}.lead-kicker{display:block;margin:15px 0 5px;color:var(--lime);font-size:8px;font-weight:800;letter-spacing:.2em}.lead-panel h2{position:relative;margin:0;font:800 25px/1.08 Unbounded,sans-serif;letter-spacing:-.05em}.lead-panel>p{position:relative;margin:10px 0 18px;color:rgba(255,255,255,.62);font-size:12px;line-height:1.45}.lead-panel form{position:relative;display:grid;gap:11px}.lead-panel label:not(.consent){display:grid;gap:5px}.lead-panel label>span{font-size:9px;font-weight:800;letter-spacing:.08em}.lead-panel input:not([type="checkbox"]){width:100%;height:50px;padding:0 15px;border:1px solid rgba(255,255,255,.15);border-radius:13px;outline:none;color:white;background:rgba(0,0,0,.22);font:700 14px Manrope,sans-serif}.lead-panel input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(200,255,61,.1)}.consent{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:rgba(255,255,255,.55)}.consent input{width:17px;height:17px;margin:0;accent-color:var(--lime)}.consent span{font-size:8px!important;font-weight:600!important;line-height:1.4;letter-spacing:0!important}.lead-submit{height:52px;border:0;border-radius:14px;color:var(--ink);background:var(--lime);font-size:11px;font-weight:800;box-shadow:0 10px 28px rgba(200,255,61,.2)}.lead-submit span{float:right;font-size:18px}.lead-submit:disabled{opacity:.65}.form-status{min-height:14px;margin:0;text-align:center;color:var(--lime);font-size:10px;font-weight:700}.lead-panel.success form label,.lead-panel.success .lead-submit{display:none}.lead-panel.success .form-status{padding:18px;border-radius:14px;background:rgba(200,255,61,.1);font-size:12px;line-height:1.5}
@keyframes pulse{50%{opacity:.4;transform:scale(.7)}}@keyframes swipe{50%{transform:translateX(12px) rotate(8deg)}}@keyframes holo{50%{transform:translateX(70%)}}@keyframes win{50%{transform:scale(1.025)}}@keyframes rise{from{opacity:0;transform:translateY(15px)}}@keyframes sheet{from{opacity:0;transform:translate(-50%,100%)}to{transform:translate(-50%,0)}}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes dust{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
@media (max-height:780px){.hero{padding:22px 3px 14px}h1{font-size:40px}.subtitle{margin-top:8px}.scratch-card{height:82px}.scratch-card.featured{height:90px}.scratch-grid{gap:7px;padding-top:8px}.trust{margin-top:9px}.gesture-hint{margin-top:6px;padding:7px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
