:root{--bg:#2d491f;--bg-2:#3a5c29;--green:#2d491f;--green-soft:#d8f0cc;--cream:#fffdec;--yellow:#ffeb00;--yellow-shade:#c2a800;--terracotta:#8e3a2e;--ink:#fffdec;--ink-soft:#fffdecbf;--card-ink:#2d491f;--card-ink-soft:#2d491fb8;--font:"Quicksand", ui-rounded, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--display:"Rakkas", Georgia, "Times New Roman", serif;--app-h:100vh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (height:100dvh){:root{--app-h:100dvh}}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0f140a;margin:0;overflow:hidden}#app{height:var(--app-h);background:radial-gradient(90% 60% at 50% 45%,#141a0e26,#0a0d07bf),url(/bg-jungle.jpg) 50%/cover no-repeat,#141a0e;max-width:520px;margin:0 auto;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#stage{padding:calc(env(safe-area-inset-top) + 58px) calc(env(safe-area-inset-right) + 8px) calc(env(safe-area-inset-bottom) + 10px) calc(env(safe-area-inset-left) + 8px);position:absolute;top:0;bottom:0;left:0;right:0}#course{touch-action:none;width:100%;height:100%;display:block}[hidden]{display:none!important}.hud{top:calc(env(safe-area-inset-top) + 10px);pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.hud-pill{font-variant-numeric:tabular-nums;background:#12160ee0;border:1.5px solid #ffffff0f;border-radius:999px;align-items:center;gap:7px;padding:7px 16px 6px;font-size:15px;display:flex;box-shadow:0 4px 14px #00000059}.hud-shot{border-color:#54a142bf}.hud-pill strong{font-family:var(--display);color:#ffd21f;font-size:24px;font-weight:400;line-height:1}.hud-label{color:#fff;letter-spacing:.02em;text-transform:uppercase;font-size:15px;font-weight:700}.hud-best{color:#ffd21f;border-left:1px solid #ffffff38;align-items:center;gap:5px;margin-left:4px;padding-left:11px;font-size:15px;font-weight:700;display:flex}.hud-best:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Cpath fill='%23ffd21f' d='M2 4l5 5 5-8 5 8 5-5-2 12H4z'/%3E%3Crect x='4' y='16' width='16' height='2' rx='1' fill='%23ffd21f'/%3E%3C/svg%3E") 50%/contain no-repeat;width:17px;height:13px}.icon-btn{pointer-events:auto;cursor:pointer;background:#12160ee0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdec' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M19 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E") 50%/22px no-repeat;border:1.5px solid #ffffff1f;border-radius:999px;width:44px;height:44px;margin-left:auto}.icon-btn.is-muted{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdec' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z'/%3E%3Cpath d='m23 9-6 6M17 9l6 6'/%3E%3C/svg%3E")}.screen{overscroll-behavior:contain;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0d078c;place-items:center;animation:.22s ease-out fade-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.card{background:var(--cream);width:100%;max-width:360px;color:var(--card-ink);text-align:center;border-radius:8px 44px;padding:26px 22px 22px;animation:.32s cubic-bezier(.2,.9,.3,1.15) rise;box-shadow:0 24px 60px #0006}.card.has-buddy{margin-top:64px;position:relative}.buddy{pointer-events:none;filter:drop-shadow(0 6px 10px #00000040);height:auto;position:absolute}.buddy-start{transform-origin:50% 100%;width:104px;animation:.5s cubic-bezier(.2,.9,.3,1.3) .15s both buddy-pop,3s ease-in-out .7s infinite buddy-bob;top:-86px;right:-14px}.buddy-end{transform-origin:50% 100%;width:84px;animation:.5s cubic-bezier(.2,.9,.3,1.3) .2s both buddy-pop;top:-96px;left:-10px}.buddy-end.is-proud{width:100px;top:-84px}@keyframes buddy-pop{0%{opacity:0;transform:translateY(24px)scale(.6)}}@keyframes buddy-bob{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)translateY(-2px)}}.logo{filter:drop-shadow(0 3px #2d491f40);width:100%;max-width:280px;height:auto;margin:0 auto 6px;display:block}h1,h2{font-family:var(--display);color:var(--green);margin:0;font-weight:400;line-height:1.05}h1{font-size:clamp(34px,10vw,42px)}h2{font-size:clamp(38px,11vw,48px)}.lead{color:var(--card-ink-soft);margin:6px 0 16px;font-size:17px;font-weight:500}.chip{background:var(--green-soft);color:var(--green);border-radius:999px;margin-bottom:22px;padding:5px 16px;font-weight:700;display:inline-block}.chip strong{font-family:var(--display);font-weight:400}.btn{width:100%;min-height:56px;font:inherit;cursor:pointer;border:0;border-radius:10px;font-size:18px;font-weight:700;transition:transform .12s,filter .12s;display:block}.btn:active{transform:scale(.97)}.btn-primary{background:var(--yellow);color:var(--green);font-family:var(--display);box-shadow:0 5px 0 var(--yellow-shade), 0 12px 26px #2d491f40;font-size:24px;font-weight:400}.btn-primary:active{box-shadow:0 1px 0 var(--yellow-shade);transform:translateY(4px)}.btn-ghost{background:var(--green-soft);min-height:48px;color:var(--green);font-size:16px}.row{gap:10px;margin-top:14px;display:flex}.muted{color:var(--card-ink-soft);margin:16px 0 0;font-size:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 18px;display:grid}.stats div{background:var(--green-soft);border-radius:12px;padding:10px 4px 9px}.stats strong{font-family:var(--display);font-size:32px;font-weight:400;line-height:1.1;display:block}.stats span{color:var(--card-ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.rank{margin:-4px 0 18px;font-size:16px;font-weight:700}.toast{min-height:1.2em;color:var(--terracotta);margin:12px 0 0;font-size:14px;font-weight:700}.hint{pointer-events:none;justify-items:center;animation:.4s ease-out fade-in;display:grid;position:absolute;top:63%;left:0;right:0}.hint p{color:#fff;background:#12160ee0;border-radius:999px;margin:0 0 18px;padding:8px 18px;font-size:16px;font-weight:700;box-shadow:0 6px 18px #00000040}.hint-finger{background:#fffdeceb;border-radius:50%;width:44px;height:44px;animation:1.6s cubic-bezier(.4,0,.2,1) infinite pull;box-shadow:0 0 0 10px #ffeb004d}.hint.is-hiding{opacity:0;transition:opacity .25s}@keyframes pull{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:1}60%{opacity:1;transform:translate(-36px,56px)scale(.92)}75%,to{opacity:0;transform:translate(-36px,56px)scale(1.15)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (orientation:landscape) and (max-height:500px){.card{padding:16px 18px}.card.has-buddy{margin-top:64px;position:relative}.buddy{pointer-events:none;filter:drop-shadow(0 6px 10px #00000040);height:auto;position:absolute}.buddy-start{transform-origin:50% 100%;width:104px;animation:.5s cubic-bezier(.2,.9,.3,1.3) .15s both buddy-pop,3s ease-in-out .7s infinite buddy-bob;top:-86px;right:-14px}.buddy-end{transform-origin:50% 100%;width:84px;animation:.5s cubic-bezier(.2,.9,.3,1.3) .2s both buddy-pop;top:-96px;left:-10px}.buddy-end.is-proud{width:100px;top:-84px}@keyframes buddy-pop{0%{opacity:0;transform:translateY(24px)scale(.6)}}@keyframes buddy-bob{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)translateY(-2px)}}.logo{max-width:200px}h1{font-size:28px}.lead{margin:6px 0 10px}.chip{margin-bottom:10px}}.rotate{display:none}@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){.rotate{z-index:10;background:var(--bg);place-items:center;font-size:18px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}}.promo{color:var(--green);background:#ffd21f38;border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:15px;font-weight:600;line-height:1.35}.link-btn{color:var(--green);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:10px auto 0;padding:8px 12px;font-size:15px;font-weight:700;text-decoration:underline;display:block}.ticket{border:2px dashed var(--green);color:var(--green);text-align:center;background:linear-gradient(160deg,#fff7c2,#ffe45c);border-radius:14px;margin:4px 0 16px;padding:16px 14px 14px;position:relative}.ticket:before,.ticket:after{content:"";background:var(--cream);border-radius:50%;width:18px;height:18px;margin-top:-9px;position:absolute;top:50%}.ticket:before{left:-11px}.ticket:after{right:-11px}.ticket-kicker{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.ticket-title{font-family:var(--display);margin:2px 0 10px;font-size:22px;line-height:1.1}.ticket-code{background:var(--green);color:#ffeb00;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:all;user-select:all;border-radius:10px;padding:8px 14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:clamp(21px,6.6vw,28px);font-weight:800;display:inline-block}.ticket-meta{margin:8px 0 10px;font-size:13px;font-weight:700}.ticket-steps{text-align:left;margin:0;padding:0;font-size:15px;line-height:1.35;list-style:none}.ticket-steps li{background:#ffffff8c;border-radius:9px;align-items:baseline;gap:8px;padding:7px 10px;display:flex}.ticket-steps li+li{margin-top:6px}.ticket-es{opacity:.8;margin:10px 0 0;font-size:12px;font-weight:600}.reward-status{background:var(--green-soft);border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:15px;font-weight:600}.reward-status button{color:var(--terracotta);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:6px;font-weight:700;text-decoration:underline}.ticket-sub{margin:-6px 0 10px;font-size:14px;font-weight:700}.btn-link{place-items:center;text-decoration:none;display:grid}.ticket-steps a{color:var(--green);font-weight:700}.row .btn{flex:1}
