.blb-board{border-radius:var(--r-md);background:var(--paper);width:100%;height:520px;box-shadow:var(--hard);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:crosshair;position:relative;overflow:hidden}.blb-canvas{width:100%;height:100%;display:block}.blb-board:after{content:"";border-radius:inherit;pointer-events:none;z-index:4;box-shadow:inset 0 0 0 3px var(--ink);position:absolute;inset:0}.blb-lb{z-index:2;background:var(--white);border:2px solid var(--ink);width:158px;box-shadow:var(--hard-sm);pointer-events:none;color:var(--ink);border-radius:12px;flex-direction:column;gap:1px;margin:0;padding:6px 7px;font-size:13px;font-weight:700;line-height:1.3;list-style:none;display:flex;position:absolute;top:10px;right:10px}.blb-lb li{border-radius:6px;grid-template-columns:16px minmax(0,1fr) auto;align-items:baseline;gap:5px;padding:1px 5px;display:grid}.blb-lb li.is-you{background:var(--sun)}.blb-lb li.is-sep{margin-top:3px}.blb-lb-rank{font-family:var(--font-display);color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:800}.blb-lb li.is-you .blb-lb-rank{color:var(--ink)}.blb-lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.blb-lb-mass{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:800}.blb-pads{z-index:3;align-items:flex-end;gap:10px;display:none;position:absolute;bottom:12px;right:12px}.blb-board.is-touch .blb-pads{display:flex}@media (pointer:coarse){.blb-pads{display:flex}}.blb-pad{border:var(--edge);background:var(--white);color:var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-body);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform .12s var(--ease-spring), box-shadow .12s var(--ease-spring), background .12s;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:11px;font-weight:800;display:flex}.blb-pad--split{background:var(--sun);width:70px;height:70px}.blb-pad--eject{width:54px;height:54px;margin-bottom:30px}.blb-pad:active{box-shadow:0 0 0 var(--ink);background:var(--game);transform:translate(3px,3px)}.blb-pad:disabled{opacity:.55}.blb-overlay{z-index:3;text-align:center;cursor:default;animation:blb-fade .2s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.blb-overlay--start{pointer-events:none;justify-content:flex-end;padding-bottom:8%}.blb-overlay--start .blb-card{pointer-events:auto}.blb-overlay--pause{background:#fff7ddb8}.blb-card{background:var(--white);border:var(--edge);border-radius:var(--r-md);max-width:min(380px,100%);box-shadow:var(--hard);animation:blb-pop .32s var(--ease-spring);flex-direction:column;align-items:center;gap:8px;padding:16px 20px 18px;display:flex}.blb-card .ka-btn{margin-top:4px}.blb-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(20px,4.6vw,26px);font-weight:800;line-height:1.1}.blb-big{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(30px,7vw,42px);font-weight:800}.blb-sub{color:var(--ink-2);text-wrap:balance;max-width:34ch;margin:0;font-size:14px;font-weight:600}@keyframes blb-fade{0%{opacity:0}}@keyframes blb-pop{0%{opacity:0;transform:translateY(10px)scale(.94)rotate(-1.5deg)}}.blb-hint-touch,.blb-board.is-touch .blb-hint-keys{display:none}.blb-board.is-touch .blb-hint-touch{display:block}@media (pointer:coarse){.blb-hint-keys{display:none}.blb-hint-touch{display:inline}.blb-card .blb-hint-touch{display:block}}.blb-dialog-hint{color:var(--ink-3);margin:0;font-size:13px;font-weight:600}@media (pointer:coarse){.blb-dialog-hint{display:none}}@media (width<=560px){.blb-lb{width:128px;padding:5px;font-size:11.5px;top:8px;right:8px}.blb-lb li{grid-template-columns:13px minmax(0,1fr) auto;gap:4px;padding:0 4px}.blb-card{padding:14px 16px 16px}}@media (prefers-reduced-motion:reduce){.blb-overlay,.blb-card{animation:none}}
