:root{--navy:#0b1830;--steel:#4aa3ff;--gold:#ffc933;--red:#ff4d4d;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;overscroll-behavior:none;background:var(--navy);color:#fff;touch-action:none;height:100dvh;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}canvas#game{touch-action:none;width:100%;height:100dvh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#hud{pointer-events:none;padding:calc(var(--safe-t) + 10px) calc(var(--safe-r) + 12px) 0 calc(var(--safe-l) + 12px);position:fixed;top:0;bottom:0;left:0;right:0}#mute{pointer-events:auto;top:calc(var(--safe-t) + 10px);right:calc(var(--safe-r) + 12px);color:#fff;background:#00000059;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;position:absolute}#progress{top:calc(var(--safe-t) + 4px);left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 70px);background:#0000004d;border-radius:3px;height:6px;position:absolute;overflow:hidden}#progress-bar{background:linear-gradient(90deg, var(--steel), var(--gold));width:0;height:100%}#win{z-index:6;background:#081024c7}#brief.hidden,#win.hidden,#lose.hidden,#ad.hidden{display:none}#win h2{color:var(--gold);text-shadow:0 4px #b4771a;margin:0;font-size:clamp(34px,11vw,60px);font-weight:900}#win p{opacity:.9;white-space:pre-line;margin:0}#replay{color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;padding:16px 44px;font-size:22px;font-weight:900;box-shadow:0 6px #b4771a}#stats{top:calc(var(--safe-t) + 18px);letter-spacing:.5px;white-space:nowrap;background:#00000059;border-radius:999px;padding:6px 14px;font-size:15px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}#fps{top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 12px);color:#9dff9d;text-shadow:0 1px 2px #000;white-space:pre;font:600 13px/1.3 ui-monospace,Menlo,monospace;position:absolute;top:calc(var(--safe-t) + 104px)!important}.screen{text-align:center;height:100dvh;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#title{background:radial-gradient(at 50% 30%,#1e468cbf,#081024eb)}#title.hidden{display:none}h1{letter-spacing:1px;color:var(--gold);text-shadow:0 4px #b4771a,0 8px 18px #00000080;margin:0;font-size:clamp(44px,16vw,84px);font-weight:900;line-height:.95;transform:rotate(-3deg)}.tag{color:var(--steel);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.hint{opacity:.7;margin:0;font-size:14px}#play{letter-spacing:2px;color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;margin-top:12px;padding:18px 56px;font-size:26px;font-weight:900;box-shadow:0 6px #b4771a,0 12px 20px #0006}#play:active{transform:translateY(4px);box-shadow:0 2px #b4771a}#rotate{background:var(--navy);z-index:10;font-size:22px;font-weight:700;display:none}#rotate .phone{font-size:64px;animation:2s ease-in-out infinite spin}@keyframes spin{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media (orientation:landscape) and (pointer:coarse){#rotate{display:flex}}#flash{opacity:0;pointer-events:none;z-index:5;background:#fff;position:fixed;top:0;bottom:0;left:0;right:0}#toast{top:calc(var(--safe-t) + 64px);text-align:center;white-space:pre-line;opacity:0;background:#be1e1ee6;border:2px solid #fff;border-radius:999px;width:max-content;max-width:86vw;padding:6px 14px;font-size:15px;font-weight:800;line-height:1.3;transition:opacity .25s,transform .25s;position:absolute;left:50%;transform:translate(-50%)translateY(-8px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#hearts{top:calc(var(--safe-t) + 18px);left:calc(var(--safe-l) + 12px);letter-spacing:2px;text-shadow:0 2px 3px #00000080;font-size:22px;position:absolute}#hurt{opacity:0;pointer-events:none;z-index:5;background:radial-gradient(#ff000026,#ff0000b3);transition:opacity .5s ease-out;position:fixed;top:0;bottom:0;left:0;right:0}#lose{z-index:6;background:#1e0606d9}#lose h2{color:var(--red);text-shadow:0 4px #6d1212;margin:0;font-size:clamp(32px,10vw,56px);font-weight:900}#lose p{opacity:.85;margin:0}#revive,#retry{color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;padding:16px 44px;font-size:20px;font-weight:900;box-shadow:0 6px #b4771a}#retry.secondary{color:#222;background:#e9edf3;box-shadow:0 6px #8892a3}#ad{z-index:8;background:#777}#ad .adtag{letter-spacing:2px;margin:0;font-weight:800}#ad-count{font-size:96px;font-weight:900}.pop{white-space:nowrap;color:#fff176;-webkit-text-stroke:2px #b3261e;paint-order:stroke fill;text-shadow:0 3px #7a1410,0 0 14px #ff7800cc;pointer-events:none;font-size:26px;font-weight:900;animation:1.05s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}.pop.big{font-size:34px}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-8deg)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.35)rotate(4deg)}30%{transform:translate(-50%,-65%)scale(1)rotate(-2deg)}to{opacity:0;transform:translate(-50%,-150%)scale(1)}}#hearts .h{margin-right:2px;display:inline-block;position:relative}#hearts .fill{white-space:nowrap;position:absolute;top:0;left:0;overflow:hidden}#hint{left:50%;bottom:calc(var(--safe-b) + 70px);pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:none;position:absolute;transform:translate(-50%)}#hint.show{display:flex}#hint .hand{filter:drop-shadow(0 3px 4px #00000080);font-size:54px;animation:1.6s ease-in-out infinite drag}#hint.tap .hand{animation:.9s ease-in-out infinite tap}#hint p{white-space:pre-line;text-align:center;background:#00000080;border-radius:999px;margin:0;padding:6px 16px;font-size:17px;font-weight:800}@keyframes drag{0%,to{transform:translate(-40px,24px)}50%{transform:translate(40px,-24px)}}@keyframes tap{0%,to{transform:scale(1)}45%{transform:scale(.8)}}body.menu #hearts,body.menu #stats,body.menu #progress,body.menu #hint,body.menu #toast{display:none}#level-row{align-items:center;gap:12px;display:flex}#level-row button{color:#fff;background:#00000059;border:2px solid #ffffff80;border-radius:50%;width:40px;height:40px;padding:0;font-size:18px}#levels button.done{opacity:.3}#level-name{letter-spacing:1px;margin:0;font-size:18px;font-weight:800}#levels{grid-template-columns:repeat(5,62px);justify-content:center;gap:10px;display:grid}#levels button{cursor:pointer;color:#fff;background:#00000073;border:2px solid #fff9;border-radius:14px;width:62px;height:62px;padding:0;font-size:34px;box-shadow:0 3px #00000080}#levels button.current{border-color:var(--gold);background:#ffc93340}#levels button:disabled{opacity:.4}#next{color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;padding:16px 40px;font-size:22px;font-weight:900;box-shadow:0 6px #b4771a}#replay.secondary{color:#222;background:#e9edf3;box-shadow:0 6px #8892a3}#brief{z-index:7;background:#081024cc}#brief .card{border:2px solid var(--steel);background:#142850f2;border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:min(86vw,340px);padding:22px 18px;display:flex}#brief .card p{margin:0;line-height:1.35}#brief .b1{color:var(--gold);font-size:20px;font-weight:900}#brief .b2{font-size:16px;font-weight:700}#brief-ok{color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;margin-top:6px;padding:14px 36px;font-size:20px;font-weight:900;box-shadow:0 5px #b4771a}#skyline{top:calc(var(--safe-t) + 70px);opacity:0;pointer-events:none;width:34%;height:26%;transition:opacity 1.2s;position:absolute;left:8%}#skyline.show{opacity:.32}#skyline svg{width:100%;height:100%}body.menu #skyline{display:none}#menu-btn{pointer-events:auto;top:calc(var(--safe-t) + 56px);left:calc(var(--safe-l) + 12px);color:#fff;background:#00000059;border:0;border-radius:50%;width:40px;height:40px;font-size:18px;position:absolute}body.menu #menu-btn{display:none}#brief .card{max-height:92vh;overflow-y:auto}#brief .b2{text-align:center;font-size:15px}body:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#ffecbe24,#ffecbe00 38%);position:fixed;top:0;bottom:0;left:0;right:0}#boss{top:calc(var(--safe-t) + 78px);text-shadow:0 1px 3px #0009;pointer-events:none;align-items:center;gap:8px;width:min(70vw,300px);font-size:13px;font-weight:900;display:flex;position:absolute;left:50%;transform:translate(-50%)}#boss.hidden{display:none}#boss-track{background:#00000073;border:2px solid #fff;border-radius:6px;flex:1;height:12px;overflow:hidden}#boss-fill{background:linear-gradient(90deg,#ff3b3b,#ff9f43);width:100%;height:100%}.fly-bonus{z-index:20;pointer-events:none;filter:drop-shadow(0 0 10px #ff9a1e);margin:-22px 0 0 -22px;font-size:44px;transition:transform .75s cubic-bezier(.4,0,.2,1),opacity .75s;position:fixed}#stats.pop{animation:.45s ease-out stats-pop}@keyframes stats-pop{0%{background:#ff8c14e6;transform:translate(-50%)scale(1)}40%{background:#ff8c14e6;transform:translate(-50%)scale(1.3)}to{transform:translate(-50%)scale(1)}}#tut.hidden{display:none}#tut{z-index:8;background:#0810248c}#tut .card{border:2px solid var(--gold);background:#142850f5;border-radius:20px;flex-direction:column;align-items:center;gap:14px;width:min(80vw,300px);padding:22px 18px;display:flex}#tut-text{white-space:pre-line;text-align:center;margin:0;font-size:20px;font-weight:900;line-height:1.3}#tut-ok{color:#3a2200;background:linear-gradient(#ffe066, var(--gold));border:0;border-radius:999px;padding:12px 40px;font-size:20px;font-weight:900;box-shadow:0 5px #b4771a}.coin{vertical-align:-2px;box-sizing:border-box;background:radial-gradient(circle at 35% 30%,#fff3a8,#ffd23a 55%,#e0a010);border:2px solid #a86d00;border-radius:50%;width:16px;height:16px;display:inline-block}#boss-fill.shield{background:linear-gradient(90deg,#3a7bff,#7ad7ff)}
