:root{--grid-paper:#fff;--grid-ink:#121212;--grid-number:#3a3935}.crossword-grid{box-sizing:border-box;gap:0;padding:0 2px 2px 0}.crossword-cell,.crossword-cell.is-empty{border-radius:0}.crossword-cell{background:var(--grid-paper);border:2px solid var(--grid-ink);color:var(--grid-ink);font-family:var(--font-mono,monospace);font-weight:600;margin:0 -2px -2px 0}.crossword-cell.is-empty{background:transparent;border-color:transparent}.cell-input{border-radius:0;color:var(--grid-ink);font-family:var(--font-mono,monospace);font-weight:600}.cell-number{color:var(--grid-number);font-family:var(--font-body,sans-serif);font-weight:600}.crossword-cell.is-active-word{background:#dce7ff;border-color:var(--grid-ink)}.crossword-cell:has(.cell-input:focus){background:#ffd23f!important;border-color:var(--grid-ink)!important;box-shadow:inset 0 0 0 2px var(--grid-ink)!important}.crossword-cell.word-wrong{background:#ffd9d4;border-color:var(--grid-ink)}.cell-input.is-locked{border:0;border-radius:0}@media (max-width:1024px){.crossword-cell:has(.cell-input:focus){background:#ffd23f!important;box-shadow:0 0 0 2px var(--grid-ink),4px 4px 0 var(--grid-ink)!important}}@media (prefers-color-scheme:dark){.crossword-cell{background:var(--grid-paper);border-color:var(--grid-ink);color:var(--grid-ink)}.crossword-cell.is-empty{background:transparent;border-color:transparent}.crossword-cell.is-active-word{background:#dce7ff;border-color:var(--grid-ink)}.crossword-cell:has(.cell-input:focus){background:#ffd23f!important}.cell-number{color:var(--grid-number)}.cell-input.is-solution{color:var(--grid-ink)}}.clue-banner{background:#dce7ff;border:2px solid var(--grid-ink);border-radius:0;color:var(--grid-ink);font-weight:600}@media (prefers-color-scheme:dark){.clue-banner{background:#dce7ff}}.panel-toggle{background:var(--paper);border:2px solid var(--ink);border-radius:0;color:var(--ink);min-height:36px;min-width:36px}.crossword-clues ul{display:grid;gap:2px;list-style:none;padding-left:0}.clue-question{font-weight:600}.clue-meta,.clue-start{color:var(--muted)}.clue-item{border-left:4px solid transparent;padding:6px 8px}.clue-item.is-active-clue{background:var(--word);border-left:4px solid var(--ink);padding-left:8px}.clue-item.is-solved-clue{background:transparent;color:var(--muted);opacity:1}.clue-item.is-solved-clue:before{content:none}.clue-item.is-solved-clue .clue-question:before{color:#15803d;content:"✓ ";font-weight:700}@media (prefers-color-scheme:dark){.clue-item.is-solved-clue .clue-question:before{color:#4ade80}}.puzzle-stats{font-family:var(--font-mono,monospace);font-size:15px;gap:24px}.stat-item{align-items:center;display:flex;gap:8px}.stat-label{color:var(--muted)}.progress-bar-bg{background:var(--paper);border:2px solid var(--ink);border-radius:0;height:14px;width:140px}.progress-bar-fill{background:var(--hl)}.word-search-grid{background:var(--grid-paper);border:2px solid var(--grid-ink);gap:0}.word-search-cell{background:var(--grid-paper);border:0;border-bottom:1px solid #dad8d2;border-radius:0;border-right:1px solid #dad8d2}.word-search-letter{color:var(--grid-ink);font-family:var(--font-mono,monospace);font-weight:600}.word-search-cell.is-selected{background:#dce7ff;border-color:#dad8d2}.word-search-cell.is-selected .word-search-letter{color:var(--grid-ink)}.word-search-editor-cell{background:var(--grid-paper);border-color:#dad8d2;border-radius:0;color:var(--grid-ink);font-family:var(--font-mono,monospace)}.word-search-editor-cell.is-fill{background:#f4f3ef;color:#6e6b65}.builder-preview{border:2px solid var(--ink);border-radius:0;box-shadow:none}.builder-preview-head{border-bottom:2px solid var(--ink)}.builder-preview-unplaced,.builder-word-list li{border-radius:0}.builder-word-list li{font-family:var(--font-mono,monospace)}.puzzle-type-card{border:2px solid var(--rule-strong);border-radius:0}.puzzle-type-card:has(input:checked){background:var(--word);border-color:var(--ink);color:var(--ink)}.clue-remove{border-radius:0}@media print{html:root{--ink:#121212;--paper:#fff;--paper-2:#fff;--muted:#3a3935;--word:#fff;--text:#121212;--text-2:#121212;--hl-ink:#121212}body,html{background:#fff!important;color:#121212!important}*,:after,:before{animation:none!important;transition:none!important}#hint-button,.bento-card:has(.question-stack),.btn-gradient,.btn-secondary,.clue-answer,.clue-banner,.clue-start,.crossword-actions,.crossword-modal,.footer-area,.hero-area .mt-3,.modal-overlay,.panel-toggle,.puzzle-stats,.search-area,.share-link,.site-header,.warning-card,[data-reset-puzzle],form{display:none!important}.bento-container{gap:12px;max-width:none;padding:0}.bento-card,.hero-area{background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important}.hero-area h1{color:#121212;font-size:24pt}.crossword-layout,.word-search-layout{display:block}.crossword-grid,.word-search-grid{break-inside:avoid;margin:0 auto 16px}@page{size:A4;margin:14mm}.crossword-grid{--cell-size:9mm!important;max-width:100%;width:max-content}.crossword-cell{font-size:11pt;min-height:0!important}.cell-number{font-size:6.5pt;left:2px;top:1px}.word-search-grid{width:min(100%,150mm)}.clue-columns{display:grid;font-size:10pt;gap:6mm;grid-template-columns:1fr 1fr}.clue-item{break-inside:avoid;padding:1px 0!important}.crossword-cell,.crossword-cell.is-active-word,.crossword-cell.word-wrong,.crossword-cell:has(.cell-input:focus){animation:none!important;background:#fff!important;border-color:#121212!important;box-shadow:none!important;outline:0!important;transform:none!important;transition:none!important}.crossword-cell.is-empty{background:transparent!important;border-color:transparent!important}.cell-input,.cell-input.is-hinted,.cell-input.is-locked,.cell-letter{background:transparent!important;color:transparent!important}.cell-number,.crossword-cell:has(.cell-input.is-locked) .cell-number{color:#121212!important}body.print-solutions .cell-input,body.print-solutions .cell-input.is-hinted,body.print-solutions .cell-input.is-locked,body.print-solutions .cell-letter{color:#121212!important}.clue-item,.clue-item.is-active-clue,.clue-item.is-solved-clue{background:none!important;border:0!important;color:#121212!important;padding-left:0!important;text-decoration:none!important}.clue-item.is-solved-clue:before{content:none!important}.crossword-clues,.word-search-panel{background:#fff!important;border:0!important;break-inside:auto}.word-search-cell,.word-search-cell.is-found,.word-search-cell.is-selected{background:#fff!important;border-color:#dad8d2!important}.word-search-cell.is-found .word-search-letter{color:#121212!important}.word-search-item.is-found{color:#121212!important;text-decoration:none!important}.selection-overlay{display:none!important}}@media (max-width:640px){.bento-card:has(.crossword-grid),.bento-card:has(.word-search-grid){border-inline:0;margin-inline:-16px;padding-inline:8px}.crossword-pattern{padding:6px 0}}@media (max-width:1024px){.panel-toggle{display:none}}
