/* FBA game shell */
.fba-stage{position:absolute;inset:0;background:#11132a;overflow:hidden;user-select:none;-webkit-user-select:none;font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;color:#1b1f3b}
.fba-stage:fullscreen{width:100vw;height:100vh}
.fba-canvas{display:block;touch-action:none;position:absolute;inset:0}
.fba-hud{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;padding:8px 10px;gap:8px;transition:opacity .2s}
.fba-hud.dim{opacity:0}
.fba-hud-l,.fba-hud-c,.fba-hud-r{display:flex;align-items:center;gap:6px}
.fba-hud-c{flex-direction:column;flex:1;max-width:260px;visibility:hidden;margin-top:12px}
.fba-score{font-family:Bungee,sans-serif;font-size:22px;color:#fff;text-shadow:0 2px 0 #1b1f3b,0 0 8px rgba(0,0,0,.4);padding:2px 10px;background:rgba(27,31,59,.55);border-radius:12px;min-width:44px;text-align:center}
.fba-prog{width:100%;height:10px;background:rgba(27,31,59,.5);border-radius:6px;overflow:hidden;border:2px solid rgba(255,255,255,.6)}
.fba-prog i{display:block;height:100%;background:#ffc23d;width:0;transition:width .2s}
.fba-prog-txt{font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}
.fba-btn-ic{pointer-events:auto;width:44px;height:44px;border-radius:14px;border:0;background:rgba(255,255,255,.9);color:#1b1f3b;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.fba-btn-ic:active{transform:translateY(1px)}
.fba-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(17,19,42,.62);backdrop-filter:blur(3px);padding:12px;overflow:auto}
.fba-overlay.on{display:flex}
.fba-panel{background:#fff;border-radius:18px;padding:22px 20px;max-width:380px;width:100%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.35);animation:fbaPop .25s ease-out}
@keyframes fbaPop{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
.fba-panel h1,.fba-panel h2{font-family:Bungee,sans-serif;font-weight:400;margin:0 0 10px;line-height:1.1}
.fba-title{font-size:30px;color:#1b1f3b}
.fba-panel h2{font-size:24px}
.fba-panel p{margin:8px 0;color:#5d6185}
.fba-best b,.fba-result b{color:#1b1f3b}
.fba-btn{display:inline-block;border:0;border-radius:14px;padding:10px 18px;margin:6px 4px;font:700 16px "M PLUS Rounded 1c",sans-serif;cursor:pointer;background:#eceaf7;color:#1b1f3b;min-height:44px;min-width:44px}
.fba-btn.primary{background:#ffc23d;color:#1b1f3b;box-shadow:0 4px 0 #c8921a}
.fba-btn.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #c8921a}
.fba-btn.big{font-size:20px;padding:12px 32px;display:block;width:100%;max-width:280px;margin:10px auto}
.fba-btn.reward{background:#6c5ce7;color:#fff;box-shadow:0 4px 0 #4a3fb0}
.fba-btn.ghost{background:transparent;color:#5d6185;text-decoration:underline;padding:6px 10px}
.fba-links{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}
.fba-modes .fba-btn{display:block;width:100%;max-width:280px;margin:8px auto;font-size:18px}
.fba-howto{text-align:left;font-size:15px;line-height:1.5;color:#1b1f3b;max-height:40vh;overflow:auto;padding:0 4px}
.fba-howto ol,.fba-howto ul{padding-left:20px;margin:6px 0}
.fba-ctrl{font-size:13px}
.fba-result{display:flex;justify-content:center;gap:28px;margin:10px 0 4px}
.fba-result small{display:block;font-size:12px;color:#5d6185;text-transform:uppercase;letter-spacing:.06em}
.fba-result b{font-family:Bungee,sans-serif;font-weight:400;font-size:30px}
.fba-newbest{color:#e8505b;font-weight:700;margin:0 0 6px}
.fba-msg{font-weight:700;color:#1b1f3b!important}
.fba-next{display:flex;align-items:center;gap:12px;background:#f3f1fb;border-radius:14px;padding:8px;margin-top:10px;text-decoration:none;color:#1b1f3b;text-align:left}
.fba-next img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#dcd8f0}
.fba-next small{display:block;font-size:12px;color:#5d6185}
.fba-next b{font-size:16px}
.fba-spin{width:40px;height:40px;border:5px solid #eceaf7;border-top-color:#ffc23d;border-radius:50%;margin:10px auto;animation:fbaSpin .8s linear infinite}
@keyframes fbaSpin{to{transform:rotate(360deg)}}
.fba-toast{position:absolute;left:50%;bottom:14%;transform:translate(-50%,10px);background:rgba(27,31,59,.9);color:#fff;padding:8px 16px;border-radius:12px;font-weight:700;opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap}
.fba-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:520px){.fba-panel{padding:16px 14px}.fba-title{font-size:24px}.fba-result b{font-size:24px}.fba-score{font-size:18px}}
@media (prefers-color-scheme:dark){.fba-panel{background:#1b1e3d;color:#eceaf7}.fba-title,.fba-panel h2,.fba-best b,.fba-result b,.fba-howto,.fba-msg{color:#eceaf7!important}.fba-btn{background:#2a2e55;color:#eceaf7}.fba-btn.primary{color:#1b1f3b}.fba-next{background:#2a2e55;color:#eceaf7}}
