/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media(min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media(min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media(min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}body{font-family:"General Sans",sans-serif;background-color:#000}#root{width:100%;height:100dvh;max-width:500px;margin:0 auto}.app{display:grid;width:100%;height:100%;grid-template-rows:auto 1fr}.app.--pwa{padding-bottom:30px}@keyframes ellipsis{0%{transform:translateY(0)}50%{transform:translateY(10px)}100%{transform:translateY(0)}}.loading{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:10px}.loading span{display:block;width:100%;text-align:center;font-family:"Nippo",sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#fff}.loading .ellipsis{display:flex;width:100%;justify-content:center}.loading .ellipsis .dot{display:block;width:10px;height:10px;background-color:#f72585;margin:0 5px;animation:ellipsis 1s infinite}.loading .ellipsis .dot:nth-child(1){animation-delay:0s}.loading .ellipsis .dot:nth-child(2){animation-delay:.2s}.loading .ellipsis .dot:nth-child(3){animation-delay:.4s}.game{display:grid;width:100%;padding:0 15px;grid-template-rows:1fr auto 1fr;grid-template-columns:1fr}@keyframes pulse{0%{opacity:.3}50%{opacity:.9}100%{opacity:.3}}.info{display:flex;position:relative;width:auto;text-align:center;align-self:center;justify-self:center;padding:10px 20px;flex-direction:column;z-index:1}.info .heading{display:block;width:100%;text-align:center;font-size:1.5rem;font-weight:700;font-family:"Nippo",sans-serif;color:#fff;text-transform:uppercase}.info .body{display:block;width:100%;text-align:center;font-size:1rem;font-weight:500;color:#fff}.info.--emphasis::before{content:"";display:block;position:absolute;width:100%;height:100%;background-color:#f72585;top:0;left:0;animation:pulse 1.5s infinite;z-index:-1}.actions{display:grid;width:100%;text-align:center;align-self:center;grid-template-columns:1fr auto;gap:10px;visibility:hidden}.actions.--visible{visibility:visible}.actions button{display:block;width:100%;padding:16px 24px;border:none;background-color:#000;outline:none;align-items:center;justify-content:center}.actions button span{display:block;width:100%;text-align:center;font-family:"Nippo",sans-serif;font-size:1.2rem;font-weight:500;text-transform:uppercase;color:#fff}.actions button.--primary{background-color:#f72585}.menu{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:15px}.menu button{display:flex;position:relative;align-items:center;justify-content:center;width:auto;background-color:#fff;border:none;outline:none;height:60px;padding:0 30px}.menu button span{display:block;width:100%;text-align:center;font-family:"Nippo",sans-serif;font-size:1.2rem;font-weight:500;text-transform:uppercase;color:#000}.menu button.--primary{background-color:#f72585}.menu button.--primary span{color:#fff}.menu button.--disabled{opacity:.3;pointer-events:none}.join-code{display:flex;width:100%;height:auto;flex-direction:column;align-items:center;justify-content:center;padding:50px 15px;gap:30px}.join-code .input{display:grid;grid-template-columns:repeat(6, 1fr);width:100%;gap:10px}.join-code .input input{display:block;width:100%;height:60px;border:2px solid #fff;outline:none;background-color:#000;font-family:"JetBrains Mono",sans-serif;font-size:1.5em;font-weight:500;text-transform:uppercase;text-align:center;color:#fff;caret-color:transparent;padding:0}.join-code .input input::placeholder{color:#000}.join-code .input input:focus{background-color:#fff;color:#000}.join-code .code{display:flex;width:auto;align-items:center;justify-content:center;background-color:#f72585;padding:10px;gap:10px}.join-code .code span{display:block;position:relative;width:20px;height:32px;text-align:center;font-family:"JetBrains Mono",sans-serif;font-size:2rem;font-weight:500;line-height:1em;text-transform:uppercase;color:#fff;text-align:center}.join-code .code span::after{content:"";display:none;position:absolute;width:10px;height:10px;background-color:#fff;left:calc(50% - 5px);top:calc(50% - 10px)}.join-code .code span:nth-child(1)::after{animation:ellipsis 1s infinite;animation-delay:0s}.join-code .code span:nth-child(2)::after{animation:ellipsis 1s infinite;animation-delay:.2s}.join-code .code span:nth-child(3)::after{animation:ellipsis 1s infinite;animation-delay:.4s}.join-code .code span:nth-child(4)::after{animation:ellipsis 1s infinite;animation-delay:.6s}.join-code .code span:nth-child(5)::after{animation:ellipsis 1s infinite;animation-delay:.8s}.join-code .code span:nth-child(6)::after{animation:ellipsis 1s infinite;animation-delay:1s}.join-code .code.--loading span::after{display:block}.pwa-notice{display:grid;position:fixed;width:calc(100% - 20px);height:auto;grid-template-columns:auto 1fr;left:10px;bottom:10px;z-index:100;background-color:rgba(41,41,41,.8);padding:15px;border-radius:15px;column-gap:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pwa-notice .icon{display:block;width:50px;height:50px;background-image:url("/logo192.png");background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:10px}.pwa-notice .content{display:flex;position:relative;width:100%;color:#fff;flex-direction:column;gap:5px;align-self:center}.pwa-notice .content .title{display:block;width:100%;font-family:"General Sans",sans-serif;font-size:16px;font-weight:600;line-height:1em}.pwa-notice .content .description{display:block;width:100%;font-family:"General Sans",sans-serif;font-size:15px;font-weight:400;line-height:1.3em}.pwa-notice .close{display:block;position:absolute;width:26px;height:26px;top:10px;right:10px;background-color:transparent;border:none;outline:none}.pwa-notice .close:before,.pwa-notice .close:after{content:"";display:block;position:absolute;width:18px;height:3px;background-color:#fff;top:calc(50% - 1.5px);left:calc(50% - 9px);transform:rotate(45deg);border-radius:10px}.pwa-notice .close:after{transform:rotate(-45deg)}.header__game{display:grid;background-color:#f72585;height:60px;width:100%;grid-template-columns:auto 1fr;justify-content:center;align-items:center;padding:0 20px}.header__game button{justify-self:end;display:block;position:relative;width:36px;height:36px;background-color:transparent;border:none;outline:none}.header__game button:before,.header__game button:after{content:"";display:block;position:absolute;width:22px;height:4px;background-color:#fff;top:calc(50% - 2px);left:calc(50% - 11px);transform:rotate(45deg);border-radius:10px}.header__game button:after{transform:rotate(-45deg)}.header{display:grid;background-color:#f72585;height:60px;width:100%;grid-template-columns:auto;justify-content:center;align-items:center;padding:0 20px}@keyframes pulse{0%{opacity:.3}50%{opacity:.9}100%{opacity:.3}}.grid-loading{display:block;width:100%;padding-top:100%;position:relative;border:4px solid #fff}.grid-loading .ellipsis{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100%;justify-content:center}.grid-loading .ellipsis .dot{display:block;width:10px;height:10px;background-color:#fff;margin:0 5px;animation:ellipsis 1s infinite}.grid-loading .ellipsis .dot:nth-child(1){animation-delay:0s}.grid-loading .ellipsis .dot:nth-child(2){animation-delay:.2s}.grid-loading .ellipsis .dot:nth-child(3){animation-delay:.4s}.grid{display:grid;position:relative;border:2px solid #fff;grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(3, 1fr)}.grid .subgrid{display:grid;position:relative;width:100%;background-color:#000;grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(3, 1fr)}.grid .subgrid::after{content:"";display:block;width:100%;height:100%;border:2px solid #fff;position:absolute;top:0;left:0;pointer-events:none}.grid .subgrid .cell{display:block;position:relative;width:100%;padding-top:100%;border:none;background-color:transparent;outline:none;overflow:visible;pointer-events:none;z-index:1}.grid .subgrid .cell::after{content:"";display:block;width:100%;height:100%;border:2px solid #fff;position:absolute;top:0;left:0;opacity:.3;z-index:auto;pointer-events:none}.grid .subgrid .cell .marker{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:60%;height:60%}.grid .subgrid .cell .avaiable-indicator{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:40%;height:40%;background-color:#fff;animation:pulse 2s infinite;pointer-events:none;visibility:hidden}.grid .subgrid .cell .confirm-indicator{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50%;height:50%;background-color:#f72485;pointer-events:none;visibility:hidden}.grid .subgrid .cell .last-move-indicator{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:60%;height:60%;background-color:#fff;pointer-events:none;z-index:-1;visibility:hidden}.grid .subgrid .cell.--x .avaiable-indicator{display:none !important}.grid .subgrid .cell.--o .avaiable-indicator{display:none !important}.grid .subgrid .cell.--confirm .confirm-indicator{visibility:visible}.grid .subgrid .cell.--confirm .avaiable-indicator{visibility:hidden}.grid .subgrid .cell.--last-move .last-move-indicator{visibility:visible}.grid .subgrid .cell.--last-move .marker{width:40%;height:40%}.grid .subgrid .cell.--last-move .marker path{fill:#fff !important}.grid .subgrid.--available .cell{pointer-events:auto}.grid .subgrid.--available .cell .avaiable-indicator{visibility:visible}.grid .subgrid.--available .cell:hover{cursor:pointer}.grid .subgrid.--confirm::after{content:"";display:block;width:calc(100% + 4px);height:calc(100% + 4px);border:4px solid #f72585;position:absolute;top:-2px;left:-2px;z-index:10}.grid .subgrid .complete-marker{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:60%;height:60%}.grid.--x-blue .complete-marker.-x path{fill:#00e0ff}.grid.--x-blue .complete-marker.-o path{fill:#ff003d}.grid.--x-blue .marker.-x path{fill:#00e0ff}.grid.--x-blue .marker.-o path{fill:#ff003d}.grid.--x-blue .cell.--x.--last-move .last-move-indicator{background-color:#00e0ff}.grid.--x-blue .cell.--o.--last-move .last-move-indicator{background-color:#ff003d}.grid.--o-blue .complete-marker.-x path{fill:#ff003d}.grid.--o-blue .complete-marker.-o path{fill:#00e0ff}.grid.--o-blue .marker.-x path{fill:#ff003d}.grid.--o-blue .marker.-o path{fill:#00e0ff}.grid.--o-blue .cell.--o.--last-move .last-move-indicator{background-color:#00e0ff}.grid.--o-blue .cell.--x.--last-move .last-move-indicator{background-color:#ff003d}.grid.--end .subgrid{pointer-events:none}.grid.--end .subgrid .cell{pointer-events:none}.grid.--end .subgrid .cell .marker path{fill:#fff !important}.grid.--end .subgrid .cell::after{opacity:0}.grid.--end .subgrid .cell .avaiable-indicator{display:none !important}.grid.--end .subgrid .cell .confirm-indicator{display:none !important}/*# sourceMappingURL=base.min.css.map */
