:root:has(.bh),:root:has(.bh) body{height:100%;overflow:hidden}.bh .stage{position:fixed;inset:0}.bh canvas#view{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.bh canvas#view:active{cursor:grabbing}.bh .panel{width:min(380px,100vw - 40px);max-height:calc(100vh - 40px);padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg-1);border:1px solid var(--line-strong);border-radius:12px;position:fixed;bottom:20px;left:20px;overflow-y:auto}.bh .links{color:var(--muted);margin:0 0 8px;font-size:.85rem}.bh .links a{color:var(--muted);text-decoration:none}.bh .links a:hover{color:var(--text)}.bh h1{letter-spacing:-.01em;color:var(--text);margin:0 0 6px;font-size:1.35rem;font-weight:600;line-height:1.2}.bh .lede{color:var(--text-2);margin:0 0 14px;font-size:.95rem;line-height:1.5}.bh .lede em{color:var(--text)}.bh .readout{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0 0 14px;display:grid}.bh .readout div{min-width:0}.bh .readout dt{color:var(--muted);margin:0 0 1px;font-size:.78rem}.bh .readout dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem;font-weight:500}.bh .readout .shift{grid-column:1/-1}.bh .readout .shift dd{font-size:1.5rem;font-weight:600}.bh .readout .shift small{color:var(--muted);margin-left:6px;font-size:.82rem;font-weight:400}.bh .controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bh button{font:500 .88rem var(--sans);color:var(--text);background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 11px}.bh button:hover{background:var(--bg-3)}.bh button[aria-pressed=false]{color:var(--muted)}.bh .speed{color:var(--muted);align-items:center;gap:8px;width:100%;margin-top:4px;font-size:.85rem;display:flex}.bh .speed input{accent-color:var(--text);flex:1}.bh .key{color:var(--muted);gap:14px;margin-top:12px;font-size:.8rem;display:flex}.bh .key span:before{content:"";vertical-align:middle;border-top:2px solid var(--text-2);width:16px;height:0;margin-right:6px;display:inline-block}.bh .key .k-nw:before{border-top-style:dashed}.bh .hint{color:var(--muted);margin:8px 0 0;font-size:.8rem}.bh details{color:var(--text-2);margin-top:12px;font-size:.86rem;line-height:1.5}.bh summary{cursor:pointer;color:var(--text)}.bh details p{margin:8px 0 0}.bh .err{text-align:center;color:var(--text);background:var(--bg);place-items:center;padding:30px;font-size:1.1rem;display:none;position:fixed;inset:0}@media (orientation:portrait){.bh{flex-direction:column;display:flex;position:fixed;inset:0}.bh .stage{flex:1 1 0;min-height:0;position:relative;inset:auto}.bh .panel{border-width:1px 0 0;border-radius:12px 12px 0 0;flex:none;width:auto;max-height:50%;position:static}}@media (orientation:landscape) and (height<=500px){.bh{display:flex;position:fixed;inset:0}.bh .stage{flex:1 1 0;min-width:0;position:relative;inset:auto}.bh .panel{width:min(300px,42vw);max-height:none;padding-left:calc(16px + env(safe-area-inset-left,0px));border-width:0 1px 0 0;border-radius:0;flex:none;order:-1;position:static}.bh .lede,.bh .key,.bh .hint{display:none}}@media (width<=640px){.bh .panel{padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.bh h1{font-size:1.15rem}.bh .lede{display:none}.bh .readout{grid-template-columns:1fr 1fr 1fr;gap:6px 12px;margin-bottom:10px}.bh .readout dd{font-size:1rem}.bh .readout .shift dd{font-size:1.2rem}.bh .key,.bh .hint{display:none}}
