.bb-app{--ink:#3a2850;--night:#241a3d;--lav:#b9a5ff;--pink:#ff8fb8;--cream:#fff8ec;--paper:#fffdf8;--gold:#ffd36b;--shadow:rgba(36,26,61,0.35);--panel-w:min(440px,46vw);--top-h:calc(64px + env(safe-area-inset-top, 0px));height:100dvh;overflow:hidden;color:var(--ink);background:var(--night);font-family:Avenir Next,Hiragino Sans,Noto Sans,system-ui,sans-serif;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.bb-app a,.bb-app button{cursor:pointer;color:inherit;font-family:inherit}.bb-app img{-webkit-user-drag:none}.bb-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.bb-app[data-phase=play] .bb-canvas{cursor:-webkit-grab;cursor:grab}.bb-app[data-phase=play] .bb-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.bb-topbar{position:absolute;left:0;right:0;top:0;min-height:var(--top-h);z-index:7;display:flex;align-items:center;gap:8px;padding:env(safe-area-inset-top,0) calc(10px + env(safe-area-inset-right, 0px)) 0 calc(10px + env(safe-area-inset-left, 0px));pointer-events:none}.bb-topbar>*{pointer-events:auto}.bb-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:2px solid #fff;background:var(--cream);color:var(--ink);font-weight:800;font-size:15px;text-decoration:none;box-shadow:0 3px 0 var(--shadow);white-space:nowrap}.bb-chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.bb-app:not([data-phase=menu]):not([data-phase=loading]) .bb-back,.bb-app[data-phase=loading] .bb-home,.bb-app[data-phase=menu] .bb-home{display:none}.bb-clock{margin:0 auto;display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;grid-column-gap:2px;column-gap:2px;padding:4px 16px 6px;border-radius:18px;background:rgba(28,20,50,.72);color:#ffe7a8;border:2px solid rgba(255,231,168,.35);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;min-width:120px}.bb-clock b{font-size:30px;line-height:1;font-weight:900;letter-spacing:.02em}.bb-clock small{font-size:15px;font-weight:800;opacity:.8}.bb-place{grid-column:1/3;font-size:11.5px;font-weight:700;color:#d9ccff;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-app:not([data-phase=play]):not([data-phase=paused]):not([data-phase=results]) .bb-clock{visibility:hidden}.bb-topbtns{flex:none;display:flex;gap:6px;margin-left:auto}.bb-clock+.bb-topbtns{margin-left:0}.bb-round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid #fff;background:var(--cream);color:var(--ink);box-shadow:0 3px 0 var(--shadow);padding:0}.bb-round:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}#bb-mute .off,.bb-app:not([data-phase=play]) .bb-play-only,.bb-muted #bb-mute .on{display:none}.bb-muted #bb-mute .off{display:inline}.bb-toast{position:absolute;left:50%;bottom:calc(76px + env(safe-area-inset-bottom, 0px));z-index:6;transform:translate(-50%,8px);margin:0;width:max-content;max-width:min(92vw,520px);padding:8px 16px;border-radius:16px;background:rgba(255,248,236,.95);color:var(--ink);font-weight:800;font-size:16px;text-align:center;box-shadow:0 4px 0 var(--shadow);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.bb-toast.show{opacity:1;transform:translate(-50%)}.bb-app:not([data-phase=play]) .bb-toast{display:none}.bb-debug{left:8px;bottom:90px;z-index:6;margin:0;color:#fff;font:12px monospace;text-shadow:0 1px 2px #000}.bb-debug,.bb-hud-bottom{position:absolute;pointer-events:none}.bb-hud-bottom{left:0;right:0;bottom:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:0 calc(12px + env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) calc(12px + env(safe-area-inset-left, 0px))}.bb-app:not([data-phase=play]) .bb-hud-bottom{display:none}.bb-hint{margin:0 auto 6px;padding:6px 12px;border-radius:12px;background:rgba(28,20,50,.6);color:#f4ecff;font-size:13.5px;font-weight:700;text-align:center;max-width:70vw}.bb-hint-touch{display:none}.bb-shush{position:absolute;right:calc(14px + env(safe-area-inset-right, 0px));bottom:calc(14px + env(safe-area-inset-bottom, 0px));width:84px;height:84px;border-radius:50%;border:3px solid #fff;background:var(--lav);color:var(--night);display:grid;place-items:center;align-content:center;grid-gap:0;gap:0;box-shadow:0 5px 0 var(--shadow);pointer-events:auto;touch-action:none}.bb-shush span{font-size:30px;line-height:1}.bb-shush b{font-size:15px;font-weight:900}.bb-shush.on{background:#ffe7a8;transform:translateY(3px) scale(.97);box-shadow:0 2px 0 var(--shadow),0 0 0 8px rgba(255,231,168,.3)}.bb-mic-dot{position:absolute;top:6px;right:8px;width:10px;height:10px;border-radius:50%;background:#ff5d6c;display:none}.bb-mic-on .bb-mic-dot{display:block}.bb-sheet{position:absolute;z-index:8;right:calc(10px + env(safe-area-inset-right, 0px));top:calc(var(--top-h) + 4px);bottom:calc(10px + env(safe-area-inset-bottom, 0px));width:var(--panel-w);overflow:auto;overscroll-behavior:contain;padding:12px 14px 14px;border-radius:26px;background:rgba(255,253,248,.96);border:3px solid #fff;box-shadow:0 8px 0 var(--shadow),0 18px 40px rgba(10,6,30,.4);display:none}.bb-app[data-phase=menu] .bb-menu{display:flex;flex-direction:column;gap:8px}.bb-logo{margin:0;display:flex;justify-content:center}.bb-logo img{width:min(300px,80%);height:auto}.bb-tagline{margin:-2px 0 0;text-align:center;font-size:14px;font-weight:700;color:#6a5a85}.bb-h2{margin:4px 0 0;font-size:19px;color:var(--ink)}.bb-h2,.bb-h3{font-weight:900}.bb-h3{margin:8px 0 2px;font-size:15px}.bb-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.bb-stage{position:relative;display:grid;grid-template-rows:auto 1fr;padding:0;overflow:hidden;text-align:left;border-radius:18px;border:3px solid #fff;background:var(--cream);box-shadow:0 3px 0 var(--shadow);min-height:44px}.bb-stage img{width:100%;height:auto;aspect-ratio:10/7;object-fit:cover;display:block}.bb-stage-txt{display:grid;grid-gap:1px;gap:1px;padding:6px 8px 8px}.bb-stage b{font-size:14.5px;font-weight:900;line-height:1.15}.bb-stage small{font-size:11.5px;line-height:1.25;color:#6a5a85}.bb-stage em{font-style:normal;font-size:12px;font-weight:800;color:#a0567a}.bb-stars{color:#f4b740;font-size:12px;letter-spacing:1px}.bb-stars i{font-style:normal;color:#ddd3ee}.bb-baby[aria-checked=true],.bb-stage[aria-checked=true]{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink),0 3px 0 var(--shadow)}.bb-baby.locked img,.bb-stage.locked img{filter:grayscale(1) brightness(.7)}.bb-baby.locked,.bb-stage.locked{opacity:.75}.bb-baby.locked:after,.bb-stage.locked:after{content:"🔒";position:absolute;top:6px;right:8px;font-size:18px}.bb-babies{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.bb-baby{position:relative;display:grid;justify-items:center;align-content:start;grid-gap:1px;gap:1px;padding:6px 4px 8px;text-align:center;border-radius:18px;border:3px solid #fff;background:var(--cream);box-shadow:0 3px 0 var(--shadow);min-height:44px}.bb-baby img{width:64px;height:64px;object-fit:contain}.bb-baby b{font-size:14px;font-weight:900}.bb-baby small{font-size:11px;font-weight:700;color:#6a5a85}.bb-baby em{font-style:normal;font-size:10.5px;line-height:1.2;color:#a0567a}.bb-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;margin-top:4px;border-radius:999px;border:3px solid #fff;background:linear-gradient(#ffa6c8,#ff7aa8);color:#fff;font-size:18px;font-weight:900;box-shadow:0 5px 0 #c4507c;text-shadow:0 1px 0 rgba(120,30,70,.4)}.bb-go:active{transform:translateY(3px);box-shadow:0 2px 0 #c4507c}.bb-menu .bb-go{position:-webkit-sticky;position:sticky;bottom:0}.bb-baby:focus-visible,.bb-chip:focus-visible,.bb-go:focus-visible,.bb-round:focus-visible,.bb-shush:focus-visible,.bb-stage:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.bb-dialog{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,94vw);max-height:calc(100dvh - var(--top-h) - 16px);overflow:auto;overscroll-behavior:contain;padding:18px 18px 16px;border-radius:26px;background:var(--paper);border:3px solid #fff;box-shadow:0 8px 0 var(--shadow),0 18px 40px rgba(10,6,30,.5)}.bb-dialog[hidden]{display:none}.bb-small{width:min(400px,92vw)}.bb-x{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:var(--cream);display:grid;place-items:center}.bb-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.bb-help-steps{margin:8px 0 0;padding-left:20px;display:grid;grid-gap:8px;gap:8px;font-size:14.5px;line-height:1.45}.bb-tells{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.bb-tells li{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px;border-radius:14px;background:var(--cream)}.bb-tells img{width:56px;height:56px}.bb-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;font-weight:800}.bb-toggle input{width:24px;height:24px;accent-color:var(--pink);flex:none}.bb-note{margin:-4px 0 6px;font-size:12.5px;color:#6a5a85;line-height:1.35}.bb-mic-state{font-weight:800;color:#a0567a}.bb-mic-state:empty,.bb-results{display:none}.bb-results{text-align:center}.bb-results.show{display:block}.bb-r-time{margin:2px 0 0;font-size:54px;line-height:1;font-weight:900;color:var(--night);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bb-r-sub{margin:4px 0 0;font-size:14px;font-weight:700;color:#6a5a85}.bb-r-rank{display:inline-block;margin:8px 0 0;padding:6px 18px;border-radius:999px;background:var(--pink);color:#3a1838;font-size:20px;font-weight:900}.bb-r-notes{margin:8px 0 0;font-size:14px;font-weight:800;color:#a0567a}.bb-r-stats{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;margin:0 auto;max-width:360px;text-align:left;font-size:14px}.bb-r-stats dt{color:#6a5a85;font-weight:700}.bb-r-stats dd{margin:0;font-weight:900;text-align:right}.bb-loading{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(36,26,61,.92)}.bb-app:not([data-phase=loading]) .bb-loading,.bb-loading[hidden]{display:none}.bb-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;padding:16px;background:#fff;border-radius:16px}@media (max-width:700px) and (max-aspect-ratio:4/5){.bb-app{--top-h:calc(60px + env(safe-area-inset-top, 0px))}.bb-back span,.bb-home span{display:none}.bb-back,.bb-home{width:44px;padding:0;font-size:20px}.bb-topbtns{gap:5px}.bb-round{width:42px;height:42px}.bb-clock{min-width:0;padding:3px 10px 5px}.bb-clock b{font-size:26px}.bb-dialog,.bb-results,.bb-sheet{top:auto;left:calc(6px + env(safe-area-inset-left, 0px));right:calc(6px + env(safe-area-inset-right, 0px));bottom:0;width:auto;transform:none;border-radius:24px 24px 0 0;border-bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom, 0px))}.bb-sheet{max-height:54dvh}.bb-logo{display:none}.bb-tagline{font-size:13px}.bb-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bb-stage small{display:none}.bb-stage b{font-size:12.5px}.bb-stage em{font-size:10.5px}.bb-baby img{width:52px;height:52px}.bb-baby em{display:none}.bb-h2{font-size:17px}.bb-r-time{font-size:46px}.bb-hint{font-size:12.5px;max-width:calc(100vw - 120px);margin:0 auto 8px 0}.bb-shush{width:78px;height:78px}}@media (max-height:500px) and (min-aspect-ratio:4/5){.bb-app{--top-h:calc(52px + env(safe-area-inset-top, 0px));--panel-w:min(420px,52vw)}.bb-back span,.bb-home span{display:none}.bb-back,.bb-home{width:44px;padding:0;font-size:20px}.bb-clock b{font-size:24px}.bb-clock{padding:2px 10px 4px}.bb-logo,.bb-tagline{display:none}.bb-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bb-stage small{display:none}.bb-stage b{font-size:12.5px}.bb-baby img{width:44px;height:44px}.bb-baby em{display:none}.bb-h2{font-size:16px}.bb-dialog{padding:12px 14px}.bb-r-time{font-size:40px}.bb-hint{font-size:12px;max-width:56vw}.bb-shush{width:72px;height:72px}}@media (hover:none),(pointer:coarse){.bb-hint-keys{display:none}.bb-hint-touch{display:block}}