@keyframes pixel-arrow-module__pqB5Ra__nudge{0%,70%,to{transform:translate(0)}35%{transform:translate(-4px,-4px)}}@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pixel-arrow-module__pqB5Ra__arrow{animation:3.2s ease-in-out infinite pixel-arrow-module__pqB5Ra__nudge}html[data-loader] .pixel-arrow-module__pqB5Ra__arrow{animation:none}}
.tetris-animation-module__xot26q__root{color:var(--foreground-inverse);overflow:hidden;container-type:size}.tetris-animation-module__xot26q__board{fill:currentColor;width:100%;height:auto;max-height:100%;display:block;position:absolute;bottom:0;left:0}.tetris-animation-module__xot26q__placeholder,.tetris-animation-module__xot26q__staticBoard,.tetris-animation-module__xot26q__drop{display:none}@media (min-width:1024px) and (hover:hover) and (pointer:fine){@container (max-aspect-ratio:1.6){.tetris-animation-module__xot26q__placeholder[data-columns="16"]{display:block}}@container (1.6<aspect-ratio<=2){.tetris-animation-module__xot26q__placeholder[data-columns="20"]{display:block}}@container (2<aspect-ratio<=2.4){.tetris-animation-module__xot26q__placeholder[data-columns="24"]{display:block}}@container (2.4<aspect-ratio<=2.8){.tetris-animation-module__xot26q__placeholder[data-columns="28"]{display:block}}@container (2.8<aspect-ratio<=3.2){.tetris-animation-module__xot26q__placeholder[data-columns="32"]{display:block}}@container (3.2<aspect-ratio<=3.6){.tetris-animation-module__xot26q__placeholder[data-columns="36"]{display:block}}@container not (max-aspect-ratio:3.6){.tetris-animation-module__xot26q__placeholder[data-columns="40"]{display:block}}}@media (max-width:1023px),(hover:none),(pointer:coarse){.tetris-animation-module__xot26q__animated{display:none}.tetris-animation-module__xot26q__staticBoard{display:block}.tetris-animation-module__xot26q__drop{left:calc((var(--x) + .025) * var(--cell));bottom:calc((var(--level) + .025) * var(--cell));width:calc(.95 * var(--cell));height:calc(.95 * var(--cell));background:currentColor;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tetris-animation-module__xot26q__root{overflow:visible}.tetris-animation-module__xot26q__drop{opacity:0;will-change:transform;animation:0s linear 4s forwards tetris-animation-module__xot26q__appear}#home:has(h1 [data-state=done]) .tetris-animation-module__xot26q__drop{opacity:1;animation:.9s linear both tetris-animation-module__xot26q__fall}}}@keyframes tetris-animation-module__xot26q__appear{to{opacity:1}}@keyframes tetris-animation-module__xot26q__fall{0%{transform:translateY(calc(-20 * var(--cell)))}}
.open-source-section-module__SKUyia__icon{--blue:var(--ivory);color:var(--foreground)}.on-blue .open-source-section-module__SKUyia__icon{--blue:inherit}.on-blue .off-blue .open-source-section-module__SKUyia__icon{--blue:var(--ivory)}.open-source-section-module__SKUyia__icon svg{width:100%;height:100%;display:block;overflow:visible}.open-source-section-module__SKUyia__icon pattern path{stroke-width:.5px}.open-source-section-module__SKUyia__icon pattern[id=betterauth-inverse-hachures] path{stroke-width:.25px}@media (max-width:1023px){.open-source-section-module__SKUyia__tree{--branch-y:40px;padding-left:32px}.open-source-section-module__SKUyia__tree>li:before,.open-source-section-module__SKUyia__tree>li:after{content:"";pointer-events:none;position:absolute;left:-17px}.open-source-section-module__SKUyia__tree>li:before{border-left:1px dashed var(--foreground);top:calc(-3rem - 1px);bottom:-1px}.open-source-section-module__SKUyia__tree>li:last-child:before{bottom:calc(100% - var(--branch-y))}.open-source-section-module__SKUyia__tree>li:after{top:var(--branch-y);border-top:1px dashed var(--foreground);width:16px}}@media (min-width:640px) and (max-width:1023px){.open-source-section-module__SKUyia__tree{--branch-y:44px}}.open-source-section-module__SKUyia__name{background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;padding-bottom:2px}@media (prefers-reduced-motion:no-preference){.open-source-section-module__SKUyia__name{transition:background-size .3s ease-out}}@media (hover:hover) and (pointer:fine){.open-source-section-module__SKUyia__name:hover{background-size:100% 1px}}.open-source-section-module__SKUyia__name:focus-visible{background-size:100% 1px}
.geist_mono_138cfacc-module__O_KuGa__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_138cfacc-module__O_KuGa__variable{--font-code:"Geist Mono", "Geist Mono Fallback"}
.ibm_plex_mono_414c4ef0-module__SnP7Ya__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal;font-weight:400}
.blog-article-grid-module__NoLp6G__drawn{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:4px}@media (prefers-reduced-motion:no-preference){.blog-article-grid-module__NoLp6G__drawn{transition:background-size .3s ease-out}}@media (hover:hover) and (pointer:fine){.blog-article-grid-module__NoLp6G__card:hover .blog-article-grid-module__NoLp6G__drawn{background-size:100% 1px}}.blog-article-grid-module__NoLp6G__card:focus-within .blog-article-grid-module__NoLp6G__drawn{background-size:100% 1px}@media (max-width:1023px){.blog-article-grid-module__NoLp6G__card .blog-article-grid-module__NoLp6G__title{font-size:var(--text-h3);line-height:1.2}}
.browser-window-module__AMlisG__control{background-image:repeating-linear-gradient(135deg, transparent 0 1px, var(--foreground) 1px 1.5px, transparent 1.5px 2px)}.browser-window-module__AMlisG__shadow{background:var(--background) repeating-linear-gradient(135deg, var(--foreground) 0 1px, transparent 1px 10px)}
.navbar-menu-module__ig3h5W__viewport{width:var(--radix-navigation-menu-viewport-width);height:var(--radix-navigation-menu-viewport-height)}.navbar-menu-module__ig3h5W__chevron{transition:transform .3s ease-out}[data-state=open]>.navbar-menu-module__ig3h5W__chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:no-preference){.navbar-menu-module__ig3h5W__viewport{transition:width .3s ease-out,height .3s ease-out}.navbar-menu-module__ig3h5W__glide{transition:left .3s ease-out}.navbar-menu-module__ig3h5W__viewport[data-state=open]{animation:.25s ease-out navbar-menu-module__ig3h5W__slide-down}.navbar-menu-module__ig3h5W__viewport[data-state=closed]{animation:.15s ease-out navbar-menu-module__ig3h5W__fade-out}.navbar-menu-module__ig3h5W__content[data-motion=from-start]{animation:.25s ease-out navbar-menu-module__ig3h5W__from-start}.navbar-menu-module__ig3h5W__content[data-motion=from-end]{animation:.25s ease-out navbar-menu-module__ig3h5W__from-end}.navbar-menu-module__ig3h5W__content[data-motion=to-start]{animation:.25s ease-out navbar-menu-module__ig3h5W__to-start}.navbar-menu-module__ig3h5W__content[data-motion=to-end]{animation:.25s ease-out navbar-menu-module__ig3h5W__to-end}}@media (prefers-reduced-motion:reduce){.navbar-menu-module__ig3h5W__chevron{transition:none}}@keyframes navbar-menu-module__ig3h5W__slide-down{0%{transform:translateY(-100%)}}@keyframes navbar-menu-module__ig3h5W__fade-out{to{opacity:0}}@keyframes navbar-menu-module__ig3h5W__from-start{0%{opacity:0;transform:translate(-2rem)}}@keyframes navbar-menu-module__ig3h5W__from-end{0%{opacity:0;transform:translate(2rem)}}@keyframes navbar-menu-module__ig3h5W__to-start{to{opacity:0;transform:translate(-2rem)}}@keyframes navbar-menu-module__ig3h5W__to-end{to{opacity:0;transform:translate(2rem)}}.navbar-menu-module__ig3h5W__lines{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px}@media (prefers-reduced-motion:no-preference){.navbar-menu-module__ig3h5W__lines{transition:background-size .3s ease-out}}@media (hover:hover) and (pointer:fine){.group:hover .navbar-menu-module__ig3h5W__lines{background-size:100% 1px}}.group:focus-visible .navbar-menu-module__ig3h5W__lines{background-size:100% 1px}.navbar-menu-module__ig3h5W__logoMono,:is(html[data-nav-on-blue] .navbar-menu-module__ig3h5W__logoColor,.nav-surface[data-nav-start-blue] .navbar-menu-module__ig3h5W__logoColor){display:none}:is(html[data-nav-on-blue] .navbar-menu-module__ig3h5W__logoMono,.nav-surface[data-nav-start-blue] .navbar-menu-module__ig3h5W__logoMono){display:block}
.button-module__HjQxJG__button{--button-height:3rem;min-width:max-content;font-family:var(--font-body);font-size:var(--text-control);white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color var(--nav-swap), color var(--nav-swap), border-color var(--nav-swap);font-weight:400;line-height:1;position:relative}@media (min-width:640px){.button-module__HjQxJG__button{--button-height:2.5rem}}.button-module__HjQxJG__primary{background:var(--foreground);color:var(--foreground-inverse);border:1px solid var(--foreground)}.button-module__HjQxJG__primary .button-module__HjQxJG__fill>span{background:var(--foreground-inverse)}.button-module__HjQxJG__inverted{color:var(--foreground)}.button-module__HjQxJG__secondary{background:var(--background);color:var(--foreground);border:1px solid var(--foreground)}.button-module__HjQxJG__tertiary{color:var(--foreground);background:0 0;border:1px solid #0000;gap:8px}.button-module__HjQxJG__arrow{font-family:var(--font-body);font-size:var(--text-control)}@media (min-width:1024px) and (hover:hover) and (pointer:fine){.button-module__HjQxJG__tertiary{border:0;padding-inline:0}}@media (prefers-reduced-motion:no-preference) and (min-width:1024px) and (hover:hover) and (pointer:fine){.button-module__HjQxJG__tertiary{transition:transform .12s ease-out}}.button-module__HjQxJG__tertiary .button-module__HjQxJG__label:after{content:"";inset-inline:0;transform-origin:0;background:currentColor;height:1px;position:absolute;bottom:-4px;transform:scaleX(0)}@media (prefers-reduced-motion:no-preference){.button-module__HjQxJG__tertiary .button-module__HjQxJG__label:after{transition:transform .3s ease-out}}.button-module__HjQxJG__tertiary:where(:not(:disabled):not([aria-disabled=true])):focus-visible .button-module__HjQxJG__label:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.button-module__HjQxJG__tertiary:where(:not(:disabled):not([aria-disabled=true])):hover .button-module__HjQxJG__label:after{transform:scaleX(1)}}.button-module__HjQxJG__label{display:grid;position:relative}.button-module__HjQxJG__fill,.button-module__HjQxJG__fill>span{pointer-events:none;position:absolute}.button-module__HjQxJG__fill{inset:0;overflow:hidden}.button-module__HjQxJG__fill>span{background:var(--foreground);opacity:0;width:8px;height:8px}.button-module__HjQxJG__button:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.button-module__HjQxJG__inverted:focus-visible{outline-color:var(--foreground-inverse)}.button-module__HjQxJG__button:disabled{cursor:wait}@media (prefers-reduced-motion:no-preference) and (min-width:1024px) and (hover:hover) and (pointer:fine){.button-module__HjQxJG__fill>span{transition:opacity 0s calc(.42s - var(--delay)), background-color var(--nav-swap)}.button-module__HjQxJG__secondary,.button-module__HjQxJG__primary{transition:color .16s .14s, background-color var(--nav-swap), border-color var(--nav-swap), transform .12s ease-out}.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):focus-visible.button-module__HjQxJG__secondary{color:var(--foreground-inverse);transition:color .16s .14s, background-color var(--nav-swap), border-color var(--nav-swap), transform .12s ease-out}.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):focus-visible.button-module__HjQxJG__primary{color:var(--foreground);transition:color .16s .14s, background-color var(--nav-swap), border-color var(--nav-swap), transform .12s ease-out}.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):focus-visible .button-module__HjQxJG__fill>span{opacity:1;transition-delay:var(--delay)}@media (hover:hover) and (pointer:fine){.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):hover.button-module__HjQxJG__secondary{color:var(--foreground-inverse);transition:color .16s .14s, background-color var(--nav-swap), border-color var(--nav-swap), transform .12s ease-out}.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):hover.button-module__HjQxJG__primary{color:var(--foreground);transition:color .16s .14s, background-color var(--nav-swap), border-color var(--nav-swap), transform .12s ease-out}.button-module__HjQxJG__button:where(:not(:disabled):not([aria-disabled=true])):hover .button-module__HjQxJG__fill>span{opacity:1;transition-delay:var(--delay)}}}@starting-style{.button-module__HjQxJG__button:is(:hover,:focus-visible) .button-module__HjQxJG__fill>span{opacity:0}}.button-module__HjQxJG__button:is(:disabled,[aria-disabled=true]) .button-module__HjQxJG__fill{display:none}@media (prefers-reduced-motion:reduce){.button-module__HjQxJG__fill{display:none}}@media (max-width:1023px),(hover:none),(pointer:coarse){.button-module__HjQxJG__button{min-height:48px}.button-module__HjQxJG__fill{display:none}.button-module__HjQxJG__button[data-mobile-appearance=filled]{background:var(--foreground);color:var(--foreground-inverse);border:1px solid var(--foreground)}.button-module__HjQxJG__button[data-mobile-appearance=outline]{background:var(--background);color:var(--foreground);border:1px solid var(--foreground)}.button-module__HjQxJG__button[data-mobile-appearance] .button-module__HjQxJG__label:after,.button-module__HjQxJG__button[data-mobile-appearance] .button-module__HjQxJG__arrow{display:none}@media (prefers-reduced-motion:no-preference){.button-module__HjQxJG__button{transition:transform .12s ease-out}}}@media (prefers-reduced-motion:no-preference){.button-module__HjQxJG__button:active:where(:not(:disabled):not([aria-disabled=true])){transform:scale(.98)}}
.consent-manager-module__8wivBG__banner{max-width:100%;padding:20px;left:auto;right:0}.consent-manager-module__8wivBG__card{width:32rem;max-width:100%;box-shadow:none}.consent-manager-module__8wivBG__dialogCard{max-height:100%;box-shadow:none}.consent-manager-module__8wivBG__bannerActions,.consent-manager-module__8wivBG__dialogActions{flex-direction:column;gap:12px;display:flex}.consent-manager-module__8wivBG__action{width:100%}.consent-manager-module__8wivBG__customize{color:var(--foreground);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.consent-manager-module__8wivBG__customize:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.consent-manager-module__8wivBG__dialog{--consent-dialog-max-width:40rem;height:100dvh}.consent-manager-module__8wivBG__dialogContent{overscroll-behavior:contain}@media (min-width:640px){.consent-manager-module__8wivBG__banner{padding:24px}.consent-manager-module__8wivBG__bannerActions,.consent-manager-module__8wivBG__dialogActions{flex-flow:wrap;justify-content:flex-start}.consent-manager-module__8wivBG__action{width:auto}}.consent-manager-module__8wivBG__dialogContent [data-testid^=consent-widget-accordion-trigger]{font-family:var(--font-body);font-size:var(--text-body);color:var(--foreground)}.consent-manager-module__8wivBG__dialogContent [data-testid^=consent-widget-accordion-content]{font-family:var(--font-body);font-size:var(--text-body);color:var(--foreground-muted)}.consent-manager-module__8wivBG__dialogContent [data-testid^=consent-widget-accordion-arrow]{color:var(--foreground)}.consent-manager-module__8wivBG__dialogContent [role=switch]{--switch-height:1.5rem;--switch-width:2.75rem;--switch-padding:4px;--switch-thumb-size:1rem;--switch-thumb-size-disabled:1rem;--switch-background-color:var(--background);--switch-background-color-dark:var(--background);--switch-background-color-hover:var(--background);--switch-background-color-hover-dark:var(--background);--switch-background-color-checked:var(--foreground);--switch-background-color-checked-dark:var(--foreground);--switch-background-color-disabled:var(--background);--switch-background-color-disabled-dark:var(--background);--switch-thumb-background-color:var(--foreground);--switch-thumb-background-color-dark:var(--foreground);--switch-thumb-background-color-disabled:var(--foreground);--switch-thumb-background-color-disabled-dark:var(--foreground);--switch-shadow-thumb:none;--switch-shadow-thumb-dark:none;border-radius:0}.consent-manager-module__8wivBG__dialogContent [role=switch][data-state=checked]{--switch-thumb-background-color:var(--background);--switch-thumb-background-color-dark:var(--background);--switch-thumb-background-color-disabled:var(--background);--switch-thumb-background-color-disabled-dark:var(--background)}.consent-manager-module__8wivBG__dialogContent [data-slot=switch-track]{box-shadow:inset 0 0 0 1px var(--foreground);border-radius:0}.consent-manager-module__8wivBG__dialogContent [data-slot=switch-thumb]:before,.consent-manager-module__8wivBG__dialogContent [data-slot=switch-thumb]:after{border-radius:0;-webkit-mask:none;mask:none}.consent-manager-module__8wivBG__dialogContent [role=switch]:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}
.rolling-text-module__skpmNW__root{--pad:.16em;display:grid;position:relative}.rolling-text-module__skpmNW__text,.rolling-text-module__skpmNW__track{grid-area:1/1}@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.rolling-text-module__skpmNW__text{opacity:0;animation:0s linear 4s forwards rolling-text-module__skpmNW__show}.rolling-text-module__skpmNW__root:is([data-state=armed],[data-state=playing]) .rolling-text-module__skpmNW__text{-webkit-user-select:none;user-select:none;animation:none}.rolling-text-module__skpmNW__root[data-state=done] .rolling-text-module__skpmNW__text{opacity:1;animation:none}html[data-loader] .rolling-text-module__skpmNW__root[data-state=pending] .rolling-text-module__skpmNW__text{animation:none}}@media not all and (min-width:1024px) and (hover:hover) and (pointer:fine){@media (prefers-reduced-motion:no-preference){.rolling-text-module__skpmNW__root[data-css-entrance] .rolling-text-module__skpmNW__text{opacity:0;animation:0s linear 4s forwards rolling-text-module__skpmNW__show}.rolling-text-module__skpmNW__root[data-css-entrance][data-state=playing] .rolling-text-module__skpmNW__text{-webkit-user-select:none;user-select:none;animation:none}.rolling-text-module__skpmNW__root[data-css-entrance][data-state=done] .rolling-text-module__skpmNW__text{opacity:1;animation:none}.rolling-text-module__skpmNW__root[data-css-entrance] .rolling-text-module__skpmNW__lineReveal{animation:rolling-text-module__skpmNW__unfold var(--duration) cubic-bezier(.32, 0, .16, 1) var(--start) both}.rolling-text-module__skpmNW__root[data-css-entrance] .rolling-text-module__skpmNW__reel{animation:rolling-text-module__skpmNW__roll var(--duration) cubic-bezier(var(--x1), 0, .12, 1) var(--start) backwards;position:relative}.rolling-text-module__skpmNW__root[data-css-entrance] .rolling-text-module__skpmNW__reel>.rolling-text-module__skpmNW__glyph:first-child{position:absolute;bottom:100%;left:0}}}@keyframes rolling-text-module__skpmNW__unfold{0%{grid-template-rows:0fr}}@keyframes rolling-text-module__skpmNW__roll{0%{transform:translateY(200%)}}.rolling-text-module__skpmNW__track{align-self:end;display:block}.rolling-text-module__skpmNW__lineReveal{grid-template-rows:1fr;display:grid}.rolling-text-module__skpmNW__line{min-height:0;padding-block:var(--pad);margin-block:calc(var(--pad) * -1);display:block;overflow:hidden}.rolling-text-module__skpmNW__row{height:1lh;display:block;position:relative}.rolling-text-module__skpmNW__mask{top:calc(var(--pad) * -1);height:calc(1lh + 2 * var(--pad));clip-path:inset(0 -1em);position:absolute}.rolling-text-module__skpmNW__reel{display:block}.rolling-text-module__skpmNW__glyph{box-sizing:border-box;white-space:pre;height:calc(1lh + 2 * var(--pad));padding-block:var(--pad);display:block}.rolling-text-module__skpmNW__glyph:before{content:attr(data-g)}@keyframes rolling-text-module__skpmNW__show{to{opacity:1}}
.work-section-module__6UF7eW__quote{font-family:var(--font-body);font-size:var(--text-body);line-height:1.6}.work-section-module__6UF7eW__statValue{font-size:var(--text-h1)}.work-section-module__6UF7eW__envelope{width:clamp(5rem,min(12cqw,18dvh),8rem)}@media (max-width:1023px){.work-section-module__6UF7eW__card{border:1px solid var(--foreground);padding:32px 20px}}@media (min-width:640px) and (max-width:1023px){.work-section-module__6UF7eW__card{padding-inline:24px}}@media (min-width:1024px){.work-section-module__6UF7eW__contactPanel{grid-template-columns:minmax(0,1fr) minmax(0,clamp(5rem,24%,8rem));padding-inline-start:calc(50vw - 50cqw)}.work-section-module__6UF7eW__lowerGrid{grid-template-rows:1fr auto;row-gap:16px}.work-section-module__6UF7eW__sharedRows{grid-row:span 2;grid-template-rows:subgrid;row-gap:inherit;justify-content:normal;align-items:stretch;display:grid}.work-section-module__6UF7eW__statValue{font-size:var(--text-display-responsive)}.work-section-module__6UF7eW__quote{font-family:var(--font-heading);font-feature-settings:var(--font-heading-features);font-size:var(--text-h3-responsive);line-height:1.25}}
.tetris-game-module__DJ86hq__page{background:var(--background);display:grid}.tetris-game-module__DJ86hq__intro{align-items:center;padding-block:3rem;display:flex}.tetris-game-module__DJ86hq__errorCode{font-family:var(--font-mono);letter-spacing:-.04em;margin-left:-.075em;font-size:clamp(8rem,30vw,22rem);line-height:1;display:block}.tetris-game-module__DJ86hq__game{color:var(--foreground);background:var(--background);min-width:0;height:calc(100svh - 65px);min-height:32rem;scroll-margin-top:65px}.tetris-game-module__DJ86hq__console{outline:none;flex-direction:column;width:100%;height:100%;display:flex}.tetris-game-module__DJ86hq__console:is([data-status=idle],[data-status=over]) .tetris-game-module__DJ86hq__toolbar,.tetris-game-module__DJ86hq__console:not([data-status=playing]) .tetris-game-module__DJ86hq__controls{visibility:hidden}.tetris-game-module__DJ86hq__console:focus-visible{outline:2px solid var(--foreground);outline-offset:-4px}.tetris-game-module__DJ86hq__toolbar{border-bottom:1px solid var(--guide-color);flex:none;grid-template-columns:minmax(0,1fr) 4rem 3rem 3rem;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:grid}.tetris-game-module__DJ86hq__scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.tetris-game-module__DJ86hq__scoreboard dt,.tetris-game-module__DJ86hq__preview>span{font-family:var(--font-mono);font-size:var(--text-caption);line-height:1.5}.tetris-game-module__DJ86hq__scoreboard dd{font-family:var(--font-mono);font-size:var(--text-h3);font-variant-numeric:tabular-nums;margin-top:.25rem;line-height:1}.tetris-game-module__DJ86hq__playfield{flex:1;min-height:0}.tetris-game-module__DJ86hq__board{width:100%;height:100%;position:relative;overflow:hidden}.tetris-game-module__DJ86hq__board>svg{fill:currentColor;width:100%;height:100%;display:block}.tetris-game-module__DJ86hq__preview{flex-direction:column;gap:.25rem;display:flex}.tetris-game-module__DJ86hq__preview>div{align-items:center;height:1.75rem;display:flex}.tetris-game-module__DJ86hq__preview svg{fill:currentColor;width:3rem;max-height:1.75rem;display:block}.tetris-game-module__DJ86hq__pause{border:1px solid var(--guide-color);place-items:center;width:3rem;height:3rem;display:grid}.tetris-game-module__DJ86hq__pause svg{width:1.125rem;height:1.125rem}.tetris-game-module__DJ86hq__pause:disabled{visibility:hidden}.tetris-game-module__DJ86hq__overlay{text-align:center;background:var(--background);padding-inline:1.5rem;position:absolute;inset:0;overflow-y:auto}.tetris-game-module__DJ86hq__menu{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:min(100%,24rem);min-height:100%;margin-inline:auto;padding-block:2rem;display:flex}.tetris-game-module__DJ86hq__menu>*{flex-shrink:0}.tetris-game-module__DJ86hq__menu p{font-size:var(--text-body);line-height:1.5}.tetris-game-module__DJ86hq__finalScore span{font-family:var(--font-mono);font-size:var(--text-h2)}.tetris-game-module__DJ86hq__keyboardStart{justify-content:center;align-items:center;gap:.75rem;display:none}.tetris-game-module__DJ86hq__keyboardStart kbd{font:inherit;font-family:var(--font-mono);border:1px solid;padding:.75rem 1.25rem}.tetris-game-module__DJ86hq__overlay .tetris-game-module__DJ86hq__startButton,.tetris-game-module__DJ86hq__overlay .tetris-game-module__DJ86hq__resumeButton{min-width:12rem;min-height:3.5rem}.tetris-game-module__DJ86hq__keyboardSound{font-size:var(--text-body);justify-content:center;align-items:center;gap:.75rem;line-height:1.5;display:none}.tetris-game-module__DJ86hq__keyboardSound kbd{min-width:3.25rem;font:inherit;font-family:var(--font-mono);text-align:center;border:1px solid;padding:.75rem 1.25rem}.tetris-game-module__DJ86hq__keyboardSound:hover kbd{color:var(--background);background:var(--foreground)}.tetris-game-module__DJ86hq__keyboardSound:focus-visible{outline-offset:3px;outline:2px solid}.tetris-game-module__DJ86hq__overlay .tetris-game-module__DJ86hq__soundButton{min-width:12rem;min-height:3.5rem}.tetris-game-module__DJ86hq__controls{flex:none;grid-template-columns:repeat(5,1fr);gap:.5rem;padding:.75rem;display:grid}.tetris-game-module__DJ86hq__controls button{touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid;justify-content:center;align-items:center;min-width:0;min-height:3rem;display:flex}.tetris-game-module__DJ86hq__controls button:disabled{cursor:default;border-style:dashed}.tetris-game-module__DJ86hq__controls svg{width:1.25rem;height:1.25rem}.tetris-game-module__DJ86hq__controls button:enabled:active,.tetris-game-module__DJ86hq__pause:enabled:active{color:var(--background);background:var(--foreground)}.tetris-game-module__DJ86hq__controls button:focus-visible,.tetris-game-module__DJ86hq__pause:focus-visible{outline-offset:3px;outline:2px solid}@media (min-width:640px){.tetris-game-module__DJ86hq__game{height:calc(100svh - 81px);scroll-margin-top:81px}}@media (min-width:1024px){.tetris-game-module__DJ86hq__page{grid-template-columns:1fr 1fr}.tetris-game-module__DJ86hq__errorCode{font-size:14vw}.tetris-game-module__DJ86hq__game{height:calc(100svh - 49px);scroll-margin-top:49px}}@media (min-width:1024px) and (hover:hover) and (pointer:fine){.tetris-game-module__DJ86hq__controls,.tetris-game-module__DJ86hq__startButton,.tetris-game-module__DJ86hq__overlay .tetris-game-module__DJ86hq__soundButton{display:none}.tetris-game-module__DJ86hq__keyboardStart,.tetris-game-module__DJ86hq__keyboardSound{display:flex}.tetris-game-module__DJ86hq__pause:enabled:hover{background:var(--foreground);color:var(--background)}}@media (max-width:639px){.tetris-game-module__DJ86hq__toolbar{grid-template-columns:minmax(0,1fr) 3rem 3rem 3rem;gap:.75rem;padding:1rem}.tetris-game-module__DJ86hq__scoreboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tetris-game-module__DJ86hq__scoreboard dd{font-size:var(--text-h4)}.tetris-game-module__DJ86hq__scoreboard>div:last-child{display:none}.tetris-game-module__DJ86hq__preview svg{width:2.5rem}.tetris-game-module__DJ86hq__menu{gap:1.5rem}}
