.hw-art,.hw-dialog{--hw-ease:cubic-bezier(0.19,1,0.22,1)}.hw-art{display:block;width:100%;height:auto}.hw-art[data-device]{touch-action:none;border-radius:1rem}.hw-art[data-device]:focus-visible{outline:.125rem solid var(--ring);outline-offset:.25rem}.hw-key{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .12s var(--hw-ease),filter .12s var(--hw-ease)}.hw-key:active{transform:scale(.94);filter:brightness(.92)}.hw-key:focus{outline:none}.hw-key:focus-visible{outline:.0625rem solid var(--ring);outline-offset:.0625rem}.hw-grab{cursor:grab}.hw-grab:active{cursor:grabbing}.hw-lcd{font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);font-size:.325rem;font-weight:500}.hw-lcd-small{font-size:.26875rem}.hw-lcd-strong{font-size:.35rem;font-weight:600}.hw-pixel{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.2875rem;font-weight:700}.hw-pixel-small{font-size:.225rem}.hw-label{font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);font-size:.40625rem;font-weight:600;letter-spacing:.02em}.hw-label-small{font-size:.3125rem}.hw-wheel-label{font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);font-size:.2875rem;font-weight:600;letter-spacing:.04em}.hw-fade,.hw-lid{transition:fill .3s var(--hw-ease),opacity .3s var(--hw-ease),transform .3s var(--hw-ease)}.hw-spin{animation:hw-spin 2s linear infinite}.hw-pulse,.hw-spin{transform-box:fill-box;transform-origin:center}.hw-pulse{animation:hw-pulse .5s ease-in-out infinite alternate}.hw-bob{animation:hw-bob 1.2s steps(2) infinite}.hw-eject{animation:hw-eject 1.4s var(--hw-ease) both}.hw-develop{animation:hw-develop 5s ease-in 1.2s both}.hw-draw{stroke-dasharray:1;animation:hw-draw .9s var(--hw-ease) both}.hw-boot{transform-box:fill-box;transform-origin:left center;animation:hw-boot 1.8s ease-in-out both}@keyframes hw-spin{to{transform:rotate(1turn)}}@keyframes hw-pulse{to{transform:scale(.75)}}@keyframes hw-bob{50%{transform:translateY(-.125rem)}}@keyframes hw-eject{0%{transform:translateY(-2.5rem)}}@keyframes hw-develop{0%{opacity:1}to{opacity:0}}@keyframes hw-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes hw-boot{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hw-bob,.hw-pulse{animation:none}.hw-key{transition:none}}.hw-dialog{margin:auto;width:min(56rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem)}.hw-dialog::backdrop{background:oklch(.2 .01 80/.45)}