html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}img,svg{-webkit-user-drag:none}input,textarea,[contenteditable]:not([contenteditable=false]),.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html,body,#root{background:var(--bb-background);height:100%;color:var(--bb-text);font:16px / 1.4 var(--bb-font);margin:0}.game{height:100%;position:relative;overflow:hidden}.stage{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.hud{pointer-events:none;flex-direction:column;justify-content:space-between;padding:16px;display:flex;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-top{justify-content:space-between;gap:16px;display:flex}.big{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700}.label{color:var(--bb-muted);font-size:.85rem}.center{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.countdown{font-size:6rem;font-weight:700}.panel{box-sizing:border-box;background:var(--bb-panel);border-radius:20px;width:100%;max-width:420px;margin:auto;padding:20px}.panel h1,.panel h2{font-family:var(--bb-sticker-font);margin:0 0 12px}.panel p{margin:0 0 12px}.actions{flex-wrap:wrap;gap:8px;display:flex}button{--bb-face:var(--bb-secondary);--bb-drop:color-mix(in srgb, var(--bb-face) var(--bb-shade), black);font:1.15rem / 1.2 var(--bb-sticker-font);border:var(--bb-outline) solid var(--bb-ink);background:var(--bb-face);color:var(--bb-ink);box-shadow:0 var(--bb-depth) 0 var(--bb-drop);cursor:pointer;border-radius:16px;padding:12px 22px;font-weight:800;transition:transform 60ms,box-shadow 60ms}button.primary{--bb-face:var(--bb-primary)}button:active:not(:disabled){transform:translateY(calc(var(--bb-depth) - 1px));box-shadow:0 1px 0 var(--bb-drop)}button:focus-visible{outline:3px solid var(--bb-primary);outline-offset:3px}button:disabled{opacity:.55;cursor:default}.board-scope{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.board-scope-choices{gap:8px;display:flex}.board-scope button{border-radius:12px;padding:6px 14px;font-size:.95rem}.board-scope button[aria-pressed=true]{--bb-face:var(--bb-primary)}.board-scope-add{color:var(--bb-text)}.boards{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.board table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.board td{padding:2px 4px}.board td:last-child{text-align:right}.board tr.me{background:var(--bb-highlight)}.error{color:var(--bb-text);border-left:3px solid var(--bb-accent);padding-left:8px}.back-button{bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));z-index:2;position:absolute}.settings-button{bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));z-index:2;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute}.settings-button svg{width:26px;height:26px}.settings-backdrop{z-index:3;background:#00000080;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.settings-menu{box-sizing:border-box;background:var(--bb-panel);border-radius:20px;flex-direction:column;gap:14px;width:min(100%,300px);padding:20px 24px 26px;display:flex;position:relative}.settings-title{text-align:center;font:1.5rem var(--bb-sticker-font);margin:0}.settings-message{text-align:center;margin:0}.settings-version{opacity:.7;text-align:center;margin:4px 0 0;font-size:.75rem}.settings-toggles{grid-template-rows:1fr auto auto 1fr;grid-auto-columns:84px;grid-auto-flow:column;justify-content:center;column-gap:12px;height:84px;display:grid}.settings-toggle{grid-row:span 4;grid-template-rows:subgrid;justify-items:center;row-gap:4px;padding:0 4px 2px;font-size:.8rem;line-height:1.2;display:grid}.settings-toggle svg{grid-row:2;width:28px;height:28px}.settings-toggle-label{grid-row:3}button.settings-confirm{--bb-face:var(--bb-primary);background:var(--bb-primary)}.settings-close{width:36px;height:36px;box-shadow:none;color:var(--bb-text);background:0 0;border:0;padding:0;font-size:1.1rem;position:absolute;top:10px;right:10px}.title{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:0;padding-bottom:64px;display:flex}.logo{filter:drop-shadow(0 8px 16px #00000080);width:min(75vw,38vh - 55px,380px);height:auto}.title .actions{flex-direction:column;align-items:stretch;gap:14px;width:min(100%,280px)}.title-status{text-align:center;text-shadow:0 1px 4px #000c;max-width:320px;font-size:.9rem}.title-status p{margin:0}.title-status p+p{margin-top:4px}.title .copyright{text-align:center;color:var(--bb-text);text-shadow:0 1px 4px #000c;margin:0;font-size:.75rem}@media (aspect-ratio>=5/4){.title{flex:0 auto;grid-template:"logo."1fr"logo actions""logo status""logo."1fr"copyright copyright"/minmax(0,1fr) minmax(0,1fr);place-items:center;gap:14px clamp(16px,5vw,64px);width:100%;max-width:960px;margin:auto;padding-bottom:0;display:grid}.logo{grid-area:logo;width:min(40vw,75vh,440px)}.title .actions{grid-area:actions}.title-status{grid-area:status}.title .copyright{grid-area:copyright;margin-top:clamp(4px,3vh,24px)}}@media (aspect-ratio>=5/4) and (height<=480px){.title{row-gap:6px}.title .actions{gap:8px}}@media (aspect-ratio>=5/4) and (height<=370px){.title{grid-template-rows:1fr auto auto auto 1fr;grid-template-areas:". .""logo actions""logo status""copyright status"". ."}}.backdrop{background:var(--bb-backdrop);transition:opacity var(--bb-fade-ms) ease;position:absolute;inset:0}.backdrop.gone{opacity:0;pointer-events:none}.hud.leaving-slide,.hud.leaving-slide>*{pointer-events:none}.hud.leaving-slide .actions>button{animation:.3s ease-in both bb-off-left}.hud.leaving-slide .actions>button:nth-child(2){animation-name:bb-off-right;animation-delay:70ms}.hud.leaving-slide .actions>button:nth-child(3){animation-delay:.14s}.hud.leaving-slide .actions>button:nth-child(4){animation-name:bb-off-right;animation-delay:.21s}.hud.leaving-slide .title>:not(.actions),.hud.leaving-slide .panel>:not(.actions){animation:.25s ease-in both bb-fade-out}.hud.leaving-slide .panel{animation:.25s ease-in .25s both bb-fade-out}@keyframes bb-off-left{to{transform:translate(-100vw)}}@keyframes bb-off-right{to{transform:translate(100vw)}}@keyframes bb-fade-out{to{opacity:0}}.how-to-play{max-width:460px;overflow-y:auto}.hud:has(>.how-to-play):after{content:"";flex:none;height:56px}.htp-steps{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.htp-steps li{grid-template-columns:128px 1fr;align-items:center;gap:14px;display:grid}.panel .htp-steps p{margin:0}.htp-scene{background:var(--bb-backdrop);border-radius:12px;width:100%;height:auto;display:block}@media (aspect-ratio>=5/4){.how-to-play{max-width:760px}.htp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.htp-steps li{text-align:center;grid-template-columns:none;align-content:start;justify-items:center;gap:8px}.htp-scene{width:min(100%,200px,34vh)}}.htp-shell{fill:var(--bb-draw-shell);stroke:var(--bb-draw-shell-edge);stroke-width:1.5px}.htp-head{fill:var(--bb-draw-head);stroke:var(--bb-draw-rim);stroke-width:2px}.htp-big-head{stroke-width:3px}.htp-floor{fill:var(--bb-draw-floor)}.htp-lug{fill:var(--bb-draw-rim)}.htp-ripple{fill:none;stroke:var(--bb-muted);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;opacity:0}.htp-ripple.htp-left,.htp-roll-left{opacity:.9}.htp-device{fill:var(--bb-draw-device);stroke:var(--bb-muted);stroke-width:2.5px}.htp-divide{stroke:var(--bb-muted);stroke-width:1.5px;stroke-dasharray:4 4}.htp-fingertip{fill:var(--bb-draw-finger);stroke:var(--bb-ink);stroke-width:1.5px}.htp-touch{fill:var(--bb-text);opacity:.35}.htp-cap{fill:var(--bb-draw-key);stroke:var(--bb-ink);stroke-width:2px}.htp-key text{fill:var(--bb-ink);font:700 18px var(--bb-font);text-anchor:middle}.htp-key.htp-left{translate:0 2px}.htp-key.htp-left .htp-cap{fill:var(--bb-primary)}.htp-stick line{stroke:var(--bb-draw-stick);stroke-width:3.5px;stroke-linecap:round}.htp-stick circle{fill:var(--bb-draw-stick-tip)}.htp-stick{transform-box:fill-box;transform-origin:0 0}.htp-stick-right{transform-origin:100% 0}.htp-watch rect{fill:var(--bb-text)}.htp-watch-face{fill:var(--bb-draw-device);stroke:var(--bb-text);stroke-width:3px}.htp-watch-time{fill:none;stroke:var(--bb-primary);stroke-width:16px;stroke-dasharray:50.27;stroke-dashoffset:-16.76px}@media (prefers-reduced-motion:no-preference){.htp-finger{animation:1.6s ease-in-out 3 htp-tap}.htp-touch{animation:1.6s linear 3 htp-touch}.htp-drum{animation:1.6s ease-out 3 htp-dip}.htp-ripple.htp-left,.htp-ripple.htp-right{animation:1.6s ease-out 3 htp-ripple}.htp-key{animation:1.6s ease-out 3 htp-press}.htp-key .htp-cap{animation:1.6s ease-out 3 htp-cap}.htp-ripple.htp-right,.htp-right,.htp-right .htp-cap{animation-delay:-.8s}.htp-stick{animation:.36s ease-in 13 htp-strike}.htp-stick-right{--htp-lift:22deg;animation-delay:-180ms}.htp-roll-left,.htp-roll-right{animation:.36s ease-out 13 htp-roll-ripple}.htp-roll-right{animation-delay:-180ms}.htp-watch-time{animation:4.68s linear forwards htp-run-down}}@keyframes htp-tap{0%,to{translate:0 -8px}12%{translate:0}25%{translate:0 -8px}50%{translate:66px -8px}62%{translate:66px}75%{translate:66px -8px}}@keyframes htp-touch{0%,9%,22%,59%,72%,to{opacity:0}12%,62%{opacity:.35}}@keyframes htp-dip{0%,9%,26%,to{translate:0}12%{translate:0 1.5px}}@keyframes htp-ripple{0%,10%{opacity:0;scale:.5}13%{opacity:.9;scale:.8}35%,to{opacity:0;scale:1.6}}@keyframes htp-press{0%,6%,24%,to{translate:0}12%{translate:0 2px}}@keyframes htp-cap{0%,6%,24%,to{fill:var(--bb-draw-key)}12%{fill:var(--bb-primary)}}@keyframes htp-strike{0%,to{rotate:var(--htp-lift,-22deg)}50%{rotate:0deg}}@keyframes htp-roll-ripple{0%,45%{opacity:0;scale:.4}50%{opacity:.9;scale:.6}to{opacity:0;scale:1.4}}@keyframes htp-run-down{to{stroke-dashoffset:-50.27px}}
