.bp-tapgrid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:460px;display:grid}.bp-pad{border:0;border-right:1.5px solid var(--ink);color:var(--ink);background:repeating-linear-gradient(180deg, transparent 0 23px, #efe9dc 23px 24px), var(--paper);touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:30px;display:flex;position:relative;overflow:hidden}.bp-pad b{z-index:1;aspect-ratio:1;background:var(--ink);color:#fff;width:clamp(150px,20vw,220px);font:600 clamp(34px, 4vw, 46px)/1 var(--serif);letter-spacing:-.02em;box-shadow:6px 6px 0 var(--sig);border-radius:50%;place-items:center;transition:transform 80ms;display:grid;position:relative}.bp-pad:hover b{transform:translate(-1px,-1px)}.bp-pad.is-hit b{animation:.18s ease-out bpHit}@keyframes bpHit{0%{background:var(--sig);box-shadow:2px 2px 0 var(--ink);transform:scale(.94)}to{transform:none}}.bp-pad-ring{border:2px solid var(--sig);opacity:0;pointer-events:none;border-radius:50%;width:10px;height:10px;margin:-5px;position:absolute;top:50%;left:50%}.bp-pad.is-hit .bp-pad-ring{animation:.55s ease-out bpRing}@keyframes bpRing{0%{opacity:.8;transform:scale(14)}to{opacity:0;transform:scale(46)}}.bp-pad-hint{z-index:1;color:var(--mute);text-align:center;max-width:30ch;font-size:14px;position:relative}.bp-readout{flex-direction:column;gap:16px;min-width:0;padding:22px 24px;display:flex}.bp-bigrow{align-items:baseline;gap:10px;display:flex}.bp-big{font:600 clamp(64px, 8vw, 104px)/.9 var(--serif);letter-spacing:-.045em;font-variant-numeric:lining-nums tabular-nums}.bp-unit{font:500 13px/1.3 var(--mono);letter-spacing:.1em;color:var(--mute);flex-direction:column;display:flex}.bp-dec{color:var(--sig-ink);letter-spacing:0;font-size:15px}.bp-stats{border:1.5px solid var(--ink);border-radius:12px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.bp-stat{flex-direction:column;gap:3px;min-width:0;padding:9px 10px;display:flex}.bp-stat+.bp-stat{border-left:1px solid var(--line)}.bp-stat small{font:500 10.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bp-stat b{font-size:18px;font-weight:500}.bp-stab{flex-direction:column;gap:6px;display:flex}.bp-stab .field-row span:last-child{font-family:var(--mono);font-size:12.5px;font-weight:400}.bp-meter{background:var(--line-2);border-radius:8px;height:8px;overflow:hidden}.bp-meter i{background:var(--mute);width:0;height:100%;transition:width .2s,background .2s;display:block}.bp-meter i[data-k=great],.bp-meter i[data-k=good]{background:var(--ok)}.bp-meter i[data-k=fair]{background:var(--warn)}.bp-meter i[data-k=poor]{background:var(--err)}.bp-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bp-row .side-title{margin-right:4px}.bp-row--end{justify-content:space-between;align-items:flex-end;gap:12px}.bp-row--end .field{min-width:160px}.bp-chart{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:100%;height:92px}.bp-actions{flex-wrap:wrap;gap:8px;display:flex}.bp-kbd{opacity:.6;font-size:10.5px}.bp-filelink{color:var(--sig-ink);text-underline-offset:3px;font-size:14px;text-decoration:underline}.bp-curve{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px 16px;display:flex}.bp-curve-head{justify-content:space-between;align-items:baseline;display:flex}.bp-curve-range{color:var(--mute);font-size:11.5px}.bp-curve canvas{cursor:pointer;border:1px solid var(--line-2);background:var(--paper);border-radius:10px;width:100%;height:120px}.bp-grid{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bp-side .bp-big{font-size:clamp(56px,5vw,72px)}.bp-state{color:var(--mute);margin:-6px 0 0;font-size:13.5px}.bp-prog{flex-direction:column;gap:8px;display:flex}.bp-result{flex-direction:column;gap:16px;display:flex}.bp-cands{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.bp-cand{border:1.5px solid var(--line);background:var(--paper);text-align:left;border-radius:10px;grid-template-columns:52px 1fr 38px;align-items:center;gap:10px;width:100%;padding:6px 10px;font-size:14px;display:grid}.bp-cand:hover{border-color:var(--ink)}.bp-cand[aria-pressed=true]{border-color:var(--ink);background:var(--white);box-shadow:3px 3px 0 var(--ink)}.bp-cand small{color:var(--mute);text-align:right}.bp-bar{background:var(--line-2);border-radius:6px;height:6px;overflow:hidden}.bp-bar i{background:var(--sig);height:100%;display:block}.bp-key{flex-direction:column;gap:4px;display:flex}.bp-keyrow{align-items:baseline;gap:10px;display:flex}.bp-keyrow b{font:600 24px/1.1 var(--serif)}.bp-cam{border:1.5px solid var(--ink);border-radius:20px;padding:1px 8px;font-size:12px}.bp-key small{color:var(--mute);font-size:12.5px}.bp-secs{flex-direction:column;gap:6px;display:flex}.bp-secs table{border-collapse:collapse;font-size:13px}.bp-secs td{border-bottom:1px solid var(--line-2);padding:5px 4px}.bp-secs tr{cursor:pointer}.bp-secs tr:hover td{background:var(--sig-soft)}.bp-secs td:last-child{text-align:right}.bp-box{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:12px;padding:12px}.bp-nudge{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.bp-nudge .btn{font-family:var(--mono);padding:6px 4px;font-size:11.5px}@media (width<=760px){.bp-tapgrid{grid-template-columns:1fr;min-height:0}.bp-pad{border-right:0;border-bottom:1.5px solid var(--ink);min-height:300px}.bp-readout{padding:16px}.bp-stats{grid-template-columns:repeat(2,1fr)}.bp-stat:nth-child(3){border-left:0}.bp-stat:nth-child(n+3){border-top:1px solid var(--line)}}
