:root{--ink:white;--paper:black}:root[data-theme=light]{--ink:black;--paper:white}html,body,#root{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:var(--paper);width:100vw;height:100dvh;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}svg{touch-action:none;display:block}.icon-toggle{border:1.5px solid var(--ink);width:22px;height:22px;color:var(--ink);cursor:pointer;opacity:.7;border-radius:50%;padding:0;transition:opacity .15s;position:fixed;top:16px}.icon-toggle:hover,.icon-toggle:focus-visible{opacity:1}.theme-toggle{background:linear-gradient(90deg, var(--ink) 50%, var(--paper) 50%);right:16px}.sound-toggle{background:var(--paper);place-items:center;display:grid;right:50px}:focus,:focus-visible{outline:none}.start-hint{animation:2.2s ease-in-out infinite start-hint-fade}@keyframes start-hint-fade{0%,to{opacity:.25}50%{opacity:.9}}.sound-bar{transform-box:fill-box;transform-origin:50%;animation:ease-in-out infinite alternate sound-bar-bounce}@keyframes sound-bar-bounce{0%{transform:scaleY(.45)}to{transform:scaleY(1.35)}}.sound-wave{animation:.9s linear infinite sound-wave-flow}@keyframes sound-wave-flow{0%{transform:translate(0)}to{transform:translate(6px)}}.sound-wave-swell{transform-box:view-box;transform-origin:50%;animation:1.3s ease-in-out infinite alternate sound-wave-swell}@keyframes sound-wave-swell{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.sound-bar,.sound-wave,.sound-wave-swell{animation:none}}
