.crossmatch{position:relative;z-index:10;padding:1.5rem var(--gutter) 3rem;display:grid;gap:1.4rem;max-width:64rem}.crossmatch__title{font-size:clamp(2.2rem,5vw,3.6rem);line-height:.95}.crossmatch__lede{max-width:var(--measure);margin-top:.6rem}.crossmatch__game{display:grid;grid-template-columns:minmax(0,27rem) minmax(15rem,1fr);gap:.9rem var(--gutter);align-items:start}.crossmatch__hud{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1.2rem;font-size:.95rem;padding-bottom:.4rem;border-bottom:var(--rule) solid var(--ink)}.crossmatch__which{display:flex;flex-wrap:wrap;gap:.2rem .8rem}.crossmatch__date{color:var(--muted)}.crossmatch__meters{display:flex;align-items:baseline;gap:1.2rem}.crossmatch__streak{color:var(--ink-soft)}.crossmatch__timer{display:inline-flex;align-items:baseline;gap:.5rem;padding:.2rem .6rem .15rem;border:var(--rule) solid var(--ink);border-radius:999px;background:var(--paper);font:inherit;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer}.crossmatch__timer-label{font-size:.75em;color:var(--muted)}.crossmatch__timer:hover:not(:disabled),.crossmatch__timer:focus-visible{background:var(--ink);color:var(--paper);outline:none}.crossmatch__timer:hover:not(:disabled) .crossmatch__timer-label,.crossmatch__timer:focus-visible .crossmatch__timer-label{color:var(--paper-deep)}.crossmatch__timer[aria-pressed=true]{background:var(--orange-soft)}.crossmatch__timer:disabled{cursor:default;opacity:.6}.crossmatch__board{display:grid;gap:.7rem;min-width:0}.crossmatch__cluebar{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 2.6rem;min-height:3.4rem;border:var(--rule) solid var(--ink);background:var(--blue-soft)}.crossmatch__cluebar button{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer}.crossmatch__arrow{font-family:var(--font-display);font-size:1.6rem;line-height:1;padding-bottom:.2rem}.crossmatch__arrow:hover,.crossmatch__arrow:focus-visible,.crossmatch__cluebar-text:hover,.crossmatch__cluebar-text:focus-visible{background:var(--blue);color:var(--paper);outline:none}.crossmatch__cluebar-text{display:flex;align-items:center;gap:.7rem;padding:.5rem .4rem;text-align:left;line-height:1.25;border-left:var(--rule) solid var(--ink)!important;border-right:var(--rule) solid var(--ink)!important}.crossmatch__cluebar-text b{flex:none;font-family:var(--font-display);font-weight:400;font-size:.9rem;color:var(--blue)}.crossmatch__cluebar-text:hover b,.crossmatch__cluebar-text:focus-visible b{color:var(--paper)}.crossmatch__gridwrap{position:relative;width:100%}.crossmatch__grid{display:grid;grid-template-rows:repeat(5,1fr);gap:2px;width:100%;aspect-ratio:1;padding:2px;background:var(--ink);border:var(--rule) solid var(--ink);container-type:inline-size;user-select:none;-webkit-user-select:none;touch-action:manipulation}.crossmatch__grid:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.crossmatch__row{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;min-height:0}.crossmatch__cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;background:var(--paper);cursor:pointer}.crossmatch__cell.is-black{background:var(--ink);cursor:default}.crossmatch__cell.is-word{background:var(--blue-soft)}.crossmatch__cell.is-selected{background:var(--orange-soft);box-shadow:inset 0 0 0 3px var(--orange)}.crossmatch__num{position:absolute;top:1.5cqw;left:2cqw;font-family:var(--font-body);font-size:3.4cqw;line-height:1;color:var(--ink-soft)}.crossmatch__letter{font-family:var(--font-body);font-weight:500;font-size:10.5cqw;line-height:1;padding-top:2.4cqw;color:var(--ink)}.crossmatch__cell.is-checked .crossmatch__letter{color:var(--blue)}.crossmatch__cell.is-wrong .crossmatch__letter{color:var(--ink-soft)}.crossmatch__cell.is-wrong:after{content:"";position:absolute;left:50%;top:50%;width:135%;height:.5cqw;min-height:2px;background:var(--orange);transform:translate(-50%,-50%) rotate(-45deg);pointer-events:none}.crossmatch__cell.is-revealed:before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 4cqw 4cqw 0;border-color:transparent var(--orange) transparent transparent;pointer-events:none}.crossmatch.is-solved .crossmatch__cell:not(.is-black){background:var(--paper)}.crossmatch.is-solved .crossmatch__cell .crossmatch__letter{color:var(--blue)}.crossmatch.is-solved .crossmatch__cell.is-selected{background:var(--blue-soft);box-shadow:none}.crossmatch.is-solved .crossmatch__cell.is-word{background:var(--paper)}@keyframes crossmatch-wave{0%{transform:none;background:var(--paper)}35%{transform:translateY(-9%) scale(1.04);background:var(--orange)}to{transform:none;background:var(--paper)}}.crossmatch__grid.is-wave .crossmatch__cell:not(.is-black){animation:crossmatch-wave .62s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms)}.crossmatch__cover{position:absolute;inset:0;display:grid;place-content:center;gap:.6rem;text-align:center;background:var(--paper-deep);border:var(--rule) solid var(--ink)}.crossmatch__cover[hidden]{display:none}.crossmatch__cover-title{font-size:1.6rem}.crossmatch__cover-time{font-size:1.1rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.crossmatch__status{min-height:1.4em;font-size:.95rem;color:var(--ink-soft)}.crossmatch__keys{display:grid;gap:.35rem;padding:.45rem 0 .5rem;background:var(--paper)}.crossmatch__keys[hidden]{display:none}.crossmatch__keyrow{display:flex;justify-content:center;gap:.3rem}.crossmatch__keyrow:nth-child(2){padding:0 4.5%}.crossmatch__key{flex:1 1 0;min-width:0;height:3.1rem;padding:0;border:0;border-radius:.35rem;background:var(--paper-deep);box-shadow:0 2px #12121259;font-family:var(--font-body);font-size:1.2rem;font-weight:500;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.crossmatch__key:active{background:var(--orange-soft);transform:translateY(1px);box-shadow:0 1px #12121259}.crossmatch__key--wide{flex:1.5 1 0;font-size:.85rem;font-family:var(--font-display)}.crossmatch__key--backspace{font-family:var(--font-body);font-size:1.3rem}.crossmatch__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem}.crossmatch__controls button,.crossmatch__controls summary,.crossmatch__controls a,.crossmatch__button{padding:.45rem .85rem .4rem;border:var(--rule) solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;text-decoration:none;cursor:pointer;line-height:1;list-style:none}.crossmatch__controls summary::-webkit-details-marker{display:none}.crossmatch__controls summary:after{content:" ▾"}.crossmatch__controls button:hover,.crossmatch__controls summary:hover,.crossmatch__controls a:hover,.crossmatch__controls button:focus-visible,.crossmatch__controls summary:focus-visible,.crossmatch__controls a:focus-visible,.crossmatch__button:hover,.crossmatch__button:focus-visible{background:var(--ink);color:var(--paper);outline:none}.crossmatch__controls [aria-pressed=true],.crossmatch__controls [aria-expanded=true],.crossmatch__menu[open]>summary{background:var(--orange);color:var(--ink)}.crossmatch__menu{position:relative}.crossmatch__menu-list{position:absolute;z-index:5;top:calc(100% + .35rem);left:0;display:grid;gap:.3rem;min-width:8rem;padding:.4rem;border:var(--rule) solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.crossmatch__menu-list button{border-radius:.3rem;text-align:left}.crossmatch__done{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title button" "line button" "theme button";align-items:center;column-gap:1rem;row-gap:.15rem;padding:.8rem 1rem;border:var(--rule) solid var(--ink);background:var(--orange-soft)}.crossmatch__done[hidden]{display:none}.crossmatch__done-title{grid-area:title;font-size:1.3rem;line-height:1.1}.crossmatch__done-line{grid-area:line;font-size:.95rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.crossmatch__done-theme{grid-area:theme;font-size:.9rem}.crossmatch__done-theme[hidden]{display:none}.crossmatch__done .crossmatch__button{grid-area:button;font-size:.85rem;white-space:nowrap}.crossmatch__clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:.2rem}.crossmatch__cluelist h2{margin:0 0 .4rem;padding-bottom:.3rem;border-bottom:var(--rule) solid var(--ink);font-size:.95rem;font-weight:400}.crossmatch__cluelist ol{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}.crossmatch__clue{display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:.3rem;width:100%;padding:.4rem .5rem .4rem .4rem;border:0;border-left:4px solid transparent;background:transparent;font:inherit;font-size:.95rem;line-height:1.3;color:var(--ink);text-align:left;cursor:pointer}.crossmatch__clue b{font-family:var(--font-display);font-weight:400;font-size:.85rem;color:var(--ink-soft);padding-top:.1em}.crossmatch__clue:hover,.crossmatch__clue:focus-visible{background:var(--paper-deep);outline:none}.crossmatch__clue.is-cross{border-left-color:var(--blue-soft)}.crossmatch__clue.is-active{background:var(--blue-soft);border-left-color:var(--blue)}.crossmatch__clue.is-filled span{color:var(--muted)}.crossmatch__archive{display:grid;gap:.6rem;padding:1rem 1.2rem 1.2rem;border:var(--rule) solid var(--ink);background:var(--paper-deep)}.crossmatch__archive[hidden]{display:none}.crossmatch__archive h2{margin:0;font-size:1.1rem;font-weight:400}.crossmatch__archive-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.3rem 1rem}.crossmatch__archive-row{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;grid-template-areas:"id date state" "id theme state";column-gap:.6rem;align-items:center;width:100%;padding:.4rem .5rem;border:0;border-radius:.3rem;background:transparent;font:inherit;font-size:.92rem;line-height:1.25;text-align:left;color:var(--ink);cursor:pointer}.crossmatch__archive-row:hover:not(:disabled),.crossmatch__archive-row:focus-visible{background:var(--paper);outline:none}.crossmatch__archive-row:disabled{cursor:default;color:var(--muted)}.crossmatch__archive-row.is-current{box-shadow:inset 4px 0 0 var(--orange)}.crossmatch__archive-row b{grid-area:id;font-family:var(--font-display);font-weight:400}.crossmatch__archive-row span{grid-area:date}.crossmatch__archive-row i{grid-area:theme;font-style:normal;color:var(--ink-soft);font-size:.85rem}.crossmatch__archive-row i:empty{display:none}.crossmatch__archive-row em{grid-area:state;font-style:normal;color:var(--ink-soft);font-size:.85rem;font-variant-numeric:tabular-nums}.crossmatch__archive-row:disabled em{color:var(--muted)}.crossmatch__archive-row.is-solved em{color:var(--blue)}.crossmatch__notes{max-width:var(--measure);display:grid;gap:.5rem;color:var(--ink-soft);font-size:.95rem}.crossmatch__notes kbd{font-family:var(--font-display);font-size:.85em;padding:0 .3em;border:1px solid var(--line);border-radius:.25rem}@media(max-width:760px){.crossmatch{padding-top:1rem;gap:1rem}.crossmatch__lede{font-size:.92rem;line-height:1.4;margin-top:.3rem}.crossmatch__game{grid-template-columns:1fr}.crossmatch__clues{display:none}.crossmatch__board{gap:.5rem}.crossmatch__cluebar{min-height:3rem;grid-template-columns:2.4rem minmax(0,1fr) 2.4rem}.crossmatch__cluebar-text{font-size:.98rem}.crossmatch__controls button,.crossmatch__controls summary,.crossmatch__controls a,.crossmatch__button{display:inline-flex;align-items:center;min-height:2.75rem}.crossmatch__status{min-height:1.2em;font-size:.9rem}.crossmatch.has-keyboard .crossmatch__gridwrap{width:min(100%,max(15rem,calc(100dvh - 27rem)));margin:0 auto}.crossmatch.is-solved .crossmatch__keys{display:none}.crossmatch.has-keyboard .crossmatch__keys{position:sticky;bottom:0;z-index:4;margin:0 calc(-1 * var(--gutter));padding:.4rem .35rem .6rem;border-top:1px solid var(--line)}.crossmatch__keyrow:nth-child(2){padding:0 4%}.crossmatch__key{height:2.9rem;font-size:1.15rem}.crossmatch__done{grid-template-columns:1fr;grid-template-areas:"title" "line" "theme" "button";justify-items:start;row-gap:.3rem}.crossmatch__archive{padding:.8rem}.crossmatch__archive-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.crossmatch__key{transition:none}.crossmatch__grid.is-wave .crossmatch__cell{animation:none}}
