.puzzle-meter{font-size:12px;color:var(--muted);margin:0}.puzzle-grid{display:grid;gap:6px;width:min(100%,350px);direction:ltr}.puzzle-grid-3{grid-template-columns:repeat(3,1fr)}.puzzle-grid-4{grid-template-columns:repeat(4,1fr)}.puzzle-grid-5{grid-template-columns:repeat(5,1fr)}.puzzle-cell{aspect-ratio:1;min-width:0;border:2px solid #35616a;background:var(--panel);color:var(--ink);border-radius:5px;font:700 clamp(18px,4vw,28px)/1.1 monospace;cursor:pointer;display:grid;place-items:center;padding:0;touch-action:manipulation}.puzzle-cell:hover{border-color:var(--gold)}.puzzle-cell.given{background:#213942;color:#9ab2b6}.puzzle-cell.chosen,.puzzle-vessel.chosen{outline:3px solid var(--gold);outline-offset:1px}.puzzle-grid-4 .puzzle-cell:nth-child(4n+2){border-inline-end:4px solid #91bfc9}.puzzle-grid-4 .puzzle-cell:nth-child(n+5):nth-child(-n+8){border-bottom:4px solid #91bfc9}.puzzle-cell.lit,.puzzle-cell.filled{background:var(--gold);color:#071a1f}.puzzle-cell.gap{border-style:dashed;opacity:.5}.puzzle-palette{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;direction:ltr}.puzzle-palette .pixel-button{min-width:42px;padding:10px}.puzzle-actions .pixel-button{font-size:12px;padding:10px 14px}.puzzle-grid-5 .puzzle-cell{font-size:clamp(16px,4vw,25px)}.nonogram-board{width:min(100%,390px);display:grid;grid-template-columns:1.2fr repeat(5,1fr);gap:3px;direction:ltr}.nonogram-clue{display:flex;align-items:center;justify-content:center;white-space:pre;font:700 12px/1.35 monospace;color:var(--gold);min-width:0}.col-clue{align-items:flex-end;text-align:center;padding-bottom:7px;min-height:60px}.nonogram-board .puzzle-cell{font-size:20px}.puzzle-rack{display:flex;gap:12px;width:100%;max-width:500px;justify-content:center;direction:ltr}.puzzle-vessel{border:0;background:transparent;color:var(--ink);font:inherit;padding:0;width:18%;min-width:0;cursor:pointer;border-radius:5px}.vessel-label{display:block;margin-bottom:10px;font:700 15px monospace;color:var(--gold)}.vessel-well{height:156px;border:3px solid #57777d;border-top:0;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:0 0 12px 12px;padding:4px;gap:3px}.water-layer{height:44px;display:grid;place-items:center;border-radius:3px;font:700 13px monospace;flex:none}.color-0{background:#edb83f!important;color:#071a1f!important}.color-1{background:#63c8e8!important;color:#071a1f!important}.color-2{background:#ec8477!important;color:#071a1f!important}.color-3{background:#94d797!important;color:#071a1f!important}.hanoi .puzzle-vessel{width:32%}.hanoi .vessel-well{position:relative;border:0;border-bottom:5px solid #57777d;border-radius:0;background:linear-gradient(90deg,transparent 47%,#57777d 47%,#57777d 53%,transparent 53%);align-items:center;height:166px;padding:5px 0;gap:5px}.disk{height:27px;border-radius:5px;display:grid;place-items:center;color:#071a1f;font:700 14px monospace;z-index:1}.disk-1{width:38%;background:#63c8e8}.disk-2{width:56%;background:#94d797}.disk-3{width:76%;background:#edb83f}.disk-4{width:98%;background:#ec8477}.pipe{padding:0;border-radius:0;overflow:hidden}.pipe svg{width:100%;height:100%;display:block}.pipe path{stroke:#63c8e8;stroke-width:13;fill:none}.pipe circle{fill:var(--gold)}.flood-grid{gap:3px}.flood-grid .puzzle-cell{cursor:default;font-size:14px}.code-log{margin:0;padding:0;list-style:none;width:100%;max-width:350px;direction:ltr}.code-log li{padding:8px;border-bottom:1px solid var(--line);font:16px monospace}.code-entry{font:700 32px monospace;letter-spacing:7px;direction:ltr}.puzzle-solution{padding:12px;border:1px solid var(--line);border-radius:5px}.puzzle-solution pre{direction:ltr;font:20px/1.4 monospace;margin-bottom:0}.give-up{display:block;margin:15px auto 0;border:0;background:transparent;color:var(--muted);text-decoration:underline;font:inherit;font-size:12px;cursor:pointer;padding:10px}.give-up[hidden]{display:none}.puzzle-keyboard{font-size:13px}.puzzle-cell:disabled,.puzzle-vessel:disabled{cursor:default}@media(max-width:400px){.puzzle-rack{gap:6px}.water-layer{font-size:10px}.vessel-well{padding:2px}.puzzle-grid{gap:4px}.puzzle-actions{gap:8px}.nonogram-clue{font-size:10px}.puzzle-palette{gap:5px}}
