@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{flex-direction:column;gap:12px;width:600px;height:600px;margin:0 auto;font-size:2.5em;display:flex}@media screen and ((width<=650px) or (height<=730px)){.sudoku-container{width:600px;height:600px;font-size:2.5em}}@media screen and ((width<=645px) or (height<=725px)){.sudoku-container{width:595px;height:595px;font-size:2.47917em}}@media screen and ((width<=640px) or (height<=720px)){.sudoku-container{width:590px;height:590px;font-size:2.45833em}}@media screen and ((width<=635px) or (height<=715px)){.sudoku-container{width:585px;height:585px;font-size:2.4375em}}@media screen and ((width<=630px) or (height<=710px)){.sudoku-container{width:580px;height:580px;font-size:2.41667em}}@media screen and ((width<=625px) or (height<=705px)){.sudoku-container{width:575px;height:575px;font-size:2.39583em}}@media screen and ((width<=620px) or (height<=700px)){.sudoku-container{width:570px;height:570px;font-size:2.375em}}@media screen and ((width<=615px) or (height<=695px)){.sudoku-container{width:565px;height:565px;font-size:2.35417em}}@media screen and ((width<=610px) or (height<=690px)){.sudoku-container{width:560px;height:560px;font-size:2.33333em}}@media screen and ((width<=605px) or (height<=685px)){.sudoku-container{width:555px;height:555px;font-size:2.3125em}}@media screen and ((width<=600px) or (height<=680px)){.sudoku-container{width:550px;height:550px;font-size:2.29167em}}@media screen and ((width<=595px) or (height<=675px)){.sudoku-container{width:545px;height:545px;font-size:2.27083em}}@media screen and ((width<=590px) or (height<=670px)){.sudoku-container{width:540px;height:540px;font-size:2.25em}}@media screen and ((width<=585px) or (height<=665px)){.sudoku-container{width:535px;height:535px;font-size:2.22917em}}@media screen and ((width<=580px) or (height<=660px)){.sudoku-container{width:530px;height:530px;font-size:2.20833em}}@media screen and ((width<=575px) or (height<=655px)){.sudoku-container{width:525px;height:525px;font-size:2.1875em}}@media screen and ((width<=570px) or (height<=650px)){.sudoku-container{width:520px;height:520px;font-size:2.16667em}}@media screen and ((width<=565px) or (height<=645px)){.sudoku-container{width:515px;height:515px;font-size:2.14583em}}@media screen and ((width<=560px) or (height<=640px)){.sudoku-container{width:510px;height:510px;font-size:2.125em}}@media screen and ((width<=555px) or (height<=635px)){.sudoku-container{width:505px;height:505px;font-size:2.10417em}}@media screen and ((width<=550px) or (height<=630px)){.sudoku-container{width:500px;height:500px;font-size:2.08333em}}@media screen and ((width<=545px) or (height<=625px)){.sudoku-container{width:495px;height:495px;font-size:2.0625em}}@media screen and ((width<=540px) or (height<=620px)){.sudoku-container{width:490px;height:490px;font-size:2.04167em}}@media screen and ((width<=535px) or (height<=615px)){.sudoku-container{width:485px;height:485px;font-size:2.02083em}}@media screen and ((width<=530px) or (height<=610px)){.sudoku-container{width:480px;height:480px;font-size:2em}}@media screen and ((width<=525px) or (height<=605px)){.sudoku-container{width:475px;height:475px;font-size:1.97917em}}@media screen and ((width<=520px) or (height<=600px)){.sudoku-container{width:470px;height:470px;font-size:1.95833em}}@media screen and ((width<=515px) or (height<=595px)){.sudoku-container{width:465px;height:465px;font-size:1.9375em}}@media screen and ((width<=510px) or (height<=590px)){.sudoku-container{width:460px;height:460px;font-size:1.91667em}}@media screen and ((width<=505px) or (height<=585px)){.sudoku-container{width:455px;height:455px;font-size:1.89583em}}@media screen and ((width<=500px) or (height<=580px)){.sudoku-container{width:450px;height:450px;font-size:1.875em}}@media screen and ((width<=495px) or (height<=575px)){.sudoku-container{width:445px;height:445px;font-size:1.85417em}}@media screen and ((width<=490px) or (height<=570px)){.sudoku-container{width:440px;height:440px;font-size:1.83333em}}@media screen and ((width<=485px) or (height<=565px)){.sudoku-container{width:435px;height:435px;font-size:1.8125em}}@media screen and ((width<=480px) or (height<=560px)){.sudoku-container{width:430px;height:430px;font-size:1.79167em}}@media screen and ((width<=475px) or (height<=555px)){.sudoku-container{width:425px;height:425px;font-size:1.77083em}}@media screen and ((width<=470px) or (height<=550px)){.sudoku-container{width:420px;height:420px;font-size:1.75em}}@media screen and ((width<=465px) or (height<=545px)){.sudoku-container{width:415px;height:415px;font-size:1.72917em}}@media screen and ((width<=460px) or (height<=540px)){.sudoku-container{width:410px;height:410px;font-size:1.70833em}}@media screen and ((width<=455px) or (height<=535px)){.sudoku-container{width:405px;height:405px;font-size:1.6875em}}@media screen and ((width<=450px) or (height<=530px)){.sudoku-container{width:400px;height:400px;font-size:1.66667em}}@media screen and ((width<=445px) or (height<=525px)){.sudoku-container{width:395px;height:395px;font-size:1.64583em}}@media screen and ((width<=440px) or (height<=520px)){.sudoku-container{width:390px;height:390px;font-size:1.625em}}@media screen and ((width<=435px) or (height<=515px)){.sudoku-container{width:385px;height:385px;font-size:1.60417em}}@media screen and ((width<=430px) or (height<=510px)){.sudoku-container{width:380px;height:380px;font-size:1.58333em}}@media screen and ((width<=425px) or (height<=505px)){.sudoku-container{width:375px;height:375px;font-size:1.5625em}}@media screen and ((width<=420px) or (height<=500px)){.sudoku-container{width:370px;height:370px;font-size:1.54167em}}@media screen and ((width<=415px) or (height<=495px)){.sudoku-container{width:365px;height:365px;font-size:1.52083em}}@media screen and ((width<=410px) or (height<=490px)){.sudoku-container{width:360px;height:360px;font-size:1.5em}}@media screen and ((width<=405px) or (height<=485px)){.sudoku-container{width:355px;height:355px;font-size:1.47917em}}.sudoku-container .sudoku-box-row,.sudoku-container .sudoku-cell-row{flex-direction:row;flex:1;gap:6px;display:flex}.sudoku-container .sudoku-box-row{gap:12px}.sudoku-container .sudoku-box{flex-direction:column;flex:1;gap:6px;animation-name:animate-sudoku-entry;animation-duration:.5s;animation-timing-function:cubic-bezier(.77,.14,.91,1.25);animation-iteration-count:1;animation-fill-mode:backwards;display:flex}.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{background:var(--color-background-gradient);box-shadow:var(--color-box-shadow);border-radius:5px;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.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);background-size:200% 200%;animation-name:cell-loading;animation-duration:1s;animation-iteration-count:infinite}.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{width:100%;height:100%;color:var(--color-foreground);text-align:center;z-index:1;background:0 0;border:none;border-radius:5px;outline:none;margin:0;padding:0;font-size:1em;position:relative}.sudoku-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.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:.5px var(--color-foreground) solid;border-radius:0}.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{box-sizing:border-box;z-index:0;flex-direction:column;justify-content:space-between;gap:.1em;width:100%;height:100%;padding:.2em;font-size:.4em;line-height:1;display:flex;position:absolute;top:0;left:0}.sudoku-cell-candidates>div{justify-content:space-between;gap:.1em;display:flex}.sudoku-cell-candidates>div>div{color:var(--color-foreground-accent);opacity:.8;text-align:center;border-radius:50%;align-items:center;width:1em;height:1em;font-size:.9em;position:relative}.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{color:#ffffffde;background-color:#ff3232cc;border-color:#ff3232cc}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-orange{color:#ffffffde;background-color:#ff9632cc;border-color:#ff9632cc}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-yellow{color:#000000de;background-color:#f0f032cc;border-color:#f0f032cc}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-blue{color:#ffffffde;background-color:#1e1effcc;border-color:#1e1effcc}.sudoku-cell-candidates>div>div.candidate-highlighted-preview.highlight-color-green{color:#ffffffde;background-color:#00be00cc;border-color:#00be00cc}.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:"";background:var(--color-foreground);width:100%;height:1px;position:absolute;top:50%;left:0;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{justify-content:space-around;display:flex;position:absolute;top:0;left:0}.sudoku-canvas .sudoku-boxes-marker div,.sudoku-canvas .sudoku-column-marker div,.sudoku-canvas .sudoku-row-marker div{color:var(--color-foreground-accent);opacity:.3;font-size:.9em;font-weight:700;line-height:1}.sudoku-canvas .sudoku-row-marker{text-align:center;flex-direction:column;width:auto;height:100%;left:-1em}.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{width:100%;height:auto;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{-webkit-user-select:none;user-select:none;pointer-events:none;gap:12px;width:100%;height:100%}.sudoku-canvas .sudoku-boxes-marker div{color:var(--color-foreground);opacity:.08;justify-content:end;align-items:end;font-size:2em;line-height:1;display:flex}@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)}}@media screen and (width<=768px){.app-layout .app-main{flex-direction:column;margin-top:0}}@media screen and (width<=768px){.app-layout .app-main .app-content{max-width:unset}}@media screen and (width<=768px){.app-layout .app-main .app-sidebar{align-items:center}}@media screen and (width<=768px){.app-layout .app-footer{flex-direction:column}}.link{color:var(--color-foreground-accent);text-decoration:none}.link:hover{color:var(--color-foreground);text-decoration:underline}.like-panel{display:flex}.like-panel .like-button{margin-right:12px}.version{color:var(--color-foreground-muted);cursor:default;font-size:.8em;display:inline-block;position:relative}.version.clickable{cursor:pointer}.version.clickable:hover{text-decoration:underline}.version .version-update{background-color:var(--color-theme-danger);border-radius:50%;width:.6em;height:.6em;display:inline-block;position:absolute;top:-.1em;right:-.5em}.tooltip-container{display:block}.tooltip{z-index:97;background-color:var(--color-background-accent);box-shadow:var(--color-box-shadow);color:var(--color-foreground);overflow-wrap:break-word;pointer-events:none;text-align:center;border-radius:5px;width:fit-content;max-width:200px;padding:.25em .5em;font-size:.6875em;position:fixed;transform:translate(-50%,-50%)}.layout-row{margin:0 0 12px;display:flex;position:relative}.layout-row:last-of-type{margin-bottom:0}.layout-container{padding:12px;position:relative}@keyframes animate-card-entry{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.card{box-shadow:var(--color-box-shadow);background:radial-gradient(500px at 30px 15px,#b4b4b433,#6e6e6e33);border-radius:5px;justify-content:space-between;align-items:start;padding:6px 12px;animation:.4s backwards animate-card-entry;display:flex;position:relative}.card .card-close{margin-left:12px}.card .card-content{flex:1;font-size:.9em}.card .card-header{border-radius:5px 5px 0 0;justify-content:space-between;align-items:center;margin:-6px -12px 6px;padding:6px 12px;font-weight:700;display:flex}.card-group{flex-wrap:wrap;align-content:start;align-items:start;gap:12px;display:flex}.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{z-index:0;background-color:#0000;width:100%;height:4px;display:block;position:relative;overflow:hidden}.loader .progress-bar-dots,.loader .progress-bar-1,.loader .progress-bar-2{width:auto;transition:transform .2s linear;position:absolute;top:0;bottom:0;left:0}.loader .progress-bar-1,.loader .progress-bar-2{transform-origin:0;background-color:var(--color-theme-primary)}.loader.loader-indeterminate .progress-bar-1{animation:2.1s cubic-bezier(.65,.815,.735,.395) infinite loader-bar-1}.loader.loader-indeterminate .progress-bar-2{animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite loader-bar-2}.loader.loader-animation .progress-bar-1{animation:1s linear progress-bar-1}.loader .progress-bar-dots{background-image:radial-gradient(circle,#4e444b 2px,#0000 0);background-position:0;background-repeat:repeat-x;background-size:10px;width:100%;animation:.25s linear infinite progress-bar-dots;display:block;transform:rotate(180deg)}@keyframes loader-circle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader-circle-element{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:100 200;stroke-dashoffset:-15px}to{stroke-dasharray:100 200;stroke-dashoffset:-125px}}.loader-circle{width:40px;height:40px;margin:12px auto;display:block;position:relative;overflow:hidden;transform:rotate(-90deg)}.loader-circle.loader-hidden{display:none}.loader-circle .loader-circle-element{stroke-dasharray:80 200;stroke-dashoffset:0;stroke:var(--color-theme-primary);stroke-width:4px}.loader-circle.loader-indeterminate{animation:1.4s linear infinite loader-circle}@media (prefers-reduced-motion:reduce){.loader-circle.loader-indeterminate{animation:none}}.loader-circle.loader-indeterminate .loader-circle-element{animation:1.4s ease-in-out infinite loader-circle-element}@media (prefers-reduced-motion:reduce){.loader-circle.loader-indeterminate .loader-circle-element{animation:none}}.divider-wrapper{text-transform:uppercase;vertical-align:baseline;border:none;flex-direction:row;justify-content:center;align-items:center;margin:0;padding:12px 0;font-size:.8em;font-weight:400;line-height:1em;display:flex}.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;height:12px;margin:0}.list .list-item{flex-wrap:wrap;align-items:baseline;gap:.5em;display:flex}.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{color:var(--color-foreground-accent);text-transform:uppercase;min-width:9em;padding-right:12px;font-size:.8em;font-weight:700;display:block}.list .list-item .list-item-content{flex:1}.cell-text{cursor:default;background-color:#96969640;border-radius:5px;margin:-.2em .1em -.2em 0;padding:.2em .3em;font-size:.95em;font-weight:700;line-height:1;display:inline-block}.cell-text:hover{box-shadow:0 0 0 3px var(--color-theme-primary);background-color:#96969666}.unit-text{cursor:default;background-color:#96969640;border-radius:5px;margin:-.2em .1em -.2em 0;padding:.2em .3em;font-size:.95em;font-weight:700;line-height:1;display:inline-block}.unit-text:hover{box-shadow:0 0 0 3px var(--color-theme-primary);background-color:#96969666}.candidates-text{gap:.1em;margin:0 .2em;display:inline-flex}.candidates-text span{cursor:default;text-align:center;background-color:#96969640;border-radius:50%;width:1em;height:1em;margin:-.2em;padding:.2em;font-size:.95em;font-weight:700;line-height:1;display:inline-block}.pattern-sudoku-container{flex-direction:column;gap:8px;width:350px;height:350px;margin:10px auto;display:flex}.pattern-sudoku-container .sudoku-box-row,.pattern-sudoku-container .sudoku-cell-row{flex-direction:row;flex:1;gap:4px;display:flex}.pattern-sudoku-container .sudoku-box-row{gap:8px}.pattern-sudoku-container .sudoku-box-row .sudoku-cell{line-break:anywhere;letter-spacing:.5px;background:var(--color-background-gradient);box-shadow:var(--color-box-shadow);border-radius:5px;flex:1;justify-content:center;align-items:center;padding:4px 2px;font-family:monospace;line-height:1;display:flex;overflow:hidden}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-1{font-size:20px}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-2{justify-content:flex-start;font-size:13px}.pattern-sudoku-container .sudoku-box-row .sudoku-cell.line-3{justify-content:flex-start;align-items:start;font-size:10px}.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{flex-direction:column;flex:1;gap:4px;display:flex}.game-countdown{color:var(--color-foreground-accent);place-content:center;place-items:center;width:600px;height:600px;font-size:400px;line-height:1em;display:flex;position:absolute;top:0;left:0}@media screen and ((width<=650px) or (height<=730px)){.game-countdown{width:600px;height:600px;font-size:400px}}@media screen and ((width<=645px) or (height<=725px)){.game-countdown{width:595px;height:595px;font-size:396.667px}}@media screen and ((width<=640px) or (height<=720px)){.game-countdown{width:590px;height:590px;font-size:393.333px}}@media screen and ((width<=635px) or (height<=715px)){.game-countdown{width:585px;height:585px;font-size:390px}}@media screen and ((width<=630px) or (height<=710px)){.game-countdown{width:580px;height:580px;font-size:386.667px}}@media screen and ((width<=625px) or (height<=705px)){.game-countdown{width:575px;height:575px;font-size:383.333px}}@media screen and ((width<=620px) or (height<=700px)){.game-countdown{width:570px;height:570px;font-size:380px}}@media screen and ((width<=615px) or (height<=695px)){.game-countdown{width:565px;height:565px;font-size:376.667px}}@media screen and ((width<=610px) or (height<=690px)){.game-countdown{width:560px;height:560px;font-size:373.333px}}@media screen and ((width<=605px) or (height<=685px)){.game-countdown{width:555px;height:555px;font-size:370px}}@media screen and ((width<=600px) or (height<=680px)){.game-countdown{width:550px;height:550px;font-size:366.667px}}@media screen and ((width<=595px) or (height<=675px)){.game-countdown{width:545px;height:545px;font-size:363.333px}}@media screen and ((width<=590px) or (height<=670px)){.game-countdown{width:540px;height:540px;font-size:360px}}@media screen and ((width<=585px) or (height<=665px)){.game-countdown{width:535px;height:535px;font-size:356.667px}}@media screen and ((width<=580px) or (height<=660px)){.game-countdown{width:530px;height:530px;font-size:353.333px}}@media screen and ((width<=575px) or (height<=655px)){.game-countdown{width:525px;height:525px;font-size:350px}}@media screen and ((width<=570px) or (height<=650px)){.game-countdown{width:520px;height:520px;font-size:346.667px}}@media screen and ((width<=565px) or (height<=645px)){.game-countdown{width:515px;height:515px;font-size:343.333px}}@media screen and ((width<=560px) or (height<=640px)){.game-countdown{width:510px;height:510px;font-size:340px}}@media screen and ((width<=555px) or (height<=635px)){.game-countdown{width:505px;height:505px;font-size:336.667px}}@media screen and ((width<=550px) or (height<=630px)){.game-countdown{width:500px;height:500px;font-size:333.333px}}@media screen and ((width<=545px) or (height<=625px)){.game-countdown{width:495px;height:495px;font-size:330px}}@media screen and ((width<=540px) or (height<=620px)){.game-countdown{width:490px;height:490px;font-size:326.667px}}@media screen and ((width<=535px) or (height<=615px)){.game-countdown{width:485px;height:485px;font-size:323.333px}}@media screen and ((width<=530px) or (height<=610px)){.game-countdown{width:480px;height:480px;font-size:320px}}@media screen and ((width<=525px) or (height<=605px)){.game-countdown{width:475px;height:475px;font-size:316.667px}}@media screen and ((width<=520px) or (height<=600px)){.game-countdown{width:470px;height:470px;font-size:313.333px}}@media screen and ((width<=515px) or (height<=595px)){.game-countdown{width:465px;height:465px;font-size:310px}}@media screen and ((width<=510px) or (height<=590px)){.game-countdown{width:460px;height:460px;font-size:306.667px}}@media screen and ((width<=505px) or (height<=585px)){.game-countdown{width:455px;height:455px;font-size:303.333px}}@media screen and ((width<=500px) or (height<=580px)){.game-countdown{width:450px;height:450px;font-size:300px}}@media screen and ((width<=495px) or (height<=575px)){.game-countdown{width:445px;height:445px;font-size:296.667px}}@media screen and ((width<=490px) or (height<=570px)){.game-countdown{width:440px;height:440px;font-size:293.333px}}@media screen and ((width<=485px) or (height<=565px)){.game-countdown{width:435px;height:435px;font-size:290px}}@media screen and ((width<=480px) or (height<=560px)){.game-countdown{width:430px;height:430px;font-size:286.667px}}@media screen and ((width<=475px) or (height<=555px)){.game-countdown{width:425px;height:425px;font-size:283.333px}}@media screen and ((width<=470px) or (height<=550px)){.game-countdown{width:420px;height:420px;font-size:280px}}@media screen and ((width<=465px) or (height<=545px)){.game-countdown{width:415px;height:415px;font-size:276.667px}}@media screen and ((width<=460px) or (height<=540px)){.game-countdown{width:410px;height:410px;font-size:273.333px}}@media screen and ((width<=455px) or (height<=535px)){.game-countdown{width:405px;height:405px;font-size:270px}}@media screen and ((width<=450px) or (height<=530px)){.game-countdown{width:400px;height:400px;font-size:266.667px}}@media screen and ((width<=445px) or (height<=525px)){.game-countdown{width:395px;height:395px;font-size:263.333px}}@media screen and ((width<=440px) or (height<=520px)){.game-countdown{width:390px;height:390px;font-size:260px}}@media screen and ((width<=435px) or (height<=515px)){.game-countdown{width:385px;height:385px;font-size:256.667px}}@media screen and ((width<=430px) or (height<=510px)){.game-countdown{width:380px;height:380px;font-size:253.333px}}@media screen and ((width<=425px) or (height<=505px)){.game-countdown{width:375px;height:375px;font-size:250px}}@media screen and ((width<=420px) or (height<=500px)){.game-countdown{width:370px;height:370px;font-size:246.667px}}@media screen and ((width<=415px) or (height<=495px)){.game-countdown{width:365px;height:365px;font-size:243.333px}}@media screen and ((width<=410px) or (height<=490px)){.game-countdown{width:360px;height:360px;font-size:240px}}@media screen and ((width<=405px) or (height<=485px)){.game-countdown{width:355px;height:355px;font-size:236.667px}}.stop-watch{gap:12px;display:flex}.stop-watch>span{font-size:2.5em;line-height:1em}.stop-watch>span:first-of-type{text-align:center;height:1em;vertical-align:center;color:var(--color-foreground-accent);padding:.15em .2em 0 0;display:inline-block;position:relative}.stop-watch>span>span{color:var(--color-foreground-accent);margin-left:4px;font-size:.5em}.checkbox{cursor:pointer;align-items:center;font-size:1em;display:flex}.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;border:.15em solid #8282824d;border-radius:5px;outline:none;justify-content:center;align-items:center;min-width:1.2em;max-width:1.2em;min-height:1.2em;max-height:1.2em;margin:0 12px 0 0;display:inline-flex}.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{background-color:#8282824d;border-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{flex-direction:column;gap:0 12px;padding-top:12px;display:flex}@media screen and (width<=768px){.sudoku-controls{flex-flow:wrap}}.form-input{gap:12px;display:flex}.form-input:not(:last-of-type){margin-bottom:12px}.ident-icon-placeholder,.ident-icon{opacity:.9;border:1px dashed #7d7d7db3;border-radius:50%;overflow:hidden}.ident-icon-placeholder svg,.ident-icon svg{display:block}.ident-icon-clickable:hover{cursor:pointer;background-color:#82828280;border-style:solid}.ident-icon{background-color:var(--color-foreground);box-shadow:var(--color-box-shadow);border-style:solid}.collaboration-sessions{flex-wrap:wrap;gap:8px 5px;margin-bottom:1em;display:flex;position:relative}.collaboration-sessions .divider{background-color:var(--color-foreground-accent);width:1px;margin:5px 2px;display:block}.menu{z-index:88;gap:3px;display:flex}.menu .menu-item,.menu .sub-menu-item{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.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{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.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{color:var(--color-foreground);background-color:#0000;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{align-items:center;gap:12px;line-height:1em;display:flex}.menu .menu-item .menu-icon,.menu .sub-menu-item .menu-icon{text-align:center;min-width:1.3em}.menu.menu-text-below .menu-item,.menu.menu-text-below .sub-menu-item{flex-direction:column;place-content:center 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{margin-left:1em;padding-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}.app-layout{flex-direction:column;justify-content:space-between;width:100%;max-width:1800px;min-height:100vh;margin:auto;display:flex}.app-layout .app-main{flex-wrap:nowrap;flex:1;justify-content:space-between;max-width:100%;display:flex}@media screen and (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 (width<=768px){.app-layout .app-main .app-content{max-width:unset}}.app-layout .app-main .app-sidebar{flex-direction:column;flex:1;align-items:end;padding:1em;animation:.4s ease-in-out 1.3s backwards layout-fade-in;display:flex}@media screen and (width<=768px){.app-layout .app-main .app-sidebar{align-items:center}}.app-layout .app-main .app-sidebar>div{flex-direction:column;align-items:start;display:flex}.app-layout .app-footer{text-align:right;justify-content:space-between;align-items:center;gap:1em;padding:1em;animation:.4s ease-in-out 1.3s backwards layout-fade-in;display:flex}@media screen and (width<=768px){.app-layout .app-footer{flex-direction:column}}.app-menu{flex:1;padding:1em;animation:.4s ease-in-out 1.3s backwards navbar-fade-in}@media screen and (width<=1400px){.app-menu{padding:1em 1em 1em 0}}.app-menu .app-menu-container{box-shadow:var(--color-box-shadow);background:radial-gradient(500px at 30px 15px,#b4b4b44d,#6e6e6e4d);padding:.25em;transition:background-color .3s}.app-menu.app-menu-top{z-index:88;background-color:var(--color-background);flex:none;max-width:100%;padding:0;position:sticky;top:0;left:0}.app-menu.app-menu-left .app-menu-container{border-radius:5px;width:fit-content}@media screen and (width<=1400px){.app-menu.app-menu-left .app-menu-container{border-radius:0 5px 5px 0}}.key-shortcut{border:1px solid var(--color-foreground-muted);background-color:#9696961a;border-radius:5px;margin:0 .5em;padding:.1em .2em;font-family:monospace;line-height:1em;display:inline-block;transform:translateY(-.05em)}.key-shortcut span:after{content:"+";color:var(--color-foreground-muted)}.insights-filling-level{gap:2px;display:flex}.insights-filling-level>div{cursor:pointer;border-radius:2px;padding:1px 0}.insights-filling-level>div:hover{box-shadow:0 0 0 3px var(--color-theme-primary)}.insights-filling-level>div>div{border-radius:2px;width:10px;height:10px;margin:2px}.insights-filling-level>div>div.filled{background-color:var(--color-foreground-accent)}.insights-filling-level>div>div:last-child{height:1.2em}.insights-difficulty{height:130px;margin-top:5px;display:flex}.insights-difficulty>div:first-child{border-right:2px var(--color-foreground) solid;flex-direction:column;justify-content:space-between;padding-bottom:17px;padding-right:8px;display:flex}.insights-difficulty>div:last-child{width:250px;padding-top:7px}.insights-tile{flex-wrap:wrap;align-items:start;gap:12px;display:flex}@keyframes snackbar-entry{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.snackbar{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;margin-left:24px;animation-name:snackbar-entry;animation-duration:.1s;animation-timing-function:ease-out;position:fixed;top:24px;right:24px;overflow:hidden}.snackbar .snackbar-content{align-items:center;padding:12px;display:flex}.snackbar .snackbar-content .snackbar-text{flex:1;padding:0 12px}.modal{background-color:var(--color-background);width:fit-content;min-width:250px;max-width:98%;min-height:100px;max-height:98%;box-shadow:var(--color-box-shadow);z-index:95;border-radius:5px;margin:auto;position:relative;overflow:auto}.modal .modal-header{background-color:#82828233;align-items:center;padding:.5em;display:flex}.modal .modal-header .modal-heading{flex:1;padding:0 .5em}.modal .modal-content{padding:1em}.modal .modal-actions{background-color:var(--color-background);z-index:30;border-radius:0 0 5px 5px;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:.5em 1em .75em;display:flex;position:sticky;bottom:0}.modal .modal-actions:empty{display:none}.backdrop-container{z-index:90;flex-direction:column;width:100%;height:100vh;min-height:fit-content;display:flex;position:fixed;top:0;left:0;overflow:auto}.backdrop-container .backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:90;width:100%;height:100%;position:absolute;top:0;left:0}.select{background-color:var(--color-background-accent);cursor:pointer;color:var(--color-foreground);appearance:none;border-width:0;border-radius:5px;outline:none;margin:0;padding:.5em 1em;font-size:1em;transition:background-color .3s,box-shadow .3s;display:block;position:relative;overflow:hidden}.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{box-shadow:var(--color-box-shadow);background-color:#828282b3}.text-heading{text-align:left;margin-bottom:1em}.camera{max-width:600px}.camera video{border-radius:5px;max-width:100%;margin-bottom:12px}.output{max-width:600px;margin-bottom:12px}.output img{border-radius:5px;max-width:100%}.preview{padding:0;list-style:none}.preview .preview-item{justify-content:space-between;align-items:center;min-width:300px;margin-bottom:12px;display:flex}.preview .preview-item .preview-img{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:5px;width:80px;height:80px;margin:0 12px 0 0;display:block}.preview .preview-item .preview-meta{flex-direction:column;align-items:flex-start;display:flex}.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{flex-wrap:wrap;align-items:center;gap:12px;padding:0;display:flex}.scanner-stages .scanner-stage-container{border-radius:5px;justify-content:center;align-items:center;max-width:250px;height:250px;display:flex}.scanner-stages .scanner-stage-container:empty{background-image:linear-gradient(90deg,#8282824d 60%,#82828280 80%,#8282824d 100%);background-size:200% 100%;background-color:var(--color-background-light);width:250px;animation:1.6s infinite shine-lines}.scanner-stages .scanner-stage-img{border-radius:5px;max-width:100%;max-height:100%}.textarea{font-family:inherit;line-height:1em;font-size:inherit;background-color:var(--color-background-accent);color:var(--color-foreground);border:.15em solid #8282824d;border-radius:5px;padding:.5em .75em}.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{border-color:#828282b3;outline:none;box-shadow:0 1px 2px #0009}.alert{border:.8px solid var(--color-foreground-accent);color:var(--color-foreground-accent);background-color:#8282820d;border-radius:5px;align-items:flex-start;gap:.25em 1.15em;max-width:600px;padding:1.15em 1.25em;font-size:.9em;line-height:1.3em;display:flex}.share-sudoku .share-sudoku-qr{box-shadow:var(--color-box-shadow);background-color:#fff;border-radius:5px;width:fit-content;margin-bottom:1em;padding:1em;line-height:0;text-decoration:none;display:inline-block}.share-sudoku .share-sudoku-code{margin-top:1em}.share-sudoku .share-sudoku-code div{white-space:pre-line;color:var(--color-foreground-accent);margin:.3em auto 2em;font-family:monospace;line-height:1.2em}.primary-button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.primary-button.button-sm{padding:.35em .7em;font-size:.9em}.primary-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.primary-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.primary-button{background-color:var(--color-theme-primary);color:#ecf0f1;transition:background-color .3s,box-shadow .3s;box-shadow:0 2px 4px #0009}.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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.flat-button.button-sm{padding:.35em .7em;font-size:.9em}.flat-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.flat-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.flat-button{color:var(--color-foreground);background-color:#8282824d;transition:background-color .3s,box-shadow .3s;box-shadow:0 2px 4px #0000}.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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.text-button.button-sm{padding:.35em .7em;font-size:.9em}.text-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.text-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.text-button{color:var(--color-foreground);background-color:#0000;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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.outline-button.button-sm{padding:.35em .7em;font-size:.9em}.outline-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.outline-button[disabled]{-webkit-user-select:none;user-select:none;cursor:not-allowed;opacity:.3}.outline-button{border:1px var(--color-foreground-muted) solid;color:var(--color-foreground);background-color:#0000;transition:background-color .3s,box-shadow .3s}.outline-button:not([disabled]):hover,.outline-button:not([disabled]):focus{border-color:var(--color-foreground);background-color:#82828280}.outline-button:not([disabled]):active{border-color:var(--color-foreground);background-color:#828282b3}.primary-icon-button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.primary-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.primary-icon-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.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{background-color:var(--color-theme-primary);color:#ecf0f1;transition:background-color .3s,box-shadow .3s;box-shadow:0 2px 4px #0009}.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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.flat-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.flat-icon-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.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{color:var(--color-foreground);background-color:#8282824d;transition:background-color .3s,box-shadow .3s;box-shadow:0 2px 4px #0000}.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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.text-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.text-icon-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.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{color:var(--color-foreground);background-color:#0000;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{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;outline:none;padding:.5em 1em;font-size:1em;display:block;position:relative;overflow:hidden}.outline-icon-button.button-sm{padding:.35em .7em;font-size:.9em}.outline-icon-button.button-inline{margin:.1em .25em;padding:.085em .425em;font-size:.83em;display:inline-block}.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;color:var(--color-foreground);background-color:#0000;transition:background-color .3s,box-shadow .3s}.outline-icon-button:not([disabled]):hover,.outline-icon-button:not([disabled]):focus{border-color:var(--color-foreground);background-color:#82828280}.outline-icon-button:not([disabled]):active{border-color:var(--color-foreground);background-color:#828282b3}.button-group{align-items:start;gap:12px;display:flex;position:relative}.button-group.button-group-right{justify-content:flex-end}.button-group.button-group-center{justify-content:center}.tabs .tab-labels{border-bottom:var(--color-foreground-muted) 1px solid;gap:4px;margin-bottom:12px;display:flex;box-shadow:0 3px 3px -2px #0000004d}.tabs .tab-labels button{cursor:pointer;white-space:nowrap;color:var(--color-foreground);background-color:#0000;border:none;border-bottom:4px solid #0000;border-top-left-radius:5px;border-top-right-radius:5px;outline:none;margin:0;padding:.5em 1em;font-size:1em;transition:background-color .3s,box-shadow .3s;display:block;position:relative;overflow:hidden;transform:translateY(2px)}.tabs .tab-labels button:hover{border-bottom-color:var(--color-theme-primary);background-color:#82828280}.tabs .tab-labels button.active,.tabs .tab-labels button:focus{border-bottom-color:var(--color-theme-primary)}.sudoku-image{box-shadow:var(--color-box-shadow);border-radius:5px;margin:1em}.badge{white-space:nowrap;z-index:10;background-color:var(--color-background-light);color:var(--color-foreground);text-transform:uppercase;box-sizing:border-box;border-radius:12px;place-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.badge.badge-sm{border-radius:12px;min-width:24px;height:24px;padding:0 6px;font-size:12px}.badge.badge-md{border-radius:15px;min-width:30px;height:30px;padding:0 7.5px;font-size:15px}.badge.badge-lg{border-radius:18px;min-width:36px;height:36px;padding:0 9px;font-size:18px}.badge.badge-floating{box-shadow:var(--color-box-shadow)}.badge-container{width:fit-content;position:relative}.badge-container .badge{transform-origin:100% 0;position:absolute;top: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:1 200;stroke-dashoffset:0}50%{stroke-dasharray:100 200;stroke-dashoffset:-15px}to{stroke-dasharray:100 200;stroke-dashoffset:-125px}}.status-icon{white-space:nowrap;z-index:10;background-color:var(--color-background-light);color:var(--color-foreground);text-transform:uppercase;box-sizing:border-box;border-radius:12px;place-content:center;align-items:center;width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-icon.status-icon-pulse{animation:2.5s ease-in-out infinite status-icon-pulse}@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{width:100%;height:100%;animation:1.4s linear infinite status-icon-loading-circle;display:block;position:absolute;top:0;left:0}@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:1.4s ease-in-out infinite status-icon-loading-circle-element}@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-xs{border-radius:8px;width:16px;height:16px;padding:0 4px;font-size:8px}.status-icon.status-icon-sm{border-radius:12px;width:24px;height:24px;padding:0 6px;font-size:12px}.status-icon.status-icon-md{border-radius:15px;width:30px;height:30px;padding:0 7.5px;font-size:15px}.status-icon.status-icon-lg{border-radius:18px;width:36px;height:36px;padding:0 9px;font-size:18px}.time-format{font-family:Consolas,Monaco,monospace;font-size:.95em}.share-session{box-shadow:var(--color-box-shadow);background-color:#fff;border-radius:5px;width:fit-content;padding:1em;line-height:0;text-decoration:none;display:inline-block}.input{background-color:var(--color-background-accent);border:.15em solid #8282824d;border-radius:5px;padding:.4em .75em;font-size:1em;line-height:1em}.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{border-color:#828282b3;outline:none;box-shadow:0 1px 2px #0009}.label{color:var(--color-foreground-accent);text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:.8em;line-height:1}:root{--color-theme-primary:#297eb6;--color-theme-danger:#991c1c;--color-theme-danger-accent:#ed5d5d;--color-theme-success:#088508;--color-theme-success-accent:#03a903;--color-background:#242424;--color-background-accent:#555;--color-background-light:#303030;--color-background-gradient:radial-gradient(800px at 30px 15px, #505050, #1e1e1e);--color-backdrop:#46464680;--color-foreground:#ffffffde;--color-foreground-accent:#ffffffa6;--color-foreground-muted:#666;--color-box-shadow:0 1px 2px 1px #0000004d}@media (prefers-color-scheme:light){:root{--color-theme-primary:#0e5585;--color-theme-danger:#ed5d5d;--color-theme-danger-accent:#991c1c;--color-theme-success:#03a903;--color-theme-success-accent:#f5f5f5;--color-background:#f6f6f6;--color-background-light:#eee;--color-background-accent:#ccc;--color-background-dark:#fff;--color-background-gradient:radial-gradient(800px at 30px 15px, #d2d2d2, #f0f0f0);--color-backdrop:#96969680;--color-foreground:#1f2023;--color-foreground-accent:#1f2023a6;--color-foreground-muted:#ddd;--color-box-shadow:0 1px 2px 0px #0003}}:root.theme-light{--color-theme-primary:#0e5585;--color-theme-danger:#ed5d5d;--color-theme-danger-accent:#991c1c;--color-theme-success:#03a903;--color-theme-success-accent:#f5f5f5;--color-background:#f6f6f6;--color-background-light:#eee;--color-background-accent:#ccc;--color-background-dark:#fff;--color-background-gradient:radial-gradient(800px at 30px 15px, #d2d2d2, #f0f0f0);--color-backdrop:#96969680;--color-foreground:#1f2023;--color-foreground-accent:#1f2023a6;--color-foreground-muted:#ddd;--color-box-shadow:0 1px 2px 0px #0003}:root.theme-dark{--color-theme-primary:#297eb6;--color-theme-danger:#991c1c;--color-theme-danger-accent:#ed5d5d;--color-theme-success:#088508;--color-theme-success-accent:#03a903;--color-background:#242424;--color-background-accent:#555;--color-background-light:#303030;--color-background-gradient:radial-gradient(800px at 30px 15px, #505050, #1e1e1e);--color-backdrop:#46464680;--color-foreground:#ffffffde;--color-foreground-accent:#ffffffa6;--color-foreground-muted:#666;--color-box-shadow:0 1px 2px 1px #0000004d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#0000;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;opacity:1;font-style:italic}::-webkit-input-placeholder{color:#ccc;opacity:1;font-style:italic}.form-control::-webkit-input-placeholder{color:#ccc;opacity:1;font-style:italic}:-moz-placeholder-shown{color:#ccc;opacity:1;font-style:italic}.form-control:-moz-placeholder-shown{color:#ccc;opacity:1;font-style:italic}::-moz-placeholder{color:#ccc;opacity:1;font-style:italic}.form-control::-moz-placeholder{color:#ccc;opacity:1;font-style:italic}:-ms-placeholder-shown{color:#ccc;opacity:1;font-style:italic}.form-control:-ms-placeholder-shown{color:#ccc;opacity:1;font-style:italic}::-moz-placeholder{color:#ccc;opacity:1;font-style:italic}.form-control::-moz-placeholder{color:#ccc;opacity:1;font-style:italic}:root{letter-spacing:.3px;color:var(--color-foreground);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;height:100%;margin:0}p{margin-top:0}
