.bs-shell{--bs-ball:clamp(1.55rem,7.2vw,2.15rem)}@media (min-width:640px){.bs-shell{--bs-ball:2.2rem}}.bs-top{align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.7rem}.bs-levels,.bs-top{display:flex;flex-wrap:wrap}.bs-levels{gap:.35rem;max-width:100%}.bs-level{min-width:2.6rem;min-height:44px;padding:0 .55rem;color:var(--pp-muted);font:inherit;font-weight:900;font-size:.9rem;background:var(--pp-board);border:0;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bs-level.is-on{color:var(--pp-paper);background:var(--pp-walnut);box-shadow:0 2px 0 var(--pp-walnut-edge)}.bs-level.is-done:not(.is-on){color:var(--pp-ink);box-shadow:inset 0 0 0 2px #2F6B55}.bs-level:focus-visible{outline:3px solid var(--pp-focus);outline-offset:1px}.bs-stats{display:flex;gap:.4rem}.bs-stat{display:grid;min-width:3.2rem;padding:.2rem .55rem;text-align:center;background:var(--pp-board);border-radius:12px;line-height:1.15}.bs-stat small{color:var(--pp-muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.bs-stat strong{font-family:var(--font-display),Fraunces,Georgia,serif;font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:420px){.bs-top{justify-content:center}.bs-stats{width:100%}.bs-stat{flex:1 1 0;min-width:0}}.bs-stage{position:relative;display:flex;justify-content:center;padding-bottom:.5rem}.bs-frame{padding:clamp(.55rem,2.2vw,.9rem) clamp(.4rem,1.5vw,.7rem) clamp(.7rem,2.5vw,1rem);background:repeating-linear-gradient(100deg,rgb(255 255 255/4%) 0 7px,transparent 7px 15px),var(--pp-walnut);border-radius:18px;box-shadow:inset 0 2px 0 rgb(255 255 255/18%),0 6px 0 var(--pp-walnut-edge);width:min(100%,36rem);overflow:hidden}.bs-rack{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:clamp(.35rem,1.8vw,.65rem);min-height:calc(var(--bs-ball) * 4 + 2.4rem);padding:.35rem .15rem .2rem;background:repeating-linear-gradient(92deg,rgb(255 255 255/8%) 0 8px,rgb(0 0 0/3%) 8px 14px,transparent 14px 24px),var(--pp-board);border-radius:12px;touch-action:manipulation;user-select:none;-webkit-user-select:none}.bs-rack.is-solved{filter:saturate(1.06)}.bs-tube{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:calc(var(--bs-ball) + .55rem);height:calc(var(--bs-ball) * 4 + 1.35rem);padding:.25rem .2rem .35rem;background:linear-gradient(180deg,rgb(255 255 255/18%),rgb(255 255 255/4%) 40%,rgb(0 0 0/6%));border:2px solid #6b4630;border-top:3px solid #a0714f;border-radius:.55rem .55rem 1.1rem 1.1rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.bs-tube:focus-visible{outline:3px solid var(--pp-focus);outline-offset:2px}.bs-tube.is-selected{border-color:#D9A72B;box-shadow:0 0 0 3px rgb(217 167 43/45%),0 -6px 0 rgb(217 167 43/25%);transform:translateY(-4px)}.bs-tube.is-target{border-color:#2F6B55;box-shadow:0 0 0 3px rgb(47 107 85/35%)}.bs-tube.is-hint{border-color:#2F6B55;box-shadow:0 0 0 3px rgb(47 107 85/55%),inset 0 0 0 2px #B8E0CC}.bs-tube.is-dim{opacity:.55}.bs-tube:disabled{cursor:default}.bs-stack{display:flex;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:.12rem;width:100%;flex:1}.bs-ball{width:var(--bs-ball);height:var(--bs-ball);border-radius:50%;box-shadow:inset 0 -3px 0 rgb(0 0 0/18%),inset 0 2px 0 rgb(255 255 255/35%),0 2px 0 rgb(0 0 0/12%);flex:0 0 auto}.bs-ball.c1{background:radial-gradient(circle at 35% 30%,#F6A08A,#C44B3A 55%,#8F2E22)}.bs-ball.c2{background:radial-gradient(circle at 35% 30%,#A8D4B0,#3F8F5A 55%,#2A5F3C)}.bs-ball.c3{background:radial-gradient(circle at 35% 30%,#F5D76E,#D9A72B 55%,#A07818)}.bs-ball.c4{background:radial-gradient(circle at 35% 30%,#9EC4E8,#3B6FA8 55%,#274A72)}.bs-ball.c5{background:radial-gradient(circle at 35% 30%,#D2B4E8,#7A4E9E 55%,#52336C)}.bs-ball.c6{background:radial-gradient(circle at 35% 30%,#F0B27A,#C86B2F 55%,#8A4518)}.bs-ball.c7{background:radial-gradient(circle at 35% 30%,#C5D48A,#7A8F3A 55%,#4F5E22)}.bs-ball.c8{background:radial-gradient(circle at 35% 30%,#F2A8C4,#C45A7E 55%,#8A3454)}.bs-ball.is-lift{transform:translateY(-.35rem) scale(1.06);box-shadow:inset 0 -3px 0 rgb(0 0 0/18%),inset 0 2px 0 rgb(255 255 255/45%),0 6px 10px rgb(0 0 0/22%)}.bs-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem;justify-content:center}.bs-actions .pp-btn{min-height:44px}.bs-help{margin:.55rem 0 0;text-align:center;color:var(--pp-muted);font-size:.9rem;line-height:1.4}.bs-toast{left:50%;bottom:.4rem;transform:translateX(-50%);z-index:5;max-width:92%;padding:.45rem .85rem;background:var(--pp-walnut);font-weight:800;font-size:.9rem;border-radius:999px;box-shadow:0 4px 0 var(--pp-walnut-edge);pointer-events:none}.bs-complete,.bs-toast{position:absolute;color:var(--pp-paper)}.bs-complete{inset:.5rem;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:rgb(40 24 14/72%);border-radius:12px;text-align:center;padding:1rem}.bs-complete strong{font-family:var(--font-display),Fraunces,Georgia,serif;font-size:1.35rem}