@font-face{font-family:"Press Start 2P";src:url(/fonts/PressStart2P-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:Newsreader;font-weight:400;src:url(/fonts/Newsreader-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:Newsreader;font-weight:500;src:url(/fonts/Newsreader-Medium.ttf) format("truetype");font-display:block}@font-face{font-family:Newsreader;font-weight:600;src:url(/fonts/Newsreader-SemiBold.ttf) format("truetype");font-display:block}@font-face{font-family:Instrument Sans;font-weight:400;src:url(/fonts/InstrumentSans-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:Instrument Sans;font-weight:500;src:url(/fonts/InstrumentSans-Medium.ttf) format("truetype");font-display:block}@font-face{font-family:Instrument Sans;font-weight:600;src:url(/fonts/InstrumentSans-SemiBold.ttf) format("truetype");font-display:block}@font-face{font-family:IBM Plex Sans;font-weight:400;src:url(/fonts/IBMPlexSans-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:IBM Plex Sans;font-weight:500;src:url(/fonts/IBMPlexSans-Medium.ttf) format("truetype");font-display:block}@font-face{font-family:IBM Plex Sans;font-weight:600;src:url(/fonts/IBMPlexSans-SemiBold.ttf) format("truetype");font-display:block}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--pageBg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;overscroll-behavior:none}html[data-mode=calm] body{background:var(--page-tile) 0 0 / var(--page-tile-size) repeat,var(--pageBg);image-rendering:pixelated}html[data-mode=pixel] .txt{-webkit-font-smoothing:none}#app{width:390px;margin:0 auto;zoom:var(--zoom, 1)}.screen{position:relative;min-height:var(--vh, 100dvh)}.screen.fixed{height:var(--vh, 100dvh);overflow:hidden}.row{display:flex;flex-direction:row;align-items:center}.col{display:flex;flex-direction:column}.txt{display:inline-block;flex:none}.glyph{display:block;flex:none}[role=button]{cursor:pointer;outline:none}.scroll{overflow-y:auto;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.scroll>*{flex:none}.surf{position:relative;flex:none;background-color:var(--fill)}.surf:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit}html[data-mode=pixel] .surf:after{box-shadow:inset 0 0 0 2px var(--outline)}html[data-mode=calm] .surf{border-radius:3px;overflow:hidden;box-shadow:var(--shadow-near),var(--shadow-far)}html[data-mode=calm] .surf.card{background-image:var(--card-tile);background-size:var(--card-tile-size);image-rendering:pixelated}html[data-mode=calm] .surf:after{box-shadow:inset 0 0 0 1px var(--grid);background:linear-gradient(var(--highlight),var(--highlight)) 3px 0 / calc(100% - 6px) 1px no-repeat}html[data-mode=calm] .surf.inset{box-shadow:var(--shadow-near)}html[data-mode=calm] .surf.inset:after{background:none}.icon-btn{display:flex;align-items:center;justify-content:center}.btn{width:100%;align-items:center}.board{position:relative;flex:none}.cell{position:absolute;cursor:pointer}.cell-digit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.note-slot{position:absolute;display:flex;align-items:center;justify-content:center}.line,.ring{position:absolute;pointer-events:none}.ring{z-index:2}.flash{position:absolute;inset:0;z-index:5;pointer-events:none}.banner{position:absolute;z-index:4;justify-content:center;pointer-events:none}.shake{animation:shake .3s linear}@keyframes shake{0%{transform:translate(0)}14.28%{transform:translate(-8px)}28.57%{transform:translate(6px)}42.85%{transform:translate(-5px)}57.14%{transform:translate(4px)}71.42%{transform:translate(-2px)}85.71%,to{transform:translate(0)}}.shake{animation-timing-function:steps(1,end)}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:var(--dither) 0 0 / 4px 4px repeat;image-rendering:pixelated}.load-error{position:fixed;top:0;left:0;right:0;z-index:20;background:var(--err);color:var(--error);font:9px "Press Start 2P",monospace;padding:10px;text-align:center}
