:root{color-scheme:light;--paper:#faf9f5;--surface:#f0efea;--ink:#252c30;--muted:#687476;--line:#bfc5c2;--strong-line:#6e7c78;--accent:#315e91;--error:#b33735;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-scheme=dark]{color-scheme:dark;--paper:#151a1b;--surface:#21282a;--ink:#f0f0e9;--muted:#a2adb0;--line:#495456;--strong-line:#99a3a0;--accent:#91b7e8;--error:#ffb4ac}:root[data-theme=moss]{--accent:#416b50}:root[data-theme=clay]{--accent:#a45c43}:root[data-scheme=dark][data-theme=moss]{--accent:#a8c6a7}:root[data-scheme=dark][data-theme=clay]{--accent:#e8b39d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:default;opacity:.35}a{color:var(--accent);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.game-app{--board-size:min(100vw, calc(100dvh - 356px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 720px);max-width:760px;min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 0 calc(8px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.game-header,.metadata{justify-content:space-between;align-items:center;width:100%;padding:0 20px;display:flex}.game-header{flex-shrink:0;height:44px}.game-wordmark{color:var(--ink);letter-spacing:-.7px;font-size:25px;font-weight:650;text-decoration:none}.round-button{background:var(--surface);letter-spacing:2px;border-radius:50%;width:44px;height:44px;font-size:16px}.metadata{min-height:36px;font-size:15px}.metadata strong{font-weight:600}#mode{color:var(--muted);margin-top:2px;font-size:12px;display:block}.game-metrics{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:16px;font-size:13px;display:flex}#strikes{gap:6px;display:flex}.strike{color:var(--line);font-weight:700}.strike.used{color:var(--error)}.board{width:var(--board-size);height:var(--board-size);border:1.5px solid var(--strong-line);flex-shrink:0;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);display:grid;container-type:inline-size}.cell{border-right:.5px solid var(--line);border-bottom:.5px solid var(--line);font-variant-numeric:tabular-nums;min-width:0;min-height:0;color:var(--accent);border-radius:0;place-items:center;padding:0;font-size:6.3cqw;font-weight:450;display:grid;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell.box-right{border-right:1.5px solid var(--strong-line)}.cell.box-bottom{border-bottom:1.5px solid var(--strong-line)}.cell.given{color:var(--ink);font-weight:550}.cell.related{background:color-mix(in srgb,var(--accent) 5%,var(--paper))}.cell.matching{background:color-mix(in srgb,var(--accent) 13%,var(--paper))}.cell.selected{background:color-mix(in srgb,var(--accent) 18%,var(--paper));box-shadow:inset 0 0 0 2px var(--accent)}.cell.checked,.cell.rejected{color:var(--error);background:color-mix(in srgb,var(--error) 10%,var(--paper))}.cell:focus-visible{outline-offset:-3px}.notes{color:var(--muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-size:2.4cqw;font-weight:400;line-height:1;display:grid;position:absolute;inset:3px}.notes span{place-items:center;display:grid}.cell.has-value .notes{display:none}.cell.flying .value{visibility:hidden}.tools{flex-shrink:0;justify-content:center;gap:28px;height:54px;display:flex}.tools button{min-width:64px;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;display:flex}.tools button span{font-size:24px;line-height:1}.tools button[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.keypad{flex-shrink:0;width:min(100%,480px);padding:0 8px}.key-row{justify-content:center;gap:10px;display:flex}.key-row+.key-row{margin-top:10px}.key-row button{width:calc(20% - 8px);height:56px;color:var(--accent);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:17px;font-size:30px;font-weight:500}.keypad.pencil .key-row button{background:color-mix(in srgb,var(--accent) 10%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.key-row button.exhausted:not(:disabled){opacity:.45}.key-row button:active{opacity:.65}.game-status{text-align:center;min-height:20px;color:var(--accent);padding:0 12px;font-size:12px}.game-status p{margin:0}#save-status,.error,.game-status .error{color:var(--error)}.status-button{text-underline-offset:3px;padding:0;text-decoration:underline}dialog{border:1px solid var(--line);background:var(--paper);width:min(100% - 24px,480px);max-height:calc(100dvh - 40px);color:var(--ink);border-radius:24px;padding:24px;box-shadow:0 24px 100px #0003}dialog::backdrop{backdrop-filter:blur(3px);background:#0005}.dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.dialog-header h2{letter-spacing:-.5px;margin:0;font-size:21px;font-weight:600}.dialog-header button{color:var(--accent);padding:10px 0 10px 12px}dialog p{font-size:15px;line-height:1.6}.hint{color:var(--muted);font-size:12px;line-height:1.6}fieldset{border:0;min-width:0;margin:0 0 24px;padding:0}legend{color:var(--muted);text-transform:uppercase;letter-spacing:1.4px;margin-bottom:12px;padding:0;font-size:11px}label{border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:14px;display:flex}select,input[type=time]{border:1px solid var(--line);background:var(--surface);max-width:60%;color:var(--ink);border-radius:8px;padding:8px;font-size:13px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.primary{background:var(--accent);width:100%;color:var(--paper);border-radius:12px;padding:16px;font-weight:600}.theme-picker{gap:12px;display:flex}.theme-picker button{border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.theme-picker button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 10%,var(--paper));box-shadow:inset 0 0 0 1px var(--accent)}.swatch{border-radius:50%;width:30px;height:30px}.swatch.ink{background:#315e91}.swatch.moss{background:#416b50}.swatch.clay{background:#a45c43}.menu-actions{flex-direction:column;display:flex}.menu-actions button{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;padding:16px 0;display:flex}.menu-actions span{color:var(--accent)}.dialog-links{gap:24px;margin-top:24px;font-size:12px;display:flex}.notice-actions{flex-direction:column;gap:10px;display:flex}.notice-actions button{background:var(--surface);color:var(--accent);border-radius:12px;padding:14px}.notice-actions button:first-child{background:var(--accent);color:var(--paper)}.entry-flight{z-index:5;pointer-events:none;color:var(--accent);font-size:30px;font-weight:500;position:fixed;transform:translate(-50%,-50%)}.cell.rejected{animation:.28s ease-in-out shake}@keyframes shake{25%{translate:-3px}75%{translate:3px}}.no-script{background:var(--paper);z-index:10;padding:48px;position:fixed;inset:0}@media (width>=800px) and (height>=850px){.game-app{--board-size:min(calc(100vw - 40px),calc(100dvh - 414px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),720px);gap:18px;padding-top:24px}.key-row button{height:64px}}@media (width>=700px) and (orientation:landscape){.game-app{--board-size:min(calc(100dvh - 145px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),calc(100vw - 340px),720px);max-width:1120px;min-height:100dvh;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));grid-template-rows:44px 36px 1fr 20px;grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-content:center;justify-items:center;gap:8px 24px;display:grid}.game-header{grid-column:1/-1}.metadata{grid-column:1}.board{grid-area:3/1;align-self:center}.tools{grid-area:3/2;align-self:center;gap:16px;transform:translateY(-100px)}.keypad{grid-area:3/2;transform:translateY(35px)}.game-status{grid-column:1/-1}}@media (height<=650px) and (width<=699px){.game-app{--board-size:min(100vw,calc(100dvh - 292px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),720px);gap:6px}.key-row button{height:44px;font-size:26px}.tools{height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
