body{--sdk-color-background: white;--sdk-color-foreground: #111;--sdk-color-off:#ddd;--sdk-color-off-light:#eee;--sdk-color-accent: rgb(255, 64, 129);--sdk-color-accent-contrast: white;--sdk-color-accent-contrast-40: rgba(255, 255, 255, .4);--sdk-color-secondary: rgb(82 78 91);--sdk-color-secondary-contrast: white;--sdk-color-border: rgba(17, 17, 17, .1);--sdk-color-hover: rgba(1,1,1,.1);--sdk-color-success: green;--sdk-color-success-contrast: white;--sdk-color-warning: orange;--sdk-color-warning-contrast: #111;--sdk-color-error: red;--sdk-color-error-contrast: white;--sdk-disabled-opacity: .4;--sdk-schemas-toolbar-height: 76px;--sdk-menu-separator-size: 10px}body.theme-dark{--sdk-color-background: #333;--sdk-color-foreground: white;--sdk-color-off:#444;--sdk-color-off-light:#ccc;--sdk-color-accent: yellowgreen;--sdk-color-accent-contrast: #333;--sdk-color-accent-contrast-40: rgba(51, 51, 51, .4);--sdk-color-secondary: #ff5252;--sdk-color-secondary-contrast: #333;--sdk-color-border: rgba(250, 250, 250, .2);--sdk-color-hover: rgba(250,250,250,.1)}html{scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;height:100%;font-family:Roboto,Helvetica Neue,monospace;overflow:hidden;color-scheme:light dark}html,body{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#410002, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#001b3f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#131c2b, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container: light-dark(#001b3f, #d7e3ff);--mat-sys-on-tertiary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #38393c);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container: light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f}html,body{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html,body{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html,body{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html,body{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html,body{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html,body{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html,body{--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500}html,body{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html,body{--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}.cdk-global-scrollblock{overflow:hidden!important}.top-loading-bar{position:fixed!important;z-index:10;left:0;width:100%}.app-root{height:100%;width:100%;position:relative}.disabled{opacity:var(--sdk-disabled-opacity)}body{background-color:var(--sdk-color-background);color:var(--sdk-color-foreground);--sdk-android-bottom-bar-space: 50px;--mat-sys-primary: var(--sdk-color-accent);--mat-sys-primary-container: var(--sdk-color-accent);--mat-badge-background-color: var(--sdk-color-accent);--mat-badge-text-color: var(--sdk-color-accent-contrast)}body.theme-light{color-scheme:light}body.theme-dark{color-scheme:dark}body .debug-visible,body.debug-mode .debug-hidden{display:none!important}body.debug-mode .debug-visible{display:block!important}body .landscape-visible,body.layout-landscape .landscape-hidden{display:none!important}body.layout-landscape .landscape-visible{display:block!important}body .portrait-visible,body.layout-portrait .portrait-hidden{display:none!important}body.layout-portrait .portrait-visible{display:block!important}body .narrow-visible,body.layout-narrow .narrow-hidden{display:none!important}body.layout-narrow .narrow-visible{display:block!important}body .compact-visible{display:none!important}body.layout-compact{--sdk-menu-separator-size: 4px}body.layout-compact .mat-mdc-menu-item{min-height:42px!important}body.layout-compact .compact-hidden{display:none!important}body.layout-compact .compact-visible{display:block!important}body.layout-compact.android-bottom-bar-bug-fix .mat-mdc-dialog-actions{padding-bottom:var(--sdk-android-bottom-bar-space)}.invisible,.hidden{visibility:hidden}.display-none{display:none}.overflow-auto{overflow:auto}.opacity-6{opacity:.6}.opacity-4{opacity:.4}button .mat-icon{color:inherit!important}.fill-foreground{fill:var(--sdk-color-foreground)}.separator-v{height:var(--sdk-menu-separator-size);margin-bottom:var(--sdk-menu-separator-size);border-bottom:var(--sdk-color-border) 1px solid}.separator-h{width:var(--sdk-menu-separator-size);margin-right:var(--sdk-menu-separator-size);border-right:var(--sdk-color-border) 1px solid}.sudokulab-page .page-content{width:100%}.layout-narrow .sudokulab-page .page-content{max-width:800px}.logo-lab{color:var(--sdk-color-accent)}.mat-mdc-menu-content .separator{height:10px;margin-bottom:10px;border-bottom:1px solid rgba(1,1,1,.1);width:100%!important}.full-width{width:100%!important}.full-height{height:100%!important}.mat-mdc-form-field.full-height .mat-mdc-form-field-flex,.mat-mdc-form-field.full-height .mat-mdc-form-field-flex .mat-mdc-form-field-infix{height:100%}.mat-mdc-form-field-subscript-wrapper{display:none}.font-family-monospace{font-family:monospace!important}.font-size-24{font-size:24px!important}.page-container{position:relative}.layout-narrow .page-container{overflow:auto}.sudokulab-page{position:absolute;height:100%;background-color:var(--sdk-color-background);color:var(--sdk-color-foreground)}.sudokulab-page.page-fill{width:100%}.sudokulab-page.page-padding{padding:50px}.schema-container{width:40%;aspect-ratio:1;padding:6px;box-sizing:border-box}.layout-narrow .schema-container{width:100%!important}.route-active,.active{color:var(--sdk-color-accent-contrast)!important;background-color:var(--sdk-color-accent)!important}.stat-monitor{padding:20px}.stat-monitor .stat-line{min-height:24px}.stat-monitor .stat-line .stat-line-desc{min-width:180px}.stat-monitor .stat-line .stat-line-value{margin-left:10px;font-weight:700}.stat-monitor .stat-line.evidence .stat-line-value{color:var(--sdk-color-accent)!important}.user-select-none{-webkit-user-select:none;user-select:none}.elevation-z5{box-shadow:var(--mat-sys-level5)}.sdk-colors{background-color:var(--sdk-color-background);color:var(--sdk-color-foreground)}.sdk-colors-accent{background-color:var(--sdk-color-accent);color:var(--sdk-color-accent-contrast)}.sdk-colors-secondary{background-color:var(--sdk-color-secondary);color:var(--sdk-color-secondary-contrast)}.sdk-color-hover:hover{background-color:var(--sdk-color-hover)}.sdk-color-border{border-color:var(--sdk-color-border)}:not([disabled]).sdk-color-error{color:var(--sdk-color-error)}:not([disabled]).sdk-color-warning{color:var(--sdk-color-warning)}:not([disabled]).sdk-color-success{color:var(--sdk-color-success)}:not([disabled]).sdk-color-accent{color:var(--sdk-color-accent)}:not([disabled]).sdk-color-secondary{color:var(--sdk-color-secondary)}.mdc-snackbar.type-success .mat-mdc-snackbar-surface{background-color:var(--sdk-color-success);color:var(--sdk-color-success-contrast)}.mdc-snackbar.type-warning .mat-mdc-snackbar-surface{background-color:var(--sdk-color-warning);color:var(--sdk-color-warning-contrast)}.mdc-snackbar.type-error .mat-mdc-snackbar-surface{background-color:var(--sdk-color-error);color:var(--sdk-color-error-contrast)}.unset-field-width .mat-mdc-form-field-infix{width:unset!important}.layout-narrow .mat-mdc-dialog-panel{width:100%!important;height:100%!important;max-width:unset!important}.layout-narrow .mat-mdc-dialog-panel .mat-mdc-dialog-surface{border-radius:0!important}.layout-narrow .mat-mdc-dialog-panel .mat-mdc-dialog-content{max-height:unset!important}.algorithm-info-dialog-panel .mat-mdc-dialog-surface{overflow:hidden}@media (max-width: 720px){.algorithm-info-dialog-panel{max-width:100vw!important;width:100vw!important;height:100vh!important;max-height:100vh!important}.algorithm-info-dialog-panel .mat-mdc-dialog-surface{border-radius:0!important}}.icon-pulse{animation:pulse-rotation 2s infinite}@keyframes pulse-rotation{0%{transform:rotate(0)}50%{transform:rotate(270deg)}to{transform:rotate(90deg)}}
