:root{--bg:#fff;--ink:#111;--ink-soft:#707070;--line:#e2e2e2;--line-strong:#111;--fill:#f5f5f5;--paper:#fff;--word:#e6e6e6;--crossing:#f0f0f0;--cursor:#bdbdbd;--proof:#c0261b;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font:15px/1.5 var(--sans)}*{box-sizing:border-box}body{background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}a{color:inherit;text-underline-offset:3px}button,input,textarea{font:inherit;color:inherit}button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem;font-size:.8125rem;font-weight:500}button:hover:not(:disabled){border-color:var(--ink)}button:disabled{opacity:.4;cursor:default}button.quiet{color:var(--ink-soft);border-color:#0000}button.quiet:hover:not(:disabled){color:var(--ink);border-color:#0000}button.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}button.danger{color:var(--proof)}button.danger:hover:not(:disabled){border-color:var(--proof)}button.inline-link{font:inherit;text-underline-offset:3px;border:none;padding:0;text-decoration:underline}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}::selection{background:var(--word)}.page{max-width:76rem;margin:0 auto;padding:1rem clamp(1rem,3vw,2.5rem) 3rem}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.nameplate{color:inherit;letter-spacing:-.01em;font-size:1.125rem;font-weight:700;text-decoration:none}.account{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.account-error{color:var(--proof)}.colophon{color:var(--ink-soft);margin-top:3rem;font-size:.8125rem}.notice{color:var(--ink-soft);margin:.75rem 0 0;font-size:.875rem}.loading,.missing{padding:2rem 0}.missing h1{margin:0 0 .5rem;font-size:1.25rem}.missing .choices{flex-wrap:wrap;gap:.75rem;display:flex}.error{color:var(--proof);margin:1rem 0 0;font-size:.875rem}.ingest{border:1px dashed var(--line);border-radius:8px;gap:.75rem;padding:1rem;display:grid}.ingest.dragging{border-color:var(--ink);background:var(--fill)}.url-form .row{gap:.5rem;display:flex}.url-form input{border:1px solid var(--line);background:0 0;border-radius:6px;flex:1;min-width:0;padding:.4rem .6rem;font-size:.875rem}.url-form input:focus{border-color:var(--ink);outline:none}.file-button{border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.35rem .7rem;font-size:.8125rem;font-weight:500;display:inline-block}.file-button:hover{border-color:var(--ink)}.file-button:focus-within{outline:2px solid var(--ink);outline-offset:2px}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.puzzle-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 0 .75rem;display:flex}.puzzle-head h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:700;line-height:1.2}.byline{color:var(--ink-soft);margin:.15rem 0 0;font-size:.875rem}.byline .copyright{margin-left:.75rem;font-size:.75rem}.controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.timer{justify-content:space-between;align-items:center;gap:.6rem;min-width:6.5rem;display:inline-flex}.timer .time{font-variant-numeric:tabular-nums}.pause-glyph{letter-spacing:-.1em;font-size:.55rem}.check-group{align-items:center;gap:.25rem;display:inline-flex}.check-group .group-label{color:var(--ink-soft);margin-right:.15rem;font-size:.8125rem}.quiet-link{color:var(--ink-soft);padding:.35rem .4rem;font-size:.8125rem;text-decoration:none}.quiet-link:hover{color:var(--ink)}.notepad{color:var(--ink-soft);max-width:40rem;margin:.4rem 0 0;font-size:.875rem}.notepad summary{cursor:pointer;width:fit-content;font-size:.75rem}.notepad[open]{white-space:pre-line;max-height:8rem;overflow-y:auto}.board{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:2rem;margin-top:.75rem;display:grid;position:relative}.key-sink{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;top:0;left:0}.board.is-paused .grid-side,.board.is-paused .clues{filter:blur(7px);-webkit-user-select:none;user-select:none}.clue-bar{background:var(--fill);border-radius:6px;align-items:baseline;gap:.75rem;max-width:min(40rem,100svh - 16rem);min-height:3.25rem;margin-bottom:.75rem;padding:.6rem .9rem;font-size:1rem;line-height:1.35;display:flex}.clue-bar .label{white-space:nowrap;font-weight:700}.clue-bar.solved{align-items:center}.clue-bar.solved .headline{font-weight:700}.grid-frame{border:1px solid var(--ink);max-width:min(40rem, calc((100svh - 16rem) * var(--aspect,1)));min-width:min(18rem,100%);container-type:inline-size}.grid{background:var(--ink);-webkit-user-select:none;user-select:none;--cell:calc(100cqw / var(--cols));gap:1px;display:grid}.cell{aspect-ratio:1;background:var(--paper);cursor:pointer;position:relative;overflow:hidden}.cell.block{background:var(--ink);cursor:default}.cell.shaded{background:#d4d4d4}.cell.tinted{background:color-mix(in srgb, var(--tint) 42%, var(--paper));filter:grayscale()}.cell.bar-t,.cell.bar-l{--bar:max(2px, calc(var(--cell) * .07));box-shadow:inset 0 var(--bar-t,0) 0 var(--ink), inset var(--bar-l,0) 0 0 var(--ink)}.cell.bar-t{--bar-t:var(--bar)}.cell.bar-l{--bar-l:var(--bar)}.cell.word{background:var(--word)}.cell.cursor{background:var(--cursor)}.num{font-size:calc(var(--cell) * .27);pointer-events:none;line-height:1;position:absolute;top:1px;left:2px}.letter{font-weight:500;font-size:calc(var(--cell) * .6);place-items:center;padding-top:14%;line-height:1;display:grid;position:absolute;inset:0}.letter.multi{font-size:calc(var(--cell) * .6 / (var(--len,2) * .55 + .2));letter-spacing:-.02em}.letter[data-len="2"]{--len:2}.letter[data-len="3"]{--len:3}.letter[data-len="4"]{--len:4}.letter[data-len="5"]{--len:5}.letter[data-len="6"]{--len:6}.circle{border:1px solid var(--ink);pointer-events:none;border-radius:50%;position:absolute;inset:1px}.cell.rebus-edit{outline:2px solid var(--ink);outline-offset:-3px}.cell.rebus-edit .letter:after{content:"";background:var(--ink);width:1px;height:.9em;margin-left:1px;display:inline-block}.cell.wrong .letter{color:var(--proof)}.cell.wrong:after{content:"";background:linear-gradient(to top right, transparent calc(50% - 1px), var(--proof) calc(50% - 1px), var(--proof) calc(50% + 1px), transparent calc(50% + 1px));pointer-events:none;position:absolute;inset:0}.cell.fixed:before{content:"";border-style:solid;border-width:0 calc(var(--cell) * .22) calc(var(--cell) * .22) 0;border-color:transparent var(--ink-soft) transparent transparent;position:absolute;top:0;right:0}.board.is-solved .cell.cursor,.board.is-solved .cell.word{background:var(--paper)}.hint{color:var(--ink-soft);font-size:.8125rem}.clues{grid-template-columns:repeat(var(--groups,2), minmax(0, 1fr));column-gap:1.5rem;display:grid}.clue-column h2{border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .4rem;padding-bottom:.3rem;font-size:.75rem;font-weight:600}.clue-column ol{scrollbar-width:thin;grid-template-columns:minmax(2.1rem,max-content) 1fr;align-content:start;max-height:min(40rem,100svh - 16rem);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.clue-column li{grid-column:1/-1;grid-template-columns:subgrid;cursor:pointer;border-left:3px solid #0000;padding:.3rem .4rem .3rem 0;font-size:.875rem;line-height:1.4;display:grid}.clue-column li:hover:not(.current):not(.crossing){background:var(--fill)}.clue-column li .label{text-align:right;white-space:nowrap;padding-right:.6rem;font-weight:600}.clue-column li.done .text{color:var(--ink-soft)}.clue-column li.current{background:var(--word);border-left-color:var(--ink)}.clue-column li.crossing{background:var(--crossing)}.enum{white-space:nowrap}.noted{margin-left:.2rem;font-weight:700}.overlay{place-items:center;display:grid;position:absolute;inset:0}.slip{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:8px;padding:1.5rem 2rem;box-shadow:0 4px 24px #0000001a}.slip p{margin:0 0 1rem}@media (width<=860px){.board{grid-template-columns:1fr}.clue-column ol{max-height:18rem}}@media (width<=480px){.clues{grid-template-columns:1fr}.clue-column+.clue-column{margin-top:1rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.library{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:2.5rem;padding-top:1.25rem;display:grid}.library-side{top:calc(env(safe-area-inset-top,0px) + 1rem);position:sticky}.library-head{margin-bottom:.5rem}.search{border:1px solid var(--line);background:0 0;border-radius:6px;width:100%;padding:.45rem .7rem;font-size:.875rem}.search:focus{border-color:var(--ink);outline:none}.filters{flex-wrap:wrap;gap:.25rem;padding:.25rem 0 .75rem;display:flex}.filters button{color:var(--ink-soft);border-color:#0000}.filters button:hover:not(:disabled){color:var(--ink);border-color:#0000}.filters button.active{background:var(--fill);color:var(--ink);border-color:#0000}.filters .count{font-variant-numeric:tabular-nums;opacity:.6;margin-left:.15rem}.empty{color:var(--ink-soft);padding:2rem 0}.puzzle-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.puzzle-row{border-bottom:1px solid var(--line);grid-template-columns:3.5rem minmax(0,1fr) auto auto auto;grid-template-areas:"thumb body status date actions";align-items:center;gap:.25rem 1.25rem;padding:.75rem .5rem;display:grid}.puzzle-row:hover{background:var(--fill)}.thumb{grid-area:thumb;width:3.5rem;height:3.5rem;display:block}.thumb svg{width:100%;height:100%;display:block}.sk-paper{fill:var(--paper);stroke:var(--ink);stroke-width:.12px}.sk-block{fill:var(--ink)}.sk-fill{fill:#b5b5b5}.status-solved .sk-fill{fill:var(--ink)}.row-body{grid-area:body;min-width:0}.row-title{color:inherit;font-size:1rem;font-weight:600;line-height:1.3;text-decoration:none;display:block}.row-title:hover{text-underline-offset:3px;text-decoration:underline}.row-byline{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:.8125rem;overflow:hidden}.row-status,.row-date{white-space:nowrap;margin:0;font-size:.8125rem}.row-status{font-variant-numeric:tabular-nums;grid-area:status}.status-solved .row-status{font-weight:600}.status-new .row-status,.row-date{color:var(--ink-soft)}.row-date{grid-area:date}.row-actions{grid-area:actions;gap:.25rem;display:flex}.guest-note{color:var(--ink-soft);margin:1rem 0 0;font-size:.8125rem}.guest-note .inline-link{color:var(--ink)}.extension-note{color:var(--ink-soft);margin:1rem 0 0;font-size:.8125rem}.extension-note a{color:var(--ink)}@media (pointer:coarse){.extension-note{display:none}}@media (width<=900px){.library{grid-template-columns:1fr}.library-side{order:-1;position:static}.puzzle-row{grid-template-columns:3rem minmax(0,1fr) auto;grid-template-areas:"thumb body actions""thumb status actions""thumb date actions"}.thumb{width:3rem;height:3rem}}.tag{background:var(--fill);color:var(--ink);border:none;border-radius:999px;align-items:center;gap:.2rem;padding:0 .55rem;font-size:.75rem;font-weight:400;line-height:1.7;display:inline-flex}button.tag:hover:not(:disabled){background:var(--word)}.tag button{color:var(--ink-soft);border:none;padding:0 .1rem;font-size:.875rem;line-height:1}.tag button:hover:not(:disabled){color:var(--proof)}.tag-editor{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem;display:flex}.tag-editor input{border:none;border-bottom:1px solid var(--line);background:0 0;width:10rem;min-width:6rem;max-width:100%;padding:.1rem 0;font-size:.75rem}.tag-editor input:focus{border-bottom-color:var(--ink);outline:none}.row-tags{flex-wrap:wrap;gap:.3rem;margin:.35rem 0 0;display:flex}.notes-panel{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.note{flex-direction:column;gap:.25rem;display:flex}.note-label{color:var(--ink-soft);font-size:.75rem}.note textarea{resize:vertical;border:1px solid var(--line);background:0 0;border-radius:6px;min-height:4.5rem;padding:.4rem .6rem;font-size:.875rem;line-height:1.5}.note textarea:focus{border-color:var(--ink);outline:none}.note textarea:disabled{opacity:.5}@media (width<=560px){.notes-panel{grid-template-columns:1fr}}.clue-words .clue-word{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px}.clue-words .clue-word:hover{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.clue-word.picked,button.wb-word.picked,button.wb-word.picked:hover:not(:disabled){background:var(--cursor)}.clue-words>span+span:before{content:" "}.pick-count{white-space:nowrap;margin-left:auto;font-size:.8125rem;font-weight:600}.clues.with-bench .clue-column ol{max-height:max(10rem,100svh - 37rem)}.workbench{border-bottom:1px solid var(--line);grid-column:1/-1;margin-bottom:1rem;padding-bottom:1rem}.wb-head{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.wb-head h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.75rem;font-weight:600}.wb-words{flex-wrap:wrap;gap:.15rem .3rem;margin:0 0 .4rem;line-height:1.5;display:flex}button.wb-word{border:none;border-radius:2px;padding:0 .15rem;font-size:.9375rem;font-weight:400}button.wb-word:hover:not(:disabled){text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wb-word.plain{color:var(--ink-soft)}.wb-count{color:var(--ink-soft);margin:0 0 .5rem;font-size:.8125rem}.wb-canvas{aspect-ratio:1.6;background:var(--fill);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;position:relative;overflow:hidden;container-type:size}.wb-canvas:before{content:"";pointer-events:none;border:1px dashed #0000002e;border-radius:50%;width:72cqh;height:72cqh;position:absolute;top:50%;left:50%;translate:-50% -50%}.wb-tile{background:var(--bg);border:1px solid var(--ink);cursor:grab;border-radius:4px;place-items:center;width:11cqh;min-width:1.9rem;height:11cqh;min-height:1.9rem;font-size:max(1.05rem,6.5cqh);font-weight:500;line-height:1;transition:left .35s,top .35s;display:grid;position:absolute;translate:-50% -50%}.wb-canvas.dragging .wb-tile{transition:none}.wb-tile:active{cursor:grabbing;z-index:1}.wb-tools{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.wb-extra{align-items:baseline;gap:.35rem;font-size:.8125rem;display:inline-flex}.wb-extra input{border:none;border-bottom:1px solid var(--line);letter-spacing:.08em;background:0 0;width:5.5rem;font-size:.875rem}.wb-extra input:focus{border-bottom-color:var(--ink);outline:none}.wb-pattern{flex-wrap:wrap;align-items:center;gap:2px;margin-top:.6rem;display:flex}.wb-pattern span:not(.wb-enum){border:1px solid var(--line);background:var(--bg);place-items:center;width:1.5rem;height:1.5rem;font-size:.875rem;display:grid}.wb-enum{color:var(--ink-soft);margin-left:.4rem;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.wb-tile{transition:none}}.extension-page{max-width:52rem;padding:1.5rem 0 2rem}.ext-head h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,3vw,1.625rem);line-height:1.2}.ext-status{color:var(--ink-soft);margin:.75rem 0 0}.ext-badge{background:var(--fill);color:var(--ink);border-radius:999px;margin-right:.4rem;padding:0 .55rem;font-size:.75rem;font-weight:600;display:inline-block}.ext-badge.ok{background:var(--ink);color:var(--bg)}.ext-badge.update{background:var(--cursor)}.ext-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2.5rem;margin-top:1.75rem;display:grid}.ext-columns h2{border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .75rem;padding-bottom:.3rem;font-size:.75rem;font-weight:600}.ext-points{margin:0;padding-left:1.1rem;line-height:1.6}.ext-points li+li{margin-top:.6rem}.ext-steps{counter-reset:step;margin:0;padding:0;list-style:none}.ext-steps li{counter-increment:step;padding-left:2rem;position:relative}.ext-steps li+li{margin-top:1rem}.ext-steps li:before{content:counter(step);background:var(--fill);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:600;display:grid;position:absolute;top:.05rem;left:0}.ext-steps h3{margin:0;font-size:.9375rem}.ext-steps p{color:var(--ink-soft);margin:.25rem 0 0}.ext-steps code,.extension-page code{background:var(--fill);color:var(--ink);border-radius:4px;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.button-link{background:var(--ink);color:var(--bg);border-radius:6px;margin:.2rem 0;padding:.4rem .9rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-block}.button-link:hover{background:#333}.fine{color:var(--ink-soft);font-size:.8125rem}.ext-steps button.quiet{padding:0 .2rem}.ext-back{margin:2rem 0 0}@media (width<=760px){.ext-columns{grid-template-columns:1fr}}.share{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.share-url{border:1px solid var(--line);width:15rem;max-width:100%;color:inherit;background:0 0;border-radius:6px;padding:.3rem .5rem;font-size:.8125rem}.share-note{color:var(--ink-soft);font-size:.8125rem}.shared-caption{color:var(--ink-soft);margin:.75rem 0 0;font-size:.875rem}@media print{.account,.controls,.tag-editor,.notes-panel,.notepad,.colophon,.share,.key-sink,.overlay,.notice,.workbench{display:none!important}.page{max-width:none;padding:0}.board{grid-template-columns:1fr 1fr;gap:1.25rem}.grid-frame{max-width:none}.cell.word,.cell.cursor,.clue-column li.current,.clue-column li.crossing{background:var(--paper)!important}.clue-column ol{max-height:none;overflow:visible}.clue-column li.done .text{color:inherit}}
