.bd{width:100%;position:relative}.bd .ka-shell{gap:12px}.bd--compact .ka-shell{gap:8px}.bd--compact .ka-bar{flex-wrap:nowrap;gap:8px}.bd--compact .ka-stats{flex-wrap:nowrap;flex:auto;gap:6px;min-width:0}.bd--compact .ka-stat{border-radius:10px;flex:auto;min-width:0;padding:4px 7px 5px}.bd--compact .ka-stat dd{white-space:nowrap;font-size:14px}.bd--compact .ka-actions{flex-wrap:nowrap;flex:none;gap:6px}.bd--compact .ka-btn--icon{width:38px;height:38px}.bd--compact .bd-new{display:none}.bd .ka-hint{font-size:12px;line-height:1.6}.bd-time{min-width:8ch;display:inline-block}.bd-play{touch-action:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:start;gap:16px;display:grid}.bd--wide .bd-play{grid-template-columns:var(--side) auto var(--side);grid-template-rows:auto 1fr;grid-template-areas:"hold well next""info well next"}.bd--compact .bd-play{grid-template-columns:64px calc(var(--wellw) + 6px - 64px - 8px);grid-template-areas:"hold next""well well";gap:8px}.bd-hold{grid-area:hold}.bd-next{grid-area:next}.bd-wellwrap{grid-area:well}.bd-info{grid-area:info}.bd-panel{flex-direction:column;gap:6px;display:flex;position:relative}.bd-panel canvas{border:var(--edge);background:var(--white);width:100%;box-shadow:var(--hard);border-radius:14px;display:block}.bd-label{font-family:var(--font-body);color:var(--ink);font-size:14px;font-weight:800;line-height:1.2}.bd--wide .bd-hold canvas{height:calc(var(--side) * .72)}.bd--wide .bd-next canvas{height:calc(var(--side) * 2.9)}.bd--compact .bd-panel{border:var(--edge);background:var(--white);height:42px;box-shadow:var(--hard-sm);border-radius:12px;flex-direction:row;align-items:stretch;gap:0}.bd--compact .bd-panel canvas{min-width:0;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1}.bd--compact .bd-label{writing-mode:vertical-rl;text-align:center;margin-left:4px;padding:0 1px 0 0;font-size:10px;line-height:1;transform:rotate(180deg)}.bd-info{align-self:end;gap:8px;margin:4px 0 0;display:grid}.bd--compact .bd-info{display:none}.bd-info div{background:var(--cream);border:var(--edge);border-radius:12px;padding:6px 10px 7px}.bd-info dt{color:var(--ink-3);font-size:12px;font-weight:700;line-height:1.2}.bd-info dd{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:18px;font-weight:800;line-height:1.15}.bd-wellwrap{border:3px solid var(--ink);background:var(--cream);box-shadow:var(--hard);transition:box-shadow .2s var(--ease-out), background-color .2s;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:12px;position:relative;overflow:hidden}.bd-well{touch-action:none;display:block}.bd-wellwrap[data-danger="1"]{box-shadow:4px 4px 0 var(--bad);background:#ffe2dc}.bd-wellwrap.is-pulse{animation:bd-hop .42s var(--ease-spring)}@keyframes bd-hop{0%{transform:none}35%{box-shadow:6px 9px 0 var(--ink);transform:translate(-2px,-5px)}to{transform:none}}.bd-pop{pointer-events:none;text-align:center;animation:bd-pop .95s var(--ease-spring) forwards;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:30%;left:0;right:0}.bd-pop strong{font-family:var(--font-display);font-weight:800;font-size:clamp(16px, calc(var(--cell) * .95), 30px);letter-spacing:-.03em;color:var(--ink);background:var(--white);border:var(--edge);box-shadow:var(--hard-sm);border-radius:12px;padding:3px 12px 5px;line-height:1;display:inline-block;transform:rotate(-3deg)}.bd-pop strong[data-n=Quad]{background:var(--sun);font-size:clamp(20px, calc(var(--cell) * 1.3), 40px);box-shadow:var(--hard)}.bd-pop span{color:var(--ink);background:var(--white);border:2px solid var(--ink);border-radius:999px;margin-top:6px;padding:2px 9px 3px;font-size:12px;font-weight:800}.bd-pop em{font-style:normal;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--game);border:2px solid var(--ink);border-radius:999px;margin-top:4px;padding:1px 9px 2px;font-size:15px;font-weight:800}@keyframes bd-pop{0%{opacity:0;transform:translateY(8px)scale(.86)}14%{opacity:1;transform:translateY(0)scale(1.04)}24%{transform:scale(1)}72%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.bd-overlay{text-align:center;animation:bd-fade .18s var(--ease-out);background:#fff7ddd1;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.bd-overlay--clear{pointer-events:none;background:0 0}.bd-overlay--late{background:#fff7ddb3;animation-duration:.4s}@keyframes bd-fade{0%{opacity:0}}.bd-o-title{font-family:var(--font-display);font-weight:800;font-size:clamp(26px, calc(var(--cell) * 1.25), 40px);letter-spacing:-.04em;color:var(--ink);margin:0;line-height:1}.bd-o-text{color:var(--ink-2);text-wrap:balance;max-width:24ch;margin:0;font-size:14px;font-weight:600}.bd-o-hint{color:var(--ink-3);margin:0;font-size:13px;font-weight:600}.bd-o-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.bd-o-btn{height:44px;padding:0 22px;font-size:15px}.bd-count{font-family:var(--font-display);font-weight:800;font-size:calc(var(--cell) * 3);letter-spacing:-.04em;color:var(--ink);text-shadow:4px 4px 0 var(--sun);animation:bd-count .3s var(--ease-spring) forwards;line-height:1}@keyframes bd-count{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.06)}to{opacity:.35;transform:scale(1)}}.bd-pad{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-columns:repeat(4,1fr);grid-auto-rows:52px;gap:8px;width:min(100%,440px);margin-inline:auto;display:grid}.bd-key{border:var(--edge);background:var(--white);color:var(--ink);font:800 14px var(--font-body);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;box-shadow:3px 3px 0 var(--ink);transition:transform 90ms var(--ease-spring), box-shadow 90ms var(--ease-spring), background 90ms;border-radius:14px;place-items:center;display:grid}.bd-key svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.bd-key--alt{background:var(--cream)}.bd-key--drop{background:var(--game);grid-column:span 2}.bd-key--small svg{width:22px;height:22px}.bd-key[data-down]{box-shadow:0 0 0 var(--ink);background:var(--sun);transform:translate(3px,3px)}.bd-settings{z-index:20;border-radius:var(--r-md);border:3px solid var(--ink);background:var(--white);width:min(320px,100%);color:var(--ink);box-shadow:var(--hard-lg);animation:bd-drop .22s var(--ease-spring);flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:52px;right:0}@keyframes bd-drop{0%{opacity:0;transform:translateY(-8px)scale(.97)}}.bd-settings-head{justify-content:space-between;align-items:center;display:flex}.bd-settings-head strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:22px;font-weight:800}.bd-x{border:var(--edge);background:var(--white);width:32px;height:32px;color:var(--ink);cursor:pointer;box-shadow:var(--hard-sm);transition:transform .14s var(--ease-spring), box-shadow .14s var(--ease-spring);border-radius:999px;place-items:center;padding:0 0 2px;font-size:20px;font-weight:700;line-height:1;display:grid}.bd-x:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.bd-x:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.bd-range,.bd-field{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.bd-range>span,.bd-field>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bd-range em{font-style:normal;font-family:var(--font-display);font-variant-numeric:tabular-nums;border:2px solid var(--ink);background:var(--cream);border-radius:999px;padding:0 8px 1px;font-size:14px;font-weight:800}.bd-range small{color:var(--ink-3);font-size:12px;font-weight:600}.bd-range input[type=range]{width:100%;accent-color:var(--ink);cursor:pointer;height:22px}.bd-field .ka-seg{align-self:flex-start}.bd-field .ka-seg button{padding:0 10px}.bd-toggles{gap:18px;font-size:14px;font-weight:700;display:flex}.bd-toggles label{cursor:pointer;align-items:center;gap:7px;display:flex}.bd-toggles input{accent-color:var(--ink);width:18px;height:18px}.bd-link{color:var(--ink-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:700;text-decoration:underline 2px}.bd-link:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){.bd-wellwrap.is-pulse{animation:none}}.bd .ka-dialog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
