
  #fm-bubble-game{width:100%;font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;color:#fbf3ea;--hb-ink:#fbf3ea;--hb-gold:#ffc776;--hb-muted:#c9bdd5;--hb-panel:#241b32;--hb-board:#161420;--hb-line:#594666}
  #fm-bubble-game *{box-sizing:border-box}
  #fm-bubble-game .hb-game{max-width:460px;margin:0 auto;background:var(--hb-panel);border:1px solid var(--hb-line);border-radius:22px;overflow:hidden;color-scheme:dark;box-shadow:0 10px 26px #100c1620}
  #fm-bubble-game .hb-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 18px 14px}
  #fm-bubble-game .hb-brand{display:block;font:500 11px/1.5 system-ui,sans-serif;letter-spacing:1.4px;color:var(--hb-gold)}
  #fm-bubble-game h2{font-size:24px;line-height:1.2;margin:5px 0 0;font-weight:700;letter-spacing:-.6px;color:var(--hb-ink)}
  #fm-bubble-game button{font:700 14px/1.3 system-ui,sans-serif;min-height:44px;border-radius:12px;border:1px solid #786587;cursor:pointer;color:var(--hb-ink);background:#342841;padding:10px 12px;white-space:normal;touch-action:manipulation}
  #fm-bubble-game button:disabled{opacity:.48;cursor:default}
  #fm-bubble-game .hb-sound{font-size:12px;padding:9px;min-width:62px;flex-shrink:0}
  #fm-bubble-game .hb-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 14px;padding:12px 4px 14px;border-top:1px solid #4b395b}
  #fm-bubble-game .hb-stats span{display:flex;flex-direction:column;gap:4px;min-width:0}
  #fm-bubble-game .hb-stats span:not(:first-child){text-align:right}
  #fm-bubble-game .hb-stats small{color:var(--hb-muted);font:500 12px/1.3 system-ui}
  #fm-bubble-game .hb-stats strong{font-size:20px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums;color:var(--hb-ink)}
  #fm-bubble-game .hb-stats span:first-child strong{font-size:15px}
  #fm-bubble-game .hb-board{position:relative;background:var(--hb-board);margin:0 12px;border:1px solid #705879;border-radius:16px;overflow:hidden}
  #fm-bubble-game canvas{display:block;width:100%;aspect-ratio:1 / 1.1;touch-action:pan-y;cursor:crosshair}
  #fm-bubble-game .hb-status{padding:12px 16px 4px;min-height:52px;font:500 14px/1.45 system-ui;color:#ffdfaa;text-align:center}
  #fm-bubble-game .hb-aim-row{display:flex;align-items:center;gap:10px;padding:0 14px 10px}
  #fm-bubble-game .hb-aim-row label{font-size:14px;font-weight:700;color:var(--hb-muted)}
  #fm-bubble-game input{flex:1;min-width:0;width:100%;height:44px;margin:0;accent-color:#ffc776;cursor:pointer;touch-action:pan-y}
  #fm-bubble-game .hb-example{background:transparent;border-color:#665273;min-width:94px;font-size:12px;padding:8px}
  #fm-bubble-game .hb-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 14px 12px}
  #fm-bubble-game .hb-primary{background:#ffcb83;border-color:#ffdda9;color:#322038;min-height:48px;box-shadow:0 3px 0 #8b532d}
  #fm-bubble-game .hb-bomb[aria-pressed="true"]{background:#694622;border-color:#ffc776;color:#fff2d8}
  #fm-bubble-game .hb-foot{display:flex;flex-direction:column;gap:4px;align-items:center;padding:5px 14px 16px;font:400 11px/1.5 system-ui;color:var(--hb-muted);text-align:center}
  #fm-bubble-game .hb-foot em{font-style:normal;color:#fbf3ea}
  #fm-bubble-game .hb-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:20px;background:#171220f5;color:var(--hb-ink)}
  #fm-bubble-game .hb-result[hidden]{display:none}
  #fm-bubble-game .hb-result-ghost{font-size:66px;line-height:1}
  #fm-bubble-game .hb-result h3{margin:0;color:#ffdda9;font-size:29px;line-height:1.15}
  #fm-bubble-game .hb-result p{margin:0;font:500 16px/1.5 system-ui;color:#f4eaf7}
  #fm-bubble-game .hb-result button{width:min(100%,240px);margin-top:6px}
  @media(max-width:360px){#fm-bubble-game h2{font-size:21px}#fm-bubble-game .hb-header{padding:16px 13px 12px}#fm-bubble-game .hb-brand{font-size:10px;letter-spacing:1px}#fm-bubble-game .hb-stats{margin:0 10px}#fm-bubble-game .hb-board{margin:0 8px}#fm-bubble-game .hb-actions{gap:8px;padding-inline:10px}#fm-bubble-game .hb-actions button{padding:9px 6px;font-size:13px}}

html{background:#15101e;color:#fbf3ea}body.fm-bubble-page{margin:0;padding:12px 10px 28px;background:radial-gradient(ellipse at 25% 0,#382346 0,transparent 55%),#15101e;font-family:system-ui,sans-serif}
#fm-bubble-game{max-width:600px;margin:auto}#fm-bubble-game [hidden]{display:none!important}#fm-bubble-game a{color:#ffdcab;text-underline-offset:3px}#fm-bubble-game .hb-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 3px 20px;font-size:14px;font-weight:600}#fm-bubble-game .hb-nav a{display:inline-flex;align-items:center;min-height:44px}
#fm-bubble-game .hb-game{max-width:540px}#fm-bubble-game h1{font-size:clamp(21px,5vw,28px);line-height:1.2;margin:5px 0 0;font-weight:700;letter-spacing:-.6px;color:#fbf3ea}#fm-bubble-game .hb-setup{padding:0 20px 20px}#fm-bubble-game .hb-setup h2{font-size:21px;line-height:1.25}#fm-bubble-game .hb-setup p{font-size:15px;line-height:1.5}#fm-bubble-game .hb-intro-art{display:flex;justify-content:center;padding:16px 0 12px;gap:0}#fm-bubble-game .hb-intro-art span{display:grid;place-items:center;width:64px;height:64px;font-size:30px;color:#281934;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ead8ff,#a57be0);border:2px solid #ead8ff}#fm-bubble-game .hb-intro-art span:nth-child(2){background:radial-gradient(circle at 30% 25%,#ffdba7,#ef8b48);border-color:#ffdba7;transform:translateY(10px)}#fm-bubble-game .hb-intro-art span:nth-child(3){background:#d6edf1;border-color:#e7fcff}#fm-bubble-game .hb-intro-art span:nth-child(4){background:radial-gradient(circle at 30% 25%,#d2ffe5,#6fceaa);border-color:#d2ffe5;transform:translateY(10px)}
#fm-bubble-game .hb-earn{padding:12px;background:#3b2b49;border-radius:12px;color:#ffdfaa;font-weight:700}#fm-bubble-game form{display:flex;flex-direction:column;gap:9px;margin:20px 0}#fm-bubble-game form label{font-size:15px;font-weight:700}#fm-bubble-game form label span{font-weight:400;color:#d2c6dc}#fm-bubble-game form input{flex:none;min-height:48px;background:#fff8ec!important;color:#291d33!important;-webkit-text-fill-color:#291d33;border:2px solid #b39bc1;border-radius:9px;padding:10px 12px;font:400 16px/1.3 system-ui;cursor:text}#fm-bubble-game form input:autofill{box-shadow:0 0 0 1000px #fff8ec inset;-webkit-text-fill-color:#291d33}#fm-bubble-game form .hb-privacy{font-size:13px;color:#d2c6dc;margin:3px 0 7px}#fm-bubble-game [data-setup-status]{margin:4px 0 0;color:#ffdfaa}#fm-bubble-game details{font-size:14px;line-height:1.5;border-top:1px solid #655273;padding-top:12px}#fm-bubble-game summary{cursor:pointer;padding:10px 0;min-height:44px;font-weight:600}#fm-bubble-game .hb-status{margin:0}
/* Results live BELOW the board, never covering the playfield or requiring an inner scroll. */
#fm-bubble-game .hb-result{position:static;inset:auto;margin:14px;border:1px solid #826997;border-radius:16px;background:#171220;gap:12px}#fm-bubble-game .hb-result h2{margin:0;font-size:25px;color:#ffdda9;line-height:1.2}#fm-bubble-game .hb-result-ghost{font-size:42px}#fm-bubble-game [data-ticket-reward]{font-size:clamp(24px,6vw,34px);color:#ffcf78;line-height:1.2}#fm-bubble-game [data-feedback]{width:100%;border-top:1px solid #61506e;margin-top:8px;padding-top:12px}#fm-bubble-game [data-feedback] h3{font-size:16px;margin:0 0 8px;color:#fbf3ea}#fm-bubble-game .hb-rating-buttons{display:flex;gap:8px;justify-content:center}#fm-bubble-game .hb-rating-buttons button{width:auto;flex:1;margin:0;font-size:13px}#fm-bubble-game [data-feedback-status]{font-size:13px;margin-top:10px}#fm-bubble-game .hb-result-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:14px}#fm-bubble-game .hb-result-links a{display:inline-flex;align-items:center;min-height:44px}#fm-bubble-game .hb-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;font-size:12px;color:#cec2d7;margin:20px auto 0;line-height:1.5}
@media(max-width:360px){#fm-bubble-game .hb-brand{font-size:11px;letter-spacing:1px}#fm-bubble-game .hb-setup{padding-inline:14px}#fm-bubble-game .hb-nav{font-size:13px}#fm-bubble-game .hb-stats small{font-size:11px}}
@media(prefers-reduced-motion:reduce){#fm-bubble-game *,#fm-bubble-game *::before,#fm-bubble-game *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Fancy Halloween artwork with calm, legible controls. */
body.fm-bubble-page{background:radial-gradient(ellipse at 12% 5%,#492050 0,transparent 48%),radial-gradient(ellipse at 95% 65%,#133d48 0,transparent 50%),#121321}
#fm-bubble-game .hb-game{border-color:#9673b1;background:linear-gradient(145deg,#30213f,#1e1c32);box-shadow:0 16px 55px #06061080}
#fm-bubble-game .hb-brand{color:#ffc784;font-weight:700}
#fm-bubble-game .hb-board{border-color:#a984ba;box-shadow:inset 0 0 0 1px #201a31}
#fm-bubble-game .hb-intro-art{gap:0;padding:8px 0 18px}
#fm-bubble-game .hb-intro-art span{width:min(23%,90px);height:auto;aspect-ratio:1;border:0!important;background-color:transparent!important;background-image:url('/games/fm-bubble-characters-v2.webp')!important;background-size:200% 200%!important;border-radius:0;transform:none!important}
#fm-bubble-game .hb-intro-art span:nth-child(1){background-position:0 0!important}
#fm-bubble-game .hb-intro-art span:nth-child(2){background-position:100% 0!important;transform:translateY(8px)!important}
#fm-bubble-game .hb-intro-art span:nth-child(3){background-position:0 100%!important}
#fm-bubble-game .hb-intro-art span:nth-child(4){background-position:100% 100%!important;transform:translateY(8px)!important}
#fm-bubble-game .hb-primary{background:linear-gradient(#ffdfa1,#ffb756);color:#29192f;border-color:#ffe9bd}
#fm-bubble-game .hb-room-step{position:absolute;inset:auto 10px 10px;padding:14px;border:1px solid #c5abd6;border-radius:13px;background:#20182df7;text-align:center;box-shadow:0 6px 28px #0008;z-index:1}
#fm-bubble-game .hb-room-step strong{display:block;font-size:20px;line-height:1.25;color:#ffdfa1;margin-bottom:9px}
#fm-bubble-game .hb-room-step button{min-height:48px;width:100%;font-size:16px}
#fm-bubble-game button:focus-visible,#fm-bubble-game input:focus-visible{outline:3px solid #72e3ff;outline-offset:3px}
#fm-bubble-game .hb-foot{font-size:12px}
@media(min-width:800px){#fm-bubble-game .hb-board{max-width:min(512px,calc((100svh - 290px)/1.1));min-width:300px;margin-inline:auto}#fm-bubble-game .hb-header{padding-block:12px}#fm-bubble-game .hb-stats{padding-block:9px}}
@media(max-width:380px){#fm-bubble-game .hb-room-step{padding:10px}#fm-bubble-game .hb-room-step strong{font-size:18px}}

#fm-bubble-game .hb-challenge{margin:0 12px 10px;padding:9px 11px;min-height:44px;background:#182e34;border:1px solid #6d8995;border-radius:10px;color:#e0eff1;font-size:13px;line-height:1.45;text-align:center}#fm-bubble-game .hb-pressure-warning{background:#4b2635;color:#ffe1b4;border-color:#e9ad70;font-weight:700}

#fm-bubble-game [data-pause]{min-width:80px}#fm-bubble-game .hb-challenge{font-variant-numeric:tabular-nums}#fm-bubble-game [data-room-name]{min-height:1.2em}
