.debugger[data-v-38601611]{background-color:#f0f0f0;padding:6px;font-family:monospace;font-size:12px}.h[data-v-38601611]{font-weight:700;margin:12px 0 2px;text-transform:uppercase}.h[data-v-38601611]:first-of-type{margin-top:0}.b[data-v-38601611]{display:inline-block;text-decoration:underline}.route-transition[data-v-b464e36c]{position:relative;width:100%;height:100%;overflow:hidden;--transition-offset: 20px}.route-content[data-v-b464e36c]{width:100%;height:100%}.wipe-forward-enter-active[data-v-b464e36c],.wipe-forward-leave-active[data-v-b464e36c]{transition:all .4s var(--ease-in-out-quad)}.wipe-forward-enter-from[data-v-b464e36c]{transform:translate(var(--transition-offset));opacity:0}.wipe-forward-enter-to[data-v-b464e36c],.wipe-forward-leave-from[data-v-b464e36c]{transform:translate(0);opacity:1}.wipe-forward-leave-to[data-v-b464e36c]{transform:translate(calc(-1 * var(--transition-offset)));opacity:0}.wipe-backward-enter-active[data-v-b464e36c],.wipe-backward-leave-active[data-v-b464e36c]{transition:all .4s var(--ease-in-out-quad)}.wipe-backward-enter-from[data-v-b464e36c]{transform:translate(calc(-1 * var(--transition-offset)));opacity:0}.wipe-backward-enter-to[data-v-b464e36c],.wipe-backward-leave-from[data-v-b464e36c]{transform:translate(0);opacity:1}.wipe-backward-leave-to[data-v-b464e36c]{transform:translate(var(--transition-offset));opacity:0}.app[data-v-9bb382e4]{height:100%;margin:0 auto;filter:url(#rough)}.debugger[data-v-9bb382e4]{position:fixed;top:0;left:0;height:100vh;width:16rem}.loader[data-v-9bb382e4]{display:flex;justify-content:center;padding:calc(var(--gutter) * 3) 0}.loader-txt[data-v-9bb382e4]{width:100px;text-align:left}.loader-txt[data-v-9bb382e4]:after{display:inline-block;animation:dotty-9bb382e4 steps(1,end) 1s infinite;content:""}@keyframes dotty-9bb382e4{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.puzzle[data-v-c3eccd38]{background:var(--color-border);border:var(--border);border-width:var(--border-width);min-height:116px}.puzzle-label[data-v-c3eccd38]{background-color:#fff;padding:var(--gutter)}.puzzle-number[data-v-c3eccd38]{font-size:48px;font-weight:var(--weight-bold)}.puzzle-name[data-v-c3eccd38]{height:2em;margin-bottom:.4em;font-size:14px;font-family:var(--font-family-heading);font-weight:var(--weight-bold)}.puzzle-score[data-v-c3eccd38]{display:flex;justify-content:center;gap:calc(var(--gutter) / 2);padding:6px 0 4px}.topbar[data-v-273647c5]{display:flex;justify-content:space-between;align-items:center}.back[data-v-273647c5]{display:block;margin-bottom:var(--gutter);text-decoration:none}.collection-name[data-v-273647c5]{font-weight:var(--weight-xbold);letter-spacing:.03em}.collection-info[data-v-273647c5]{margin-bottom:var(--gutter);text-align:center}.puzzles[data-v-273647c5]{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--gutter);margin-bottom:calc(var(--gutter) * 2);text-align:center}.square[data-v-98a92269]{position:relative;width:var(--square-size);height:var(--square-size);font-weight:var(--weight-bold);font-family:var(--font-family-tile);background-color:#fff}.square.type-open.has-focus[data-v-98a92269]{background:var(--color-focus)}.arrow[data-v-98a92269]{position:absolute;z-index:1;top:3px;right:2px;line-height:0}.arrow.direction-down[data-v-98a92269]{transform:rotate(90deg)}.has-letter .arrow[data-v-98a92269]{top:-2px;right:3px}.invalid-icon[data-v-98a92269]{position:absolute;z-index:1;bottom:1px;left:8px;line-height:0}.type-brick .letter[data-v-98a92269]{color:#fff;background:var(--color-brick)}.letter[data-v-98a92269]{width:var(--square-size);height:var(--square-size);line-height:var(--square-size);text-align:center;font-size:24px}.letter-inner[data-v-98a92269]{position:relative}.type-tile .letter[data-v-98a92269]{position:relative;top:-4px;box-shadow:0 0 0 2px var(--color-border);background:white}.type-tile .letter[data-v-98a92269]:after{content:"";display:block;position:relative;top:-1px;left:-2px;width:var(--square-size);height:4px;background:#ccc;border:2px solid var(--color-border);border-width:2px 2px 2px 2px}.type-tile.has-focus .letter[data-v-98a92269]{color:#fff;background:var(--color-focus)}.type-tile.has-focus .letter[data-v-98a92269]:after{background:var(--color-focus-dark)}.type-tile .invalid-icon[data-v-98a92269]{bottom:6px}.square.is-dark[data-v-98a92269]{background:repeating-linear-gradient(45deg,#ddd 0 2px,white 2px 4px)}.square.is-dark.type-open.has-focus[data-v-98a92269]{background:repeating-linear-gradient(45deg,hsl(203,80%,60%) 0 2px,var(--color-focus) 2px 4px)}.key-list[data-v-d06966e3]{display:flex;flex-direction:column;gap:8px;touch-action:manipulation}.row[data-v-d06966e3]{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.key[data-v-d06966e3]{width:28px;height:44px;padding:0;border:0;color:var(--color);font-size:20px;font-family:inherit;font-weight:var(--weight-bold);background:white;border-radius:var(--radius-btn-keyboard);user-select:none;display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:rgba(0,0,0,.3);outline:none}@media (min-width: 360px){.key[data-v-d06966e3]{width:30px}}@media (min-width: 380px){.key[data-v-d06966e3]{width:32px}}.key.used[data-v-d06966e3]{color:#fff;background-color:var(--color)}.key.wide[data-v-d06966e3]{width:60px}@media (min-width: 640px){.key[data-v-d06966e3]{width:40px}.key.wide[data-v-d06966e3]{width:72px}}.icon-button[data-v-285ad7f0]{display:flex;flex-direction:column;align-items:center;gap:calc(var(--gutter) / 2)}.icon-button[data-v-285ad7f0]:focus-visible{outline:none}.icon-button:focus-visible .icon-button-icon[data-v-285ad7f0]{box-shadow:0 0 0 3px var(--color-focus)}.icon-button-icon[data-v-285ad7f0]{display:flex;justify-content:center;align-items:center;color:var(--color-modal-bg);border:var(--border-width) solid transparent;border-radius:var(--radius-btn)}.icon-button-icon--bordered[data-v-285ad7f0]{border-color:var(--color-border)}.overlay[data-v-b57f9e79]{position:absolute;top:0;left:0;background-color:#0009;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.modal[data-v-b57f9e79]{position:relative;max-width:var(--modal-max);min-width:var(--modal-min);max-height:80vh;overflow-y:auto;padding:calc(var(--gutter) * 3);background-color:#fff;border:var(--border);border-radius:var(--radius-lg);filter:url(#rough)}.modal-title[data-v-b57f9e79]{margin-bottom:calc(var(--gutter) * 3)}.close-button[data-v-b57f9e79]{position:absolute;top:var(--gutter);right:var(--gutter)}.stats-container[data-v-967f8e51]{text-align:left}.stats-table[data-v-967f8e51]{width:100%;border-collapse:collapse;font-size:14px}.stats-table th[data-v-967f8e51],.stats-table td[data-v-967f8e51]{padding:8px 8px 8px 0;text-align:left;border-bottom:1px solid #e0e0e0}.stats-table th[data-v-967f8e51]{font-weight:600;color:var(--color-muted);font-size:12px;letter-spacing:.5px}.percentage-bar[data-v-967f8e51]{position:relative;height:20px;background-color:#f0f0f0;overflow:hidden;display:flex;align-items:center}.bar-fill[data-v-967f8e51]{height:100%;transition:width .3s ease}.percentage-text[data-v-967f8e51]{position:absolute;left:8px;font-size:12px;font-weight:500;color:#333}.no-data[data-v-967f8e51]{text-align:center;color:var(--color-muted);font-style:italic}.your-score-label[data-v-967f8e51]{display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius);margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.stats-fineprint[data-v-967f8e51]{margin-top:var(--gutter)}.modal-title[data-v-3cf0d95f]{margin-bottom:calc(var(--gutter) * 2);text-align:center}.stats[data-v-3cf0d95f]{margin-bottom:calc(var(--gutter) * 2)}.muted-text[data-v-3cf0d95f]{color:var(--color-muted)}.button-row[data-v-3cf0d95f]{display:flex;justify-content:center;gap:calc(var(--gutter) * 2);margin-bottom:calc(var(--gutter) * 3)}.stats-loading[data-v-3cf0d95f]{text-align:center;padding:calc(var(--gutter) * 2);color:var(--color-muted);font-style:italic}.stats-loading p[data-v-3cf0d95f]{margin:0}.modal-title[data-v-2463b815]{margin-bottom:calc(var(--gutter) * 2);text-align:center}.tutorial-message[data-v-2463b815]{text-align:center;margin-bottom:calc(var(--gutter) * 2);color:var(--color-muted)}.button-row[data-v-2463b815]{display:flex;justify-content:center;gap:calc(var(--gutter) * 2);margin-bottom:calc(var(--gutter) * 2)}.typewriter[data-v-e092b382]{white-space:pre-wrap;word-wrap:break-word}.caret[data-v-e092b382]{animation:blink-e092b382 2s infinite}@keyframes blink-e092b382{0%{opacity:0}50%{opacity:1}to{opacity:0}}.game-board-wrapper[data-v-cdcab7d8]{display:flex;flex-direction:column;flex:1}@media (min-width: 640px){.game-board-wrapper[data-v-cdcab7d8]{max-height:600px}}.game-board-section[data-v-cdcab7d8]{position:relative;z-index:0;display:flex;flex-direction:column;align-items:center;flex:1 1 auto;width:100%;padding:4px}.puzzle-name-container[data-v-cdcab7d8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-bottom:calc(var(--gutter) * 2)}.puzzle-name[data-v-cdcab7d8]{background-color:var(--color);color:#fff;padding:2px 8px;border-radius:var(--radius);letter-spacing:.05em}.puzzle-text[data-v-cdcab7d8]{width:100%;text-align:left;padding:calc(var(--gutter) * 2) calc(var(--gutter) * 2) 0 calc(var(--gutter) * 2);max-width:24em}.keyboard-section[data-v-cdcab7d8]{padding:0 var(--gutter) var(--gutter) var(--gutter)}.stats[data-v-cdcab7d8]{display:flex;text-align:center;font-weight:var(--weight-bold);margin-top:calc(var(--gutter) * 2)}.stat-current[data-v-cdcab7d8]{margin-bottom:4px}.stat-best[data-v-cdcab7d8]:before{content:"\b7";padding:0 var(--gutter)}.puzzle-status[data-v-cdcab7d8]{margin-top:4px;display:flex;gap:var(--gutter);color:var(--color-muted);font-size:12px;letter-spacing:.05em}.puzzle-status-item[data-v-cdcab7d8]{color:#fff;background:#9E9E9f;padding:2px 4px;border-radius:var(--radius)}.puzzle-status-item.valid[data-v-cdcab7d8]{color:var(--color);background:var(--color-correct)}.game-board[data-v-cdcab7d8]{box-shadow:0 0 0 var(--border-width) #000;user-select:none}.row[data-v-cdcab7d8]{display:flex}.game-header[data-v-23359c58]{display:flex;justify-content:space-between;align-items:center}.game-header a[data-v-23359c58]{text-decoration:none}.left[data-v-23359c58],.right[data-v-23359c58]{display:flex;align-items:center;gap:var(--gutter)}.left[data-v-23359c58]{gap:0;position:relative;left:-8px}.logo[data-v-23359c58]{font-family:var(--font-family-heading);font-weight:var(--weight-bold);font-size:20px}.rules-content[data-v-9fba0987]{font-size:14px}.two-letter-words[data-v-9fba0987]{column-count:5;column-gap:20px}.two-letter-words .word[data-v-9fba0987]{display:block}.word[data-v-9fba0987]{display:inline-block}.letter[data-v-9fba0987]{display:inline-block;width:1.2ch;text-align:center}.info-content[data-v-921d692f]{font-size:14px}.info-content p[data-v-921d692f],.info-content ul[data-v-921d692f]{margin-bottom:var(--gutter)}.info-content li[data-v-921d692f]{margin-bottom:calc(var(--gutter) / 2)}body.game-view{overflow:hidden}.game-page{display:flex;flex-direction:column;height:100svh;max-width:var(--layout-max);margin:0 auto}.game-header{padding:0 var(--gutter) var(--gutter) var(--gutter)}.percentage-stat[data-v-9185baa0]{text-align:left}.percentage-stat-number[data-v-9185baa0]{font-size:24px;font-weight:var(--weight-bold)}.percentage-stat-label[data-v-9185baa0]{font-size:14px;margin-bottom:calc(var(--gutter) * .5)}.percentage-stat-progress[data-v-9185baa0]{width:100%;height:6px;background:var(--color-bg-dark);border-radius:var(--radius);overflow:hidden}.percentage-stat-progress-bar[data-v-9185baa0]{height:100%;border-radius:var(--radius);transition:width .3s ease}.page[data-v-176ccd25]{text-align:left}.logo-small[data-v-176ccd25]{font-size:24px;font-family:var(--font-family-heading);font-weight:var(--weight-xbold);margin-bottom:var(--gutter);visibility:hidden}.logo-small.visible[data-v-176ccd25]{visibility:visible}.logo-big[data-v-176ccd25]{font-family:var(--font-family-heading);font-weight:var(--weight-bold);font-size:96px;line-height:.8em;margin-bottom:var(--gutter);visibility:hidden}.logo-big.visible[data-v-176ccd25]{visibility:visible}.logo-big.animate-in[data-v-176ccd25]{opacity:1;transform:translateY(0)}.logo-divider[data-v-176ccd25]{visibility:hidden}.logo-divider.visible[data-v-176ccd25]{visibility:visible}.subtitle[data-v-176ccd25]{margin:calc(var(--gutter) * 2) 0}.subtitle a[data-v-176ccd25]{text-decoration:none;color:var(--color);text-decoration:underline}.overall-stats[data-v-176ccd25]{display:flex;gap:calc(var(--gutter) * 4);margin-bottom:calc(var(--gutter) * 2)}.puzzle[data-v-176ccd25]{display:flex;align-items:center;gap:var(--gutter);border-bottom:1px solid var(--color);padding-bottom:var(--gutter);margin-bottom:var(--gutter)}.puzzle.visible[data-v-176ccd25]{visibility:visible}.puzzle-title[data-v-176ccd25]{font-size:24px}.puzzle-status-checkbox[data-v-176ccd25]{width:24px;height:24px;border:var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.puzzle-completed .puzzle-status-checkbox[data-v-176ccd25]{background:repeating-linear-gradient(45deg,var(--color) 0 2px,white 2px 3px);border-color:var(--color)}.puzzle-top-score[data-v-176ccd25]{padding:2px 4px;border-radius:var(--radius);font-size:12px;letter-spacing:.05em;color:#fff;background:var(--color-top-score)}.btn[data-v-176ccd25]{visibility:hidden}.btn.visible[data-v-176ccd25]{visibility:visible}.puzzles-container[data-v-176ccd25]{visibility:hidden}.puzzles-container.visible[data-v-176ccd25]{visibility:visible}.layout-editor[data-v-1eb6e542]{display:inline-block;border:1px solid #ccc;padding:4px;background:#f5f5f5}.editor-row[data-v-1eb6e542]{display:flex;gap:1px;margin-bottom:1px}.cell-input[data-v-1eb6e542]{width:24px;height:24px;padding:0;text-align:center;font-family:monospace;font-size:14px;border:1px solid #ddd;background:white}.cell-input[data-v-1eb6e542]:focus{outline:2px solid #4CAF50;border-color:#4caf50}.editor-controls[data-v-1eb6e542]{margin-bottom:10px;display:flex;gap:8px}.editor-controls button[data-v-1eb6e542]{padding:6px 12px;border:1px solid #ccc;background:#fff;cursor:pointer}.editor-controls button.active[data-v-1eb6e542]{background:#4CAF50;color:#fff;border-color:#45a049}.cell-input.brick[data-v-1eb6e542]{background:#333;color:#fff;border-color:#222}.cell-input.tile[data-v-1eb6e542]{background:#333;font-weight:700;color:#fff}.cell-input.open[data-v-1eb6e542]{background:#fff;color:#666}.cell-input.focus[data-v-1eb6e542]{background-color:#2196f3;color:#fff}.cell-input.brick.focus[data-v-1eb6e542],.cell-input.tile.focus[data-v-1eb6e542]{background-color:#1976d2}.form-group input[data-v-3395ab04]{width:100%}.page[data-v-3395ab04] *{font-family:monospace;font-size:1em}.page[data-v-3395ab04]{display:grid;grid-template-columns:20em 12em 1fr;gap:1rem;text-align:left}.puzzle-list[data-v-3395ab04]{overflow-y:auto;max-height:100vh}.puzzle-item[data-v-3395ab04]:hover{cursor:pointer;background-color:#f5f5f5}.puzzle-layout[data-v-3395ab04]{white-space:pre;overflow:auto}.editor-container[data-v-3395ab04]{margin-top:var(--gutter)}body.editor-view[data-v-3395ab04]{overflow:hidden}.editor-actions[data-v-3395ab04]{display:flex;gap:1rem;margin-bottom:1rem}.editor-actions button[data-v-3395ab04]{border-radius:4px;padding:4px;cursor:pointer;background:white}.editor-actions button[data-v-3395ab04]:disabled{background-color:#ccc;cursor:not-allowed}.form-group[data-v-3395ab04]{margin-bottom:1rem}.dimension-input[data-v-3395ab04]{display:grid;grid-template-columns:1fr 4em;align-items:center;gap:.5rem}.dimension-input input[data-v-3395ab04]{width:4em}.focus-inputs[data-v-3395ab04]{display:flex;gap:.5rem}.focus-input[data-v-3395ab04]{display:flex;flex-direction:column;gap:.25rem}.focus-input label[data-v-3395ab04]{font-size:.9em;color:#666}.focus-input input[data-v-3395ab04]{width:4em}.focus-input select[data-v-3395ab04]{width:6em;padding:2px}.puzzle-item[data-v-3395ab04]{padding:.25rem;display:grid;grid-template-columns:6fr 3fr;gap:.5rem}.puzzle-name[data-v-3395ab04]{flex-shrink:0;margin-right:1rem}.puzzle-info[data-v-3395ab04]{display:flex;gap:.5rem;align-items:center}.collection-names[data-v-3395ab04]{color:#666;font-size:.9em;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-puzzle[data-v-3395ab04]{margin-top:1rem}.new-puzzle-input[data-v-3395ab04]{width:100%;margin-bottom:.5rem}.create-button[data-v-3395ab04]{width:100%}.page[data-v-ac6a0bae] *{font-family:monospace;font-size:1em}pre[data-v-ac6a0bae]{margin:0}.page[data-v-ac6a0bae]{display:grid;grid-template-columns:minmax(100px,200px) minmax(100px,200px) 1fr;gap:1rem}.collections-list[data-v-ac6a0bae]{grid-column:1}.collection-item[data-v-ac6a0bae]{padding:4px;cursor:pointer}.collection-item[data-v-ac6a0bae]:hover{filter:brightness(.9)}.collection-item.selected[data-v-ac6a0bae]{filter:brightness(.8)}.create-collection[data-v-ac6a0bae]{margin-top:1rem}.create-button[data-v-ac6a0bae]:disabled{background-color:#ccc;cursor:not-allowed}.create-button[data-v-ac6a0bae]:not(:disabled):hover{background-color:#f5f5f5}.editor-column[data-v-ac6a0bae]{grid-column:2}.puzzles-column[data-v-ac6a0bae]{grid-column:3}.puzzle-form[data-v-ac6a0bae]{display:flex;flex-direction:column;gap:.5rem}.editor-form[data-v-ac6a0bae]{display:flex;flex-direction:column;gap:1rem}.save-button[data-v-ac6a0bae]{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.save-button[data-v-ac6a0bae]:disabled{background-color:#ccc;cursor:not-allowed}.puzzles-list[data-v-ac6a0bae]{display:flex;flex-direction:column;gap:.5rem}.puzzle-item[data-v-ac6a0bae]{display:flex;gap:8px;align-items:flex-start;padding:4px 0;border-bottom:1px solid #222}.puzzle-select[data-v-ac6a0bae]{width:10rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-family:monospace;font-size:1em}.puzzle-select[data-v-ac6a0bae]:focus{outline:none;border-color:#2196f3}.puzzle-text-input[data-v-ac6a0bae]{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:1em}.puzzle-text-input[data-v-ac6a0bae]:focus{outline:none;border-color:#2196f3}.no-puzzles[data-v-ac6a0bae]{color:#666;font-style:italic}.add-puzzle-button[data-v-ac6a0bae]{margin-top:1rem;padding:.5rem 1rem;background:#4CAF50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:monospace;font-size:1em}.add-puzzle-button[data-v-ac6a0bae]:hover{background:#45a049}.color-select[data-v-ac6a0bae]{padding:.5rem;border:1px solid #ddd;border-radius:4px;width:100%;font-family:monospace;font-size:1em}.color-select option[data-v-ac6a0bae]{padding:8px;margin:2px}.page[data-v-603039d5]{display:grid;grid-template-columns:minmax(100px,200px) 1fr;gap:1rem;font-family:monospace}.collections-list[data-v-603039d5]{grid-column:1}.collection-item[data-v-603039d5]{padding:4px;cursor:pointer;margin-bottom:4px;border-radius:4px}.collection-item[data-v-603039d5]:hover{filter:brightness(.9)}.collection-item.selected[data-v-603039d5]{filter:brightness(.8)}.puzzles-column[data-v-603039d5]{grid-column:2;padding:1rem}.puzzles-list[data-v-603039d5]{display:flex;flex-direction:column;gap:0;margin-bottom:1rem}.puzzle-item[data-v-603039d5]{display:flex;align-items:center;gap:3px;padding:2px;background:#f5f5f5;border-bottom:1px solid #ddd;border-radius:4px;cursor:move}.drag-handle[data-v-603039d5]{color:#666;cursor:move;user-select:none}.puzzle-name[data-v-603039d5]{flex:1}.puzzle-text[data-v-603039d5]{color:#666;font-style:italic}.save-button[data-v-603039d5]{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:monospace}.save-button[data-v-603039d5]:disabled{background-color:#ccc;cursor:not-allowed}.save-button[data-v-603039d5]:not(:disabled):hover{background:#1976d2}.page[data-v-467a570b] *{font-family:monospace;font-size:1em}.volume-control[data-v-467a570b]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem;padding:1rem;background:#f5f5f5;border-radius:4px}.volume-control label[data-v-467a570b]{font-weight:700}.volume-control input[type=range][data-v-467a570b]{width:100%;max-width:300px}.sound-buttons[data-v-467a570b]{display:grid;gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.sound-button[data-v-467a570b]{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:white;cursor:pointer}.sound-button[data-v-467a570b]:hover{background:#f5f5f5}.volume-value[data-v-467a570b]{text-align:center;font-weight:700;margin-top:4px}.sound-button[data-v-467a570b]:disabled{opacity:.7;cursor:not-allowed}.form-group[data-v-2e1a7cf6]{margin-bottom:1rem}.form-group input[data-v-2e1a7cf6]{width:100%}.dimension-input[data-v-2e1a7cf6]{display:grid;grid-template-columns:1fr 4em;align-items:center;gap:.5rem}.dimension-input input[data-v-2e1a7cf6]{width:4em}.focus-inputs[data-v-2e1a7cf6]{display:flex;gap:.5rem}.focus-input[data-v-2e1a7cf6]{display:flex;flex-direction:column;gap:.25rem}.focus-input label[data-v-2e1a7cf6]{font-size:.9em;color:#666}.focus-input input[data-v-2e1a7cf6]{width:4em}.focus-input select[data-v-2e1a7cf6]{width:6em;padding:2px}.editor-actions[data-v-2e1a7cf6]{display:flex;gap:1rem;margin-bottom:1rem}.editor-actions button[data-v-2e1a7cf6]{border-radius:4px;padding:4px;cursor:pointer;background:white}.editor-actions button[data-v-2e1a7cf6]:disabled{background-color:#ccc;cursor:not-allowed}.page[data-v-2e1a7cf6]{padding:0}.page[data-v-2e1a7cf6] *{font-family:monospace;font-size:1em}.puzzle-generator[data-v-2e1a7cf6]{display:flex;height:100%;width:100%}.left-column[data-v-2e1a7cf6]{flex:0 0 300px;padding:var(--gutter);border-right:1px solid #e0e0e0;background-color:#f5f5f5;overflow-y:auto;text-align:left}.right-column[data-v-2e1a7cf6]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.option-group[data-v-2e1a7cf6]{margin-bottom:20px}label[data-v-2e1a7cf6]{display:block;margin-bottom:8px;font-weight:500}.empty-state[data-v-2e1a7cf6]{color:#666;text-align:center}.generating-status[data-v-2e1a7cf6],.generation-results[data-v-2e1a7cf6]{text-align:center;width:100%;max-width:600px}.puzzle-grid[data-v-2e1a7cf6]{margin-top:20px}.error-message[data-v-2e1a7cf6]{color:#f44;margin-top:10px;text-align:center}.progress-details[data-v-2e1a7cf6]{margin-top:20px;text-align:left}.progress-step[data-v-2e1a7cf6]{display:flex;align-items:center;margin-bottom:10px;color:#666}.progress-step.active[data-v-2e1a7cf6]{color:#222}.step-number[data-v-2e1a7cf6]{width:24px;height:24px;border-radius:12px;background:#e0e0e0;display:flex;align-items:center;justify-content:center;margin-right:10px}.progress-step.active .step-number[data-v-2e1a7cf6]{background:#4CAF50;color:#fff}.puzzle-stats[data-v-2e1a7cf6]{margin-top:20px;padding:10px;background:#f5f5f5;border-radius:4px;text-align:left}.puzzle-stats>div[data-v-2e1a7cf6]{margin-bottom:5px}.all-puzzles[data-v-21c88640]{padding:1rem}.top-controls[data-v-21c88640]{display:flex;align-items:center;margin-bottom:1rem;gap:var(--gutter)}.sort-controls[data-v-21c88640]{display:flex;gap:1rem}.sort-controls select[data-v-21c88640]{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px}.puzzle-count[data-v-21c88640]{font-size:1rem;color:#666}.puzzles-grid[data-v-21c88640]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;padding:1rem}.puzzle-item[data-v-21c88640]{display:flex;flex-direction:column;gap:.5rem;align-items:center}.puzzle-name[data-v-21c88640]{font-size:1.2rem;font-weight:700;text-align:center}.board-state-viewer[data-v-06419d21]{display:inline-block;border:1px solid #ccc;padding:4px;background:#f5f5f5}.viewer-row[data-v-06419d21]{display:flex;gap:1px;margin-bottom:1px}.viewer-cell[data-v-06419d21]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:14px;border:1px solid #ddd;background:white;color:#666}.viewer-cell.brick[data-v-06419d21]{background:#333;color:#fff;border-color:#222}.viewer-cell.tile[data-v-06419d21]{background:#333;font-weight:700;color:#fff}.viewer-cell.fixed[data-v-06419d21]{background:#666;font-weight:700;color:#fff}.viewer-cell.open[data-v-06419d21]{background:#fff;color:#666}.board-state-error[data-v-06419d21]{color:#999;font-style:italic;text-align:center;padding:1rem;border:1px solid #ddd;border-radius:4px;background:#f9f9f9}.form-group[data-v-7ad5663e]{margin-bottom:1rem}.form-group input[data-v-7ad5663e]{width:100%}.dimension-input[data-v-7ad5663e]{display:grid;grid-template-columns:1fr 4em;align-items:center;gap:.5rem}.dimension-input input[data-v-7ad5663e]{width:4em}.focus-inputs[data-v-7ad5663e]{display:flex;gap:.5rem}.focus-input[data-v-7ad5663e]{display:flex;flex-direction:column;gap:.25rem}.focus-input label[data-v-7ad5663e]{font-size:.9em;color:#666}.focus-input input[data-v-7ad5663e]{width:4em}.focus-input select[data-v-7ad5663e]{width:6em;padding:2px}.editor-actions[data-v-7ad5663e]{display:flex;gap:1rem;margin-bottom:1rem}.editor-actions button[data-v-7ad5663e]{border-radius:4px;padding:4px;cursor:pointer;background:white}.editor-actions button[data-v-7ad5663e]:disabled{background-color:#ccc;cursor:not-allowed}.page[data-v-7ad5663e] *{font-family:monospace;font-size:1em}.page[data-v-7ad5663e]{display:grid;grid-template-columns:20em 1fr;gap:1rem;text-align:left}.topbar[data-v-7ad5663e]{grid-column:1 / -1;display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem}.puzzle-list[data-v-7ad5663e]{overflow-y:auto;max-height:100vh}.puzzle-item[data-v-7ad5663e]{padding:.25rem;display:grid;grid-template-columns:6fr 3fr;gap:.5rem;cursor:pointer}.puzzle-item[data-v-7ad5663e]:hover{background-color:#f5f5f5}.puzzle-item.selected[data-v-7ad5663e]{background-color:#e3f2fd}.puzzle-name[data-v-7ad5663e]{flex-shrink:0;margin-right:1rem}.collection-names[data-v-7ad5663e]{color:#666;font-size:.9em;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scores-content[data-v-7ad5663e]{padding:1rem}.puzzle-header[data-v-7ad5663e]{margin-bottom:1rem}.puzzle-header h2[data-v-7ad5663e]{margin:0 0 .5rem}.loading[data-v-7ad5663e]{color:#666;font-style:italic}.no-selection[data-v-7ad5663e],.no-scores[data-v-7ad5663e]{color:#666;font-style:italic;text-align:center;margin-top:2rem}.scores-list[data-v-7ad5663e]{display:flex;flex-direction:column;gap:1rem}.score-item[data-v-7ad5663e]{border:1px solid #ddd;border-radius:4px;padding:1rem;background:white}.score-header[data-v-7ad5663e]{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:1rem;align-items:center;margin-bottom:1rem}.score-rank[data-v-7ad5663e]{font-weight:700;color:#333}.score-value[data-v-7ad5663e]{font-size:1.2em;font-weight:700;color:#2196f3}.score-user[data-v-7ad5663e]{color:#666;font-family:monospace}.score-date[data-v-7ad5663e]{color:#999;font-size:.9em}.delete-btn[data-v-7ad5663e]{background-color:#f44336;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8em;font-family:monospace}.delete-btn[data-v-7ad5663e]:hover:not(:disabled){background-color:#d32f2f}.delete-btn[data-v-7ad5663e]:disabled{background-color:#ccc;cursor:not-allowed}.score-board[data-v-7ad5663e]{display:flex;justify-content:center}.form-group[data-v-a6f4f027]{margin-bottom:1rem}.form-group input[data-v-a6f4f027]{width:100%}.dimension-input[data-v-a6f4f027]{display:grid;grid-template-columns:1fr 4em;align-items:center;gap:.5rem}.dimension-input input[data-v-a6f4f027]{width:4em}.focus-inputs[data-v-a6f4f027]{display:flex;gap:.5rem}.focus-input[data-v-a6f4f027]{display:flex;flex-direction:column;gap:.25rem}.focus-input label[data-v-a6f4f027]{font-size:.9em;color:#666}.focus-input input[data-v-a6f4f027]{width:4em}.focus-input select[data-v-a6f4f027]{width:6em;padding:2px}.editor-actions[data-v-a6f4f027]{display:flex;gap:1rem;margin-bottom:1rem}.editor-actions button[data-v-a6f4f027]{border-radius:4px;padding:4px;cursor:pointer;background:white}.editor-actions button[data-v-a6f4f027]:disabled{background-color:#ccc;cursor:not-allowed}.page[data-v-a6f4f027] *{font-family:monospace;font-size:1em}.page[data-v-a6f4f027]{padding:1rem;text-align:left}.topbar[data-v-a6f4f027]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.topbar h1[data-v-a6f4f027]{margin:0;font-size:1.5em}.filter-controls[data-v-a6f4f027]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.filter-controls label[data-v-a6f4f027]{font-weight:700}.filter-controls select[data-v-a6f4f027]{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;font-family:monospace}.summary-stats[data-v-a6f4f027]{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem;background-color:#f9f9f9;border-radius:4px;border:1px solid #ddd}.stat-item[data-v-a6f4f027]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-label[data-v-a6f4f027]{font-size:.9em;color:#666;font-weight:700}.stat-value[data-v-a6f4f027]{font-size:1.5em;font-weight:700;color:#2196f3}.loading[data-v-a6f4f027]{text-align:center;color:#666;font-style:italic;margin:2rem 0}.dashboard-content[data-v-a6f4f027]{display:flex;flex-direction:column;gap:2rem}.table-section[data-v-a6f4f027]{border:1px solid #ddd;border-radius:4px;overflow:hidden}.table-section h2[data-v-a6f4f027]{margin:0;padding:1rem;background-color:#f5f5f5;border-bottom:1px solid #ddd;font-size:1.2em}.table-container[data-v-a6f4f027]{overflow-x:auto}.data-table[data-v-a6f4f027]{border-collapse:collapse}.data-table th[data-v-a6f4f027],.data-table td[data-v-a6f4f027]{padding:.1em .5em;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-a6f4f027]{background-color:#f9f9f9;font-weight:700;cursor:pointer;user-select:none}.data-table th[data-v-a6f4f027]:hover{background-color:#f0f0f0}.data-table th.sortable[data-v-a6f4f027]{position:relative}.sort-indicator[data-v-a6f4f027]{margin-left:.5rem;font-weight:700;color:#2196f3}.data-table tbody tr[data-v-a6f4f027]:hover{background-color:#f5f5f5}.data-table td[data-v-a6f4f027]{vertical-align:top}:root{--ease-in-quad: cubic-bezier(.55, .085, .68, .53);--ease-in-cubic: cubic-bezier(.55, .055, .675, .19);--ease-in-quart: cubic-bezier(.895, .03, .685, .22);--ease-in-quint: cubic-bezier(.755, .05, .855, .06);--ease-in-expo: cubic-bezier(.95, .05, .795, .035);--ease-in-circ: cubic-bezier(.6, .04, .98, .335);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-circ: cubic-bezier(.075, .82, .165, 1);--ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);--ease-in-out-expo: cubic-bezier(1, 0, 0, 1);--ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);--color-bg: #EDEDED;--color-bg-dark: #cEcEcE;--color: #222;--color-muted: #6E6E6f;--color-modal-bg: #fff;--color-top-score: #ECAA48;--color-correct: var(--color-top-score);--color-focus: hsl(203, 80%, 67%);--color-focus-dark: hsl(203, 80%, 47%);--color-fixed: #222;--color-brick: #222;--color-border: #222;--font-family: "Bricolage Grotesque", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-tile: "Bricolage Grotesque", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading: "Bricolage Grotesque", "Nunito", "DynaPuff", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--weight-regular: 500;--weight-bold: 600;--weight-xbold: 800;--radius: 2px;--radius-lg: 4px;--radius-btn: 4px;--radius-btn-small: 12px;--radius-btn-keyboard: 4px;--border-width: 3px;--border: var(--border-width) solid var(--color-border);--divider: 1px solid var(--color-muted);--shadow: 0 12.5px 10px rgba(0, 0, 0, .035), 0 100px 80px rgba(0, 0, 0, .07);--transition: .3s;--square-size: 36px;--header-height: 36px;--layout-max: 540px;--modal-max: min(calc(100vw - 32px), 480px);--modal-min: 340px;--gutter: 8px}*{box-sizing:border-box}html{cursor:url(/images/cursor-arrow.svg),auto}html{height:100%}body{height:100%;margin:0;padding:0;color:var(--color);background:var(--color-bg);font-optical-sizing:auto;font-style:normal}#app{height:100%}body,button,input{color:var(--color);font-family:var(--font-family);font-weight:var(--weight-regular)}h1,h2,h3{font-weight:var(--weight-bold);margin-top:0;margin-bottom:var(--gutter)}h1{font-size:24px}h2{font-size:18px}p{margin-top:0}ul,ol{padding-left:calc(var(--gutter) * 2)}li{margin-bottom:calc(var(--gutter) / 2)}a{color:var(--color)}hr{border:none;border-top:var(--border);margin:calc(var(--gutter) * 2) 0}.score-tile{position:relative;top:-1px;border:var(--border-width) solid black;font-size:14px;display:inline-block;width:22px;height:22px;text-align:center;background:white;box-shadow:0 2px 0 0 var(--color-border);line-height:1.2em}.fineprint{font-size:12px;color:var(--color-muted)}.btn{padding:8px 16px;font-size:14px;border:var(--border);border-radius:var(--radius-btn);background:white;font-weight:var(--weight-bold);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:url(/images/cursor-pointer.svg) 8 0,pointer}.btn:active{background:var(--color-muted);cursor:url(/images/cursor-pointer-pressed.svg) 8 0,pointer}.btn:focus{outline:none}.btn:focus-visible{border-color:var(--color-focus)}.btn-small{font-size:11px;padding:4px 8px;border-radius:var(--radius-btn-small);border-width:2px}.page{padding:calc(var(--gutter) * 2);text-align:center}.page-inner{max-width:var(--layout-max);margin:0 auto}.c-pointer{cursor:url(/images/cursor-pointer.svg) 8 0,pointer}.c-pointer:active{cursor:url(/images/cursor-pointer-pressed.svg) 8 0,pointer}.mobile-list-item{display:list-item}.desktop-list-item{display:none}@media (min-width: 640px){.mobile-list-item{display:none}.desktop-list-item{display:list-item}.desktop-inline{display:inline}}.hidden{visibility:hidden}.mb-0{margin-bottom:0}
