:root{--bb-font:"Fredoka", "Baloo 2", "Nunito", "Avenir Next", "Segoe UI", system-ui, sans-serif;--bb-bg:#14231a;--bb-panel:#fff8e7;--bb-panel-ink:#2a1d12;--bb-ink:#2a1d12;--bb-accent:#f7c948;--bb-accent-ink:#4a3000;--bb-pig:#f4a7b4;--bb-danger:#e5484d;--bb-focus:#2f80ed;--bb-shadow:0 10px 30px #00000059;--bb-radius:18px;--bb-ui-scale:1;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bb-bg);height:100%;color:var(--bb-panel);font-family:var(--bb-font);font-size:calc(16px * var(--bb-ui-scale));-webkit-text-size-adjust:100%;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;margin:0;padding:0;overflow:hidden}#app{background:var(--bb-bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#game{justify-content:center;align-items:center;width:100%;height:100%;display:flex}#game canvas{image-rendering:auto;outline:none;display:block}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:auto}.bb-nojs{text-align:center;place-items:center;padding:2rem;font-size:1.25rem;display:grid;position:fixed;inset:0}.bb-btn{font:inherit;letter-spacing:.01em;color:var(--bb-accent-ink);background:var(--bb-accent);cursor:pointer;text-align:center;touch-action:manipulation;border:3px solid #4a3000;border-radius:999px;min-width:11em;padding:.7em 1.6em;font-size:1.05rem;font-weight:700;transition:transform 90ms,box-shadow 90ms;box-shadow:0 4px #4a3000}.bb-btn:hover{transform:translateY(-1px)}.bb-btn:active{transform:translateY(3px);box-shadow:0 1px #4a3000}.bb-btn.secondary{background:var(--bb-panel);color:var(--bb-panel-ink);border-color:#5a4634;box-shadow:0 4px #5a4634}.bb-btn.danger{background:var(--bb-danger);color:#fff;border-color:#6e1b1e;box-shadow:0 4px #6e1b1e}.bb-btn.small{min-width:0;padding:.45em 1.1em;font-size:.9rem}.bb-btn:disabled{opacity:.55;cursor:default;transform:none}:focus{outline:none}:focus-visible,.bb-btn:focus-visible,.bb-focusable:focus-visible{outline:4px solid var(--bb-focus);outline-offset:3px;box-shadow:0 0 0 7px #ffffffe6}.bb-screen{padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));flex-direction:column;justify-content:center;align-items:center;gap:1rem;animation:.22s both bb-fade-in;display:flex;position:absolute;inset:0}.bb-screen.dim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a120d8c}.bb-panel{background:var(--bb-panel);color:var(--bb-panel-ink);border-radius:var(--bb-radius);box-shadow:var(--bb-shadow);width:100%;max-width:min(92vw,34rem);max-height:calc(100vh - 2rem - var(--safe-top) - var(--safe-bottom));border:4px solid #3a2a1c;flex-direction:column;gap:.9rem;padding:1.25rem 1.5rem;display:flex;overflow:auto}.bb-panel h1,.bb-panel h2{margin:0;font-weight:800;line-height:1.1}.bb-panel h2{font-size:1.6rem}.bb-panel p{margin:0;line-height:1.4}.bb-stack{flex-direction:column;align-items:stretch;gap:.6rem;display:flex}.bb-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bb-muted{opacity:.72;font-size:.92rem}.bb-kbd{font:700 .85em/1 var(--bb-font);color:#2a1d12;background:#fff;border:2px solid #3a2a1c;border-bottom-width:4px;border-radius:6px;margin:0 .1em;padding:.25em .55em;display:inline-block}.bb-field{border-bottom:1px dashed #2a1d1233;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;padding:.35rem 0;display:grid}.bb-field label{font-weight:700}.bb-field .hint{opacity:.7;grid-column:1/-1;margin-top:-.3rem;font-size:.85rem}.bb-field input[type=range]{accent-color:#c47b1e;width:10rem}.bb-field select,.bb-field input[type=checkbox]{font:inherit}.bb-field input[type=checkbox]{accent-color:#c47b1e;width:1.4rem;height:1.4rem}.bb-field select{color:#2a1d12;background:#fff;border:2px solid #3a2a1c;border-radius:8px;padding:.3em .6em}.bb-toggle{gap:.25rem;display:inline-flex}.bb-toggle button{font:inherit;color:#2a1d12;cursor:pointer;background:#fff;border:2px solid #3a2a1c;border-radius:999px;padding:.35em .8em;font-weight:700}.bb-toggle button[aria-pressed=true]{background:var(--bb-accent)}.bb-hud{top:calc(.6rem + var(--safe-top));left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:.75rem;font-weight:800;display:flex;position:absolute}.bb-hud>*{pointer-events:auto}.bb-hud .bb-stats{flex-wrap:wrap;gap:.6rem;display:flex}.bb-chip{color:#fff8e7;text-shadow:0 1px #0006;background:#14231ab8;border:2px solid #fff8e759;border-radius:999px;align-items:center;gap:.4em;min-height:2.2em;padding:.3em .8em;font-size:1rem;transition:transform .12s;display:inline-flex}.bb-chip.pop{transform:scale(1.12)}.bb-chip .ico{font-size:1.1em}.bb-chip.timer{font-variant-numeric:tabular-nums}.bb-chip.checkpoint{color:#4a3000;background:#f7c948e6;border-color:#4a3000;animation:1.6s both bb-pop}.bb-iconbtn{font:inherit;background:var(--bb-accent);width:2.6rem;height:2.6rem;color:var(--bb-accent-ink);cursor:pointer;border:3px solid #4a3000;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;display:grid;box-shadow:0 3px #4a3000}.bb-caption-wrap{pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:absolute;bottom:28%;left:0;right:0}.bb-caption{color:#fff8e7;text-align:center;border:3px solid var(--bb-accent);text-shadow:0 2px #00000073;background:#14231ad1;border-radius:14px;max-width:36ch;padding:.45em .9em;font-size:clamp(1.1rem,3.4vmin,1.9rem);font-weight:800;animation:.6s cubic-bezier(.2,1.4,.4,1) both bb-caption}.bb-toast{top:calc(4rem + var(--safe-top));color:#fff8e7;text-align:center;background:#14231ae0;border:2px solid #fff8e766;border-radius:12px;max-width:90vw;padding:.5em 1em;font-weight:700;animation:.2s both bb-fade-in;position:absolute;left:50%;transform:translate(-50%)}.bb-touch{pointer-events:none;display:none;position:absolute;inset:0}.bb-touch.visible{display:block}.bb-touch .pad{bottom:calc(1.1rem + var(--safe-bottom));pointer-events:none;gap:.6rem;display:flex;position:absolute}.bb-touch .pad.left{left:calc(1rem + var(--safe-left))}.bb-touch .pad.right{right:calc(1rem + var(--safe-right))}.bb-touch button{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;color:#fff8e7;width:clamp(64px,12vmin,96px);height:clamp(64px,12vmin,96px);font:800 1.6rem var(--bb-font);opacity:.85;background:#14231a73;border:3px solid #fff8e7b3;border-radius:50%;place-items:center;transition:transform 60ms,background 60ms;display:grid}.bb-touch button.jump{background:#f7c94880;border-color:#f7c948f2;width:clamp(76px,15vmin,116px);height:clamp(76px,15vmin,116px)}.bb-touch button.pressed{color:#4a3000;background:#f7c948f2;transform:scale(.94)}.bb-dev{top:calc(3.6rem + var(--safe-top));left:calc(.75rem + var(--safe-left));color:#9f9;white-space:pre;pointer-events:auto;background:#000000bf;border-radius:8px;max-height:70vh;padding:.5rem .65rem;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;overflow:auto}.bb-dev .warn{color:#fc6}.bb-dev button{font:inherit;color:#cfc;cursor:pointer;background:#233;border:1px solid #4a6;border-radius:4px;margin:2px 2px 0 0;padding:1px 6px}@keyframes bb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bb-pop{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.08)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes bb-caption{0%{opacity:0;transform:translateY(18px)scale(.85)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bb-screen,.bb-caption,.bb-toast,.bb-chip.checkpoint{animation-duration:1ms}.bb-btn,.bb-chip{transition:none}}:root[data-reduced-motion="1"] .bb-screen,:root[data-reduced-motion="1"] .bb-caption,:root[data-reduced-motion="1"] .bb-toast{animation-duration:1ms}:root[data-reduced-motion="1"] .bb-btn,:root[data-reduced-motion="1"] .bb-chip{transition:none}@media (max-width:700px){.bb-btn{min-width:9em;font-size:1rem}.bb-panel{padding:1rem 1.1rem}.bb-chip{font-size:.9rem}}.bb-intro{pointer-events:none;justify-content:center;padding:0 1rem;animation:.3s both bb-fade-in;display:flex;position:absolute;top:18%;left:0;right:0}.bb-intro.out{animation:.45s both bb-fade-out}.bb-intro-card{text-align:center;color:#fff8e7;text-shadow:0 3px #00000073,0 0 24px #00000059;animation:.5s cubic-bezier(.2,1.3,.4,1) both bb-rise}.bb-intro-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--bb-accent);font-size:.9rem;font-weight:800}.bb-intro-title{margin:.1em 0 0;font-size:clamp(2rem,7vmin,3.4rem);font-weight:900;line-height:1}.bb-intro-sub{opacity:.95;margin:.4em 0 0;font-size:clamp(1rem,2.6vmin,1.3rem);font-weight:600}.bb-results .bb-quote{opacity:.85;font-style:italic}.bb-statgrid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.bb-stat{text-align:center;background:#2a1d1214;border:2px solid #2a1d1240;border-radius:12px;padding:.6rem .4rem}.bb-stat.best{background:#f7c94880;border-color:#4a3000}.bb-stat-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:900}.bb-stat-label{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-size:.8rem;font-weight:700}@keyframes bb-fade-out{0%{opacity:1}to{opacity:0}}@keyframes bb-rise{0%{transform:translateY(20px)scale(.92)}to{transform:none}}.bb-title-menu{left:0;right:0;top:calc(6% + var(--safe-top));pointer-events:none;flex-direction:column;align-items:center;gap:.6rem;padding:0 1rem;animation:.4s both bb-fade-in;display:flex;position:absolute}.bb-title-menu>*{pointer-events:auto}.bb-logo{text-align:center;filter:drop-shadow(0 6px #00000059);line-height:.9}.bb-logo-top{color:var(--bb-accent);letter-spacing:.04em;-webkit-text-stroke:2px #4a3000;font-size:clamp(2.6rem,9vmin,5rem);font-weight:900}.bb-logo-bottom{color:var(--bb-pig);letter-spacing:.12em;-webkit-text-stroke:2px #4a1a24;font-size:clamp(2.2rem,8vmin,4.4rem);font-weight:900;transform:rotate(-2deg)}.bb-logo-sub{color:#fff8e7;text-shadow:0 2px #00000080;margin:.2rem 0 0;font-size:clamp(.95rem,2.4vmin,1.2rem);font-weight:700}.bb-title-actions{align-items:center;margin-top:.4rem}.bb-title-secondary{justify-content:center}.bb-title-hint{color:#fff8e7;text-shadow:0 1px #00000080}.bb-primary{padding:.75em 2.2em;font-size:1.25rem}.bb-unlock-badge{color:#4a1a24;background:#f4a7b4e6;border:2px solid #4a1a24;border-radius:999px;padding:.3em .9em;font-weight:700}.bb-section{margin-top:.4rem!important}.bb-levels{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;display:grid}.bb-level-card{font:inherit;text-align:left;color:#2a1d12;cursor:pointer;background:#fff;border:3px solid #3a2a1c;border-radius:12px;flex-direction:column;gap:.2rem;padding:.6rem .7rem;display:flex;box-shadow:0 3px #3a2a1c}.bb-level-card:disabled{opacity:.5;cursor:default}.bb-level-card .num{letter-spacing:.1em;text-transform:uppercase;color:#8a5a2b;font-size:.75rem;font-weight:800}.bb-level-card .name{font-size:1.05rem;font-weight:800}.bb-level-card .meta{opacity:.75;font-variant-numeric:tabular-nums;font-size:.8rem}.bb-credits-list{grid-template-columns:auto 1fr;gap:.3rem 1rem;display:grid}.bb-credits-list dt{opacity:.8;font-weight:800}.bb-credits-list dd{margin:0}#app{display:block}#game{display:block;position:relative}.bb-stage{left:var(--stage-x,0px);top:var(--stage-y,0px);width:var(--stage-w,100%);height:var(--stage-h,100%);pointer-events:none;position:absolute}.bb-stage>*{pointer-events:auto}.bb-hud{top:max(.6rem, calc(var(--safe-top) - var(--stage-y,0px) + .6rem));left:max(.75rem, calc(var(--safe-left) - var(--stage-x,0px) + .75rem));right:max(.75rem, calc(var(--safe-right) - (var(--stage-x,0px)) + .75rem))}.bb-dev{top:3.6rem;left:.75rem}.bb-caption-wrap{bottom:26%}.bb-intro{top:14%}:root[data-portrait-narrow="1"] .bb-chip{min-height:1.9em;padding:.2em .6em;font-size:.82rem}:root[data-portrait-narrow="1"] .bb-iconbtn{width:2.1rem;height:2.1rem;font-size:.9rem}:root[data-portrait-narrow="1"] .bb-hud{top:-2.6rem}:root[data-portrait-narrow="1"] .bb-caption-wrap{top:calc(100% + .5rem);bottom:auto}:root[data-portrait-narrow="1"] .bb-caption{font-size:1rem}:root[data-portrait-narrow="1"] .bb-intro{top:auto;bottom:calc(100% + 3.2rem)}:root[data-portrait-narrow="1"] .bb-intro-title{font-size:1.8rem}:root[data-portrait-narrow="1"] .bb-intro-sub{font-size:.95rem}.bb-touch .pad{bottom:calc(1.1rem + var(--safe-bottom))}.bb-touch.under-strip .pad{bottom:var(--pad-bottom,calc(1.1rem + var(--safe-bottom)))}.bb-touch button{width:clamp(56px,13vmin,92px);height:clamp(56px,13vmin,92px);font-size:1.2rem}.bb-touch button.jump{width:clamp(68px,16vmin,110px);height:clamp(68px,16vmin,110px)}.bb-touch.in-margins button{opacity:.95}.bb-rotate .bb-panel{text-align:center;align-items:center;max-width:22rem}.bb-phone{background:#fff8e7;border:4px solid #2a1d12;border-radius:10px;width:42px;height:72px;animation:2.4s ease-in-out infinite bb-rotate-phone;position:relative}.bb-phone-screen{background:#3aa0d8;border-radius:3px;position:absolute;inset:7px 5px 9px}.bb-phone:after{content:"";background:#2a1d12;border-radius:2px;width:10px;height:3px;margin-left:-5px;position:absolute;bottom:2px;left:50%}@keyframes bb-rotate-phone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.bb-phone{animation:none;transform:rotate(-90deg)}}:root[data-reduced-motion="1"] .bb-phone{animation:none;transform:rotate(-90deg)}.bb-touch .pad.right{align-items:flex-end}.bb-touch .cluster{pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex}.bb-touch button.bonk{letter-spacing:.04em;background:#e5484d73;border-color:#e5484de6;width:clamp(52px,11vmin,76px);height:clamp(52px,11vmin,76px);font-size:.8rem}.bb-touch button.bonk.pressed{color:#fff;background:#e5484df2}.bb-touch button.talk{opacity:.35;background:#9fe3ff59;border-color:#9fe3ffcc;width:clamp(44px,9vmin,60px);height:clamp(44px,9vmin,60px);font-size:1.3rem}.bb-touch button.talk.available{opacity:.95;color:#14231a;background:#9fe3ffbf;transform:scale(1.06)}.bb-touch button.talk.pressed{background:#9fe3ff}.bb-replies{color:#2a1d12;box-shadow:var(--bb-shadow);background:#fff8e7f7;border:3px solid #3a2a1c;border-radius:14px;flex-direction:column;align-items:stretch;gap:.4rem;min-width:16rem;max-width:min(92%,26rem);padding:.6rem .7rem;animation:.26s cubic-bezier(.2,1.4,.4,1) both bb-caption;display:flex;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.bb-replies-title{letter-spacing:.06em;text-transform:uppercase;opacity:.7;font-size:.85rem;font-weight:800}.bb-replies-list{flex-direction:column;gap:.35rem;display:flex}.bb-reply{font:inherit;text-align:left;color:#2a1d12;cursor:pointer;background:#fff;border:2px solid #3a2a1c;border-radius:10px;padding:.45em .8em;font-weight:700}.bb-reply.focus,.bb-reply:hover{background:var(--bb-accent)}:root[data-portrait-narrow="1"] .bb-replies{top:calc(100% + 3rem);bottom:auto}.bb-achievement{left:50%;top:calc(3.6rem + var(--safe-top));color:#fff8e7;border:2px solid var(--bb-accent);background:#14231aeb;border-radius:14px;align-items:center;gap:.6rem;max-width:90vw;padding:.5em .9em;animation:.32s cubic-bezier(.2,1.4,.4,1) both bb-caption;display:flex;position:absolute;transform:translate(-50%)}.bb-achievement .ico{font-size:1.4rem}.bb-achievement .title{font-weight:800}.bb-achievement .desc{opacity:.8;font-size:.85rem}.bb-skip{right:calc(.8rem + var(--safe-right));bottom:calc(.8rem + var(--safe-bottom));font:inherit;border:2px solid var(--bb-ink);color:var(--bb-ink);cursor:pointer;background:#fff8e7f2;border-radius:999px;padding:.4em .9em;font-weight:800;position:absolute}.bb-namecard{left:calc(.9rem + var(--safe-left));bottom:calc(1rem + var(--safe-bottom));color:#fff8e7;border-left:6px solid var(--bb-accent);pointer-events:none;background:#14231aeb;border-radius:6px;max-width:70vw;padding:.5em .9em;animation:.32s cubic-bezier(.2,1.4,.4,1) both bb-caption;position:absolute}.bb-namecard-name{letter-spacing:.04em;font-size:1.1rem;font-weight:900}.bb-namecard-role{opacity:.9;font-size:.85rem}.bb-namecard-note{opacity:.7;font-size:.75rem;font-style:italic}.bb-comedy{font-style:italic}
