@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#10162f;--ink-2:#1b2850;--sky:#75d8ff;--sky-deep:#4f82ee;--sun:#ffc857;--coral:#f27e6d;--mint:#a4ead5;--cream:#fff9ec;--white:#fff;--muted:#8f9bbd;--glass:rgba(255,255,255,.12);--glass-border:rgba(255,255,255,.22);--shadow:0 22px 55px rgba(6,10,34,.24);--display:'Outfit',ui-sans-serif,system-ui,sans-serif;--body:'DM Sans',ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--white);font-family:var(--body);overscroll-behavior:none}body{min-height:100svh;overflow-x:hidden}.app-shell{min-height:100svh;position:relative;overflow:hidden;background:linear-gradient(145deg,#111936 0%,#243b75 46%,#6fc9e9 100%)}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--sun);outline-offset:4px}.screen{display:none;min-height:100svh;position:relative}.screen.is-active{display:flex}.eyebrow{font-size:10px;letter-spacing:.24em;font-weight:800;color:rgba(255,255,255,.65);margin:0;text-transform:uppercase}.landing-screen{flex-direction:column;padding:24px max(22px,calc((100vw - 1180px)/2));isolation:isolate}.landing-screen:before,.game-screen:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 82% 8%,rgba(255,213,120,.6),transparent 17%),radial-gradient(circle at 10% 85%,rgba(124,222,255,.38),transparent 20%),linear-gradient(180deg,rgba(112,207,247,.1),rgba(16,22,47,.46))}.landing-screen:after,.game-screen:after{content:"";position:absolute;inset:auto -10% -14% -10%;height:37%;z-index:-2;background:linear-gradient(180deg,rgba(35,105,152,0),rgba(22,64,108,.55));clip-path:polygon(0 45%,12% 26%,23% 43%,35% 16%,47% 39%,59% 13%,72% 39%,84% 20%,100% 42%,100% 100%,0 100%);opacity:.72}.sky-orbit{position:absolute;border-radius:999px;z-index:-1;filter:blur(.3px);opacity:.5;pointer-events:none;border:1px solid rgba(255,255,255,.12)}.orbit-one{width:410px;height:150px;right:-130px;top:90px;transform:rotate(-20deg);box-shadow:0 0 60px rgba(255,210,120,.25)}.orbit-two{width:270px;height:90px;left:-105px;bottom:100px;transform:rotate(12deg)}.landing-topline{display:flex;justify-content:space-between;align-items:center;max-width:1180px;width:100%;margin:0 auto 22px}.event-pill,.attempt-tag,.live-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 12px;color:rgba(255,255,255,.72);font:800 10px var(--body);letter-spacing:.14em}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(164,234,213,.12);animation:pulse 1.8s infinite}.attempt-tag{border-color:rgba(255,200,87,.35);color:var(--sun)}.landing-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:8%;max-width:1180px;width:100%;margin:auto}.brand-lockup{padding:20px 0 42px}.mark-wrap{width:102px;height:102px;position:relative;margin-bottom:16px;filter:drop-shadow(0 14px 20px rgba(12,26,70,.3));animation:float 4.8s ease-in-out infinite}.brand-mark{width:100%;height:100%}.mark-spark{position:absolute;right:-12px;top:-12px;color:var(--sun);font-size:34px;animation:spin-spark 5s linear infinite}.brand-lockup h1{font:900 clamp(60px,9vw,116px)/.82 var(--display);letter-spacing:-.08em;margin:0;color:var(--white)}.brand-lockup h1 span{display:block;color:var(--sun)}.brand-lockup h1 strong{display:block;font-weight:900;color:var(--white)}.challenge-label{margin:18px 0 0;font:800 clamp(15px,2vw,22px)/1 var(--display);letter-spacing:.24em;color:rgba(255,255,255,.82)}.challenge-label span{color:var(--sky)}.hero-copy{font:500 clamp(17px,2vw,22px)/1.35 var(--body);color:rgba(255,255,255,.75);max-width:360px;margin:24px 0 0}.glass-card{background:linear-gradient(140deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid var(--glass-border);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:26px}.landing-flight-card{padding:22px;transform:rotate(1.4deg);overflow:hidden;position:relative}.landing-flight-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(255,224,139,.34),transparent 24%),linear-gradient(145deg,rgba(117,216,255,.2),transparent 50%);pointer-events:none}.bird-stage{height:310px;position:relative;display:grid;place-items:center;overflow:hidden}.bird-stage:before,.bird-stage:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.14);filter:blur(1px)}.bird-stage:before{width:190px;height:72px;top:22px;left:-30px;box-shadow:150px 30px 0 rgba(255,255,255,.1),270px 0 0 rgba(255,255,255,.13)}.bird-stage:after{width:250px;height:100px;bottom:-55px;right:-20px;box-shadow:-180px 20px 0 rgba(255,255,255,.09)}.hero-bird{width:128px;height:98px;border-radius:58% 56% 48% 54%;background:linear-gradient(160deg,#ffe78e,#ffbc4c);border:5px solid var(--ink);position:relative;transform:rotate(-9deg);z-index:2;box-shadow:0 18px 0 rgba(34,70,120,.15),0 24px 30px rgba(6,18,60,.22);animation:bird-bob 2s ease-in-out infinite}.hero-bird:before{content:"";position:absolute;width:50px;height:33px;left:14px;top:36px;border-radius:60% 35% 70% 40%;background:#ffd56c;border:4px solid var(--ink);transform:rotate(12deg)}.bird-wing{position:absolute;width:36px;height:26px;border-radius:60% 40% 60% 40%;left:16px;top:35px;background:var(--sun);border:4px solid var(--ink);transform:rotate(18deg)}.bird-eye{position:absolute;right:34px;top:22px;width:16px;height:16px;border-radius:50%;background:var(--white);border:4px solid var(--ink)}.bird-eye:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ink);top:2px;right:2px}.bird-beak{position:absolute;right:-30px;top:45px;width:37px;height:26px;background:var(--coral);border:4px solid var(--ink);clip-path:polygon(0 0,100% 48%,0 100%);transform:rotate(-1deg)}.bird-crest{position:absolute;top:-30px;left:48px;font-size:28px;color:var(--sun);-webkit-text-stroke:3px var(--ink);transform:rotate(10deg)}.bird-shadow{position:absolute;width:140px;height:20px;border-radius:50%;bottom:48px;background:rgba(12,34,80,.2);filter:blur(8px);animation:shadow-breathe 2s ease-in-out infinite}.flight-dash{position:absolute;height:2px;width:32px;border-radius:5px;background:rgba(255,255,255,.7);left:17%;top:46%;animation:dash 3s linear infinite}.dash-b{left:auto;right:13%;top:58%;width:54px;animation-delay:1.3s}.cta-row{display:flex;gap:14px;align-items:stretch;position:relative;z-index:2}.primary-button{min-height:62px;flex:1;border-radius:18px;padding:0 20px 0 24px;display:flex;justify-content:space-between;align-items:center;background:var(--sun);color:var(--ink);font:900 16px var(--display);letter-spacing:.08em;box-shadow:0 10px 0 #d79333,0 18px 28px rgba(255,200,87,.22);transition:transform .18s ease,box-shadow .18s ease}.primary-button i{font:normal 28px/1 var(--display);transition:transform .2s ease}.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 0 #d79333,0 22px 30px rgba(255,200,87,.28)}.primary-button:active{transform:translateY(6px);box-shadow:0 4px 0 #d79333,0 10px 18px rgba(255,200,87,.18)}.primary-button:hover i{transform:translateX(4px)}.best-score{min-width:82px;padding:10px 12px;border:1px solid rgba(255,255,255,.17);border-radius:17px;display:flex;flex-direction:column;justify-content:center;align-items:center}.best-score small{font:800 9px var(--body);letter-spacing:.14em;color:rgba(255,255,255,.62)}.best-score strong{font:900 26px var(--display);color:var(--mint);line-height:1}.tap-note{font:600 12px var(--body);color:rgba(255,255,255,.62);margin:18px 0 0;text-align:center}.tap-icon{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--sun)}.landing-footer{max-width:1180px;width:100%;margin:0 auto 10px}.instruction-strip{display:flex;gap:30px;align-items:center;margin-bottom:24px}.instruction-strip>div{display:flex;align-items:center;gap:10px}.instruction-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:var(--sun);font-size:15px}.instruction-strip p{display:flex;flex-direction:column;margin:0}.instruction-strip b{font:800 11px var(--display);letter-spacing:.1em}.instruction-strip small{color:rgba(255,255,255,.55);font-size:11px}.card-heading{display:flex;align-items:center;gap:11px}.card-heading>div{flex:1}.heading-icon{font-size:18px}.card-heading h2,.card-heading h3{font:800 15px/1.1 var(--display);letter-spacing:.12em;margin:4px 0 0}.live-chip{padding:5px 9px;font-size:8px;color:var(--mint);border-color:rgba(164,234,213,.35)}.compact-card{padding:17px 19px}.landing-footer .compact-card{max-width:430px}.leaderboard-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.leaderboard-list li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.76);font-size:12px}.leaderboard-list li:before{content:counter(item,decimal-leading-zero);counter-increment:item;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(255,255,255,.1);color:var(--sun);font:800 10px var(--display)}.leaderboard-list{counter-reset:item}.leaderboard-list b{margin-left:auto;color:var(--white);font:800 15px var(--display)}.leaderboard-list li:nth-child(1):before{background:var(--sun);color:var(--ink)}.leaderboard-list li:nth-child(2):before{background:#ccd6e3;color:var(--ink)}.leaderboard-list li:nth-child(3):before{background:#d99367;color:var(--ink)}.site-footer{display:flex;justify-content:space-between;gap:15px;max-width:1180px;width:100%;margin:18px auto 0;color:rgba(255,255,255,.42);font:700 9px var(--body);letter-spacing:.1em;text-transform:uppercase}.site-footer i{font-style:normal;color:var(--sun)}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--sun)}
/* game */.game-screen{background:#5ac9ee;touch-action:none;user-select:none}.game-screen.is-active{display:block}.game-screen canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.game-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 35%,rgba(13,27,64,.23) 100%)}.game-topbar{position:absolute;z-index:4;top:max(18px,env(safe-area-inset-top));left:0;right:0;padding:0 max(18px,env(safe-area-inset-right));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;pointer-events:none}.hud-block,.hud-score{display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 3px 10px rgba(12,31,76,.22)}.hud-score{align-items:center;position:relative}.hud-block span,.hud-score span{font:800 10px var(--body);letter-spacing:.18em;color:rgba(255,255,255,.8)}.hud-block strong,.hud-score strong{font:900 32px var(--display);line-height:1;color:var(--white)}.hud-score strong{font-size:40px;color:var(--sun)}.sound-button{justify-self:end;pointer-events:auto;background:rgba(16,22,47,.22);border:1px solid rgba(255,255,255,.24);color:var(--white);border-radius:15px;padding:8px 10px;display:flex;align-items:center;gap:7px;backdrop-filter:blur(8px)}.sound-button span{font-size:18px;color:var(--sun)}.sound-button small{font:800 8px var(--body);letter-spacing:.1em}.score-pop{position:absolute;top:46px;color:var(--white);font:900 22px var(--display);opacity:0}.score-pop.pop{animation:score-rise .65s ease-out}.difficulty-toast{position:absolute;top:24%;left:50%;transform:translate(-50%,-20px);opacity:0;z-index:6;display:flex;gap:9px;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(16,22,47,.74);border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 28px rgba(15,24,56,.18);color:var(--sun);white-space:nowrap}.difficulty-toast b{font:900 11px var(--display);letter-spacing:.12em}.difficulty-toast.show{animation:toast-in 2.3s ease both}.game-hint{position:absolute;z-index:3;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:9px 12px;border-radius:999px;background:rgba(16,22,47,.25);color:rgba(255,255,255,.72);font:800 9px var(--body);letter-spacing:.14em;pointer-events:none;transition:opacity .4s}.game-hint.hidden{opacity:0}.countdown-overlay{position:absolute;inset:0;z-index:7;display:grid;place-content:center;justify-items:center;background:rgba(23,51,101,.17);backdrop-filter:blur(2px);pointer-events:none}.countdown-kicker{font:800 11px var(--body);letter-spacing:.32em;color:rgba(255,255,255,.72);margin-left:.32em}.countdown-number{font:900 clamp(120px,32vw,250px)/.86 var(--display);color:var(--sun);text-shadow:0 12px 0 rgba(15,33,75,.15);animation:count-pop .75s ease both}.countdown-line{width:100px;height:3px;border-radius:5px;background:var(--white);animation:line-grow 1s ease infinite}
/* result states */.result-screen,.locked-screen{flex-direction:column;align-items:center;text-align:center;padding:64px 20px 38px;background:radial-gradient(circle at 50% 7%,rgba(255,200,87,.22),transparent 20%),linear-gradient(160deg,#142048,#2e5990 70%,#77cde7);overflow:auto}.result-screen:before,.locked-screen:before{content:"";position:absolute;inset:0;z-index:0;opacity:.2;background-image:radial-gradient(rgba(255,255,255,.45) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 70%)}.result-screen>*:not(.result-stars),.locked-screen>*:not(.lock-illustration){position:relative;z-index:1}.result-stars{color:var(--sun);font-size:22px;letter-spacing:.3em;margin:6px 0 18px;animation:star-drift 3s ease-in-out infinite}.result-screen h2,.locked-screen h2{font:900 clamp(42px,10vw,78px)/.88 var(--display);letter-spacing:-.05em;margin:10px 0 14px;color:var(--white)}.result-screen h2{color:var(--sun)}.result-message,.locked-screen>p:not(.eyebrow){max-width:360px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.5;margin:0 auto 24px}.result-score-card{width:min(100%,360px);padding:22px 22px 18px;border:1px solid rgba(255,255,255,.2);border-radius:25px;background:rgba(16,22,47,.3);box-shadow:var(--shadow)}.result-score-card>span,.locked-score>span{font:800 10px var(--body);letter-spacing:.22em;color:rgba(255,255,255,.62)}.result-score-card>strong{display:block;font:900 clamp(76px,18vw,116px)/.95 var(--display);color:var(--white);margin:8px 0 10px}.result-meter{height:5px;border-radius:5px;background:rgba(255,255,255,.12);overflow:hidden}.result-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--coral),var(--sun),var(--mint));border-radius:inherit;transition:width 1s ease}.result-badge{margin-top:16px;display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,200,87,.14);border:1px solid rgba(255,200,87,.32);color:var(--sun);font:900 10px var(--display);letter-spacing:.13em}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,360px);margin:14px 0 0}.result-stats>div{padding:13px 10px;border-radius:16px;background:rgba(255,255,255,.09);display:flex;flex-direction:column;gap:4px}.result-stats span{font:800 9px var(--body);letter-spacing:.15em;color:rgba(255,255,255,.55)}.result-stats b{font:800 17px var(--display);color:var(--mint)}.thanks{color:rgba(255,255,255,.58);font-size:13px;margin:22px 0 8px}.secondary-button{padding:13px 16px;border-radius:13px;background:rgba(255,255,255,.1);color:var(--white);border:1px solid rgba(255,255,255,.2);font:800 10px var(--display);letter-spacing:.11em}.secondary-button span{color:var(--sun);font-size:16px;margin-left:7px}.result-leaderboard{width:min(100%,360px);text-align:left;margin-top:20px}.lock-illustration{position:relative;z-index:1;width:96px;height:96px;display:grid;place-items:center;margin-bottom:24px;border-radius:30px;background:rgba(164,234,213,.2);border:1px solid rgba(164,234,213,.5);box-shadow:0 14px 40px rgba(7,34,68,.18)}.lock-illustration span{font:900 43px var(--display);color:var(--mint)}.lock-orbit{position:absolute;inset:-16px;border:1px dashed rgba(164,234,213,.5);border-radius:36px;animation:spin-spark 9s linear infinite}.locked-screen h2{max-width:470px;font-size:clamp(35px,8vw,61px)}.locked-screen .eyebrow{color:var(--mint)}.locked-score{width:min(100%,330px);padding:16px 20px;margin:5px 0 5px;background:rgba(16,22,47,.27)}.locked-score strong{display:block;font:900 46px var(--display);margin-top:4px;color:var(--mint)}.error-banner{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;width:min(calc(100% - 28px),520px);display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:17px;background:#fff1e9;color:#552d35;box-shadow:0 18px 42px rgba(10,20,50,.28);pointer-events:none;transition:opacity .25s,transform .25s}.error-banner.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.error-banner>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--coral);color:white;font:900 16px var(--display)}.error-banner p{margin:0;font-size:12px;font-weight:700;line-height:1.35;flex:1}.error-banner button{background:none;font-size:22px;color:inherit}.is-hidden{display:none!important}
@keyframes float{50%{transform:translateY(-8px) rotate(2deg)}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(164,234,213,0)}}@keyframes spin-spark{to{transform:rotate(360deg)}}@keyframes bird-bob{50%{transform:translateY(-11px) rotate(-4deg)}}@keyframes shadow-breathe{50%{transform:scaleX(.76);opacity:.55}}@keyframes dash{0%{transform:translateX(-20px);opacity:0}20%,80%{opacity:.8}100%{transform:translateX(120px);opacity:0}}@keyframes score-rise{0%{opacity:0;transform:translateY(8px) scale(.8)}30%{opacity:1}100%{opacity:0;transform:translateY(-35px) scale(1.1)}}@keyframes toast-in{0%,100%{opacity:0;transform:translate(-50%,-20px)}16%,80%{opacity:1;transform:translate(-50%,0)}}@keyframes count-pop{0%{opacity:0;transform:scale(1.5)}55%{opacity:1;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}@keyframes line-grow{0%{transform:scaleX(.3);opacity:.4}50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.3);opacity:.4}}@keyframes star-drift{50%{transform:translateY(-4px) rotate(-3deg)}}
@media(max-width:760px){.landing-screen{padding:16px 18px 18px}.landing-topline{margin-bottom:5px}.landing-topline .attempt-tag{display:none}.landing-grid{display:flex;flex-direction:column;gap:3px;align-items:stretch}.brand-lockup{padding:10px 8px 8px}.mark-wrap{width:68px;height:68px;margin-bottom:10px}.mark-spark{font-size:23px;right:-8px;top:-10px}.brand-lockup h1{font-size:clamp(56px,17vw,92px)}.challenge-label{font-size:12px;margin-top:13px;letter-spacing:.2em}.hero-copy{font-size:15px;margin-top:13px}.landing-flight-card{padding:12px 12px 15px;transform:none;border-radius:22px}.bird-stage{height:190px}.hero-bird{transform:scale(.82) rotate(-9deg)}.bird-stage:before{top:9px}.cta-row{gap:9px}.primary-button{min-height:57px;font-size:14px;padding-left:17px}.best-score{min-width:73px}.instruction-strip{justify-content:space-between;gap:7px;margin:22px 2px 15px}.instruction-strip>div{gap:6px}.instruction-icon{width:26px;height:26px;font-size:12px}.instruction-strip b{font-size:9px}.instruction-strip small{font-size:9px}.landing-footer .compact-card{max-width:none}.compact-card{padding:14px 15px}.site-footer{margin-top:15px;font-size:8px}.site-footer span:first-child{display:none}.site-footer span:last-child{margin-left:auto}.game-topbar{padding-left:15px;padding-right:15px}.hud-block strong{font-size:27px}.hud-score strong{font-size:34px}.sound-button{padding:8px}.sound-button small{display:none}.result-screen,.locked-screen{padding-top:44px}.result-screen h2{font-size:55px}.result-score-card>strong{font-size:92px}}
@media(min-width:761px){.landing-screen{padding-top:34px}.landing-footer{display:flex;align-items:end;justify-content:space-between;gap:30px}.landing-footer .instruction-strip{margin:0}.result-screen,.locked-screen{padding-top:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* three-attempt event mode */
.attempt-status{margin:0 0 20px;color:var(--mint);font:800 10px var(--body);letter-spacing:.18em}.result-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.retry-button{width:min(100%,300px);min-height:54px;box-shadow:0 8px 0 #d79333,0 14px 24px rgba(255,200,87,.18)}.retry-button.is-hidden{display:none!important}
