@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}.color-black{--ink: #1c1c1c;--pencil: #9a9a9a}.color-red{--ink: #d32f2f;--pencil: #e37c7c}.color-orange{--ink: #cc6600;--pencil: #d78839}.color-green{--ink: #2e7d32;--pencil: #72a775}.color-blue{--ink: #1565c0;--pencil: #6a9dd7}.color-purple{--ink: #6a1b9a;--pencil: #b38bcb}.color-pink{--ink: #d81b8c;--pencil: #e772b8}body{align-items:center;background:linear-gradient(135deg,#f5f1e8,#e8dcc6);display:flex;flex-direction:column;font-family:Arial,sans-serif;margin:0;min-height:100vh}#root{display:flex;padding:40px 20px;flex-direction:column;align-items:center;background-color:#fff;min-height:100vh;min-width:50vw}@media screen{#root{box-shadow:0 8px 25px #00000026}}@media print{#root{justify-content:center}}h1{color:#2c3e50;letter-spacing:1px}@media print{h1{display:none}}.crossword-holder{border:3px solid #2c3e50;border-radius:12px;box-shadow:0 8px 25px #00000026}.crossword{border-collapse:collapse;position:relative;--cell-size: 40px}.crossword td{border:1px solid black;height:var(--cell-size);text-align:center;width:var(--cell-size);position:relative;font-size:calc(var(--cell-size) * .55);font-weight:700}.crossword td .number{font-size:calc(var(--cell-size) * .3);position:absolute;top:1px;left:2px}.crossword .black{background-color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}.crossword .outside{border:0px}.crossword .empty{background-color:#fff}.crossword .active-word{background-color:#f8f3e6}.crossword .active{background-color:#f8f3e6;outline:3px solid #2c3e50;outline-offset:-3px}.crossword .word-boundary-down{border-bottom-width:3px}.crossword .word-boundary-across{border-right-width:3px}.crossword .solution{color:var(--ink);position:relative;z-index:1}.crossword .solution.pencil{color:var(--pencil);font-family:Caveat Variable,Bradley Hand,Segoe Script,cursive;font-size:130%}.crossword .flourish{position:absolute;width:calc(var(--cell-size) * .3);height:calc(var(--cell-size) * .3);background-color:var(--ink);pointer-events:none;z-index:0}.crossword .flourish-1{top:0;right:0;clip-path:polygon(0 0,100% 0,100% 100%)}.crossword .flourish-2{bottom:0;left:0;clip-path:polygon(0 0,0 100%,100% 100%)}@media print{.crossword .solution{color:#000!important}}.key{padding:.75em 0;font-size:1rem;font-family:inherit;border:1px solid #c8bfa8;border-radius:5px;background-color:#fdfbf6;color:#2c3e50;cursor:pointer}.key:active{background-color:#4a90e2;color:#fff}.key:focus-visible{outline:2px solid #2c3e50;outline-offset:2px}.key[aria-pressed=true]{background-color:#2c3e50;border-color:#2c3e50;color:#fff}.key-action{background-color:#e8dcc6;font-size:.85rem;white-space:nowrap}.on-screen-keyboard{display:none;flex-direction:column;gap:6px;margin-top:1.5em;width:100%;touch-action:manipulation;-webkit-user-select:none;user-select:none}.on-screen-keyboard .key-row{display:flex;gap:4px;justify-content:center}.on-screen-keyboard .key{flex:1 1 0;min-width:0}.on-screen-keyboard .key-action{flex-grow:1.6}.create-interface{display:flex;width:100%}.create-interface .input-section{display:flex;flex-direction:column;flex:1}.create-interface .input-section .instructions{padding-bottom:10px}.create-interface .input-section textarea{font-family:monospace;border-radius:4px}.create-interface .preview-section{flex:2;align-items:center;display:flex;flex-direction:column}.create-interface .preview-section .crossword td{height:20px;width:20px}.create-button{margin-top:20px;width:100%;padding:10px}.puzzle-status{margin-top:1em;display:flex;flex-direction:column;gap:.3em;font-size:.95rem;align-self:stretch}.puzzle-status .status-row{display:flex;align-items:center;gap:.5em}.actions{align-self:flex-end;margin-bottom:2ex}.actions button{margin-left:1em;padding:.5em 1em;font-size:1rem;border:none;border-radius:4px;background-color:#2c3e50;color:#fff;cursor:pointer}.actions button:hover{background-color:#34495e}@media print{.actions{display:none}}.title-bar{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:12px}.title-bar .menu-trigger{flex:none;width:34px;height:34px;font:inherit;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:6px;border:1px solid #ddd3bf;background-color:#fff;color:#2c3e50}.title-bar .menu-trigger:hover{background-color:#f7f3e9}.title-bar .menu-trigger:focus-visible{outline:2px solid #2c3e50;outline-offset:2px}@media print{.title-bar .menu-trigger{display:none}}.puzzle-bar{align-self:flex-end;display:flex;align-items:center;gap:6px;margin-bottom:2ex}.puzzle-bar .key{padding:.45em .9em}@media print{.puzzle-bar{display:none}}.settings-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:10;width:288px;background-color:#fff;border:1px solid #ddd3bf;border-radius:12px;box-shadow:0 8px 24px #2c3e5029;overflow:hidden;text-align:left;color:#2c3e50}.settings-menu .menu-section{padding:14px 16px 12px;border-bottom:1px solid #f0ebdf}.settings-menu .section-label{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;font-weight:500;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#6b6459;margin-bottom:12px}.settings-menu .toggle-rows{display:flex;flex-direction:column;gap:12px}.settings-menu .toggle-row{display:flex;align-items:flex-start;gap:10px;background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.settings-menu .toggle-row:focus-visible{outline:2px solid #2c3e50;outline-offset:2px}.settings-menu .switch{width:34px;height:20px;border-radius:999px;background-color:#e0d8c6;position:relative;flex:none;margin-top:2px}.settings-menu .switch .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background-color:#fff;transition:left .12s ease}.settings-menu [aria-checked=true] .switch{background-color:#2c3e50}.settings-menu [aria-checked=true] .switch .knob{left:16px}.settings-menu .toggle-label{display:block;font-size:13px;font-weight:600;line-height:1.3}.settings-menu .toggle-description,.settings-menu .menu-note{display:block;font-size:11px;font-weight:400;line-height:1.45;color:#6b6459;margin-top:2px}.settings-menu .menu-note{margin-top:9px}.settings-menu .color-picker{display:flex;align-items:center;gap:9px}.settings-menu .color-picker .swatch{width:26px;height:26px;padding:0;border:0;border-radius:50%;cursor:pointer;background-color:var(--ink)}.settings-menu .color-picker .swatch.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #2c3e50}.settings-menu .color-picker .swatch.taken{opacity:.28}.settings-menu .color-picker .swatch:focus-visible{outline:2px solid #2c3e50;outline-offset:3px}.settings-menu .menu-actions{padding:8px;display:flex;flex-direction:column;gap:2px}.settings-menu .menu-actions button{padding:10px 8px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;line-height:1;color:#2c3e50}.settings-menu .menu-actions button:hover{background-color:#f7f3e9}.settings-menu .menu-actions button:focus-visible{outline:2px solid #2c3e50;outline-offset:2px}.settings-menu .menu-actions button.destructive{color:#d32f2f}@media print{.settings-menu{display:none}}@media screen and (max-width:700px){#root{min-width:0;width:100%;padding:12px 8px;height:100dvh;min-height:0;overflow:hidden}h1{font-size:1.3rem;text-align:center;margin:0 0 .4em}.crossword{--cell-size: calc(var(--fit-size, 40px) * var(--zoom, 1))}.crossword-and-settings{display:flex;flex-direction:column;align-items:center;width:100%;flex:1;min-height:0}.crossword-viewport{flex:1;min-height:0;width:100%;overflow:auto;touch-action:pan-x pan-y;display:flex;justify-content:safe center;align-items:safe center;padding:4px}.crossword-holder{flex:none}.on-screen-keyboard{display:flex;flex:none;margin-top:.75em}.puzzle-bar{display:none}.title-bar{position:static}.settings-menu{position:fixed;inset:auto 0 0;width:100%;border-radius:16px 16px 0 0;border-bottom:0;max-height:85dvh;overflow-y:auto}.settings-menu .toggle-row{padding:12px 8px}.settings-menu .menu-actions button{padding:14px 8px}.settings-menu .color-picker .swatch{width:30px;height:30px}.create-interface{flex-direction:column}}@media print{.on-screen-keyboard{display:none}}
