/* JTforME V53 — Bedard's Inaccuracy Pinball.
   Original vanilla-JS canvas pinball cabinet with a source-disciplined circus skin. */

.bp53-embed{
  position:relative;
  margin:0;
  padding:58px 0 66px;
  overflow:hidden;
  color:#f8f3e8;
  background:
    radial-gradient(circle at 15% 18%,rgba(118,40,145,.33),transparent 31%),
    radial-gradient(circle at 84% 13%,rgba(176,0,32,.34),transparent 30%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 22px),
    linear-gradient(145deg,#09070d 0%,#1a101d 53%,#08070b 100%);
  border-top:8px solid #111;
  border-bottom:8px solid #111;
}
.bp53-embed::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(243,198,95,.04),transparent);
}
.bp53-embed .r47-wrap{position:relative;z-index:1}
.bp53-embed-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:36px;align-items:end;margin-bottom:26px}
.bp53-embed .r47-eyebrow{color:#f3c65f}
.bp53-embed h2{margin:0;color:#fff;font:700 clamp(34px,4.6vw,60px)/1.03 Georgia,serif;letter-spacing:-.035em}
.bp53-embed-lead{max-width:920px;margin:18px 0 0;color:#ded4c5;font-size:18px;line-height:1.65}
.bp53-embed-card{padding:22px;border:1px solid rgba(243,198,95,.42);background:rgba(0,0,0,.35);box-shadow:0 18px 46px rgba(0,0,0,.28)}
.bp53-embed-card strong{display:block;color:#f3c65f;font:900 11px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.bp53-embed-card p{margin:10px 0 0;color:#e8dece;font-size:14px;line-height:1.6}
.bp53-embed-boundary{margin-top:22px;padding:15px 18px;border-left:5px solid #f3c65f;background:rgba(0,0,0,.34);color:#d8cfbf;font-size:13px;line-height:1.58}
.bp53-embed-boundary strong{color:#fff}
.bp53-dunk-embed{padding:54px 0 64px;background:#f2ece1;border-top:1px solid #d7cdbd;border-bottom:1px solid #d7cdbd}
.bp53-dunk-embed h2{margin:0;color:#171319;font:700 clamp(32px,4vw,52px)/1.06 Georgia,serif;letter-spacing:-.03em}
.bp53-dunk-embed .r47-lead{max-width:900px}
.bp53-dunk-embed-note{margin:18px 0 22px;padding:14px 17px;border-left:5px solid #981c25;background:#fff;color:#3e3740;font-size:13px;line-height:1.6}
@media(max-width:900px){.bp53-embed-head{grid-template-columns:1fr}.bp53-embed{padding-top:44px}.bp53-dunk-embed{padding-top:42px}}

/* Shadow component */
:host{display:block;min-width:0;color:#fff;font-family:Arial,Helvetica,sans-serif;contain:style}
:host *{box-sizing:border-box}
:host button,:host input{font:inherit}
:host button:focus-visible,:host input:focus-visible{outline:3px solid #f3c65f;outline-offset:3px}
.bp53{
  --bp-red:#b00020;
  --bp-red-dark:#720012;
  --bp-gold:#f3c65f;
  --bp-cream:#fff4dc;
  --bp-blue:#0c4773;
  --bp-cyan:#57c9da;
  --bp-green:#36b37e;
  --bp-purple:#71308b;
  --bp-night:#09070c;
  --bp-ink:#121217;
  --bp-muted:#d9cfbe;
  position:relative;
  width:100%;
  overflow:hidden;
  border:1px solid rgba(243,198,95,.46);
  border-radius:28px;
  background:linear-gradient(180deg,#15101a 0%,#08070b 100%);
  box-shadow:0 26px 70px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.04);
}
.bp53.is-classic{--bp-red:#a22320;--bp-purple:#2b4f7e;--bp-cyan:#84d9e5}
.bp53-marquee{
  position:relative;
  padding:23px 24px 20px;
  text-align:center;
  border-bottom:1px solid rgba(243,198,95,.33);
  background:
    radial-gradient(circle at 10% 0%,rgba(243,198,95,.12),transparent 28%),
    linear-gradient(180deg,#260b17,#130a11);
}
.bp53-marquee::before,.bp53-marquee::after{content:"";position:absolute;left:0;right:0;height:10px;background:radial-gradient(circle,#f8dc84 0 3px,#8d4a12 4px 5px,transparent 6px) 0 0/28px 10px repeat-x;animation:bp53-bulbs 1.2s steps(2,end) infinite}
.bp53-marquee::before{top:4px}.bp53-marquee::after{bottom:4px;animation-delay:.6s}
.bp53-kicker{margin:0 0 6px;color:var(--bp-gold);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.bp53-marquee h3{margin:0;color:#fff;font:700 clamp(25px,3.2vw,42px)/1.06 Georgia,serif;letter-spacing:-.035em;text-wrap:balance}
.bp53-marquee h3 em{color:var(--bp-gold);font-style:normal}
.bp53-tagline{margin:9px auto 0;max-width:800px;color:#e6dccb;font-size:14px;line-height:1.5}
.bp53-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 18px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}
.bp53-top-actions{display:flex;flex-wrap:wrap;gap:8px}
.bp53-button{appearance:none;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#2a2430;color:#fff;font-weight:800;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.bp53-button:hover{transform:translateY(-1px);border-color:var(--bp-gold)}
.bp53-button.primary{background:var(--bp-red);border-color:var(--bp-red);box-shadow:0 9px 22px rgba(176,0,32,.26)}
.bp53-button.gold{background:#4d3307;border-color:#b98b2e;color:#fff4cf}
.bp53-button[aria-pressed="true"]{background:#0f603f;border-color:#48d19a}
.bp53-mode-copy{min-width:240px;color:#e4dac9;font-size:12px;line-height:1.45;text-align:right}
.bp53-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,315px);gap:18px;padding:18px}
.bp53-stage-shell{min-width:0}
.bp53-stage{
  position:relative;
  width:100%;
  max-width:760px;
  margin:0 auto;
  aspect-ratio:2/3;
  overflow:hidden;
  border:10px solid #34272a;
  border-radius:30px 30px 18px 18px;
  background:#06070a;
  box-shadow:inset 0 0 0 3px #7e5d2d,0 20px 48px rgba(0,0,0,.38);
  touch-action:none;
  user-select:none;
}
.bp53-stage canvas{display:block;width:100%;height:100%;background:#080a0f}
.bp53-screen-flash{position:absolute;inset:0;display:grid;place-items:center;padding:20px;pointer-events:none;opacity:0;transition:opacity .14s ease;background:rgba(5,5,9,.26)}
.bp53-screen-flash.is-visible{opacity:1}
.bp53-screen-flash span{max-width:88%;padding:12px 18px;border:2px solid #fff;background:rgba(176,0,32,.92);color:#fff;font-size:clamp(23px,5vw,52px);font-weight:1000;line-height:1;text-align:center;letter-spacing:.05em;text-shadow:0 2px 0 #600;box-shadow:0 12px 36px rgba(0,0,0,.35);transform:rotate(-2deg)}
.bp53-heckler{position:absolute;z-index:5;pointer-events:none;opacity:0;filter:drop-shadow(0 12px 20px rgba(0,0,0,.42))}
.bp53-heckler img{display:block;width:100%;height:auto}
.bp53-heckler.side{left:-36%;top:30%;width:45%;transform:translateX(-30%) rotate(-8deg)}
.bp53-heckler.bottom{left:27%;bottom:-42%;width:48%;transform:translateY(20%)}
.bp53-heckler.is-active.side{animation:bp53-peek-side 2.5s cubic-bezier(.2,.9,.22,1) both}
.bp53-heckler.is-active.bottom{animation:bp53-peek-bottom 2.5s cubic-bezier(.2,.9,.22,1) both}
.bp53-bubble{position:absolute;z-index:6;max-width:52%;padding:10px 13px;border:3px solid #111;border-radius:16px;background:#fff;color:#9b0019;font-weight:1000;font-size:clamp(12px,2.2vw,22px);line-height:1.05;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.3);opacity:0;pointer-events:none}
.bp53-bubble.side{left:26%;top:28%;transform:rotate(-2deg)}
.bp53-bubble.bottom{right:6%;bottom:20%;transform:rotate(2deg)}
.bp53-bubble.is-active{animation:bp53-bubble 2.5s ease both}
.bp53-a11y-trash{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bp53-touch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0}
.bp53-flip-button{appearance:none;min-height:58px;border:1px solid rgba(243,198,95,.42);border-radius:16px;background:linear-gradient(180deg,#3a1320,#1b0c12);color:#fff;font-size:15px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 -6px 0 rgba(0,0,0,.25);touch-action:none}
.bp53-flip-button:active,.bp53-flip-button.is-held{transform:translateY(3px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.2);background:#8e001a}
.bp53-console{display:flex;flex-direction:column;gap:13px;min-width:0}
.bp53-scoreboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bp53-stat{padding:12px 10px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.045);text-align:center}
.bp53-stat strong{display:block;color:#fff;font-family:"Courier New",monospace;font-size:clamp(20px,2.5vw,31px);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(243,198,95,.28)}
.bp53-stat span{display:block;margin-top:6px;color:#cfc4b5;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.bp53-status-card{padding:15px 16px;border-left:5px solid var(--bp-gold);background:rgba(255,255,255,.055)}
.bp53-status-card strong{display:block;color:#fff;font-size:14px}
.bp53-status{margin:7px 0 0;min-height:42px;color:#e0d6c5;font-size:13px;line-height:1.52}
.bp53-plunger-wrap{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(0,0,0,.25)}
.bp53-plunger-title{display:flex;justify-content:space-between;gap:12px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.bp53-charge{position:relative;height:17px;margin:11px 0 12px;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#08070a}
.bp53-charge i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bp-green),var(--bp-gold),var(--bp-red));transition:width .04s linear}
.bp53-launch{width:100%;min-height:54px;border:0;border-radius:14px;background:linear-gradient(180deg,#d81838,#8a0018);color:#fff;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 -7px 0 rgba(0,0,0,.25),0 11px 24px rgba(176,0,32,.24);cursor:pointer;touch-action:none}
.bp53-launch:active,.bp53-launch.is-charging{transform:translateY(3px);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.bp53-nudge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.bp53-nudge-grid button{min-height:42px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:#24202a;color:#fff;font-weight:800;cursor:pointer}
.bp53-keys{margin:0;color:#aaa0a4;font-size:11px;line-height:1.55}
.bp53-keys kbd{display:inline-block;padding:2px 5px;border:1px solid #685968;border-radius:4px;background:#17131a;color:#fff;font-family:inherit}
.bp53-lamps{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.bp53-lamp{padding:7px 0;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#211c23;color:#7d747d;text-align:center;font-size:11px;font-weight:1000}
.bp53-lamp.is-lit{background:#f3c65f;color:#2b1b00;box-shadow:0 0 17px rgba(243,198,95,.6)}
.bp53-boundary{padding:14px 15px;border:1px solid rgba(243,198,95,.3);background:rgba(0,0,0,.27);color:#cfc4b5;font-size:11px;line-height:1.55}
.bp53-boundary strong{color:#fff}
.bp53-boundary a{color:#f3c65f}
.bp53-dialog{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:18px;background:rgba(3,3,6,.88)}
.bp53-dialog[hidden]{display:none}
.bp53-dialog-card{max-width:580px;padding:24px;border:1px solid rgba(243,198,95,.5);border-radius:18px;background:#17111a;color:#eee3d3;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.bp53-dialog-card h4{margin:0;color:#fff;font:700 28px/1.08 Georgia,serif}
.bp53-dialog-card p,.bp53-dialog-card li{font-size:13px;line-height:1.6}
.bp53-dialog-card ol{padding-left:20px}
.bp53-dialog-close{float:right;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.bp53-gameover{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:20px;background:rgba(4,4,7,.78);backdrop-filter:blur(3px)}
.bp53-gameover[hidden]{display:none}
.bp53-gameover-card{max-width:440px;padding:24px;border:2px solid var(--bp-gold);border-radius:18px;background:#160c14;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.bp53-gameover-card h4{margin:0;color:#fff;font:700 34px/1.05 Georgia,serif}
.bp53-gameover-card p{color:#e2d7c7;line-height:1.55}
.bp53-gameover-card strong{color:var(--bp-gold)}
.bp53-classic-note{display:none}
.bp53.is-classic .bp53-account-note{display:none}
.bp53.is-classic .bp53-classic-note{display:inline}
@keyframes bp53-bulbs{0%,49%{filter:brightness(.72)}50%,100%{filter:brightness(1.35)}}
@keyframes bp53-peek-side{0%{opacity:0;left:-40%;transform:translateX(-30%) rotate(-8deg)}15%,70%{opacity:1;left:-5%;transform:translateX(0) rotate(0)}100%{opacity:0;left:-40%;transform:translateX(-30%) rotate(-8deg)}}
@keyframes bp53-peek-bottom{0%{opacity:0;bottom:-48%;transform:translateY(20%)}15%,70%{opacity:1;bottom:-3%;transform:translateY(0)}100%{opacity:0;bottom:-48%;transform:translateY(20%)}}
@keyframes bp53-bubble{0%,8%{opacity:0;transform:scale(.6) rotate(-3deg)}18%,72%{opacity:1;transform:scale(1) rotate(-2deg)}100%{opacity:0;transform:scale(.7) rotate(3deg)}}
@media(max-width:980px){.bp53-layout{grid-template-columns:1fr}.bp53-console{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bp53-scoreboard,.bp53-boundary{grid-column:1/-1}.bp53-stage{max-width:680px}}
@media(max-width:620px){.bp53{border-radius:18px}.bp53-marquee{padding:22px 15px 18px}.bp53-layout{padding:10px}.bp53-console{display:flex}.bp53-topbar{padding:11px}.bp53-mode-copy{width:100%;text-align:left}.bp53-stage{border-width:6px;border-radius:20px 20px 13px 13px}.bp53-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr))}.bp53-stat{padding:9px 5px}.bp53-stat strong{font-size:18px}.bp53-stat span{font-size:8px}.bp53-heckler.side{width:54%;top:31%}.bp53-heckler.bottom{left:18%;width:64%}.bp53-bubble{max-width:62%;font-size:13px}.bp53-touch{position:sticky;bottom:5px;z-index:8}.bp53-flip-button{min-height:62px}.bp53-lamps{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.bp53 *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bp53-marquee::before,.bp53-marquee::after{animation:none}}
@media(prefers-reduced-transparency:reduce){.bp53-screen-flash,.bp53-gameover,.bp53-dialog{backdrop-filter:none;background:#09070c}.bp53{background:#09070c}}
.bp53-marquee-face{position:absolute;right:8px;bottom:0;width:112px;max-height:112px;object-fit:contain;object-position:bottom;opacity:.9;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));pointer-events:none}
@media(max-width:620px){.bp53-marquee-face{width:72px;opacity:.68}.bp53-marquee h3,.bp53-tagline{padding-right:48px}}
.arcade-game-pinball-real{grid-column:1/-1!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
.arcade-game-pinball-real>.arcade-complete{right:16px;top:16px;z-index:4}
.arcade-game-pinball-real>.arcade-game-head,.arcade-game-pinball-real>.arcade-game-intro,.arcade-game-pinball-real>.arcade-boundary-mini{max-width:1180px;margin-left:auto;margin-right:auto}
.arcade-game-pinball-real>.arcade-game-head{padding:0 0 8px}
.arcade-game-pinball-real>.arcade-game-intro{color:#e5dac9!important}
.arcade-game-pinball-real>[data-bedard-pinball-v53]{display:block;margin-top:18px}
.arcade-game-dunk-copy{grid-column:1/-1!important;overflow:visible!important;background:#f4efe4!important;color:#171319!important;border-color:#d7cdbd!important}
.arcade-game-dunk-copy>.arcade-game-intro{color:#453b3f!important}
.arcade-game-dunk-copy>[data-ds52]{display:block;margin-top:18px}
