@keyframes animate-sudoku-entry{0%{opacity:0;transform:translateY(10px) translate(10px)}20%{transform:scale(.9)}to{opacity:1;transform:translateY(0) translate(0) scale(1)}}.sudoku-container{display:flex;flex-direction:column;gap:12px;width:600px;height:600px;margin:0 auto;font-size:2.5em}@media screen and ((max-width: 650px) or (max-height: 730px)){.sudoku-container{width:600px;height:600px;font-size:2.5em}}@media screen and ((max-width: 645px) or (max-height: 725px)){.sudoku-container{width:595px;height:595px;font-size:2.4791666667em}}@media screen and ((max-width: 640px) or (max-height: 720px)){.sudoku-container{width:590px;height:590px;font-size:2.4583333333em}}@media screen and ((max-width: 635px) or (max-height: 715px)){.sudoku-container{width:585px;height:585px;font-size:2.4375em}}@media screen and ((max-width: 630px) or (max-height: 710px)){.sudoku-container{width:580px;height:580px;font-size:2.4166666667em}}@media screen and ((max-width: 625px) or (max-height: 705px)){.sudoku-container{width:575px;height:575px;font-size:2.3958333333em}}@media screen and ((max-width: 620px) or (max-height: 700px)){.sudoku-container{width:570px;height:570px;font-size:2.375em}}@media screen and ((max-width: 615px) or (max-height: 695px)){.sudoku-container{width:565px;height:565px;font-size:2.3541666667em}}@media screen and ((max-width: 610px) or (max-height: 690px)){.sudoku-container{width:560px;height:560px;font-size:2.3333333333em}}@media screen and ((max-width: 605px) or (max-height: 685px)){.sudoku-container{width:555px;height:555px;font-size:2.3125em}}@media screen and ((max-width: 600px) or (max-height: 680px)){.sudoku-container{width:550px;height:550px;font-size:2.2916666667em}}@media screen and ((max-width: 595px) or (max-height: 675px)){.sudoku-container{width:545px;height:545px;font-size:2.2708333333em}}@media screen and ((max-width: 590px) or (max-height: 670px)){.sudoku-container{width:540px;height:540px;font-size:2.25em}}@media screen and ((max-width: 585px) or (max-height: 665px)){.sudoku-container{width:535px;height:535px;font-size:2.2291666667em}}@media screen and ((max-width: 580px) or (max-height: 660px)){.sudoku-container{width:530px;height:530px;font-size:2.2083333333em}}@media screen and ((max-width: 575px) or (max-height: 655px)){.sudoku-container{width:525px;height:525px;font-size:2.1875em}}@media screen and ((max-width: 570px) or (max-height: 650px)){.sudoku-container{width:520px;height:520px;font-size:2.1666666667em}}@media screen and ((max-width: 565px) or (max-height: 645px)){.sudoku-container{width:515px;height:515px;font-size:2.1458333333em}}@media screen and ((max-width: 560px) or (max-height: 640px)){.sudoku-container{width:510px;height:510px;font-size:2.125em}}@media screen and ((max-width: 555px) or (max-height: 635px)){.sudoku-container{width:505px;height:505px;font-size:2.1041666667em}}@media screen and ((max-width: 550px) or (max-height: 630px)){.sudoku-container{width:500px;height:500px;font-size:2.0833333333em}}@media screen and ((max-width: 545px) or (max-height: 625px)){.sudoku-container{width:495px;height:495px;font-size:2.0625em}}@media screen and ((max-width: 540px) or (max-height: 620px)){.sudoku-container{width:490px;height:490px;font-size:2.0416666667em}}@media screen and ((max-width: 535px) or (max-height: 615px)){.sudoku-container{width:485px;height:485px;font-size:2.0208333333em}}@media screen and ((max-width: 530px) or (max-height: 610px)){.sudoku-container{width:480px;height:480px;font-size:2em}}@media screen and ((max-width: 525px) or (max-height: 605px)){.sudoku-container{width:475px;height:475px;font-size:1.9791666667em}}@media screen and ((max-width: 520px) or (max-height: 600px)){.sudoku-container{width:470px;height:470px;font-size:1.9583333333em}}@media screen and ((max-width: 515px) or (max-height: 595px)){.sudoku-container{width:465px;height:465px;font-size:1.9375em}}@media screen and ((max-width: 510px) or (max-height: 590px)){.sudoku-container{width:460px;height:460px;font-size:1.9166666667em}}@media screen and ((max-width: 505px) or (max-height: 585px)){.sudoku-container{width:455px;height:455px;font-size:1.8958333333em}}@media screen and ((max-width: 500px) or (max-height: 580px)){.sudoku-container{width:450px;height:450px;font-size:1.875em}}@media screen and ((max-width: 495px) or (max-height: 575px)){.sudoku-container{width:445px;height:445px;font-size:1.8541666667em}}@media screen and ((max-width: 490px) or (max-height: 570px)){.sudoku-container{width:440px;height:440px;font-size:1.8333333333em}}@media screen and ((max-width: 485px) or (max-height: 565px)){.sudoku-container{width:435px;height:435px;font-size:1.8125em}}@media screen and ((max-width: 480px) or (max-height: 560px)){.sudoku-container{width:430px;height:430px;font-size:1.7916666667em}}@media screen and ((max-width: 475px) or (max-height: 555px)){.sudoku-container{width:425px;height:425px;font-size:1.7708333333em}}@media screen and ((max-width: 470px) or (max-height: 550px)){.sudoku-container{width:420px;height:420px;font-size:1.75em}}@media screen and ((max-width: 465px) or (max-height: 545px)){.sudoku-container{width:415px;height:415px;font-size:1.7291666667em}}@media screen and ((max-width: 460px) or (max-height: 540px)){.sudoku-container{width:410px;height:410px;font-size:1.7083333333em}}@media screen and ((max-width: 455px) or (max-height: 535px)){.sudoku-container{width:405px;height:405px;font-size:1.6875em}}@media screen and ((max-width: 450px) or (max-height: 530px)){.sudoku-container{width:400px;height:400px;font-size:1.6666666667em}}@media screen and ((max-width: 445px) or (max-height: 525px)){.sudoku-container{width:395px;height:395px;font-size:1.6458333333em}}@media screen and ((max-width: 440px) or (max-height: 520px)){.sudoku-container{width:390px;height:390px;font-size:1.625em}}@media screen and ((max-width: 435px) or (max-height: 515px)){.sudoku-container{width:385px;height:385px;font-size:1.6041666667em}}@media screen and ((max-width: 430px) or (max-height: 510px)){.sudoku-container{width:380px;height:380px;font-size:1.5833333333em}}@media screen and ((max-width: 425px) or (max-height: 505px)){.sudoku-container{width:375px;height:375px;font-size:1.5625em}}@media screen and ((max-width: 420px) or (max-height: 500px)){.sudoku-container{width:370px;height:370px;font-size:1.5416666667em}}@media screen and ((max-width: 415px) or (max-height: 495px)){.sudoku-container{width:365px;height:365px;font-size:1.5208333333em}}@media screen and ((max-width: 410px) or (max-height: 490px)){.sudoku-container{width:360px;height:360px;font-size:1.5em}}@media screen and ((max-width: 405px) or (max-height: 485px)){.sudoku-container{width:355px;height:355px;font-size:1.4791666667em}}.sudoku-container .sudoku-box-row,.sudoku-container .sudoku-cell-row{display:flex;flex-direction:row;flex:1;gap:6px}.sudoku-container .sudoku-box-row{gap:12px}.sudoku-container .sudoku-box{display:flex;flex-direction:column;flex:1;gap:6px;animation-duration:.5s;animation-name:animate-sudoku-entry;animation-iteration-count:1;animation-timing-function:cubic-bezier(.77,.14,.91,1.25);animation-fill-mode:backwards}.sudoku-container.sudoku-hidden .sudoku-box-row{visibility:hidden}.sudoku-container.sudoku-style-original{border:2px var(--color-foreground) solid;gap:0}.sudoku-container.sudoku-style-original .sudoku-box,.sudoku-container.sudoku-style-original .sudoku-box-row,.sudoku-container.sudoku-style-original .sudoku-cell-row{gap:0}.sudoku-container.sudoku-style-original .sudoku-box{border:1px var(--color-foreground) solid}@keyframes cell-swap{0%{transform:scale(1)}20%{transform:scale(.9)}to{transform:scale(1)}}@keyframes cell-loading{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}.sudoku-cell{position:relative;display:flex;align-items:center;justify-content:center;flex:1;background:var(--color-background-gradient);box-shadow:var(--color-box-shadow);border-radius:5px}.sudoku-cell.sudoku-cell-filled{animation-name:cell-swap;animation-duration:.4s}.sudoku-cell.sudoku-cell-loading{background-image:linear-gradient(135deg,#fff0,#00000026,#fff0);animation-name:cell-loading;animation-duration:1s;animation-iteration-count:infinite;background-size:200% 200%}.sudoku-cell.sudoku-cell-invalid{background:var(--color-theme-danger)}.sudoku-cell.sudoku-cell-highlight-dashed-border{border:1px var(--color-foreground-accent) dashed}.sudoku-cell.sudoku-cell-highlight-thick-border{border:2px var(--color-foreground-accent) solid}.sudoku-cell.sudoku-cell-highlight-background.highlight-primary{background:#969696b3}.sudoku-cell.sudoku-cell-highlight-background.highlight-secondary{background:#96969699}.sudoku-cell.sudoku-cell-highlight-background.highlight-color-red{background:#ff323266}.sudoku-cell.sudoku-cell-highlight-background.highlight-color-orange{background:#ff820080}.sudoku-cell.sudoku-cell-highlight-background.highlight-color-yellow{background:#f0f03280}.sudoku-cell.sudoku-cell-highlight-background.highlight-color-blue{background:#5050ff80}.sudoku-cell.sudoku-cell-highlight-background.highlight-color-green{background:#32ff3280}.sudoku-cell.hover{box-shadow:0 0 0 3px var(--color-theme-primary)}.sudoku-cell input{padding:0;margin:0;height:100%;width:100%;font-size:1em;border:none;color:var(--color-foreground);background:none;border-radius:5px;text-align:center;outline:none;z-index:1;position:relative}.sudoku-cell input::-webkit-outer-spin-button,.sudoku-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sudoku-cell input:hover:enabled{background-color:#96969645}.sudoku-cell input:focus:enabled{background-color:#96969680}.sudoku-cell input.cell-input-mode-candidates{pointer-events:none}.sudoku-cell.sudoku-cell-preview-number input{opacity:.55;background-color:#969696b3}.sudoku-cell.sudoku-cell-loading input{color:#82828233}.sudoku-cell.sudoku-style-original{box-shadow:none;border-radius:0;border:.5px var(--color-foreground) solid}.sudoku-cell.sudoku-style-original.hover{border-color:var(--color-theme-primary);box-shadow:0 0 0 3px var(--color-theme-primary);z-index:5}.sudoku-cell-candidates{padding:.2em;box-sizing:border-box;font-size:.4em;line-height:1;position:absolute;left:0;top:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;z-index:0;gap:.1em}.sudoku-cell-candidates>div{display:flex;justify-content:space-between;gap:.1em}.sudoku-cell-candidates>div>div{color:var(--color-foreground-accent);opacity:.8;width:1em;height:1em;font-size:.9em;align-items:center;text-align:center;position:relative;border-radius:50%}.sudoku-cell-candidates>div>div.candidate-highlighted-preview{border:1px var(--color-foreground) solid;color:var(--color-background)}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-primary{background-color:var(--color-foreground)}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-secondary{background-color:var(--color-foreground-accent);border-color:var(--color-foreground-accent)}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-red{background-color:#ff3232cc;border-color:#ff3232cc;color:#ffffffde}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-orange{background-color:#ff9632cc;border-color:#ff9632cc;color:#ffffffde}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-yellow{background-color:#f0f032cc;border-color:#f0f032cc;color:#000000de}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-blue{background-color:#1e1effcc;border-color:#1e1effcc;color:#ffffffde}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-green{background-color:#00be00cc;border-color:#00be00cc;color:#ffffffde}.sudoku-cell-candidates>div>div.candidate-remove-preview{border:1px var(--color-foreground) solid!important;color:var(--color-foreground)!important}.sudoku-cell-candidates>div>div.candidate-remove-preview:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--color-foreground);transform:rotate(-45deg)}.sudoku-cell-candidates>div>div.candidate-remove-preview.highlight-primary,.sudoku-cell-candidates>div>div.candidate-remove-preview.highlight-secondary{color:var(--color-background)!important;border-color:var(--color-background)!important}.sudoku-cell-candidates>div>div.candidate-remove-preview.highlight-primary:after,.sudoku-cell-candidates>div>div.candidate-remove-preview.highlight-secondary:after{background:var(--color-background)}.sudoku-cell-candidates>div>div:hover{cursor:pointer;background-color:var(--color-foreground-accent)}.sudoku-canvas{position:relative}.sudoku-canvas .sudoku-boxes-marker,.sudoku-canvas .sudoku-column-marker,.sudoku-canvas .sudoku-row-marker{position:absolute;top:0;left:0;display:flex;justify-content:space-around}.sudoku-canvas .sudoku-boxes-marker div,.sudoku-canvas .sudoku-column-marker div,.sudoku-canvas .sudoku-row-marker div{font-size:.9em;font-weight:700;color:var(--color-foreground-accent);opacity:.3;line-height:1}.sudoku-canvas .sudoku-row-marker{height:100%;width:auto;left:-1em;flex-direction:column;text-align:center}.sudoku-canvas .sudoku-row-marker div{padding-bottom:6px}.sudoku-canvas .sudoku-row-marker div:nth-child(3n):not(:last-child){padding-bottom:12px 0}.sudoku-canvas .sudoku-row-marker div:last-child{padding-bottom:0}.sudoku-canvas .sudoku-column-marker{height:auto;width:100%;top:-1em}.sudoku-canvas .sudoku-column-marker div{padding-right:6px}.sudoku-canvas .sudoku-column-marker div:nth-child(3n):not(:last-child){padding-right:12px}.sudoku-canvas .sudoku-column-marker div:last-child{padding-right:0}.sudoku-canvas .sudoku-boxes-marker{height:100%;width:100%;gap:12px;-webkit-user-select:none;user-select:none;pointer-events:none}.sudoku-canvas .sudoku-boxes-marker div{display:flex;justify-content:end;align-items:end;font-size:2em;color:var(--color-foreground);opacity:.08;line-height:1}.link{text-decoration:none;color:var(--color-foreground-accent)}.link:hover{text-decoration:underline;color:var(--color-foreground)}.like-panel{display:flex}.like-panel .like-button{margin-right:12px}.version{font-size:.8em;color:var(--color-foreground-muted);position:relative;display:inline-block;cursor:default}.version.clickable{cursor:pointer}.version.clickable:hover{text-decoration:underline}.version .version-update{position:absolute;top:-.1em;right:-.5em;display:inline-block;width:.6em;height:.6em;border-radius:50%;background-color:var(--color-theme-danger)}.tooltip-container{display:block}.tooltip{position:fixed;transform:translate(-50%,-50%);z-index:97;background-color:var(--color-background-accent);box-shadow:var(--color-box-shadow);border-radius:5px;color:var(--color-foreground);padding:.25em .5em;font-size:.6875em;max-width:200px;width:fit-content;overflow-wrap:break-word;pointer-events:none;text-align:center}.layout-row{position:relative;margin:0 0 12px;display:flex}.layout-row:last-of-type{margin-bottom:0}.layout-container{position:relative;padding:12px}@keyframes animate-card-entry{0%{transform:translateY(10px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.card{position:relative;border-radius:5px;background:radial-gradient(500px at 30px 15px,#b4b4b433,#6e6e6e33);box-shadow:var(--color-box-shadow);padding:6px 12px;width:100%;display:flex;align-items:start;justify-content:space-between;animation:.4s animate-card-entry backwards}.card .card-close{margin-left:12px}.card .card-content{font-size:.9em;flex:1}.card .card-header{border-radius:5px 5px 0 0;font-weight:700;margin:-6px -12px 6px;padding:6px 12px;display:flex;justify-content:space-between;align-items:center}.card-group{gap:12px;max-width:400px;display:flex;flex-wrap:wrap;align-items:start}.card-group:not(:empty){margin-bottom:12px}@keyframes loader-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes loader-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes progress-bar-1{0%{width:0}to{width:100%}}@keyframes progress-bar-dots{0%{transform:rotate(180deg) translate(-10px)}}.loader{position:relative;overflow:hidden;display:block;height:4px;z-index:0;background-color:transparent;width:100%}.loader .progress-bar-dots,.loader .progress-bar-1,.loader .progress-bar-2{position:absolute;left:0;bottom:0;top:0;transition:transform .2s linear 0s;width:auto}.loader .progress-bar-1,.loader .progress-bar-2{transform-origin:left center;background-color:var(--color-theme-primary)}.loader.loader-indeterminate .progress-bar-1{animation:2.1s cubic-bezier(.65,.815,.735,.395) 0s infinite normal none running loader-bar-1}.loader.loader-indeterminate .progress-bar-2{animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite normal none running loader-bar-2}.loader.loader-animation .progress-bar-1{animation:1s linear 0s progress-bar-1}.loader .progress-bar-dots{display:block;width:100%;background-image:radial-gradient(circle,#4e444b 2px,transparent 0);background-repeat:repeat-x;background-size:10px;background-position:left;transform:rotate(180deg);animation:progress-bar-dots .25s infinite linear}@keyframes loader-circle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader-circle-element{0%{stroke-dasharray:1px,200px;stroke-dashoffset:0}50%{stroke-dasharray:100px,200px;stroke-dashoffset:-15px}to{stroke-dasharray:100px,200px;stroke-dashoffset:-125px}}.loader-circle{position:relative;overflow:hidden;display:block;width:40px;height:40px;transform:rotate(-90deg);margin:12px auto}.loader-circle.loader-hidden{display:none}.loader-circle .loader-circle-element{stroke-dasharray:80px,200px;stroke-dashoffset:0;stroke:var(--color-theme-primary);stroke-width:4px}.loader-circle.loader-indeterminate{animation:1.4s linear 0s infinite normal none running loader-circle}@media (prefers-reduced-motion: reduce){.loader-circle.loader-indeterminate{animation:none}}.loader-circle.loader-indeterminate .loader-circle-element{animation:loader-circle-element 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.loader-circle.loader-indeterminate .loader-circle-element{animation:none}}.divider-wrapper{display:flex;flex-direction:row;text-transform:uppercase;border:none;font-size:.8em;line-height:1em;font-weight:400;margin:0;padding:12px 0;align-items:center;justify-content:center;vertical-align:baseline}.divider-wrapper:before,.divider-wrapper:after{content:"";border-bottom:1px solid var(--color-background-accent);flex:1 0 auto;height:0;margin:0}.divider-wrapper .divider{text-align:center;flex:.2 0 auto;margin:0;height:12px}.list .list-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5em}.list .list-item:not(:last-of-type){margin-bottom:6px}.list .list-item.list-item-column{flex-direction:column}.list .list-item .list-item-label{display:block;color:var(--color-foreground-accent);text-transform:uppercase;font-size:.8em;min-width:9em;font-weight:700;padding-right:12px}.list .list-item .list-item-content{flex:1}.cell-text{border-radius:5px;padding:.2em .3em;display:inline-block;background-color:#96969640;line-height:1;margin:-.2em .1em -.2em 0;cursor:default;font-weight:700;font-size:.95em}.cell-text:hover{box-shadow:0 0 0 3px var(--color-theme-primary);background-color:#96969666}.unit-text{border-radius:5px;padding:.2em .3em;display:inline-block;background-color:#96969640;line-height:1;margin:-.2em .1em -.2em 0;cursor:default;font-weight:700;font-size:.95em}.unit-text:hover{box-shadow:0 0 0 3px var(--color-theme-primary);background-color:#96969666}.candidates-text{display:inline-flex;gap:.1em;margin:0 .2em}.candidates-text span{display:inline-block;background-color:#96969640;line-height:1;cursor:default;font-weight:700;font-size:.95em;width:1em;height:1em;border-radius:50%;padding:.2em;margin:-.2em;text-align:center}.pattern-sudoku-container{display:flex;flex-direction:column;gap:8px;width:350px;height:350px;margin:10px auto}.pattern-sudoku-container .sudoku-box-row,.pattern-sudoku-container .sudoku-cell-row{display:flex;flex-direction:row;flex:1;gap:4px}.pattern-sudoku-container .sudoku-box-row{gap:8px}.pattern-sudoku-container .sudoku-box-row .sudoku-cell{line-break:anywhere;letter-spacing:.5px;padding:4px 2px;line-height:1;overflow:hidden;display:flex;justify-content:center;align-items:center;flex:1;background:var(--color-background-gradient);box-shadow:var(--color-box-shadow);border-radius:5px;font-family:monospace}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-1{font-size:20px}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-2{font-size:13px;justify-content:flex-start}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-3{font-size:10px;justify-content:flex-start;align-items:start}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.sudoku-cell-highlighted{background:#828282b3}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.hover{box-shadow:0 0 0 3px var(--color-theme-primary)}.pattern-sudoku-container .sudoku-box{display:flex;flex-direction:column;flex:1;gap:4px}.game-countdown{color:var(--color-foreground-accent);position:absolute;top:0;left:0;width:600px;height:600px;font-size:400px;place-content:center;display:flex;line-height:1em;place-items:center}@media screen and ((max-width: 650px) or (max-height: 730px)){.game-countdown{width:600px;height:600px;font-size:400px}}@media screen and ((max-width: 645px) or (max-height: 725px)){.game-countdown{width:595px;height:595px;font-size:396.6666666667px}}@media screen and ((max-width: 640px) or (max-height: 720px)){.game-countdown{width:590px;height:590px;font-size:393.3333333333px}}@media screen and ((max-width: 635px) or (max-height: 715px)){.game-countdown{width:585px;height:585px;font-size:390px}}@media screen and ((max-width: 630px) or (max-height: 710px)){.game-countdown{width:580px;height:580px;font-size:386.6666666667px}}@media screen and ((max-width: 625px) or (max-height: 705px)){.game-countdown{width:575px;height:575px;font-size:383.3333333333px}}@media screen and ((max-width: 620px) or (max-height: 700px)){.game-countdown{width:570px;height:570px;font-size:380px}}@media screen and ((max-width: 615px) or (max-height: 695px)){.game-countdown{width:565px;height:565px;font-size:376.6666666667px}}@media screen and ((max-width: 610px) or (max-height: 690px)){.game-countdown{width:560px;height:560px;font-size:373.3333333333px}}@media screen and ((max-width: 605px) or (max-height: 685px)){.game-countdown{width:555px;height:555px;font-size:370px}}@media screen and ((max-width: 600px) or (max-height: 680px)){.game-countdown{width:550px;height:550px;font-size:366.6666666667px}}@media screen and ((max-width: 595px) or (max-height: 675px)){.game-countdown{width:545px;height:545px;font-size:363.3333333333px}}@media screen and ((max-width: 590px) or (max-height: 670px)){.game-countdown{width:540px;height:540px;font-size:360px}}@media screen and ((max-width: 585px) or (max-height: 665px)){.game-countdown{width:535px;height:535px;font-size:356.6666666667px}}@media screen and ((max-width: 580px) or (max-height: 660px)){.game-countdown{width:530px;height:530px;font-size:353.3333333333px}}@media screen and ((max-width: 575px) or (max-height: 655px)){.game-countdown{width:525px;height:525px;font-size:350px}}@media screen and ((max-width: 570px) or (max-height: 650px)){.game-countdown{width:520px;height:520px;font-size:346.6666666667px}}@media screen and ((max-width: 565px) or (max-height: 645px)){.game-countdown{width:515px;height:515px;font-size:343.3333333333px}}@media screen and ((max-width: 560px) or (max-height: 640px)){.game-countdown{width:510px;height:510px;font-size:340px}}@media screen and ((max-width: 555px) or (max-height: 635px)){.game-countdown{width:505px;height:505px;font-size:336.6666666667px}}@media screen and ((max-width: 550px) or (max-height: 630px)){.game-countdown{width:500px;height:500px;font-size:333.3333333333px}}@media screen and ((max-width: 545px) or (max-height: 625px)){.game-countdown{width:495px;height:495px;font-size:330px}}@media screen and ((max-width: 540px) or (max-height: 620px)){.game-countdown{width:490px;height:490px;font-size:326.6666666667px}}@media screen and ((max-width: 535px) or (max-height: 615px)){.game-countdown{width:485px;height:485px;font-size:323.3333333333px}}@media screen and ((max-width: 530px) or (max-height: 610px)){.game-countdown{width:480px;height:480px;font-size:320px}}@media screen and ((max-width: 525px) or (max-height: 605px)){.game-countdown{width:475px;height:475px;font-size:316.6666666667px}}@media screen and ((max-width: 520px) or (max-height: 600px)){.game-countdown{width:470px;height:470px;font-size:313.3333333333px}}@media screen and ((max-width: 515px) or (max-height: 595px)){.game-countdown{width:465px;height:465px;font-size:310px}}@media screen and ((max-width: 510px) or (max-height: 590px)){.game-countdown{width:460px;height:460px;font-size:306.6666666667px}}@media screen and ((max-width: 505px) or (max-height: 585px)){.game-countdown{width:455px;height:455px;font-size:303.3333333333px}}@media screen and ((max-width: 500px) or (max-height: 580px)){.game-countdown{width:450px;height:450px;font-size:300px}}@media screen and ((max-width: 495px) or (max-height: 575px)){.game-countdown{width:445px;height:445px;font-size:296.6666666667px}}@media screen and ((max-width: 490px) or (max-height: 570px)){.game-countdown{width:440px;height:440px;font-size:293.3333333333px}}@media screen and ((max-width: 485px) or (max-height: 565px)){.game-countdown{width:435px;height:435px;font-size:290px}}@media screen and ((max-width: 480px) or (max-height: 560px)){.game-countdown{width:430px;height:430px;font-size:286.6666666667px}}@media screen and ((max-width: 475px) or (max-height: 555px)){.game-countdown{width:425px;height:425px;font-size:283.3333333333px}}@media screen and ((max-width: 470px) or (max-height: 550px)){.game-countdown{width:420px;height:420px;font-size:280px}}@media screen and ((max-width: 465px) or (max-height: 545px)){.game-countdown{width:415px;height:415px;font-size:276.6666666667px}}@media screen and ((max-width: 460px) or (max-height: 540px)){.game-countdown{width:410px;height:410px;font-size:273.3333333333px}}@media screen and ((max-width: 455px) or (max-height: 535px)){.game-countdown{width:405px;height:405px;font-size:270px}}@media screen and ((max-width: 450px) or (max-height: 530px)){.game-countdown{width:400px;height:400px;font-size:266.6666666667px}}@media screen and ((max-width: 445px) or (max-height: 525px)){.game-countdown{width:395px;height:395px;font-size:263.3333333333px}}@media screen and ((max-width: 440px) or (max-height: 520px)){.game-countdown{width:390px;height:390px;font-size:260px}}@media screen and ((max-width: 435px) or (max-height: 515px)){.game-countdown{width:385px;height:385px;font-size:256.6666666667px}}@media screen and ((max-width: 430px) or (max-height: 510px)){.game-countdown{width:380px;height:380px;font-size:253.3333333333px}}@media screen and ((max-width: 425px) or (max-height: 505px)){.game-countdown{width:375px;height:375px;font-size:250px}}@media screen and ((max-width: 420px) or (max-height: 500px)){.game-countdown{width:370px;height:370px;font-size:246.6666666667px}}@media screen and ((max-width: 415px) or (max-height: 495px)){.game-countdown{width:365px;height:365px;font-size:243.3333333333px}}@media screen and ((max-width: 410px) or (max-height: 490px)){.game-countdown{width:360px;height:360px;font-size:240px}}@media screen and ((max-width: 405px) or (max-height: 485px)){.game-countdown{width:355px;height:355px;font-size:236.6666666667px}}.stop-watch{display:flex;gap:12px}.stop-watch>span{font-size:2.5em;line-height:1em}.stop-watch>span:first-of-type{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:center;padding:.15em .2em 0 0;color:var(--color-foreground-accent)}.stop-watch>span>span{color:var(--color-foreground-accent);margin-left:4px;font-size:.5em}.checkbox{display:flex;align-items:center;cursor:pointer;font-size:1em}.checkbox.input-sm{font-size:.9em}.checkbox.input-stretched{flex:1}.checkbox::placeholder{color:var(--color-foreground-accent)}.checkbox span{-webkit-user-select:none;user-select:none}.checkbox .checkbox-icon{cursor:inherit;min-width:1.2em;max-width:1.2em;min-height:1.2em;max-height:1.2em;border:.15em solid rgba(130,130,130,.3);outline:none;border-radius:5px;margin:0 12px 0 0;display:inline-flex;justify-content:center;align-items:center}.checkbox.input-sm .checkbox-icon{margin:0 8.4px 0 0}.checkbox:hover,.checkbox:focus{outline:none}.checkbox:hover .checkbox-icon,.checkbox:focus .checkbox-icon{background-color:#82828280;border-color:#82828280}.checkbox:active .checkbox-icon{border-color:#828282b3}.checkbox.checkbox-checked .checkbox-icon{border-color:#8282824d;background-color:#8282824d}.checkbox.checkbox-checked:hover .checkbox-icon,.checkbox.checkbox-checked:focus .checkbox-icon{background-color:#82828280}.checkbox.checkbox-checked:active .checkbox-icon{background-color:#828282b3}.checkbox input{display:none}.sudoku-controls{padding-top:12px;gap:0 12px;display:flex;flex-direction:column}@media screen and (max-width: 768px){.sudoku-controls{flex-direction:row;flex-wrap:wrap}}.form-input{display:flex;gap:12px}.form-input:not(:last-of-type){margin-bottom:12px}.ident-icon-placeholder,.ident-icon{border-radius:50%;overflow:hidden;opacity:.9;border:1px rgba(125,125,125,.7) dashed}.ident-icon-placeholder svg,.ident-icon svg{display:block}.ident-icon-clickable:hover{background-color:#82828280;border-style:solid;cursor:pointer}.ident-icon{background-color:var(--color-foreground);box-shadow:var(--color-box-shadow);border-style:solid}.collaboration-sessions{display:flex;gap:8px 5px;flex-wrap:wrap;margin-bottom:1em;position:relative}.collaboration-sessions .divider{display:block;background-color:var(--color-foreground-accent);width:1px;margin:5px 2px}.menu{display:flex;z-index:88;gap:3px}.menu .menu-item,.menu .sub-menu-item{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.menu .menu-item.button-sm,.menu .button-sm.sub-menu-item{padding:.35em .7em;font-size:.9em}.menu .menu-item.button-inline,.menu .button-inline.sub-menu-item{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.menu .menu-item[disabled],.menu [disabled].sub-menu-item{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.menu .menu-item,.menu .sub-menu-item{background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.menu .menu-item:not([disabled]):hover,.menu .sub-menu-item:not([disabled]):hover,.menu .menu-item:not([disabled]):focus,.menu .sub-menu-item:not([disabled]):focus{background-color:#82828280}.menu .menu-item:not([disabled]):active,.menu .sub-menu-item:not([disabled]):active{background-color:#828282b3}.menu .menu-item,.menu .sub-menu-item{display:flex;gap:12px;align-items:center;line-height:1em}.menu .menu-item .menu-icon,.menu .sub-menu-item .menu-icon{min-width:1.3em;text-align:center}.menu.menu-text-below .menu-item,.menu.menu-text-below .sub-menu-item{flex-direction:column;align-content:center;justify-content:start}.menu.menu-text-below .menu-item .menu-text,.menu.menu-text-below .sub-menu-item .menu-text{font-size:.7em;line-height:.7em}.menu.menu-horizontal{flex-direction:row}.menu.menu-horizontal .menu-item,.menu.menu-horizontal .sub-menu-item{padding:.5em .75em}.menu.menu-vertical{flex-direction:column}.menu.menu-vertical .menu-item,.menu.menu-vertical .sub-menu-item{padding:.5em}.menu .sub-menu-item{font-size:.85em}.menu .sub-menu-item .menu-text{padding-left:1em;margin-left:1em}.menu.menu-collapsed .menu-item .menu-text,.menu.menu-collapsed .sub-menu-item .menu-text,.menu.menu-collapsed .sub-menu-item{display:none}@keyframes layout-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes navbar-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.app-layout{display:flex;justify-content:space-between;flex-direction:column;max-width:1450px;width:100%;min-height:100vh;margin:auto}.app-layout .app-main{display:flex;flex-wrap:nowrap;max-width:100%;flex:1;justify-content:space-between}@media screen and (max-width: 768px){.app-layout .app-main{flex-direction:column;margin-top:0}}.app-layout .app-main .app-content{max-width:fit-content;padding:1em}@media screen and (max-width: 768px){.app-layout .app-main .app-content{max-width:unset}}.app-layout .app-main .app-sidebar{flex:1;padding:1em;display:flex;flex-direction:column;align-items:end;animation:.4s 1.3s layout-fade-in ease-in-out backwards}@media screen and (max-width: 768px){.app-layout .app-main .app-sidebar{align-items:center}}.app-layout .app-main .app-sidebar>div{display:flex;flex-direction:column;align-items:start}.app-layout .app-footer{display:flex;justify-content:space-between;padding:1em;text-align:right;gap:1em;align-items:center;animation:.4s 1.3s layout-fade-in ease-in-out backwards}@media screen and (max-width: 768px){.app-layout .app-footer{flex-direction:column}}.app-menu{flex:1;padding:1em;animation:.4s 1.3s navbar-fade-in ease-in-out backwards}@media screen and (max-width: 1400px){.app-menu{padding:1em 1em 1em 0}}.app-menu .app-menu-container{background:radial-gradient(500px at 30px 15px,#b4b4b44d,#6e6e6e4d);box-shadow:var(--color-box-shadow);transition:background-color .3s;padding:.25em}.app-menu.app-menu-top{padding:0;flex:none;position:sticky;top:0;left:0;z-index:88;background-color:var(--color-background);max-width:100%}.app-menu.app-menu-left .app-menu-container{width:fit-content;border-radius:5px}@media screen and (max-width: 1400px){.app-menu.app-menu-left .app-menu-container{border-radius:0 5px 5px 0}}.key-shortcut{font-family:monospace;margin:0 .5em;display:inline-block;padding:.1em .2em;transform:translateY(-.05em);line-height:1em;border:1px solid var(--color-foreground-muted);background-color:#9696961a;border-radius:5px}.key-shortcut span:after{content:"+";color:var(--color-foreground-muted)}@keyframes snackbar-entry{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.snackbar{position:fixed;top:24px;right:24px;margin-left:24px;z-index:100;color:var(--color-foreground);background-color:var(--color-background-light);box-shadow:var(--color-box-shadow);border-radius:5px;min-width:250px;max-width:350px;overflow:hidden;animation-name:snackbar-entry;animation-timing-function:ease-out;animation-duration:.1s}.snackbar .snackbar-content{display:flex;align-items:center;padding:12px}.snackbar .snackbar-content .snackbar-text{flex:1;padding:0 12px}.modal{position:relative;margin:auto;max-width:98%;max-height:98%;width:fit-content;min-height:100px;min-width:250px;background-color:var(--color-background);border-radius:5px;box-shadow:var(--color-box-shadow);z-index:95;overflow:auto}.modal .modal-header{display:flex;align-items:center;padding:.5em;background-color:#82828233}.modal .modal-header .modal-heading{padding:0 .5em;flex:1}.modal .modal-content{padding:1em}.modal .modal-actions{padding:.5em 1em .75em;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;background-color:var(--color-background);border-radius:0 0 5px 5px;position:sticky;bottom:0;z-index:30}.modal .modal-actions:empty{display:none}.backdrop-container{display:flex;flex-direction:column;overflow:auto;height:100vh;min-height:fit-content;width:100%;position:fixed;top:0;left:0;z-index:90}.backdrop-container .backdrop{position:absolute;top:0;left:0;background:var(--color-backdrop);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:100%;width:100%;z-index:90}.select{position:relative;display:block;padding:.5em 1em;margin:0;overflow:hidden;border-width:0;outline:none;border-radius:5px;background-color:var(--color-background-accent);transition:background-color .3s,box-shadow .3s;font-size:1em;cursor:pointer;color:var(--color-foreground);appearance:none}.select option{background-color:var(--color-background-accent)}.select.input-sm{font-size:.9em}.select.input-stretched{flex:1}.select::placeholder{color:var(--color-foreground-accent)}.select:hover{background-color:#82828280}.select:active,.select:focus{background-color:#828282b3;box-shadow:var(--color-box-shadow)}.text-heading{text-align:left;margin-bottom:1em}.camera{max-width:600px}.camera video{max-width:100%;margin-bottom:12px;border-radius:5px}.output{max-width:600px;margin-bottom:12px}.output img{max-width:100%;border-radius:5px}.preview{list-style:none;padding:0}.preview .preview-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;min-width:300px}.preview .preview-item .preview-img{width:80px;height:80px;background-size:cover;background-position:center;background-repeat:no-repeat;margin:0 12px 0 0;display:block;border-radius:5px}.preview .preview-item .preview-meta{display:flex;flex-direction:column;align-items:flex-start}.preview .preview-item .preview-meta div:nth-child(2) span{font-size:.8em}@keyframes shine-lines{0%{background-position:200% 0}to{background-position:0 0}}.scanner-stages{display:flex;align-items:center;gap:12px;padding:0;flex-wrap:wrap}.scanner-stages .scanner-stage-container{max-width:250px;height:250px;display:flex;align-items:center;justify-content:center;border-radius:5px}.scanner-stages .scanner-stage-container:empty{width:250px;background-image:linear-gradient(90deg,#8282824d 60%,#82828280,#8282824d);background-size:200% 100%;animation:shine-lines 1.6s infinite;background-color:var(--color-background-light)}.scanner-stages .scanner-stage-img{max-width:100%;max-height:100%;border-radius:5px}.textarea{border:.15em solid rgba(130,130,130,.3);border-radius:5px;padding:.5em .75em;line-height:1em;font-family:inherit;font-size:inherit;background-color:var(--color-background-accent);color:var(--color-foreground)}.textarea.input-sm{font-size:.9em}.textarea.input-stretched{flex:1}.textarea::placeholder{color:var(--color-foreground-accent)}.textarea:hover{border-color:#82828280}.textarea:active,.textarea:focus{outline:none;border-color:#828282b3;box-shadow:0 1px 2px #0009}.alert{align-items:flex-start;border:.8px solid var(--color-foreground-accent);border-radius:5px;background-color:#8282820d;color:var(--color-foreground-accent);display:flex;gap:.25em 1.15em;line-height:1.3em;font-size:.9em;padding:1.15em 1.25em;max-width:600px}.share-sudoku .share-sudoku-qr{padding:1em;border-radius:5px;box-shadow:var(--color-box-shadow);background-color:#fff;width:fit-content;text-decoration:none;display:inline-block;line-height:0;margin-bottom:1em}.share-sudoku .share-sudoku-code{margin-top:1em}.share-sudoku .share-sudoku-code div{line-height:1.2em;white-space:pre-line;margin:.3em auto 2em;font-family:monospace,monospace;color:var(--color-foreground-accent)}.primary-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.primary-button.button-sm{padding:.35em .7em;font-size:.9em}.primary-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.primary-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.primary-button{box-shadow:0 2px 4px #0009;background-color:var(--color-theme-primary);color:#ecf0f1;transition:background-color .3s,box-shadow .3s}.primary-button:not([disabled]):hover,.primary-button:not([disabled]):focus{background-color:#20699c}.primary-button:not([disabled]):active{background-color:#044786;box-shadow:0 1px 2px #0009}.flat-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.flat-button.button-sm{padding:.35em .7em;font-size:.9em}.flat-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.flat-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.flat-button{box-shadow:0 2px 4px #0000;background-color:#8282824d;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.flat-button:not([disabled]):hover{box-shadow:0 2px 4px #000000b3}.flat-button:not([disabled]):hover,.flat-button:not([disabled]):focus{background-color:#82828280}.flat-button:not([disabled]):active{background-color:#828282b3;box-shadow:0 1px 2px #0009}.text-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.text-button.button-sm{padding:.35em .7em;font-size:.9em}.text-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.text-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.text-button{background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.text-button:not([disabled]):hover,.text-button:not([disabled]):focus{background-color:#82828280}.text-button:not([disabled]):active{background-color:#828282b3}.outline-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.outline-button.button-sm{padding:.35em .7em;font-size:.9em}.outline-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.outline-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.outline-button{border:1px var(--color-foreground-muted) solid;background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.outline-button:not([disabled]):hover,.outline-button:not([disabled]):focus{background-color:#82828280;border-color:var(--color-foreground)}.outline-button:not([disabled]):active{background-color:#828282b3;border-color:var(--color-foreground)}.primary-icon-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.primary-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.primary-icon-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.primary-icon-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.primary-icon-button{padding:.5em .75em}.primary-icon-button.button-sm{padding:.35em .5em}.primary-icon-button svg.svg-inline--fa{margin:0 -.25em}.primary-icon-button .button-text:first-child{margin-right:.6em}.primary-icon-button .button-text:last-child{margin-left:.6em}.primary-icon-button{box-shadow:0 2px 4px #0009;background-color:var(--color-theme-primary);color:#ecf0f1;transition:background-color .3s,box-shadow .3s}.primary-icon-button:not([disabled]):hover,.primary-icon-button:not([disabled]):focus{background-color:#20699c}.primary-icon-button:not([disabled]):active{background-color:#044786;box-shadow:0 1px 2px #0009}.flat-icon-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.flat-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.flat-icon-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.flat-icon-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.flat-icon-button{padding:.5em .75em}.flat-icon-button.button-sm{padding:.35em .5em}.flat-icon-button svg.svg-inline--fa{margin:0 -.25em}.flat-icon-button .button-text:first-child{margin-right:.6em}.flat-icon-button .button-text:last-child{margin-left:.6em}.flat-icon-button{box-shadow:0 2px 4px #0000;background-color:#8282824d;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.flat-icon-button:not([disabled]):hover{box-shadow:0 2px 4px #000000b3}.flat-icon-button:not([disabled]):hover,.flat-icon-button:not([disabled]):focus{background-color:#82828280}.flat-icon-button:not([disabled]):active{background-color:#828282b3;box-shadow:0 1px 2px #0009}.text-icon-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.text-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.text-icon-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.text-icon-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.text-icon-button{padding:.5em .75em}.text-icon-button.button-sm{padding:.35em .5em}.text-icon-button svg.svg-inline--fa{margin:0 -.25em}.text-icon-button .button-text:first-child{margin-right:.6em}.text-icon-button .button-text:last-child{margin-left:.6em}.text-icon-button{background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.text-icon-button:not([disabled]):hover,.text-icon-button:not([disabled]):focus{background-color:#82828280}.text-icon-button:not([disabled]):active{background-color:#828282b3}.outline-icon-button{position:relative;display:block;padding:.5em 1em;overflow:hidden;outline:none;border-radius:5px;border:1px transparent solid;font-size:1em;cursor:pointer;white-space:nowrap}.outline-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.outline-icon-button.button-inline{display:inline-block;margin:.1em .25em;padding:.085em .425em;font-size:.83em}.outline-icon-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.outline-icon-button{padding:.5em .75em}.outline-icon-button.button-sm{padding:.35em .5em}.outline-icon-button svg.svg-inline--fa{margin:0 -.25em}.outline-icon-button .button-text:first-child{margin-right:.6em}.outline-icon-button .button-text:last-child{margin-left:.6em}.outline-icon-button{border:1px var(--color-foreground-muted) solid;background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s}.outline-icon-button:not([disabled]):hover,.outline-icon-button:not([disabled]):focus{background-color:#82828280;border-color:var(--color-foreground)}.outline-icon-button:not([disabled]):active{background-color:#828282b3;border-color:var(--color-foreground)}.button-group{display:flex;align-items:start;gap:12px;position:relative}.button-group.button-group-right{justify-content:flex-end}.button-group.button-group-center{justify-content:center}.tabs .tab-labels{display:flex;border-bottom:var(--color-foreground-muted) 1px solid;margin-bottom:12px;gap:4px;box-shadow:0 3px 3px -2px #0000004d}.tabs .tab-labels button{position:relative;display:block;padding:.5em 1em;margin:0;overflow:hidden;outline:none;font-size:1em;cursor:pointer;white-space:nowrap;border:none;border-bottom:4px transparent solid;transform:translateY(2px);background-color:transparent;color:var(--color-foreground);transition:background-color .3s,box-shadow .3s;border-top-left-radius:5px;border-top-right-radius:5px}.tabs .tab-labels button:hover{background-color:#82828280;border-bottom-color:var(--color-theme-primary)}.tabs .tab-labels button.active,.tabs .tab-labels button:focus{border-bottom-color:var(--color-theme-primary)}.sudoku-image{margin:1em;border-radius:5px;box-shadow:var(--color-box-shadow)}.badge{display:inline-flex;white-space:nowrap;place-content:center;align-items:center;line-height:1;z-index:10;background-color:var(--color-background-light);color:var(--color-foreground);text-transform:uppercase;box-sizing:border-box;font-weight:700;font-size:12px;min-width:24px;height:24px;padding:0 6px;border-radius:12px}.badge.badge-sm{font-size:12px;min-width:24px;height:24px;padding:0 6px;border-radius:12px}.badge.badge-md{font-size:15px;min-width:30px;height:30px;padding:0 7.5px;border-radius:15px}.badge.badge-lg{font-size:18px;min-width:36px;height:36px;padding:0 9px;border-radius:18px}.badge.badge-floating{box-shadow:var(--color-box-shadow)}.badge-container{position:relative;width:fit-content}.badge-container .badge{position:absolute;top:0;transform-origin:100% 0}.badge-container.badge-top-left .badge{left:0;transform:scale(1) translate(-50%,-50%)}.badge-container.badge-top-right .badge{right:0;transform:scale(1) translate(50%,-50%)}@keyframes status-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes status-icon-loading-circle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes status-icon-loading-circle-element{0%{stroke-dasharray:1px,200px;stroke-dashoffset:0}50%{stroke-dasharray:100px,200px;stroke-dashoffset:-15px}to{stroke-dasharray:100px,200px;stroke-dashoffset:-125px}}.status-icon{display:inline-flex;white-space:nowrap;place-content:center;align-items:center;line-height:1;z-index:10;background-color:var(--color-background-light);color:var(--color-foreground);text-transform:uppercase;box-sizing:border-box;font-weight:700;font-size:12px;width:24px;height:24px;padding:0 6px;border-radius:12px}.status-icon.status-icon-pulse{animation:status-icon-pulse 2.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.status-icon.status-icon-pulse{animation:none}}.status-icon.status-icon-loading{position:relative}.status-icon.status-icon-loading .status-icon-loader-circle{position:absolute;display:block;width:100%;height:100%;top:0;left:0;animation:1.4s linear 0s infinite normal none running status-icon-loading-circle}@media (prefers-reduced-motion: reduce){.status-icon.status-icon-loading .status-icon-loader-circle{animation:none}}.status-icon.status-icon-loading .status-icon-loader-circle .status-icon-loader-circle-element{stroke:var(--color-theme-primary);stroke-width:4px;animation:status-icon-loading-circle-element 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.status-icon.status-icon-loading .status-icon-loader-circle .status-icon-loader-circle-element{animation:none}}.status-icon.status-icon-sm{font-size:12px;width:24px;height:24px;padding:0 6px;border-radius:12px}.status-icon.status-icon-md{font-size:15px;width:30px;height:30px;padding:0 7.5px;border-radius:15px}.status-icon.status-icon-lg{font-size:18px;width:36px;height:36px;padding:0 9px;border-radius:18px}.time-format{font-family:Consolas,Monaco,monospace;font-size:.95em}.share-session{padding:1em;border-radius:5px;box-shadow:var(--color-box-shadow);background-color:#fff;width:fit-content;text-decoration:none;display:inline-block;line-height:0}.input{border:.15em solid rgba(130,130,130,.3);border-radius:5px;padding:.4em .75em;line-height:1em;font-size:1em;background-color:var(--color-background-accent)}.input.input-sm{font-size:.9em}.input.input-stretched{flex:1}.input::placeholder{color:var(--color-foreground-accent)}.input:hover{border-color:#82828280}.input:active,.input:focus{outline:none;border-color:#828282b3;box-shadow:0 1px 2px #0009}.label{font-size:.8em;color:var(--color-foreground-accent);text-transform:uppercase;line-height:1;-webkit-user-select:none;user-select:none}:root{--color-theme-primary: #297eb6;--color-theme-danger: rgb(153, 28, 28);--color-theme-danger-accent: rgb(237, 93, 93);--color-theme-success: #088508;--color-theme-success-accent: #03a903;--color-background: #242424;--color-background-accent: #555555;--color-background-light: #303030;--color-background-gradient: radial-gradient(800px at 30px 15px, rgba(80, 80, 80), rgba(30, 30, 30));--color-backdrop: rgba(70, 70, 70, .5);--color-foreground: rgba(255, 255, 255, .87);--color-foreground-accent: rgba(255, 255, 255, .65);--color-foreground-muted: #666666;--color-box-shadow: 0 1px 2px 1px rgba(0, 0, 0, .3)}@media (prefers-color-scheme: light){:root{--color-theme-primary: #0E5585;--color-theme-danger: rgb(237, 93, 93);--color-theme-danger-accent: rgb(153, 28, 28);--color-theme-success: #03a903;--color-theme-success-accent: #f5f5f5;--color-background: #f6f6f6;--color-background-light: #eeeeee;--color-background-accent: #cccccc;--color-background-dark: #ffffff;--color-background-gradient: radial-gradient(800px at 30px 15px, rgba(210, 210, 210), rgba(240, 240, 240));--color-backdrop: rgba(150, 150, 150, .5);--color-foreground: rgb(31, 32, 35);--color-foreground-accent: rgba(31, 32, 35, .65);--color-foreground-muted: #dddddd;--color-box-shadow: 0 1px 2px 0px rgba(0, 0, 0, .2)}}:root.theme-light{--color-theme-primary: #0E5585;--color-theme-danger: rgb(237, 93, 93);--color-theme-danger-accent: rgb(153, 28, 28);--color-theme-success: #03a903;--color-theme-success-accent: #f5f5f5;--color-background: #f6f6f6;--color-background-light: #eeeeee;--color-background-accent: #cccccc;--color-background-dark: #ffffff;--color-background-gradient: radial-gradient(800px at 30px 15px, rgba(210, 210, 210), rgba(240, 240, 240));--color-backdrop: rgba(150, 150, 150, .5);--color-foreground: rgb(31, 32, 35);--color-foreground-accent: rgba(31, 32, 35, .65);--color-foreground-muted: #dddddd;--color-box-shadow: 0 1px 2px 0px rgba(0, 0, 0, .2)}:root.theme-dark{--color-theme-primary: #297eb6;--color-theme-danger: rgb(153, 28, 28);--color-theme-danger-accent: rgb(237, 93, 93);--color-theme-success: #088508;--color-theme-success-accent: #03a903;--color-background: #242424;--color-background-accent: #555555;--color-background-light: #303030;--color-background-gradient: radial-gradient(800px at 30px 15px, rgba(80, 80, 80), rgba(30, 30, 30));--color-backdrop: rgba(70, 70, 70, .5);--color-foreground: rgba(255, 255, 255, .87);--color-foreground-accent: rgba(255, 255, 255, .65);--color-foreground-muted: #666666;--color-box-shadow: 0 1px 2px 1px rgba(0, 0, 0, .3)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:transparent;border:none}::-webkit-scrollbar-thumb{background:var(--color-background-accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-background-accent)}::placeholder,.form-control::placeholder{color:#ccc;font-style:italic;opacity:1}::-webkit-input-placeholder,.form-control::-webkit-input-placeholder{color:#ccc;font-style:italic;opacity:1}:-moz-placeholder,.form-control:-moz-placeholder{color:#ccc;font-style:italic;opacity:1}::-moz-placeholder,.form-control::-moz-placeholder{color:#ccc;font-style:italic;opacity:1}:-ms-input-placeholder,.form-control:-ms-input-placeholder{color:#ccc;font-style:italic;opacity:1}::-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#ccc;font-style:italic;opacity:1}:root{font-family:Arial,sans-serif;letter-spacing:.3px;line-height:1.5;font-weight:400;color:var(--color-foreground);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;height:100%}p{margin-top:0}
