/* FF.boss — Bone-Fling Boss Fight. Every class is namespaced bs-. Reuses .btn / .btn.primary from app.css. */
.bs-root{position:absolute;inset:0;overflow:hidden;background:#05050a;touch-action:none;user-select:none;-webkit-user-select:none;z-index:1;}
.bs-cv{position:absolute;inset:0;width:100%;height:100%;display:block;}
.bs-hud{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;}
.bs-hide{display:none!important;}

.bs-pause{position:absolute;top:calc(var(--safe-t,0px) + 8px);right:8px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:5px;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.1);transition:transform .35s var(--boing,ease);}
.bs-pause:active{transform:scale(.86);transition-duration:.06s;}
.bs-pause i{display:block;width:5px;height:16px;border-radius:2px;background:var(--bone,#f5f3ef);}

.bs-scrim{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;
  background:linear-gradient(180deg,rgba(8,8,11,.55),rgba(8,8,11,.82));pointer-events:auto;animation:bs-fade .25s ease;}
@keyframes bs-fade{from{opacity:0}to{opacity:1}}
.bs-card{width:100%;max-width:320px;background:rgba(17,17,23,.95);border-radius:var(--card-r,22px);padding:18px 16px 12px;text-align:center;
  box-shadow:inset 0 0 0 1.5px var(--line,rgba(255,255,255,.08)),0 4px 0 rgba(0,0,0,.35),0 18px 40px rgba(0,0,0,.45);
  animation:bs-pop .45s var(--boing,ease);}
@keyframes bs-pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.bs-kicker{font-family:var(--f-body);font-weight:var(--fw-black,700);font-size:15px;letter-spacing:.02em;}
.bs-title{font-family:var(--f-display);font-weight:400;font-size:44px;line-height:1.05;margin:2px 0 10px;color:var(--bone,#f5f3ef);
  text-transform:var(--display-case,none);letter-spacing:var(--display-track,.01em);transform:rotate(-2deg);--ol:3px;
  text-shadow:var(--ol) 0 0 var(--stroke),calc(var(--ol) * -1) 0 0 var(--stroke),0 var(--ol) 0 var(--stroke),0 calc(var(--ol) * -1) 0 var(--stroke),
  calc(var(--ol) * .7) calc(var(--ol) * .7) 0 var(--stroke),calc(var(--ol) * -.7) calc(var(--ol) * .7) 0 var(--stroke),
  calc(var(--ol) * .7) calc(var(--ol) * -.7) 0 var(--stroke),calc(var(--ol) * -.7) calc(var(--ol) * -.7) 0 var(--stroke),0 calc(var(--ol) + 3px) 0 var(--stroke);}
.bs-title.bs-win{color:var(--gold,#fbbf24);}
.bs-title.bs-lose{color:var(--rose,#f43f5e);}
.bs-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;}
.bs-stat{background:rgba(255,255,255,.06);border-radius:14px;padding:8px 6px 7px;min-width:0;}
.bs-stat b{display:block;font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.1;color:var(--bone,#f5f3ef);font-variant-numeric:tabular-nums;}
.bs-stat span{display:block;font-size:13px;font-weight:var(--fw-bold,600);color:var(--muted,#9a9aa8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bs-btns{display:flex;gap:10px;}
.bs-btns .btn{flex:1;min-width:0;padding:0 12px;}
@media (max-width:340px){ .bs-title{font-size:38px;} .bs-btns .btn{font-size:19px;} }
