/* Playable games share the existing page shell; the grid has its own compact controls. */
.game-intro { max-width: 780px; }
.play-panel { max-width: 780px; padding: 28px; background: #fff; color: #20262c; border: 1px solid #dce0e4; border-radius: 24px; box-shadow: 0 12px 32px #20262c08; }
.game-topline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; font-size: .85rem; margin-bottom: 20px; }
.game-badge { display: inline-block; background: #fbefc4; color: #473609; padding: 6px 12px; border-radius: 30px; font-weight: 700; }
.game-level-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 22px; }
.game-level-form select { width: auto; max-width: 100%; min-height: 44px; padding: 8px 30px 8px 12px; font-size: 16px; border: 1px solid #87929b; border-radius: 10px; background: #fff; color: #20262c; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border: 1px solid transparent; border-radius: 12px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.3; }
.button-primary { background: #f5c84c; color: #28220f; border-color: #e7b52c; }
.button-secondary { background: #f3f5f6; color: #252d35; border-color: #ccd2d8; }
.button:hover { filter: brightness(.96); }
.game-form > label { display: block; font-weight: 700; margin: 20px 0 8px; }
.game-form > input:not([type=hidden]) { display: block; width: 100%; min-height: 48px; font-size: 18px; padding: 12px; border: 1px solid #778592; border-radius: 10px; background: #fff; color: #20262c; }
.game-form p, .game-source { line-height: 1.65; }
.game-grid { border-collapse: collapse; table-layout: fixed; width: 100%; max-width: 432px; margin: 22px auto; background: #fff; color: #253442; border: 2px solid #253442; }
.game-grid-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; contain: inline-size; }
.game-grid-scroll:focus-visible { outline: 3px solid #1663b1; outline-offset: 3px; }
.sudoku-grid-scroll .sudoku-play { min-width: 0; }
.game-grid td { padding: 0; text-align: center; border: 1px solid #b2bec8; height: 45px; }
.game-grid input { display: block; width: 100%; min-width: 0; min-height: 28px; height: 100%; margin: 0; padding: 0; text-align: center; border: 0; border-radius: 0; box-shadow: none; font-size: 21px; line-height: 1; background: #fff; color: #234d91; }
.game-grid td > span { display: block; font-size: 20px; font-weight: 700; }
.sudoku-play tr:nth-child(3n) td { border-bottom: 2px solid #253442; }
.sudoku-play td:nth-child(3n) { border-right: 2px solid #253442; }
.game-grid .fixed-cell { background: #e4e9ee; color: #253442; }
.game-grid .wrong-cell { outline: 2px dashed #b22d39; outline-offset: -3px; background: #ffedef; }
.game-grid .wrong-cell input { background: #ffedef; color: #a41829; }
.game-grid input:focus-visible { outline: 3px solid #1663b1; outline-offset: -3px; background: #edf5ff; }
.kakuro-grid-scroll { overflow-x: visible; }
.kakuro-play { width: min(100%, 360px); max-width: 360px; }
.kakuro-play td { height: 58px; }
.kakuro-play .clue-cell { background: #293a49; color: #fff; }
.kakuro-play .clue-cell > span { font-size: 16px; }
.kakuro-play .duplicate-cell { border: 3px dotted #8a1930; }
.kakuro-play .sum-error-cell { box-shadow: inset 0 0 0 3px #a14b00; }
.letter-tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 26px 0; }
.letter-tiles li { min-width: 40px; min-height: 48px; display: grid; place-items: center; padding: 6px 10px; background: #fff8df; border: 1px solid #dec982; border-bottom-width: 3px; border-radius: 10px; font-weight: 750; font-size: 25px; color: #352d18; }
.target-label { text-align: center; }
.target-value { display: block; font-size: 58px; line-height: 1.25; font-weight: 800; }
.game-status { margin: 20px 0; background: #f0f5f7; padding: 15px; border-radius: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.game-status span { display: block; font-size: .9rem; margin-top: 5px; }
.game-status.game-error { background: #fff0f0; color: #a52230; border-left: 3px solid #b52d3b; }
.game-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.game-reveal { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: #495763; text-decoration: underline; font: inherit; cursor: pointer; }
.new-game-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; border-top: 1px solid #dce0e4; padding-top: 20px; }
.new-game-row small { color: #56636e; }
.game-help { margin: 24px 0 0; border-top: 1px solid #dce0e4; padding-top: 18px; }
.game-help a, .game-editorial a, .solver-game-link a { color: #204f85; text-decoration: underline; text-underline-offset: 3px; }
.sudoku-level-navigation { max-width: 780px; margin: 0 0 22px; padding: 18px 20px; border: 1px solid #dce0e4; border-radius: 18px; background: #fff; }
.sudoku-level-navigation h2 { margin: 0 0 12px; font-size: 1.2rem; }
.sudoku-level-navigation ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sudoku-level-navigation a[aria-current="page"] { background: #fbefc4; border-color: #cda72f; color: #332807; }
.game-confirm { margin: 18px 0; padding: 16px; border: 2px solid #cda72f; border-radius: 12px; }
.game-confirm legend { padding: 0 6px; font-weight: 750; }
.number-operation-builder { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px 14px; align-items: end; margin: 22px 0; padding: 18px; border: 1px solid #cfd7de; border-radius: 14px; background: #f8fafb; }
.number-operation-builder h2 { grid-column: 1 / -1; margin: 0 0 4px; font-size: 1.2rem; }
.number-operation-builder > label { display: grid; gap: 7px; margin: 0; font-weight: 700; }
.number-operation-builder select { width: 100%; min-width: 0; min-height: 48px; padding: 8px; border: 1px solid #778592; border-radius: 10px; background: #fff; color: #20262c; font: inherit; }
.number-operation-builder fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.number-operation-builder legend { margin: 0 auto 7px; font-weight: 700; }
.number-operator-choices { display: grid; grid-template-columns: repeat(4, 44px); gap: 6px; }
.number-operator-choices label { position: relative; display: grid; place-items: center; min-width: 44px; min-height: 48px; border: 1px solid #87929b; border-radius: 10px; background: #fff; cursor: pointer; font-size: 1.35rem; font-weight: 800; }
.number-operator-choices input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.number-operator-choices label:has(input:checked) { border: 2px solid #1663b1; background: #edf5ff; color: #123f70; }
.number-operator-choices label:has(input:focus-visible) { outline: 3px solid #1663b1; outline-offset: 3px; }
.number-target-history { margin: 20px 0; padding: 15px 18px; border-left: 4px solid #1663b1; background: #f0f5f7; }
.number-target-history h2 { margin: 0 0 10px; font-size: 1.15rem; }
.number-target-history ol { margin-bottom: 0; padding-left: 24px; }
/* Game hubs: one clear play action and a separate, comfortable solver link. */
.game-families { display: grid; gap: 18px; border-top: 0; }
.game-family { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); align-items: start; gap: 28px; padding: 28px; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-background); box-shadow: 0 8px 28px #20262c06; }
.game-family-heading { display: flex; align-items: center; gap: 14px; min-width: 0; }
.game-family-number { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 12px; background: var(--color-mimosa-soft); color: var(--color-text); font-size: .85rem; font-weight: 750; }
.game-family h2 { line-height: 1.3; }
.game-family-copy { min-width: 0; }
.game-family-copy > p { margin: 0 0 20px; line-height: 1.7; }
.family-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.family-actions .button-primary { gap: 14px; min-width: 120px; min-height: 46px; }
.game-family-copy .family-help { display: flex; max-width: 100%; margin: 0; }
.family-help a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; max-width: 100%; padding: 11px 16px; border: 1px solid var(--color-border-strong); border-radius: 12px; background: var(--color-surface); color: var(--color-primary-dark); font-size: .9rem; font-weight: 650; line-height: 1.45; text-decoration: none; transition: background-color .16s, border-color .16s; }
.family-help a svg { flex: 0 0 18px; }
.family-help a:hover { background: var(--color-primary-soft); border-color: var(--color-primary-dark); }
.family-help a:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 3px; }
html[data-theme=dark] .game-family { background: var(--color-surface); box-shadow: none; }
html[data-theme=dark] .family-help a { background: var(--color-background); }
html[data-theme=dark] .family-help a:hover { background: var(--color-primary-soft); }
.game-catalog { margin-top: 36px; }
.game-catalog > h2 { margin-bottom: 24px; }
.game-catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; }
.game-catalog-card { min-width: 0; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-background); box-shadow: 0 8px 28px #20262c08; }
.game-catalog-card h3 { margin: 16px 0 10px; font-size: 1.3rem; line-height: 1.3; }
.game-catalog-card > p { margin: 0 0 14px; color: var(--color-muted); line-height: 1.65; }
.game-catalog-card .game-card-principle { color: var(--color-text); }
.game-catalog-card .game-card-levels { margin-bottom: 22px; font-size: .92rem; }
.game-catalog-card .family-actions { width: 100%; margin-top: auto; }
.game-catalog-card .family-actions .button,
.game-catalog-card .family-help,
.game-catalog-card .family-help a { width: 100%; min-width: 0; white-space: normal; text-align: center; overflow-wrap: anywhere; }
.game-catalog-card .family-help { margin: 0; }
.game-hub-back { margin: 10px 0 18px; }
html[data-theme=dark] .game-catalog-card { background: var(--color-surface); box-shadow: none; }
.faq-title { margin-top: 48px; }
.faq-list--static .faq-item { padding: 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 12px; }
.faq-list--static .faq-item h3 { margin: 0 0 10px; font-size: 1.05rem; }
.faq-list--static .faq-item p { margin: 0; }
@media (max-width: 900px) {
    .game-family { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

.word-path,.mystery-hints{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0;padding:0;list-style:none}.word-path li,.mystery-hints li{min-height:44px;display:flex;align-items:center;padding:.65rem .85rem;border:1px solid var(--border-color,#d8dce5);border-radius:.75rem;background:var(--surface,#fff);overflow-wrap:anywhere}.word-path li:not(:last-child)::after{content:"→";margin-left:.75rem;color:var(--muted,#667085)}.word-ladder-path{flex-direction:column;align-items:flex-start}.word-ladder-path li:not(:last-child)::after{content:"↓"}@media(max-width:390px){.word-path{gap:.45rem}.word-path li,.mystery-hints li{width:100%;font-size:1rem}.word-path li:not(:last-child)::after{margin-left:auto}}
@media (max-width: 540px) {
    .game-family { padding: 20px; border-radius: 16px; }
    .game-catalog-card { padding: 20px; border-radius: 16px; }
    .family-actions { flex-direction: column; }
    .family-actions .button-primary, .game-family-copy .family-help, .family-help a { width: 100%; }
}
.game-editorial { max-width: 780px; padding-top: 30px; }
.game-editorial section { padding: 22px 0; border-bottom: 1px solid #dce0e4; }
.game-editorial h2 { margin: 0 0 14px; font-size: 1.4rem; }
.game-editorial p, .game-editorial li { line-height: 1.75; }
.game-editorial ul, .game-summary ul { padding-left: 24px; }
.game-summary { margin-top: 24px; }
.game-summary h2 { font-size: 1.3rem; }
.game-source { font-size: .9rem; padding-top: 22px; }
.guess-history { list-style: none; padding: 0; margin: 16px 0; }
.guess-history > li { margin-bottom: 12px; }
.guess-row { display: flex; gap: 6px; }
.guess-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 46px; min-width: 0; max-width: 13%; height: 58px; border: 1px solid #c5cdd4; border-radius: 8px; font-size: 22px; }
.guess-tile small { line-height: 1.2; font-size: 15px; }
.mark-correct { background: #d4eee2; color: #15442f; border-color: #68aa8b; }
.mark-present { background: #fff0b6; color: #55420a; border-color: #c8ac4c; }
.mark-absent { background: #e8ecef; color: #38444e; }
.guess-spelling, .guess-legend { font-size: .87rem; }
.guess-legend { display: flex; flex-wrap: wrap; gap: .6rem 1rem; padding: 0; list-style: none; }
.guess-legend li { display: inline-flex; align-items: center; gap: .4rem; }
.guess-key { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid; border-radius: .35rem; font-weight: 800; }
html[data-theme=dark] .mark-correct { background: #285f49; color: #f2fff9; border-color: #82c7aa; }
html[data-theme=dark] .mark-present { background: #695510; color: #fff8d9; border-color: #dcc663; }
html[data-theme=dark] .mark-absent { background: #3c4852; color: #f6f8fa; border-color: #8d9aa5; }
.revealed-answer { margin: 24px 0 0; padding: 18px; border-radius: 12px; background: #edf7f0; overflow-wrap: anywhere; }
.revealed-answer h2 { font-size: 1.25rem; }
.play-panel :focus-visible, .game-editorial a:focus-visible, .button:focus-visible { outline: 3px solid #1663b1; outline-offset: 3px; }
html[data-theme=dark] .play-panel { background: #1b2530; color: #e9eff5; border-color: #3b4b59; }
html[data-theme=dark] .game-status { background: #2b3b48; color: #eff5fa; }
html[data-theme=dark] .game-error { background: #4a252c; color: #ffe9ed; }
html[data-theme=dark] .game-help a, html[data-theme=dark] .game-editorial a, html[data-theme=dark] .solver-game-link a { color: #a5ceff; }
html[data-theme=dark] .game-reveal, html[data-theme=dark] .new-game-row small { color: #c6d2dd; }
.hangman-keyboard{margin:1rem 0;padding:1rem;border:1px solid var(--color-border);border-radius:12px}.hangman-keyboard legend{padding:0 .4rem;font-weight:750}.hangman-keyboard button{min-width:44px;min-height:44px;margin:3px;padding:8px}.hangman-keyboard button:disabled{opacity:.45;text-decoration:line-through}.hard-word-picker{margin-bottom:clamp(2rem,6vw,4rem);padding:clamp(1.2rem,4vw,2rem);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.hard-word-picker>form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.75rem;align-items:end}.hard-word-picker>form label{grid-row:1}.hard-word-result{margin-top:1.5rem;padding:1.25rem;border-radius:var(--radius-small);background:var(--color-background)}.hard-word-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.hard-word-groups details{padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-small)}.hard-word-groups summary{cursor:pointer;font-weight:750}.context-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border)}@media(max-width:700px){.hard-word-picker>form,.hard-word-groups{grid-template-columns:1fr}.hard-word-picker>form label{grid-row:auto}.hangman-keyboard{padding:.6rem}.hangman-keyboard button{min-width:42px;margin:2px}}
html[data-theme=dark] .sudoku-level-navigation { background: #1b2530; border-color: #3b4b59; }
html[data-theme=dark] .number-operation-builder, html[data-theme=dark] .number-target-history { background: #243440; border-color: #526270; }
html[data-theme=dark] .number-operation-builder select, html[data-theme=dark] .number-operator-choices label { background: #1b2530; color: #eff5fa; border-color: #71818e; }
html[data-theme=dark] .number-operator-choices label:has(input:checked) { background: #243f58; border-color: #a5ceff; color: #fff; }
html[data-theme=dark] .revealed-answer { background: transparent; border: 1px solid #3b4b59; color: #e4f8eb; }
@media(max-width: 640px) {
    .play-panel { padding: 16px; border-radius: 18px; }
    .game-grid td { height: 46px; }
    .game-grid input { min-height: 44px; }
    .game-grid input, .game-grid td > span { font-size: 18px; }
    .kakuro-play td { height: 48px; }
    .letter-tiles { gap: 6px; }
    .letter-tiles li { min-width: 31px; min-height: 40px; padding: 5px 8px; font-size: 22px; }
    .game-actions .button-primary { width: 100%; }
    .game-level-form label { flex-basis: 100%; }
    .game-level-form select { width: 100%; }
    .number-operation-builder { grid-template-columns: 1fr; align-items: stretch; }
    .number-operator-choices { grid-template-columns: repeat(4, minmax(44px, 1fr)); }
}
@media(max-width: 360px) {
    .play-panel { min-width: 0; max-width: 100%; padding: 10px; overflow-x: clip; }
    .game-grid td { height: 46px; }
    .kakuro-play td { height: 44px; }
    .guess-row { gap: 3px; }
    .guess-tile { height: 52px; }
    .sudoku-level-navigation { padding: 14px; }
    .sudoku-level-navigation li, .sudoku-level-navigation a { width: 100%; }
}
@media(max-width: 240px) {
    .game-family { padding: 12px; }
    .game-family-heading { align-items: flex-start; gap: 8px; }
    .game-family-heading h2 { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
    .game-family-number { flex-basis: 32px; height: 32px; }
    .family-actions .button-primary, .family-help a { min-width: 0; padding-inline: 8px; overflow-wrap: anywhere; }
    .play-panel { padding: 8px; }
}
.word-mask{font-size:clamp(1.45rem,6vw,2.4rem);font-weight:800;letter-spacing:.18em;overflow-wrap:anywhere;text-align:center}.quiz-definition{font-size:1.1rem;line-height:1.6}.quiz-choices{display:grid;gap:.65rem;border:0;padding:0;margin:1rem 0}.quiz-choices label{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.65rem .8rem;border:1px solid var(--border-color,#ccc);border-radius:.6rem;cursor:pointer}.quiz-choices input{width:24px;height:24px}.game-hint{padding:.75rem 1rem;border-left:4px solid currentColor}
.game-countdown{font-size:1.2rem}.game-countdown strong{font-size:1.8rem}.word-search-wrap{max-width:100%;overflow-x:auto}.word-search-grid{width:max-content;margin:1rem auto;border-collapse:separate;border-spacing:3px;table-layout:fixed}.word-search-grid td{padding:0}.word-search-grid button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #9aa8b4;border-radius:6px;background:#f7f9fa;color:#17222c;font:700 16px/1 system-ui;cursor:pointer}.word-search-grid button:hover,.word-search-grid button:focus-visible{background:#fff0b6}.word-search-grid button.is-selection-start,.word-search-grid button.is-selection-end{background:#d4eee2;border-color:#28765a}.word-search-grid button.is-found{background:#d4eee2;border:2px solid #175b43;text-decoration:underline;text-underline-offset:3px}.word-search-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.word-search-selectors label{display:grid;gap:6px}.word-search-selectors select{min-height:44px;font-size:16px}.word-search-list{line-height:1.7;overflow-wrap:anywhere}.word-search-list ul{display:flex;flex-wrap:wrap;gap:6px 16px;margin:.6rem 0 0;padding:0;list-style:none}.word-search-list li{font-weight:700}.word-search-list li.is-found{text-decoration:line-through}.word-search-list li.is-found>span:first-child{text-decoration:none;display:inline-block}html[data-theme=dark] .word-search-grid button{background:#243440;color:#fff;border-color:#71818e}html[data-theme=dark] .word-search-grid button.is-found{background:#174c3a;border-color:#92d8bc}@media(max-width:420px){.word-search-grid{width:100%;border-spacing:1px}.word-search-grid button{width:100%;height:auto;aspect-ratio:1;border-radius:3px;font-size:clamp(12px,4vw,16px)}.word-search-selectors{grid-template-columns:1fr}}
.game-progress{padding:.75rem 1rem;border-radius:.75rem;background:#f0f5f7}.game-hints{padding-left:1.5rem}.game-hints li{margin:.55rem 0;line-height:1.55}.arithmetic-question{margin:1.25rem 0;padding:1.15rem;text-align:center;border:1px solid #d4dbe1;border-radius:1rem;background:#f8fafb;font-size:clamp(1.65rem,7vw,2.6rem);font-weight:750;letter-spacing:.025em;overflow-wrap:anywhere}.operator-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.operator-choices label{justify-content:center;min-height:54px;font-size:1.5rem;font-weight:750}.question-correction{padding:.8rem 1rem;border-left:4px solid #527d68;background:#edf7f0}.arithmetic-corrections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0;list-style:none}.arithmetic-corrections li{padding:.75rem;border:1px solid #d4dbe1;border-radius:.65rem;text-align:center;font-weight:700}html[data-theme=dark] .game-progress,html[data-theme=dark] .arithmetic-question{background:#243440;border-color:#526270;color:#eff5fa}html[data-theme=dark] .question-correction{background:#243d32}html[data-theme=dark] .arithmetic-corrections li{border-color:#526270}@media(max-width:480px){.operator-choices,.arithmetic-corrections{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-choices label{min-height:48px}}
/* Crossword and arrowword: shared answer cells, distinct clue placement. */
.clue-panel,.clue-workspace,.clue-scroll{min-width:0;max-width:100%}
.clue-workspace{display:grid;gap:1.5rem;align-items:start}
.clue-scroll{overflow:auto;border:2px solid #243b82;border-radius:6px;overscroll-behavior:contain}
.clue-grid{border-collapse:collapse;table-layout:fixed;width:max-content;background:#fff;color:#182548}
.clue-grid caption{text-align:left;padding:.6rem;font-weight:700;caption-side:top}
.clue-grid td{width:38px;min-width:38px;height:38px;padding:0;border:1px solid #8991a1;position:relative}
.clue-grid .clue-black{background:#202b43}
.clue-grid input{display:block;box-sizing:border-box;width:100%;height:100%;min-height:38px;border:0;border-radius:0;background:transparent;text-align:center;padding:4px;font-size:1.15rem;font-weight:700;color:#182548}
.clue-grid input:focus{outline:3px solid #234cc7;outline-offset:-3px;background:#fff3ac}
.clue-grid .is-word{background:#fff4b8}
.clue-grid .is-wrong{outline:2px dashed #a61942;outline-offset:-3px}
.clue-number{position:absolute;left:2px;top:0;font-size:.58rem;line-height:1;pointer-events:none}
.cell-mark{position:absolute;right:1px;bottom:0;font-size:.65rem;line-height:1;color:#8b1637;pointer-events:none}
.arrowword-grid td{width:94px;min-width:94px;height:82px}
.arrowword-grid input{min-height:82px;font-size:1.35rem}
.clue-grid .clue-clue{background:#e9edf8;vertical-align:middle}
.embedded-clue{width:100%;min-height:82px;padding:5px;border:0;background:transparent;color:#182548;font:inherit;font-size:.75rem;line-height:1.2;overflow-wrap:anywhere;cursor:pointer}
.embedded-clue strong{display:block;font-size:1.4rem;color:#234cc7}
.embedded-clue:focus-visible,.crossword-clues button:focus-visible{outline:3px solid #234cc7;outline-offset:-3px}
.crossword-clues ul{list-style:none;margin:0;padding:0}
.crossword-clues button{border:0;border-radius:4px;padding:.55rem;text-align:left;background:transparent;color:#182548;font:inherit;cursor:pointer;width:100%}
.is-selected-clue,.crossword-clues .is-selected-clue{background:#fff0a5;box-shadow:inset 4px 0 #244ec6}
.clue-selection{display:grid;gap:.5rem;margin:1rem 0}
.clue-selection select{min-width:0;width:100%;max-width:100%}
.active-clue{padding:.75rem;background:#eef1fa;border-left:4px solid #234cc7;font-weight:600}
.clue-confirm{margin:1rem 0;padding:1rem;border:2px solid #a61942;border-radius:6px}
.clue-confirm button{margin:.25rem 0}
.clue-form .game-actions{flex-wrap:wrap}
.clue-panel button,.clue-panel select,.crossword-clues{min-width:0;max-width:100%;overflow-wrap:anywhere}
.clue-panel button{white-space:normal}
body:has(.clue-panel) .brand{min-width:0;flex-shrink:1}
body:has(.clue-panel) .brand-text{min-width:0}
body:has(.clue-panel) .brand-subtitle{white-space:normal;overflow-wrap:anywhere}
@media(min-width:1000px){.clue-workspace:not(.arrowword-workspace){grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr)}}
/* Fit the complete grid to its container, including without JavaScript. */
.clue-scroll{container-type:inline-size;overflow:visible;width:min(100%,calc(var(--clue-columns) * 32px));margin-inline:auto}
.arrowword-workspace .clue-scroll{width:min(100%,calc(var(--clue-columns) * 72px))}
.clue-grid{width:100%;max-width:100%;table-layout:fixed}
.clue-grid td,.arrowword-grid td{width:auto;min-width:0;height:auto}
.clue-grid input,.arrowword-grid input{width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:1;padding:0;font-size:clamp(8px,calc(72cqw / var(--clue-columns)),20px);line-height:1}
.clue-grid .clue-number{font-size:clamp(5px,calc(26cqw / var(--clue-columns)),9px)}
.clue-grid .cell-mark{font-size:clamp(5px,calc(30cqw / var(--clue-columns)),10px)}
.embedded-clue{display:flex;align-items:center;justify-content:center;gap:1px;min-height:0;height:auto;aspect-ratio:1;padding:0;position:relative}
.embedded-clue-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.embedded-clue-number{font-size:clamp(5px,calc(30cqw / var(--clue-columns)),10px);line-height:1}
.embedded-clue strong{font-size:clamp(8px,calc(55cqw / var(--clue-columns)),22px);line-height:1}
.clue-columns-3{--clue-columns:3}.clue-columns-4{--clue-columns:4}.clue-columns-5{--clue-columns:5}.clue-columns-6{--clue-columns:6}.clue-columns-7{--clue-columns:7}.clue-columns-8{--clue-columns:8}.clue-columns-9{--clue-columns:9}.clue-columns-10{--clue-columns:10}.clue-columns-11{--clue-columns:11}.clue-columns-12{--clue-columns:12}.clue-columns-13{--clue-columns:13}.clue-columns-14{--clue-columns:14}.clue-columns-15{--clue-columns:15}.clue-columns-16{--clue-columns:16}.clue-columns-17{--clue-columns:17}.clue-columns-18{--clue-columns:18}.clue-columns-19{--clue-columns:19}
@container(min-width:600px){
 .arrowword-grid:is(.clue-columns-3,.clue-columns-4,.clue-columns-5,.clue-columns-6,.clue-columns-7,.clue-columns-8) .embedded-clue{flex-direction:column;padding:3px}
 .arrowword-grid:is(.clue-columns-3,.clue-columns-4,.clue-columns-5,.clue-columns-6,.clue-columns-7,.clue-columns-8) .embedded-clue-copy{position:static;width:auto;height:auto;clip-path:none;font-size:11px;line-height:1.2}
 .arrowword-grid:is(.clue-columns-3,.clue-columns-4,.clue-columns-5,.clue-columns-6,.clue-columns-7,.clue-columns-8) .embedded-clue-number{display:none}
}
@media(max-width:600px){.clue-panel{padding:8px}.clue-workspace{gap:.75rem}.clue-grid caption{padding:.4rem;font-size:.85rem}}
.clue-grid .clue-number{font-size:clamp(9px,calc(42cqw / var(--clue-columns)),13px);font-weight:850;color:#14347f;line-height:1;background:#fff;border-radius:0 0 3px 0;padding:0 1px;z-index:1}
.clue-play:has(input:placeholder-shown) .clue-number{inset:0;display:grid;place-items:center;padding:0;font-size:clamp(11px,calc(62cqw / var(--clue-columns)),18px);background:transparent}
.clue-play:has(.clue-number) input:not(:placeholder-shown){text-align:right;padding:4px 1px 0 0;font-size:clamp(8px,calc(55cqw / var(--clue-columns)),18px)}
.embedded-clue-number{font-size:clamp(10px,calc(48cqw / var(--clue-columns)),15px);font-weight:850;color:#14347f}
.embedded-clue{gap:0}
.embedded-clue strong{font-size:clamp(8px,calc(40cqw / var(--clue-columns)),18px)}
.force-switcher,.force-neighbours{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}
.force-switcher a{padding:.55rem .75rem;border:1px solid #244dba;border-radius:8px;color:#173477;font-weight:700}
.force-switcher a[aria-current=page]{background:#fff0a5;border-width:2px}
.force-collections{margin:2rem 0;max-width:780px}
.force-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.force-cards article{min-width:0;padding:1rem;border:1px solid #d5dceb;border-radius:12px;background:#fff;color:#182548}
.force-cards h3{font-size:1.1rem}.force-cards button{white-space:normal;max-width:100%;overflow-wrap:anywhere}
.force-neighbours a{padding:.5rem;overflow-wrap:anywhere}
