:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@font-face{font-family:Source;src:url(/fonts/SourceSerif4-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:Tinos;src:url(/fonts/Tinos-Regular.ttf) format("truetype")}@font-face{font-family:Tinos;src:url(/fonts/Tinos-Bold.ttf) format("truetype");font-weight:700}@font-face{font-family:Digi;src:url(/fonts/DS-DIGIB.ttf) format("truetype")}html,:root{display:block;margin:auto;width:100%;height:100%;color:#eee;background-color:#397bc9;font-family:Source,sans-serif}*{box-sizing:border-box}body{width:100svw;height:100svh;margin:auto;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#397bc9;background:radial-gradient(circle at 50% 2%,#397bc9,#27568f 66.6%,#424242)}#root{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}section{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}a{text-decoration:underline;color:#eee}p{font-size:1.3rem;margin:.2rem 0;display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;unicode-bidi:isolate;text-align:center}h1,h2,h3{text-align:center;margin:.5rem 0}h1{text-decoration:underline}h2{font-size:1.8rem}button{background:#242424}.noClick,.noClick:hover{pointer-events:none}.greyedOut{background-color:#666;color:#ccc}dialog{background:none;border:none;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%}dialog::backdrop{background-color:#000;opacity:.8}.gameBoard{width:100%;height:100%;display:flex;align-items:center;justify-content:center;max-width:720px;padding:2rem}.board{font-size:1rem;display:flex;flex-wrap:wrap;flex-direction:row;width:100%}.modeButtons{width:100%;display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem}.modeButtons button{font-size:1.5rem;padding:.5rem 3rem;width:33%}.modeButtons button.active{background-color:#00cd00;outline:#00cd00 5px solid;outline-offset:2px;margin-right:.5rem}.rowContainer,.colContainer{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.25rem;margin-bottom:.25rem}.rowContainer{width:100%}.colContainer{width:100%;justify-content:center}.colSpacer{width:5rem}.colIcon{display:flex;align-items:center;justify-content:center;font-family:Digi,sans-serif;width:calc(20% - .25rem);margin-bottom:0}.colIcon button{font-size:1.3rem;padding:.5rem 1rem}.rowIcon{font-size:2rem;text-align:center;padding:0;color:#000;width:5rem;height:5rem}.row{display:flex;flex-direction:row;gap:.25rem;width:80%}.cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;flex-direction:column;width:25%;border-radius:0}.batuContainer{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-bottom:.5rem;width:100%}.xbutton,.batu{background:none;stroke:gray;fill:gray;padding:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.batu svg{width:100%;height:100%}.circle{background:none;stroke:gray;fill:gray;padding:0;display:flex;align-items:center;justify-content:center;width:4rem;height:4rem}.logo{width:100%;display:flex;align-items:center;justify-content:center}.logo img{width:100%;width:16rem;height:16rem}.batu.blue,.circle.blue{stroke:#67acff;fill:#67acff}.batu.white,.circle.white{stroke:#fff;fill:#fff}.batu.green,.circle.green{stroke:#74e674;fill:#74e674}.batu.red,.circle.red{stroke:#f04545;fill:#f04545}.batu.brown,.circle.brown{stroke:#8b4513;fill:#8b4513}.batu.purple,.circle.purple{stroke:purple;fill:purple}.selectCell{outline:white 5px solid}.gameOverModal{background:#000;padding:2rem}.gameoverButtonContainer{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;text-align:center}.gameoverButton{background-color:#00cd00;outline:#00cd00 5px solid;outline-offset:2px;font-size:1.5rem;font-weight:700;margin-top:1rem;padding:.5rem;width:fit-content}.cellModalContainer{display:flex;flex-direction:column;width:100%}.batuSlot{width:5rem;height:5rem;display:flex;align-items:center;justify-content:center}.batuSlot .xButton{padding:1rem;background-color:orange}.batuSlot svg,.batuSlot button{width:4rem;height:4rem}.cellModalButtonContainer{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center;margin-bottom:2rem}@media (orientation: portrait){*{font-size:11px}}.settingPage{width:100%;height:100%;display:block}.mobileButtonText{display:none}.desktopButtonText{display:inline-block}.settingContainer{width:100%;height:100%;display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}.difficultyContainer,.sizeContainer{width:20%;height:100%;display:flex;padding-top:5rem;flex-direction:column;gap:1rem;align-items:center;justify-content:start}.difficultyContainer svg,.sizeContainer svg{width:50%;margin-bottom:1.5rem}.difficultyButtonContainer,.sizeButtonContainer{width:100%;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:start}.settingPreviewContainer{width:50%;height:100%;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center}.sizeExplanationContainer{width:100%;height:50%;max-width:60svh;max-height:50%;padding:2rem 4rem 0;display:flex;display:table;border-radius:1rem}.gridContainer{display:table-cell;vertical-align:middle;width:100%;height:100%;margin:auto;aspect-ratio:1/1;border-radius:1rem}.grid4,.grid6,.grid9{background-color:#ccc;aspect-ratio:1/1;width:100%;height:100%;display:grid;border:.5rem solid #424242;outline:1rem solid #cccccc;border-radius:.5rem}.grid4{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr)}.grid6{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr)}.grid9{grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr)}.grid4 .gridCell:nth-child(4n+2){border-right:.25rem solid #424242}.grid4 .gridCell:nth-child(4n+3){border-left:.25rem solid #424242}.grid4 .gridCell:nth-child(n+5):nth-child(-n+8){border-bottom:.25rem solid #424242}.grid4 .gridCell:nth-child(n+9):nth-child(-n+12){border-top:.25rem solid #424242}.grid6 .gridCell:nth-child(6n+3){border-right:.25rem solid #424242}.grid6 .gridCell:nth-child(6n+4){border-left:.25rem solid #424242}.grid6 .gridCell:nth-child(n+7):nth-child(-n+12),.grid6 .gridCell:nth-child(n+19):nth-child(-n+24){border-bottom:.25rem solid #424242}.grid6 .gridCell:nth-child(n+13):nth-child(-n+18),.grid6 .gridCell:nth-child(n+25):nth-child(-n+30){border-top:.25rem solid #424242}.grid9 .gridCell:nth-child(9n+3),.grid9 .gridCell:nth-child(9n+6){border-right:.25rem solid #424242}.grid9 .gridCell:nth-child(9n+4),.grid9 .gridCell:nth-child(9n+7){border-left:.25rem solid #424242}.grid9 .gridCell:nth-child(n+19):nth-child(-n+27),.grid9 .gridCell:nth-child(n+46):nth-child(-n+54){border-bottom:.25rem solid #424242}.grid9 .gridCell:nth-child(n+28):nth-child(-n+36),.grid9 .gridCell:nth-child(n+55):nth-child(-n+63){border-top:.25rem solid #424242}.gridCell{width:100%;height:100%;border:.1rem solid #424242}.difficultyExplanationContainer{width:100%;padding:2rem;text-align:center;color:#eee}.settingConfirmButton{max-width:fit-content}@media (orientation: portrait){.mobileButtonText{display:inline-block;width:100%}.desktopButtonText{display:none}.settingContainer{flex-direction:column;padding:1rem}.difficultyContainer,.sizeContainer{width:100%;height:fit-content;padding:0;gap:.2rem}.difficultyContainer svg,.sizeContainer svg{width:8rem;margin-bottom:.3rem}.sizeContainer{order:2}.difficultyButtonContainer,.sizeButtonContainer{flex-direction:row}.settingPreviewContainer{width:100%;height:fit-content;order:3;gap:.2rem}.difficultyExplanationContainer{padding:0}h2{font-size:1.4rem}.gridContainer{height:25svh}.sizeExplanationContainer{padding:2rem 0;max-width:50%}.settingConfirmButton{max-width:50%;padding:2rem}}.outerBevel,.thirdBevel{background:radial-gradient(circle 1rem at top left,#0000 98%,#753e2a) top left,radial-gradient(circle 1rem at top right,#0000 98%,#753e2a) top right,radial-gradient(circle 1rem at bottom left,#0000 98%,#753e2a) bottom left,radial-gradient(circle 1rem at bottom right,#0000 98%,#753e2a) bottom right;width:100%;background-size:51% 51%;background-repeat:no-repeat;border:none;margin:.25rem 0}.outerBevel{padding:.25rem;filter:drop-shadow(4px 3px 2px #424242) drop-shadow(-4px -3px 2px #424242)}.thirdBevel{padding:.3rem;height:100%}.outerBevel.active,.outerBevel.active:hover,.outerBevel.active:focus{cursor:default;outline:none;filter:drop-shadow(2px 1px 4px #9a8100) drop-shadow(-2px 1px 4px #9a8100) drop-shadow(-2px -1px 4px #9a8100) drop-shadow(2px -1px 4px #9a8100)}.outerBevel:hover,.outerBevel:focus{outline:solid #ebc600 4px;outline-offset:6px}.secondBevel,.innerBevel{background:radial-gradient(circle 1rem at top left,#0000 98%,gold) top left,radial-gradient(circle 1rem at top right,#0000 98%,gold) top right,radial-gradient(circle 1rem at bottom left,#0000 98%,gold) bottom left,radial-gradient(circle 1rem at bottom right,#0000 98%,gold) bottom right;filter:drop-shadow(3px 2px 1px #342b00) drop-shadow(-1px -1px 2px #342b00);width:100%;height:100%;background-size:51% 51%;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center}.secondBevel.silver,.innerBevel.silver{background:radial-gradient(circle 1rem at top left,#0000 98%,silver) top left,radial-gradient(circle 1rem at top right,#0000 98%,silver) top right,radial-gradient(circle 1rem at bottom left,#0000 98%,silver) bottom left,radial-gradient(circle 1rem at bottom right,#0000 98%,silver) bottom right;background-size:51% 51%;background-repeat:no-repeat}.secondBevel{padding:.1rem .25rem}.innerBevel{padding:.5rem 1.5rem}.engraved,.engraved .mobileButtonText{font-size:1.6rem;font-weight:700;color:transparent;color:#884820;text-shadow:0px 1px 0px rgba(120,62,42,.9),0px 1px 0px rgba(0,0,0,.7);height:100%}.engraved{display:flex;flex-direction:column;align-items:center;justify-content:center}button.active .secondBevel,button.active .innerBevel{background:radial-gradient(circle 1rem at top left,#0000 98%,gold) top left,radial-gradient(circle 1rem at top right,#0000 98%,gold) top right,radial-gradient(circle 1rem at bottom left,#0000 98%,gold) bottom left,radial-gradient(circle 1rem at bottom right,#0000 98%,gold) bottom right;filter:drop-shadow(3px 2px 1px #342b00) drop-shadow(-1px -1px 2px #342b00);width:100%;height:100%;background-size:51% 51%;background-repeat:no-repeat;align-items:center;justify-content:center}.desktop{display:flex}.mobile{display:none}@media (orientation: portrait){.desktop{display:none}.mobile{display:flex;min-height:3.5rem}.innerBevel{padding:.5rem .25rem}.engraved,.engraved .mobileButtonText{font-size:1.5rem}.outerBevel.active,.outerBevel.active:hover,.outerBevel.active:focus{filter:drop-shadow(2px 1px 3px #9a8100) drop-shadow(-2px 1px 3px #9a8100) drop-shadow(-2px -1px 3px #9a8100) drop-shadow(2px -1px 3px #9a8100)}.outerBevel:hover,.outerBevel:focus{outline:solid #ebc600 3px;outline-offset:4px}}.characterSelectBG{position:fixed;left:0;top:0;background:#424242;background:linear-gradient(0deg,#424242,#397bc9 20%,#6297d9 30%,#27568f 85%,#424242);width:100%;height:100%;z-index:1}.leftBar,.rightBar{background:#333;position:fixed;top:0;width:20%;height:100%;z-index:2}.leftBar{left:0}.rightBar{right:0}.leftTopTriangle{background:linear-gradient(to bottom left,transparent 0%,transparent 50%,#333333 50%,#333333 100%);position:fixed;left:20%;top:0;width:28%;height:70%;z-index:2}.leftBotTriangle{background:linear-gradient(to top left,transparent 0%,transparent 50%,#333333 50%,#333333 100%);position:fixed;left:20%;top:70%;width:28%;height:30%;z-index:2}.rightTopTriangle{background:linear-gradient(to bottom right,transparent 0%,transparent 50%,#333333 50%,#333333 100%);position:fixed;right:20%;top:0;width:28%;height:70%;z-index:2}.rightBotTriangle{background:linear-gradient(to top right,transparent 0%,transparent 50%,#333333 50%,#333333 100%);position:fixed;right:20%;top:70%;width:28%;height:30%;z-index:2}.characterPreview{position:fixed;bottom:10rem;display:flex;align-items:end;justify-content:center;width:100%;height:60svh;z-index:4}.characterPreview img{max-height:100%;max-width:100%}.characterName{color:#c9dbf2;font-family:Source,serif;font-weight:300;font-size:5rem;position:fixed;top:0;z-index:3}.avatarContainer{position:fixed;left:0;top:0;width:25%;height:100%;display:flex;flex-direction:column;z-index:4;align-items:end;justify-content:center}.avatar{background:none;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;max-width:33.3333333333%}.avatarImg{aspect-ratio:1/1;background-color:#000;border-radius:50%;padding:.25rem;height:100%;width:100%}.characterSelectButton{position:fixed;bottom:2rem;z-index:5;max-width:20rem}.speaker{font-size:1.8rem;font-weight:700;background-color:gray;width:fit-content;position:absolute;right:4rem;top:-3rem;padding:.3rem 1rem;border-radius:.5rem;outline:4px white solid;z-index:6}.dialogCharacter{position:fixed;top:1rem;left:40%;height:calc(100% - 3rem)}.dialogCharacter img{max-height:100%}.dialogText{background-color:gray;position:fixed;bottom:1rem;display:flex;flex-direction:column;width:calc(100% - 2rem);height:25%;margin:1rem;padding:.8rem 1rem;border-radius:.5rem;outline:4px white solid;justify-content:start}.dialogText p{font-size:1.8rem;font-weight:700;margin:.25rem .5rem;text-align:left}.dialogText button{font-size:1.2rem;width:fit-content;align-self:end;margin-top:auto}
