:root{--raised:inset 0 1.5px 0 #ffffff8c, inset 1px 0 0 #ffffff2e, inset -1px 0 0 #00000014, inset 0 -4px 0 #0000002e, 0 1px 1px #0000002e, 0 4px 8px -2px #00000047;--raised-strong:inset 0 2px 0 #fff9, inset 1px 0 0 #fff3, inset -1px 0 0 #0000001a, inset 0 -5px 0 #00000038, 0 2px 2px #0003, 0 8px 14px -4px #00000059;--pressed:inset 0 3px 5px #0003, inset 0 1px 1px #0000001f, inset 0 -1px 0 #ffffff4d;--tray:inset 0 4px 10px #00000042, inset 0 -1px 0 #ffffff4d, 0 0 0 1px #ffffff59, 0 1px 0 #fff6, 0 14px 30px -10px #00000059;--sheen:radial-gradient(ellipse 70% 50% at 30% 18%, #ffffff47, #fff0 70%), linear-gradient(180deg, #ffffff29, #fff0 55%);--ambient:radial-gradient(ellipse 70% 45% at 50% 28%, #fff8e673, transparent 70%), radial-gradient(ellipse 120% 60% at 50% 110%, #00000014, transparent 70%);--shade:radial-gradient(ellipse 120% 95% at 50% 40%, transparent 52%, #0000002e)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}}:root[data-theme=dark]{--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}@keyframes art-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes art-pulse{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes art-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes art-press{0%{transform:scale(1)}40%{transform:scale(.9)}to{transform:scale(1)}}.art-pop{animation:.22s ease-out art-pop}.art-pulse{animation:.22s ease-out art-pulse}.art-shake{animation:.32s ease-in-out art-shake}.art-press{animation:.18s ease-out art-press}@media (prefers-reduced-motion:reduce){.art-pop,.art-pulse,.art-shake,.art-press{animation:none}}.sound-toggle{background:var(--btn,#00000040);width:36px;min-width:36px;height:36px;color:var(--ink,#fff);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=true]{opacity:.7}.sound-toggle:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:2px}:root{--bg:#1e2433;--ink:#eee8da;--btn:#ffffff1a;--btn-on:#f2b544;--btn-on-ink:#2a1d00;--focus:#f2b544;--dialog:#fbf7ee;--dialog-ink:#1e2433;--paper:#f6efdf;--paper-ink:#2a2520;--code-ink:#5d5343;--line:#bfb39b;--sel:#f2b544;--sel-ink:#2a1d00;--conflict:#c8382e;--hinted:#2e7d4f;--key:#ffffff24;--key-ink:#eee8da;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dialog:#262d3d;--dialog-ink:#eee8da}}:root[data-theme=dark]{--dialog:#262d3d;--dialog-ink:#eee8da}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ambient), var(--shade), var(--grain,none), radial-gradient(ellipse 80% 60% at 50% 30%, #2b3448, var(--bg));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.cg{grid-template-rows:auto auto auto minmax(0,1fr) auto;justify-items:center;gap:6px;height:100dvh;padding:8px 10px 10px;display:grid;position:relative}.cg-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.cg-title{letter-spacing:2px;text-transform:uppercase;margin:0 6px 0 0;font:800 18px/1 Georgia,Times New Roman,serif}.group{gap:3px;display:flex}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;border:0;border-radius:9px;min-height:34px;padding:7px 11px;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #00000040}.btn[hidden]{display:none}.btn:disabled{opacity:.45;cursor:default}.btn[aria-pressed=true]{background:var(--btn-on);color:var(--btn-on-ink);font-weight:700}.btn.primary{background:var(--btn-on);color:var(--btn-on-ink);font-weight:800}.btn:focus-visible,.cg-key:focus-visible,.cg-cell:focus-visible,.cg-frow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sound-toggle{width:34px;height:34px}.cg-bar>.sound-toggle{order:1}.cg-info{opacity:.9;font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:14px;font-size:13px;display:flex}.cg-info .clock{font-weight:800}.cg-source{font-style:italic}.cg-status{text-align:center;opacity:.9;min-height:1.3em;margin:0;padding:0 6px;font-weight:600}.cg-status.warn{color:#ff9e95}.cg-stage{grid-row:4;grid-template-columns:minmax(0,1fr);align-content:safe center;justify-items:center;gap:10px;width:100%;min-height:0;display:grid;overflow:auto}.cg-stage:has(.cg-freq:not([hidden])){grid-template-columns:minmax(0,1fr) auto;align-items:start}.cg-puzzle{--cell-max:36px;--cell:var(--cell-max);justify-content:center;gap:calc(var(--cell) * .45) calc(var(--cell) * .7);padding:calc(var(--cell) * .4);flex-wrap:wrap;max-width:100%;display:flex}.cg-word{align-items:flex-end;gap:2px;display:flex}.cg-cell{width:var(--cell);height:calc(var(--cell) * 1.8);background:var(--paper);color:var(--paper-ink);cursor:pointer;grid-template-rows:calc(var(--cell) * 1.08) minmax(0, 1fr);box-shadow:var(--raised);border:0;border-radius:4px 4px 0 0;padding:0;font-family:Georgia,Times New Roman,serif;display:grid}.cg-guess{border-bottom:2px solid var(--line);font:800 calc(var(--cell) * .6) / 1 Georgia, "Times New Roman", serif;justify-content:center;align-items:flex-end;margin:0 3px;padding-bottom:2px;display:flex}.cg-cell.filled .cg-guess{border-color:var(--paper-ink)}.cg-code{font:600 calc(var(--cell) * .45) / 1 ui-monospace, "Cascadia Mono", Consolas, monospace;font-size:max(9px, calc(var(--cell) * .45));color:var(--code-ink);place-items:center;display:grid}.cg-cell.sel{background:var(--sel);color:var(--sel-ink)}.cg-cell.sel .cg-code{color:var(--sel-ink)}.cg-cell.sel .cg-guess{border-color:var(--sel-ink)}.cg-cell.conflict .cg-guess{color:var(--conflict);border-color:var(--conflict);border-bottom-width:3px}.cg-cell.hinted .cg-guess{color:var(--hinted);border-color:var(--hinted)}.cg-cell.revealed .cg-guess{color:var(--conflict)}.cg-cell.solved{background:#e3f1e6}.cg-cell.solved .cg-guess{color:var(--hinted)}.cg-cell.pop .cg-guess,.cg-cell.win .cg-guess{animation:.3s ease-out cg-pop}.cg-cell:disabled{cursor:default}.cg-punct{width:calc(var(--cell) * .5);text-align:center;font:800 calc(var(--cell) * .6) / 1 Georgia, serif;color:var(--ink);padding-bottom:calc(var(--cell) * .55);align-self:flex-end}@keyframes cg-pop{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.cg-freq{min-width:130px;max-height:100%;box-shadow:var(--tray);background:#00000038;border-radius:12px;flex-direction:column;gap:3px;padding:8px;display:flex;overflow:auto}.cg-freq[hidden]{display:none}.cg-freq-head{opacity:.85;margin-bottom:2px;font-size:12px;font-weight:700}.cg-frow{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:16px minmax(0,1fr) 22px 16px;align-items:center;gap:6px;padding:3px 6px;font:12px/1 ui-monospace,Consolas,monospace;display:grid}.cg-frow b{text-transform:uppercase}.cg-frow.sel{background:var(--sel);color:var(--sel-ink)}.cg-fbar{background:var(--btn-on);opacity:.8;border-radius:4px;height:8px;display:block}.cg-frow.sel .cg-fbar{background:var(--sel-ink)}.cg-fn{text-align:right;font-variant-numeric:tabular-nums}.cg-fg{font-family:Georgia,serif;font-weight:800}.cg-frow:disabled{cursor:default;opacity:.6}.cg-keys{flex-direction:column;grid-row:5;gap:6px;width:min(100%,560px);display:flex}.cg-krow{justify-content:center;gap:5px;display:flex}.cg-key{background:var(--key);min-width:0;max-width:46px;height:46px;color:var(--key-ink);text-transform:uppercase;cursor:pointer;border:0;border-radius:6px;flex:1 1 0;padding:0;font:700 15px/1 system-ui,sans-serif;box-shadow:0 2px #00000040}.cg-key.wide{text-transform:none;flex:1.6 1 0;max-width:76px;font-size:12px}.cg-key.used{opacity:.7;box-shadow:inset 0 -3px 0 var(--btn-on)}.cg-key:disabled{cursor:default;opacity:.5}.overlay{z-index:30;background:#050a148c;place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.overlay.later{background:linear-gradient(#0000 35%,#050a14b3);place-items:end center;animation:1s step-end both cg-later}@keyframes cg-later{0%{opacity:0}to{opacity:1}}.dialog{background:var(--dialog);color:var(--dialog-ink);text-align:center;border-radius:16px;flex-direction:column;gap:10px;width:min(100%,400px);max-height:100%;padding:18px 20px;display:flex;overflow:auto;box-shadow:0 12px 40px #0006}.dialog h2{margin:0;font:800 20px/1.2 Georgia,Times New Roman,serif}.dialog p{opacity:.85;margin:0}.cg-solution{font:700 17px/1.35 Georgia,Times New Roman,serif;opacity:1!important}.cg-src{font-size:12px;font-style:italic}.cg-nums{justify-content:center;gap:16px;display:flex}.cg-num{flex-direction:column;align-items:center;display:flex}.cg-num b{font-size:24px;line-height:1}.cg-num span{opacity:.75;font-size:11px}.dialog .btn:not(.primary){color:var(--dialog-ink);background:color-mix(in srgb, var(--dialog-ink) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dialog-ink) 22%, transparent)}.cg-dialog-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.cg-next{width:100%;font-size:13px}@media (prefers-reduced-motion:reduce){.cg-cell.pop .cg-guess,.cg-cell.win .cg-guess{animation:none}}@media (min-width:700px) and (min-height:700px){.cg-puzzle{--cell-max:48px}}@media (max-width:420px){.cg-stage:has(.cg-freq:not([hidden])){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:center}.cg-freq{flex-flow:wrap;justify-content:center;gap:2px 4px;width:100%;min-width:0;max-height:35dvh;padding:5px}.cg-freq-head{text-align:center;flex-basis:100%;margin:0}.cg-frow{grid-template-columns:auto auto auto;gap:4px;padding:4px 6px}.cg-fbar{display:none}.cg-title{font-size:15px}.btn{min-height:30px;padding:6px 7px;font-size:12px}.sound-toggle{width:30px;height:30px}.cg-bar>.sound-toggle{order:0}.cg-key{height:42px;font-size:14px}.cg-info{gap:8px;font-size:12px}.cg-puzzle{--cell-max:30px}}@media (max-width:360px){.cg-bar{gap:4px}.group{gap:2px}.btn{min-height:28px;padding:5px;font-size:11px}.cg-title{letter-spacing:1px;margin-right:2px;font-size:13px}}@media (max-height:560px) and (min-aspect-ratio:1){#app.cg{grid-template-rows:auto auto minmax(0,1fr) auto;gap:3px;padding:5px 8px 6px}.cg-status{display:none}.cg-stage{grid-row:3}.cg-info{gap:10px;font-size:11px}.cg-puzzle{--cell-max:28px;gap:calc(var(--cell) * .35) calc(var(--cell) * .6);padding:4px}.cg-keys{gap:3px;width:min(100%,440px)}.cg-krow{gap:3px}.cg-key{max-width:36px;height:28px;font-size:12px}.cg-key.wide{max-width:64px;font-size:11px}.btn{min-height:26px;padding:3px 7px;font-size:11px}.sound-toggle{width:26px;height:26px}.cg-title{letter-spacing:1px;font-size:13px}.cg-freq{min-width:110px;padding:5px}.cg-frow{padding:1px 4px;font-size:11px}}@media (max-height:300px){#app.cg{gap:2px;padding:3px 5px 4px}.cg-info{display:none}.cg-puzzle{--cell-max:22px;gap:3px 8px;padding:2px}.btn[data-k=freq]{display:none}.cg-key{height:20px;font-size:10px}.cg-krow,.cg-keys{gap:2px}.btn{min-height:22px;padding:2px 6px;font-size:10px}.sound-toggle{width:22px;height:22px}.cg-freq{display:none}.dialog{gap:6px;padding:8px 10px}.dialog h2{font-size:15px}.cg-solution{font-size:13px}.cg-nums{gap:10px}.cg-num b{font-size:16px}}
