@font-face{font-family:Space Grotesk;src:url(/fonts/grotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/mono.woff2) format("woff2");font-weight:100 800;font-display:swap}:root{--ground: #14161a;--panel: #1c1f25;--panel-2: #23262d;--recess: #0e1013;--line: #2b2f38;--line-bright: #3d4350;--ink: #e8e6e3;--ink-2: #a5a39f;--ink-3: #6e6c69;--pos: #d8382f;--pos-face: #c4322a;--pos-edge: #e85449;--neg: #2f6fd8;--neg-face: #2a63c2;--neg-edge: #4a89ee;--blank: #3a3e47;--blank-edge: #4a4f5a;--warn: #e8b33a;--ok: #4a9c6d;--radius: 0px;--radius-piece: 3px;--tap: 44px;--ease: cubic-bezier(.2, .7, .3, 1);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--socket: var(--recess);--socket-line: var(--line);--blank-face: var(--blank);--pos-lit: var(--pos-edge);--neg-lit: var(--neg-edge);--pos-glow: rgba(216, 56, 47, .4);--neg-glow: rgba(47, 111, 216, .4);--error: #ffffff;--error-wash: rgba(255, 255, 255, .26)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:repeating-linear-gradient(0deg,rgba(255,255,255,.011) 0px,rgba(255,255,255,.011) 1px,transparent 1px,transparent 4px),var(--ground);background-attachment:fixed;color:var(--ink);font-family:var(--sans);overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.tech{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}@keyframes seat{0%{transform:scale(.9)}60%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes solved-pop{0%{transform:scale(1)}40%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes arc{0%,to{opacity:.55}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes confetti{0%{opacity:1;transform:translateY(-10px) rotate(0)}to{opacity:0;transform:translateY(260px) rotate(420deg)}}@keyframes repel-up{0%,to{transform:translate(.35px,-1.6px)}25%{transform:translate(-.35px,-2.1px)}50%{transform:translate(.3px,-1.7px)}75%{transform:translate(-.3px,-2px)}}@keyframes repel-down{0%,to{transform:translate(-.35px,1.6px)}25%{transform:translate(.35px,2.1px)}50%{transform:translate(-.3px,1.7px)}75%{transform:translate(.3px,2px)}}@keyframes repel-left{0%,to{transform:translate(-1.6px,.35px)}25%{transform:translate(-2.1px,-.35px)}50%{transform:translate(-1.7px,.3px)}75%{transform:translate(-2px,-.3px)}}@keyframes repel-right{0%,to{transform:translate(1.6px,-.35px)}25%{transform:translate(2.1px,.35px)}50%{transform:translate(1.7px,-.3px)}75%{transform:translate(2px,.3px)}}@keyframes strain{0%,to{transform:translate(.4px)}25%{transform:translate(-.4px,.3px)}50%{transform:translate(.3px,-.3px)}75%{transform:translate(-.3px)}}@keyframes spark{0%,to{opacity:.5}50%{opacity:1}}@keyframes clue-alarm{0%,to{opacity:1}50%{opacity:.4}}@keyframes charge{0%{filter:brightness(1)}55%{filter:brightness(1.55)}to{filter:brightness(1)}}@keyframes snap-home{0%{transform:translate(var(--pull-x, 0),var(--pull-y, 0)) scale(1)}45%{transform:translate(calc(var(--pull-x, 0px) * 1.9),calc(var(--pull-y, 0px) * 1.9)) scale(.95)}70%{transform:translate(0) scale(1.06)}85%{transform:translate(0) scale(.99)}to{transform:translate(0) scale(1)}}@keyframes board-shudder{0%,to{transform:translate(0)}15%{transform:translate(-2px,1px)}30%{transform:translate(2px,-1px)}45%{transform:translate(-1.5px,-1px)}60%{transform:translate(1.5px,1px)}80%{transform:translate(-.5px)}}@keyframes board-charge{0%,to{border-color:var(--line)}55%{border-color:var(--line-bright)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
