/* Basil Kicks: bonus arcade game. Self-contained; relies only on shell.css variables. */
.bk-page{max-width:820px}
.bk-intro{position:relative;overflow:hidden;border-radius:24px;padding:28px 20px 24px;text-align:center;color:#F1ECF8;
  background:radial-gradient(circle at 82% 14%,rgba(255,224,138,.22) 0 46px,transparent 47px),linear-gradient(170deg,#6FA8C9 0%,#3E7FA6 62%,#2B5E80 100%);
  display:grid;justify-items:center;gap:10px;box-shadow:0 14px 40px rgba(30,22,45,.28)}
.bk-intro::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 30% 70%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 58% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 72% 52%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 90% 80%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 40%,#fff 50%,transparent 51%)}
.bk-intro>*{position:relative;margin:0}
.bk-masc{width:112px;height:112px;animation:bkbob 3s ease-in-out infinite}
@keyframes bkbob{50%{transform:translateY(-6px) rotate(-3deg)}}
.bk-found{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#FFE08A;background:rgba(255,255,255,.1);border-radius:999px;padding:5px 12px}
.bk-intro h1{font:700 clamp(36px,8vw,52px)/1.05 var(--title)}
.bk-lede{max-width:34em;font-size:16px;line-height:1.5;color:#E4DCF5}
.bk-how{font-size:14px;color:#C9BFE6}
.bk-play.big{background:#FFE08A;color:#2E1F57;margin-top:4px}
.bk-play.big:hover{background:#FFD45C}
.bk-best{font-size:14px;color:#C9BFE6;min-height:1.4em}
.bk-best b{color:#fff}
.bk-hush{font-size:12px;color:#A99BD1;font-style:italic}

.bk-game{display:grid;gap:10px}
.bk-hud{display:flex;align-items:center;gap:10px;background:#2B5E80;color:#fff;border-radius:16px;padding:8px 10px 8px 14px;font-variant-numeric:tabular-nums}
.bk-time{display:grid;line-height:1.1;margin-right:auto}
.bk-time small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#C9BFE6}
.bk-time b{font:600 20px var(--body)}
.bk-cof{font:600 16px var(--body);white-space:nowrap}
.bk-lives{font-size:18px;letter-spacing:2px;color:#FF8FAE;white-space:nowrap}
.bk-lives .off{color:rgba(255,255,255,.22)}
.bk-ibtn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-size:15px;display:grid;place-items:center;padding:0;flex:none}
.bk-ibtn:focus-visible,.bk-sbtn:focus-visible{outline:2px solid #FFE08A;outline-offset:2px}
.bk-stage{position:relative;border-radius:20px;overflow:hidden;background:#F3E9DA;box-shadow:0 10px 30px rgba(30,22,45,.3);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#bk-canvas{display:block;width:100%;cursor:pointer;touch-action:none}
.bk-over{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,13,40,.62);padding:14px}
.bk-card{background:#FAF7F2;color:#2B2340;border-radius:20px;padding:18px 18px 14px;width:min(360px,100%);text-align:center;display:grid;gap:8px;justify-items:center;box-shadow:0 14px 40px rgba(0,0,0,.35);animation:bkpop .35s cubic-bezier(.2,1.4,.4,1)}
:root[data-motion="reduce"] .bk-card,:root[data-motion="reduce"] .bk-masc{animation:none}
@media (prefers-reduced-motion:reduce){.bk-card,.bk-masc{animation:none}}
@keyframes bkpop{from{transform:scale(.85);opacity:0}}
.bk-card p{margin:0}
.bk-omasc{width:72px;height:72px;margin-top:-4px}
.bk-otitle{font:700 28px/1.1 var(--title);color:#4A3480}
.bk-omsg{font-size:15px;line-height:1.45;color:#4B3D6E}
.bk-ostats{display:flex;gap:10px;width:100%}
.bk-ostats span{flex:1;background:#EFE9F8;border-radius:14px;padding:8px 6px;display:grid}
.bk-ostats small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6B5A93}
.bk-ostats b{font:600 20px var(--body);color:#2E1F57;font-variant-numeric:tabular-nums}
.bk-obest{font-size:13px;color:#6B5A93;min-height:1.3em}
.bk-obest.pb{color:#B5308A;font-weight:600}
.bk-obtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%}
.bk-obtns .big{min-width:0;flex:1 1 160px;background:#2E1F57;color:#fff}
.bk-sbtn{font:600 15px var(--body);padding:12px 20px;border-radius:999px;border:2px solid #4A3480;background:transparent;color:#4A3480;cursor:pointer;flex:0 1 auto}
.bk-ohint{font-size:12px;color:#8A7BB0}
@media (hover:none){.bk-ohint{display:none}}
.bk-foot{margin:0;text-align:center;font-size:14px}
.bk-foot a{color:var(--muted)}
.bk-toast{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:70;background:#2E1F57;color:#fff;font:500 14px var(--body);padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
