/* Flappy Mike — free mobile-first token recovery game. */
.fm-view { min-width:0; overflow-x:clip; color:#fff8e4; background:#071c27; }
.fm-view *, .fm-view *::before, .fm-view *::after { box-sizing:border-box; }
.fm-view button { font:inherit; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.fm-head { width:min(100%,1100px); min-height:68px; display:grid; grid-template-columns:44px minmax(0,1fr) 44px auto; align-items:center; gap:6px; margin:0 auto; padding:8px max(8px,env(safe-area-inset-left)); }
.fm-heading { min-width:0; }
.fm-heading small,.fm-heading h1 { display:block; overflow:hidden; margin:0; white-space:nowrap; text-overflow:ellipsis; }
.fm-heading small { color:#9fe8e2; font-size:.61rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.fm-heading h1 { font-size:clamp(1.08rem,5vw,1.7rem); line-height:1.05; }
.fm-icon-button { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,211,100,.42); border-radius:14px; color:#ffe79a; background:rgba(4,31,42,.94); font-weight:950; cursor:pointer; }
.fm-back { font-size:1.65rem; }.fm-help-button { font-size:1.1rem; }
.fm-wallet { min-width:54px; max-width:92px; overflow:hidden; padding:8px 9px; border:1px solid rgba(255,205,86,.32); border-radius:999px; color:#ffe18a; background:#092937; font-size:.78rem; font-weight:950; text-align:center; white-space:nowrap; text-overflow:ellipsis; }
.fm-wallet::before { content:"◉ "; color:#f1b92f; }
.fm-shell { width:min(calc(100% - 10px),1100px); display:grid; gap:9px; margin:0 auto max(24px,env(safe-area-inset-bottom)); }
.fm-game-card,.fm-info-card { min-width:0; overflow:hidden; border:1px solid rgba(255,215,118,.38); border-radius:23px; background:linear-gradient(150deg,#0e5260,#082d3d 58%,#071d2a); box-shadow:0 20px 46px rgba(0,0,0,.34); }
.fm-game-card { padding:8px; }
.fm-arena { position:relative; width:100%; height:clamp(430px,145vw,620px); overflow:hidden; border:2px solid rgba(255,229,151,.58); border-radius:18px; isolation:isolate; background:#397ec8; box-shadow:inset 0 0 28px rgba(0,0,0,.28); cursor:pointer; touch-action:none; }
.fm-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; outline:none; }
.fm-canvas:focus-visible { box-shadow:inset 0 0 0 4px #fff0a5; }
.fm-hud { position:absolute; z-index:4; top:10px; left:10px; right:10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; pointer-events:none; }
.fm-hud div { min-width:0; padding:7px 6px; border:1px solid rgba(255,244,205,.55); border-radius:12px; background:rgba(4,28,39,.73); box-shadow:0 7px 16px rgba(0,0,0,.2); backdrop-filter:blur(7px); text-align:center; }
.fm-hud small,.fm-hud b { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.fm-hud small{color:#b7e5df;font-size:.52rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.fm-hud b{margin-top:2px;color:#fff0a5;font-size:.88rem}.fm-hud b.is-boosted{color:#132116;background:#ffe177;border-radius:6px;animation:fm-pulse .75s ease infinite alternate}
.fm-start-card { position:absolute; z-index:5; left:50%; bottom:16px; width:min(330px,calc(100% - 24px)); display:grid; grid-template-columns:minmax(0,1fr) 52px; gap:7px; transform:translateX(-50%); }
.fm-start,.fm-flap { min-height:52px; border:0; border-radius:15px; font-weight:950; cursor:pointer; }
.fm-start { color:#172718; background:linear-gradient(145deg,#fff0a2,#e2a92c); box-shadow:0 10px 24px rgba(105,65,3,.3); }
.fm-start:disabled { opacity:.55; box-shadow:none; cursor:not-allowed; }
.fm-flap { display:grid; place-items:center; border:1px solid rgba(255,240,183,.7); color:#fff4c8; background:rgba(8,39,48,.9); font-size:1.45rem; }
.fm-explosion[hidden] { display:none; }
.fm-explosion { position:absolute; z-index:7; left:23%; top:44%; width:52px; height:52px; transform:translate(-50%,-50%); pointer-events:none; }
.fm-explosion::before,.fm-explosion::after,.fm-explosion i { content:""; position:absolute; left:50%; top:50%; border-radius:50%; transform:translate(-50%,-50%); }
.fm-explosion::before { width:80px; height:80px; background:radial-gradient(circle,#fff9bf 0 10%,#ffd23d 11% 27%,#ff6c24 28% 52%,rgba(191,26,22,.8) 53% 66%,transparent 67%); filter:drop-shadow(0 0 20px #ff5a22); }
.fm-explosion::after { width:180px; height:180px; background:conic-gradient(from 7deg,transparent 0 5%,#ffd444 6% 9%,transparent 10% 18%,#ff7c28 19% 23%,transparent 24% 35%,#fff0a1 36% 39%,transparent 40% 54%,#ff4929 55% 60%,transparent 61% 76%,#ffd444 77% 82%,transparent 83%); clip-path:polygon(50% 0,57% 32%,83% 9%,72% 39%,100% 45%,72% 55%,92% 82%,62% 68%,51% 100%,44% 69%,14% 93%,28% 59%,0 50%,30% 43%,8% 14%,41% 33%); }
.fm-explosion i { width:250px; height:250px; border:7px solid rgba(255,215,62,.8); }
.fm-explosion.is-bursting::before { animation:fm-boom-core .8s ease-out both; }.fm-explosion.is-bursting::after{animation:fm-boom-rays 1s cubic-bezier(.1,.7,.2,1) both}.fm-explosion.is-bursting i{animation:fm-boom-ring .9s ease-out both}
.fm-arena.is-crashed { animation:fm-shake .48s linear; }
.fm-status { min-height:66px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; margin-top:8px; padding:9px 10px; border-radius:15px; background:rgba(1,20,28,.62); }
.fm-status>i { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#2c230d; background:#f4c54e; font-size:1rem; font-style:normal; }.fm-status strong,.fm-status span{display:block}.fm-status strong{font-size:.8rem}.fm-status span{margin-top:2px;color:#a7c5c5;font-size:.61rem;line-height:1.3}.fm-status[data-kind="win"] strong{color:#ffe27b}.fm-status[data-kind="crash"]{background:rgba(116,22,24,.42)}.fm-status[data-kind="crash"] strong,.fm-status[data-kind="error"] strong{color:#ffb0a7}
.fm-info-card { display:grid; gap:9px; padding:14px; }
.fm-info-title small,.fm-info-title h2 { display:block; margin:0; }.fm-info-title small{color:#91c6c3;font-size:.61rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.fm-info-title h2{margin-top:3px;font-size:1.08rem}
.fm-reward-track { display:grid; grid-template-columns:1fr 44px 1fr; align-items:center; gap:7px; }
.fm-reward-track span { min-width:0; min-height:58px; display:grid; align-content:center; padding:8px; border:1px solid rgba(168,229,219,.2); border-radius:13px; background:rgba(2,25,33,.46); text-align:center; }.fm-reward-track b,.fm-reward-track small{display:block}.fm-reward-track b{color:#ffe18a;font-size:.82rem}.fm-reward-track small{margin-top:3px;color:#9dbcbc;font-size:.58rem}.fm-reward-track>i{display:grid;place-items:center;color:#f7d877;font-style:normal;font-weight:950}
.fm-server-note { margin:0; color:#9bb4b4; font-size:.62rem; line-height:1.5; }
.fm-leaderboard { min-width:0; overflow:hidden; border:1px solid rgba(168,229,219,.2); border-radius:15px; background:rgba(1,21,29,.52); }
.fm-leaderboard>header { min-height:55px; display:flex; align-items:center; justify-content:space-between; gap:9px; padding:7px 8px 7px 11px; border-bottom:1px solid rgba(168,229,219,.12); }
.fm-leaderboard>header small,.fm-leaderboard>header h3 { display:block; margin:0; }.fm-leaderboard>header small{color:#8fc8c3;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.fm-leaderboard>header h3{margin-top:2px;font-size:.92rem}
.fm-leaderboard>header button { width:44px; height:44px; flex:0 0 44px; border:1px solid rgba(255,224,139,.36); border-radius:12px; color:#ffe59a; background:#103a46; font-size:1.15rem; font-weight:950; cursor:pointer; }.fm-leaderboard>header button:disabled{opacity:.5;cursor:not-allowed}
.fm-leaderboard ol { max-height:min(48vh,520px); overflow:auto; overscroll-behavior:contain; margin:0; padding:5px; list-style:none; scrollbar-width:thin; }
.fm-leaderboard li { min-height:44px; display:grid; grid-template-columns:28px 34px minmax(0,1fr) auto; align-items:center; gap:7px; padding:5px 7px; border-radius:10px; color:#c6d9d6; font-size:.68rem; }
.fm-leaderboard li:nth-child(odd){background:rgba(255,255,255,.025)}.fm-leaderboard li.is-viewer{background:rgba(255,215,98,.12);box-shadow:inset 0 0 0 1px rgba(255,221,121,.25)}
.fm-leaderboard-rank { color:#8fb2b0; font-weight:950; text-align:center; }.fm-leaderboard li:nth-child(-n+3) .fm-leaderboard-rank{color:#ffe07a}
.fm-leaderboard-avatar { width:34px; height:34px; display:grid; place-items:center; overflow:hidden; border-radius:50%; color:#102d33; background:linear-gradient(145deg,#b6eee3,#e8bd50); font-size:.72rem; font-weight:950; }
.fm-leaderboard-name { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-weight:850; }.fm-leaderboard-score{color:#ffe18a;font-size:.75rem;font-weight:950;white-space:nowrap}.fm-leaderboard-score::after{content:" buizen";color:#94b7b4;font-size:.54rem;font-weight:750}
.fm-leaderboard-empty { display:block!important; min-height:54px!important; padding:17px 9px!important; color:#8fafad!important; text-align:center; }
#flappyMikePersonalBest { margin:0; padding:8px 11px 10px; border-top:1px solid rgba(168,229,219,.12); color:#ffe18a; font-size:.65rem; font-weight:850; }
.fm-help { width:min(520px,calc(100% - 18px)); max-height:min(86dvh,720px); overflow:auto; padding:0; border:1px solid rgba(255,219,121,.44); border-radius:22px; color:#f9f3dc; background:#092a37; box-shadow:0 28px 75px rgba(0,0,0,.62); }.fm-help::backdrop{background:rgba(0,12,17,.78);backdrop-filter:blur(5px)}.fm-help form{padding:17px}.fm-help header{display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-help header small,.fm-help header h2{display:block;margin:0}.fm-help header small{color:#92c7c2;font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.fm-help header h2{margin-top:2px;font-size:1.2rem}.fm-help header button{width:44px;height:44px;border:1px solid rgba(255,221,128,.35);border-radius:13px;color:#ffe9a6;background:#103b46;font-size:1.25rem}.fm-help ol{display:grid;gap:8px;margin:16px 0;padding:0;list-style:none}.fm-help li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;padding:9px;border-radius:12px;background:rgba(1,21,27,.52);color:#c5d8d5;font-size:.73rem;line-height:1.45}.fm-help li>b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#28200c;background:#f0c44f}.fm-help p{color:#b8cdca;font-size:.7rem;line-height:1.5}.fm-help-close{width:100%;min-height:48px;border:0;border-radius:14px;color:#172817;background:linear-gradient(145deg,#fff0a3,#dca32b);font-weight:950}
.tile-flappy-mike { color:#fff; background:radial-gradient(circle at 42% 38%,rgba(255,216,90,.27),transparent 30%),linear-gradient(145deg,#236cb4,#f3868c 64%,#172d40); }.flappy-mike-tile-art{display:grid!important;place-items:center;overflow:visible!important}.flappy-mike-tile-art img{width:min(122px,94%);height:86px;object-fit:contain;filter:drop-shadow(0 9px 13px rgba(0,0,0,.38));transform:rotate(-5deg) scale(1.05)}
@keyframes fm-pulse{to{transform:scale(1.04);box-shadow:0 0 16px rgba(255,223,92,.7)}}
@keyframes fm-boom-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}22%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(3.3)}}
@keyframes fm-boom-rays{0%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(.08)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(25deg) scale(2.15)}}
@keyframes fm-boom-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.08)}100%{opacity:0;transform:translate(-50%,-50%) scale(2)}}
@keyframes fm-shake{0%,100%{transform:none}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(3px,2px)}}
@media(min-width:760px){.fm-shell{grid-template-columns:minmax(0,1.65fr) minmax(275px,.7fr);align-items:start;gap:13px}.fm-arena{height:min(680px,calc(100dvh - 100px));min-height:520px}.fm-info-card{position:sticky;top:78px;padding:18px}.fm-start-card{bottom:22px}}
@media(max-width:359px){.fm-head{grid-template-columns:44px minmax(0,1fr) 44px 52px;gap:4px}.fm-wallet{min-width:50px;padding-inline:6px;font-size:.7rem}.fm-shell{width:calc(100% - 6px)}.fm-game-card{padding:5px;border-radius:19px}.fm-arena{height:430px}.fm-hud{left:6px;right:6px;gap:3px}.fm-hud div{padding-inline:3px}.fm-start-card{width:calc(100% - 14px)}.fm-info-card{padding:11px}.fm-reward-track{grid-template-columns:1fr 32px 1fr}}
@media(prefers-reduced-motion:reduce){.fm-view *,.fm-view *::before,.fm-view *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.fm-explosion::before{opacity:1!important;transform:translate(-50%,-50%) scale(1.8)!important}.fm-explosion::after,.fm-explosion i{display:none}}
