@font-face{font-family:"Default";src:url("/ttf/josefin-sans.ttf");font-display:swap;ascent-override:80%;descent-override:0%}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--homepage-line) var(--homepage-transparent)}html{color:var(--homepage-text);background:var(--homepage-background);font-family:var(--homepage-font);line-height:1.45}:where(button,input,textarea,select){font:inherit}:where(button){padding:9px 13px;border:1px solid var(--homepage-line);border-radius:var(--homepage-radius-control);color:var(--homepage-text);background:var(--homepage-surface);cursor:pointer;transition:color 120ms ease,background-color 120ms ease,border-color 120ms ease}:where(button):where(:hover:not(:disabled,.disabled)){border-color:var(--homepage-accent);background:var(--homepage-related)}:where(button):where(:disabled,.disabled){opacity:.5;cursor:not-allowed}:where(input:not([type=checkbox],[type=radio]),select,textarea,.fake-input){min-width:0;padding:9px 10px;border:1px solid var(--homepage-line);border-radius:var(--homepage-radius-control);color:var(--homepage-text);background:var(--homepage-background)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--homepage-accent)}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--homepage-accent);outline-offset:3px}:where(label.vertical){display:flex;flex-direction:column;gap:6px}:where(label.horizontal){display:flex;align-items:center;gap:8px}:where(.app-button--primary){border-color:var(--homepage-accent);color:var(--homepage-background);background:var(--homepage-accent);font-weight:700}:where(.app-button--primary):where(:hover:not(:disabled,.disabled)){border-color:var(--homepage-orange);color:var(--homepage-background);background:var(--homepage-orange)}.app-page{width:100%;max-width:calc(var(--homepage-page-width) + 2*var(--homepage-gutter));margin-inline:auto;padding:var(--homepage-gutter)}.app-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.app-page-header h1{margin:0;font-size:clamp(28px,4vw,40px);font-weight:650;line-height:1.1;letter-spacing:-0.04em}.app-eyebrow{margin:0 0 11px;color:var(--homepage-accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.app-subtitle{margin:10px 0 0;color:var(--homepage-muted);font-size:14px;line-height:1.55}.app-panel{min-width:0;padding:clamp(14px,2vw,20px);border:1px solid var(--homepage-border);border-radius:var(--homepage-radius-panel);background:var(--homepage-surface)}.app-access-message{max-width:560px;margin:var(--homepage-gutter)}.app-access-message h1{margin:0 0 8px;color:var(--homepage-accent);font-size:clamp(25px,4vw,32px)}.app-access-message p{margin:0;color:var(--homepage-muted)}body{--homepage-sidebar-inline-size: 0px;--homepage-sidebar-visible-inline-size: 0px;margin:0}body:has(>nav:not(.hidden)){--homepage-sidebar-inline-size: var(--homepage-sidebar-rail);--homepage-sidebar-visible-inline-size: var(--homepage-sidebar-rail)}body:has(>nav.expand:not(.hidden)){--homepage-sidebar-visible-inline-size: var(--homepage-sidebar-expanded)}@media(min-width: 900px){body:has(>nav.expand:not(.hidden)){--homepage-sidebar-inline-size: var(--homepage-sidebar-expanded)}}@media(max-width: 899px){body:has(>main>#content:not(.hidden)>.mobile-build-footer)>.build-watermark{display:none}}body>nav{position:fixed;z-index:3;inset-block:0;inset-inline-start:0;display:flex;flex-direction:column;gap:18px;width:var(--homepage-sidebar-rail);overflow:hidden auto;padding:8px;border-inline-end:1px solid var(--homepage-border);background:var(--homepage-surface);transition:width 180ms ease,transform 180ms ease,visibility 180ms}body>nav.expand{width:var(--homepage-sidebar-expanded)}@media(max-width: 899px){body>nav.expand{box-shadow:12px 0 36px var(--homepage-shadow)}}body>nav.expand button{gap:12px}body>nav.expand button span{visibility:visible}body>nav.hidden{visibility:hidden;transform:translateX(-100%)}body>nav section{display:grid;gap:6px}body>nav #menu{padding-bottom:12px;border-bottom:1px solid var(--homepage-border)}body>nav button{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;min-width:0;min-height:40px;padding:6px;border-color:var(--homepage-transparent);text-align:start;white-space:nowrap}body>nav button span{overflow:hidden;visibility:hidden;text-overflow:ellipsis}body>nav button svg{flex:0 0 24px;width:24px;height:24px;color:inherit}body>nav button:hover,body>nav button[aria-expanded=true]{background:var(--homepage-related)}body>nav button.active{border-color:var(--homepage-line);color:var(--homepage-orange);background:var(--homepage-selected)}body>nav button:focus-visible{outline-offset:0}body>main{position:fixed;inset:0;isolation:isolate}body>main>canvas#background-canvas{position:absolute;z-index:-1;inset:0;opacity:.65;pointer-events:none}body>main>canvas#background-canvas[data-enabled=false]{display:none}body>main>.fade{position:absolute;inset-block:0;inset-inline:var(--homepage-sidebar-inline-size) 0;overflow:auto;transition:opacity 180ms ease,visibility 180ms,inset-inline-start 180ms ease}body>main>.fade.hidden{visibility:hidden;opacity:0;pointer-events:none}body>main>#content{background:var(--homepage-background)}body>main>#content>.mobile-build-footer{display:none}@media(max-width: 899px){body>main>#content>.mobile-build-footer{display:block;padding-block:0 max(var(--homepage-gutter),env(safe-area-inset-bottom));padding-inline:max(var(--homepage-gutter),env(safe-area-inset-left)) max(var(--homepage-gutter),env(safe-area-inset-right))}body>main>#content>.mobile-build-footer>.build-watermark{position:static;inset:auto;max-inline-size:100%;transition:none}}body>main>#content.page-background{background:radial-gradient(ellipse at 50% 15%, var(--homepage-ambient), var(--homepage-transparent) 72%)}body>main>#content.page-background .sudoku-studio{background:var(--homepage-transparent)}body>main>#default-content{display:grid;padding:var(--homepage-gutter);background:radial-gradient(ellipse at 50% 15%, var(--homepage-ambient), var(--homepage-transparent) 72%)}#dot-exclusion-zone{width:min(100%,500px);margin:auto;padding:clamp(18px,5vw,38px);border-color:var(--homepage-line);box-shadow:0 20px 70px var(--homepage-shadow)}#dot-exclusion-zone h1{margin:0;font-size:clamp(30px,6vw,48px);font-weight:650;line-height:1.05;letter-spacing:-0.045em;overflow-wrap:anywhere}#dot-exclusion-zone h1 span{color:var(--homepage-accent)}#dot-exclusion-zone .app-subtitle{margin-bottom:24px}#dot-exclusion-zone>#login-button{width:100%;margin-bottom:12px}#dot-exclusion-zone>#login-button.hidden{display:none}#login-dialog{display:grid;gap:12px;margin-bottom:12px}#login-dialog[inert]{display:none}#login-dialog .password-field{display:flex;flex-direction:column;gap:6px}#login-dialog .label{display:flex;justify-content:space-between;align-items:center;color:var(--homepage-muted);font-size:14px}#login-dialog .action{display:inline-flex;align-items:center;padding:2px 5px;border-color:var(--homepage-transparent);color:var(--homepage-accent)}#login-dialog .login-validation{display:none;align-items:center;gap:6px;font-size:13px}#login-dialog .login-validation svg{flex:none}#login-dialog .validation.success~.login-validation{display:flex;color:var(--homepage-success)}#login-dialog .validation.error~.login-validation{display:flex;color:var(--homepage-orange)}#login-dialog .login-mode{justify-self:start;padding-inline:0;border-color:var(--homepage-transparent);color:var(--homepage-accent);background:var(--homepage-transparent);text-align:start}#login-dialog .login-mode:hover:not(:disabled){color:var(--homepage-orange)}#notification-dialog{position:fixed;z-index:4;inset:0;display:grid;place-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:var(--homepage-gutter);border:0;color:var(--homepage-text);background:var(--homepage-overlay);transition:opacity 180ms ease,visibility 180ms}#notification-dialog.hidden{visibility:hidden;opacity:0;pointer-events:none}#notification-dialog.warning{--notification-accent: var(--homepage-orange)}#notification-dialog .dialog{display:grid;gap:14px;width:min(100%,440px);max-height:100%;overflow:auto;border-color:var(--notification-accent, var(--homepage-accent));box-shadow:0 20px 70px var(--homepage-shadow)}#notification-dialog .dialog .dialog-header{color:var(--notification-accent, var(--homepage-accent));font-size:22px;font-weight:700}#notification-dialog .dialog .dialog-buttons{display:flex;justify-content:flex-end}@media(prefers-reduced-motion: reduce){body>main>canvas#background-canvas{display:none}body>nav,body>main>.fade,#notification-dialog{transition:none}}/*# sourceMappingURL=main.css.map */
