/* ── Tokens ──
   Red is the brand, used for the stripe, primary buttons and the active tile only.
   Text and headings are ink; links are one darker red, always underlined, so they're never
   confused with headings or buttons. Gold appears once, on the U in the wordmark. */
:root {
  --red: #c8102e;
  --red-hover: #a90d26;
  --red-soft: #fbeaed;
  --gold: #c6a046;
  --ink: #1a1a1b;
  --ink-2: #4b4f54;
  --ink-3: #767b82;
  --line: #e4e6e9;
  --paper: #ffffff;
  --paper-2: #fdf1f3;   /* light brand tint for hovers and highlights (never off-white or grey) */
  --link: #a50d24;
  --focus: #1d4ed8;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --radius: 8px;
  --shadow: 0 1px 2px rgba(20,20,20,.06), 0 8px 24px rgba(20,20,20,.06);
}

*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body { margin: 0; font-family: var(--font); font-size: 17px; line-height: 1.6; color: var(--ink); background: var(--paper); }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.skip-link { position:absolute; left:-999px; top:8px; background:var(--ink); color:#fff; padding:8px 14px; z-index:1000; }
.skip-link:focus { left:8px; }

/* ── Buttons: one primary style everywhere (theme + plugin + block buttons) ── */
.btn, .wp-block-button__link, .ct-btn, .search-form button, .comment-form .submit {
  display: inline-block; background: var(--red); color: #fff !important; border: 0; border-radius: 999px;
  padding: 11px 22px; font: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none !important; cursor: pointer;
  transition: background .15s;
}
.btn:hover, .wp-block-button__link:hover, .ct-btn:hover, .search-form button:hover, .comment-form .submit:hover { background: var(--red-hover); }
.btn-outline { background: #fff; color: var(--ink) !important; border: 1.5px solid var(--line); }
.btn-outline:hover { background: var(--paper-2); border-color: var(--ink-3); }

/* ── Header: white, with the flag-red stripe on top ── */
.site-header { background: var(--paper); border-top: 5px solid var(--red); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.header-inner { max-width: 1080px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.header-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wordmark { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.wordmark .site-logo { width: 42px; height: 42px; border-radius: 8px; object-fit: cover; }
.wordmark-tiles { display: inline-flex; gap: 3px; }
.wordmark-tiles span { width: 28px; height: 28px; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 800; font-size: 16px; border-radius: 4px; }
.wordmark-tiles span:nth-child(4) { background: var(--gold); }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; flex-wrap: wrap; justify-content: flex-end; }
.site-nav a { color: var(--ink); text-decoration: none; padding: 8px 12px; border-radius: 6px; font-weight: 600; font-size: 15px; white-space: nowrap; }
.site-nav a:hover { background: var(--paper-2); color: var(--ink); }
.site-nav .current-menu-item > a, .site-nav .current_page_item > a { color: var(--red); box-shadow: inset 0 -2px 0 var(--red); border-radius: 6px 6px 0 0; }
.nav-toggle { display: none; background: none; border: 1.5px solid var(--line); color: var(--ink); padding: 7px 12px; border-radius: 6px; font: inherit; font-weight: 600; }
@media (max-width: 1000px) {
  .header-inner { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px; }
  .nav-toggle { display: inline-block; }
  .site-nav { display: none; }
  .site-nav.open { display: block; }
  .site-nav ul { flex-direction: column; gap: 0; padding: 8px 0 6px; }
  .site-nav a { display: block; }
  .site-nav .current-menu-item > a { box-shadow: none; background: var(--red-soft); }
  .wordmark-tiles span { width: 24px; height: 24px; font-size: 14px; }
}

/* ── Layout ── */
.site-main { max-width: 1080px; margin: 0 auto; padding: 28px 20px 64px; }
.single .site-main, .page .site-main { max-width: 800px; }
.page-title, .entry-title { font-size: clamp(1.7rem, 3.5vw, 2.3rem); line-height: 1.15; letter-spacing: -.01em; margin: 0 0 .5em; color: var(--ink); }
.entry-meta { color: var(--ink-3); font-size: 15px; margin-bottom: 20px; }
.breadcrumbs { font-size: 14px; color: var(--ink-3); margin-bottom: 14px; }
.breadcrumbs a { color: var(--ink-2); text-decoration: none; }
.breadcrumbs a:hover { color: var(--red); text-decoration: underline; }

/* Content typography */
.entry-content h2 { font-size: 1.5rem; margin: 1.7em 0 .5em; line-height: 1.25; color: var(--ink); }
.entry-content h3 { font-size: 1.2rem; margin: 1.4em 0 .4em; color: var(--ink); }
.entry-content p, .entry-content ul, .entry-content ol { margin: 0 0 1.1em; }
.entry-content li + li { margin-top: .3em; }
.entry-content blockquote { border-left: 4px solid var(--gold); margin: 1.2em 0; padding: 4px 18px; color: var(--ink-2); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.entry-content th, .entry-content td { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; vertical-align: top; }
.entry-content th { font-weight: 700; }
.entry-content code { background: var(--paper-2); padding: 2px 6px; border-radius: 4px; font-size: .92em; }
.entry-content img { border-radius: var(--radius); }
.entry-content > .canuckle-game { max-width: 520px; margin: 0 auto 28px; }
.entry-content > .canuckle-game + * { margin-top: 32px; }
.wp-block-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--ink) !important; border: 1.5px solid var(--line); }


/* Post lists */
.post-list { display: grid; gap: 28px 24px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); list-style: none; padding: 0; margin: 20px 0 0; }
.post-card { display: flex; flex-direction: column; }
.post-card h2 { font-size: 1.15rem; line-height: 1.35; margin: 12px 0 6px; }
.post-card h2 a { color: var(--ink); text-decoration: none; }
.post-card h2 a:hover { color: var(--red); text-decoration: underline; }
.post-card .thumb { display: block; aspect-ratio: 16/9; overflow: hidden; border-radius: var(--radius); background: var(--paper-2); }
.post-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.post-card:hover .thumb img { transform: scale(1.03); }
.post-card p { margin: 0; color: var(--ink-2); font-size: 15px; }
.archive-lede { color: var(--ink-2); max-width: 68ch; }
.pagination { margin-top: 36px; display: flex; gap: 6px; flex-wrap: wrap; }
.pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: var(--ink); }
.pagination .page-numbers:hover { border-color: var(--ink-3); }
.pagination .current { background: var(--red); border-color: var(--red); color: #fff; }

/* Game page */
.template-game .site-main { padding-top: 16px; }
.game-links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 22px 0 8px; }

/* Search / 404 */
.search-form { display: flex; gap: 8px; max-width: 480px; }
.search-form input[type=search] { flex: 1 1 auto; min-width: 0; width: 100%; -webkit-appearance: none; appearance: none; padding: 11px 14px; border: 1.5px solid var(--line); border-radius: 999px; font: inherit; }
.search-form button { flex: 0 0 auto; white-space: nowrap; }
.search-form input[type=search]:focus { border-color: var(--ink-3); outline: 3px solid rgba(29,78,216,.35); outline-offset: 1px; }

/* Comments */
.comment-list { list-style: none; padding: 0; }
.comment { border-top: 1px solid var(--line); padding: 16px 0; }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url] { width: 100%; padding: 10px; border: 1.5px solid var(--line); border-radius: 6px; font: inherit; }

/* ── Footer: three columns, then a quiet legal line ── */
.site-footer { background: var(--ink); color: #e9eaec; margin-top: 40px; }
.site-footer .wordmark-tiles span { box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.footer-grid { max-width: 1080px; margin: 0 auto; padding: 40px 20px 28px; display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.footer-brand { grid-column: span 2; }
.footer-brand p { margin: 12px 0 0; color: #c9ccd1; font-size: 15px; max-width: 40ch; }
.footer-title { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #aeb2b8; margin: 0 0 12px; font-weight: 700; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin: 0 0 8px; }
.footer-col a { color: #ffffff; text-decoration: none; font-size: 15px; }
.footer-col a:hover { color: #ffffff; text-decoration: underline; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); }
.footer-bottom .inner { max-width: 1080px; margin: 0 auto; padding: 16px 20px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: #aeb2b8; }
.footer-bottom a { color: #e9eaec; }
.site-footer :focus-visible { outline-color: #8fb3ff; }
@media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } .footer-brand { grid-column: 1 / -1; } }
@media (min-width: 721px) { .footer-grid { grid-template-columns: 1.6fr repeat(4, 1fr); } .footer-brand { grid-column: auto; } }
@media (max-width: 420px) { .footer-grid { grid-template-columns: 1fr; } }

/* ═══ Game ═══ */
/* ─── Variables ─── */
.canuckle-game {
    --c-correct: #c8102e;
    --c-present: #8f6f1f;
    --c-absent: #787c7e;
    --tile-border: #d3d6da;
    --tile-border-filled: #878a8c;
    --tile-text: #fff;
    --bg: #ffffff;
    --text: #1a1a1b;
    --text-dim: #787c7e;
    --key-bg: #d3d6da;
    --key-text: #1a1a1b;
    --key-eval-text: #fff;
    --modal-bg: #fff;
    --overlay: rgba(0,0,0,.45);
    --border-light: #e0e0e0;

    /* colorblind */
    --cb-correct: #c75400;
    --cb-present: #2f78c4;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    min-height: 580px;
    position: relative;
    color: var(--text);
    background: var(--bg);
    border-radius: 16px;
    box-shadow: 0 4px 40px rgba(0,0,0,.12);
    overflow: hidden;
    transition: background .3s, color .3s;
    padding-bottom: 10px;
}

/* ─── Dark Mode ─── */
.canuckle-game.dark {
    --bg: #121213;
    --bg-page: #000;
    --text: #d7dadc;
    --text-dim: #818384;
    --tile-border: #3a3a3c;
    --tile-border-filled: #565758;
    --key-bg: #818384;
    --key-text: #d7dadc;
    --key-eval-text: #ffffff;
    --modal-bg: #1a1a1b;
    --overlay: rgba(0,0,0,.7);
    --c-absent: #3a3a3c;
    --border-light: #3a3a3c;
}
.canuckle-game.colorblind {
    --c-correct: var(--cb-correct);
    --c-present: var(--cb-present);
}

/* ═══ HEADER — matches canucklegame.ca ═══ */
.canuckle-game .cg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 56px;
    padding: 0 16px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--border-light);
    background: var(--bg);
}
.canuckle-game .cg-header-left,
.canuckle-game .cg-header-right {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 70px;
}
.canuckle-game .cg-header-right { justify-content: flex-end; }
.canuckle-game .cg-title {
    font-weight: 900;
    font-size: 22px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text);
    white-space: nowrap;
}
.canuckle-game .cg-subtitle {
    font-size: 10px;
    color: var(--text-dim);
    text-align: center;
    margin-top: -3px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.canuckle-game .cg-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: var(--text);
    border-radius: 8px;
    transition: background .15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.canuckle-game .cg-icon-btn:hover { background: var(--tile-border); }
.canuckle-game .cg-icon-btn svg { width: 24px; height: 24px; }

/* ═══ DATE ═══ */
.canuckle-game .cg-date {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-dim);
    padding: 8px 0 0;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ═══ BOARD — rounded tiles like canucklegame.ca ═══ */
.canuckle-game .cg-board-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    padding: 14px 10px 8px;
}
.canuckle-game .cg-board {
    display: grid;
    grid-template-rows: repeat(6, 1fr);
    gap: 6px;
    width: min(calc(var(--cols, 5) * 64px), 100%);
    width: min(calc(var(--cols, 5) * 64px), 100%, max(240px, calc((100svh - 340px) * var(--cols, 5) / 6)));
    max-width: 100%;
    aspect-ratio: var(--cols, 5) / 6;
    height: auto;
}
.canuckle-game .cg-row {
    display: grid;
    grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr));
    gap: 6px;
    min-width: 0;
}
.canuckle-game .cg-board-wrap { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; }
.canuckle-game[style*="--cols: 7"] .cg-tile, .canuckle-game[style*="--cols:7"] .cg-tile { font-size: clamp(1rem, 5.4vw, 1.8rem); }
.canuckle-game[style*="--cols: 6"] .cg-tile, .canuckle-game[style*="--cols:6"] .cg-tile { font-size: clamp(1.1rem, 6vw, 1.9rem); }
.canuckle-game .cg-tile {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    border: 2px solid var(--tile-border);
    color: var(--text);
    user-select: none;
    box-sizing: border-box;
    border-radius: 8px;
    transition: border-color .1s;
    aspect-ratio: 1;
}
.canuckle-game .cg-tile.filled {
    border-color: var(--tile-border-filled);
    animation: cgPop .1s ease;
}
.canuckle-game .cg-tile.correct {
    background: var(--c-correct);
    border-color: var(--c-correct);
    color: var(--tile-text);
}
.canuckle-game .cg-tile.present {
    background: var(--c-present);
    border-color: var(--c-present);
    color: var(--tile-text);
}
.canuckle-game .cg-tile.absent {
    background: var(--c-absent);
    border-color: var(--c-absent);
    color: var(--tile-text);
}
.canuckle-game .cg-tile.flip { animation: cgFlip .5s ease forwards; }

/* ═══ KEYBOARD — matches canucklegame.ca ═══ */
.canuckle-game .cg-keyboard {
    width: 100%;
    max-width: 500px;
    padding: 0 8px 8px;
    box-sizing: border-box;
    user-select: none;
}
.canuckle-game .cg-kb-row {
    display: flex;
    width: 100%;
    margin-bottom: 6px;
    touch-action: manipulation;
    justify-content: center;
}
.canuckle-game .cg-key {
    font-family: inherit;
    font-weight: 700;
    font-size: 14px;
    border: 0;
    padding: 0;
    margin: 0 3px;
    height: 52px;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    flex: 1;
    max-width: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    background: var(--key-bg);
    color: var(--key-text);
    transition: background .15s, color .15s, transform .08s;
    -webkit-tap-highlight-color: rgba(0,0,0,.2);
}
.canuckle-game .cg-key:active { transform: scale(.95); }
.canuckle-game .cg-key.wide { flex: 1.5; max-width: 68px; font-size: 11px; letter-spacing: .02em; }
.canuckle-game .cg-key svg { width: 20px; height: 20px; pointer-events: none; }
.canuckle-game .cg-spacer { flex: .5; max-width: 20px; }

.canuckle-game .cg-key.correct { background: var(--c-correct); color: var(--key-eval-text); }
.canuckle-game .cg-key.present { background: var(--c-present); color: var(--key-eval-text); }
.canuckle-game .cg-key.absent  { background: var(--c-absent);  color: var(--key-eval-text); }

/* ═══ MODAL ═══ */
.canuckle-game .cg-modal-overlay {
    position: fixed;
    inset: 0;
    background: var(--overlay);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s;
}
.canuckle-game .cg-modal-overlay.open {
    opacity: 1;
    pointer-events: auto;
}
.canuckle-game .cg-modal {
    background: var(--modal-bg);
    border-radius: 14px;
    max-width: 92%;
    width: 440px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 10px 50px rgba(0,0,0,.25);
    color: var(--text);
    transform: translateY(16px) scale(.97);
    transition: transform .25s;
}
.canuckle-game .cg-modal-overlay.open .cg-modal {
    transform: translateY(0) scale(1);
}
.canuckle-game .cg-modal-head {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 18px 20px;
    font-weight: 800;
    font-size: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
    position: relative;
}
.canuckle-game .cg-modal-close {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--text);
    padding: 4px 8px;
    line-height: 1;
    border-radius: 6px;
    transition: background .15s;
}
.canuckle-game .cg-modal-close:hover { background: var(--tile-border); }
.canuckle-game .cg-modal-body {
    padding: 6px 24px 24px;
    font-size: 14px;
    line-height: 1.65;
}

/* ─── Help examples ─── */
.canuckle-game .cg-examples {
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
    margin: 14px 0;
    padding: 14px 0;
}
.canuckle-game .cg-ex-row { display: flex; gap: 5px; margin-bottom: 8px; }
.canuckle-game .cg-ex-tile {
    width: 40px; height: 40px;
    display: flex; justify-content: center; align-items: center;
    font-weight: 800; font-size: 1.2rem;
    border: 2px solid var(--tile-border);
    border-radius: 6px;
    text-transform: uppercase;
}
.canuckle-game .cg-ex-tile.correct { background: var(--c-correct); border-color: var(--c-correct); color: #fff; }
.canuckle-game .cg-ex-tile.present { background: var(--c-present); border-color: var(--c-present); color: #fff; }
.canuckle-game .cg-ex-tile.absent  { background: var(--c-absent);  border-color: var(--c-absent);  color: #fff; }

/* ─── Settings ─── */
.canuckle-game .cg-setting {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-light);
}
.canuckle-game .cg-setting:last-child { border-bottom: none; }
.canuckle-game .cg-setting-title { font-weight: 700; font-size: 14px; }
.canuckle-game .cg-setting-desc { font-size: 12px; color: var(--text-dim); margin-top: 2px; }
.canuckle-game .cg-toggle { position: relative; width: 42px; height: 24px; flex-shrink: 0; }
.canuckle-game .cg-toggle input { opacity: 0; width: 0; height: 0; }
.canuckle-game .cg-toggle-slider {
    position: absolute; inset: 0;
    background: var(--text-dim);
    border-radius: 24px;
    cursor: pointer;
    transition: background .25s;
}
.canuckle-game .cg-toggle-slider::before {
    content: '';
    position: absolute; width: 18px; height: 18px; left: 3px; bottom: 3px;
    background: #fff; border-radius: 50%; transition: transform .25s;
}
.canuckle-game .cg-toggle input:checked + .cg-toggle-slider { background: var(--c-correct); }
.canuckle-game .cg-toggle input:checked + .cg-toggle-slider::before { transform: translateX(18px); }

/* ─── Stats ─── */
.canuckle-game .cg-stats-row { display: flex; justify-content: space-around; margin-bottom: 20px; }
.canuckle-game .cg-stat { text-align: center; }
.canuckle-game .cg-stat-num { font-size: 34px; font-weight: 800; }
.canuckle-game .cg-stat-label { font-size: 11px; color: var(--text-dim); text-transform: uppercase; letter-spacing: .06em; }
.canuckle-game .cg-dist-row { display: flex; align-items: center; margin-bottom: 3px; font-size: 13px; }
.canuckle-game .cg-dist-label { width: 16px; text-align: right; margin-right: 6px; font-weight: 700; }
.canuckle-game .cg-dist-bar {
    background: var(--c-absent); color: #fff;
    padding: 2px 8px; border-radius: 4px;
    min-width: 22px; font-weight: 700; font-size: 12px; text-align: right; transition: width .3s;
}
.canuckle-game .cg-dist-bar.highlight { background: var(--c-correct); }

/* ─── Buttons ─── */
.canuckle-game .cg-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    background: #c8102e; color: #fff;
    padding: 12px 28px; border-radius: 30px; cursor: pointer;
    font-weight: 700; font-size: 14px; border: none;
    text-transform: uppercase; letter-spacing: .06em;
    transition: background .15s, transform .1s;
}
.canuckle-game .cg-btn:hover { background: #a61c21; }
.canuckle-game .cg-btn:active { transform: scale(.97); }
.canuckle-game .cg-btn-secondary { background: var(--text-dim); }
.canuckle-game .cg-btn-secondary:hover { background: #555; }

.canuckle-game .cg-footer-btns { display: flex; gap: 10px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }

/* ─── Countdown ─── */
.canuckle-game .cg-countdown { text-align: center; margin-top: 18px; font-weight: 600; font-size: 13px; color: var(--text-dim); }
.canuckle-game .cg-countdown-time { font-size: 28px; font-weight: 900; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: .04em; }

/* ─── Fun Fact card (matches canucklegame.ca grey card) ─── */
.canuckle-game .cg-word-desc {
    margin-top: 16px;
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid var(--border-light);
    border-left: 4px solid #c8102e;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}
.canuckle-game.dark .cg-word-desc { background: #2a2a2c; color: #ccc; }
.canuckle-game .cg-word-desc strong { color: #c8102e; }

/* ─── Toast ─── */
.canuckle-game .cg-toast {
    position: fixed; top: 10%; left: 50%;
    transform: translateX(-50%) translateY(-8px);
    background: var(--text); color: var(--bg);
    padding: 12px 24px; border-radius: 8px;
    font-weight: 700; font-size: 14px;
    z-index: 10000; opacity: 0; pointer-events: none;
    transition: opacity .2s, transform .2s;
    box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.canuckle-game .cg-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ═══ ANIMATIONS ═══ */
@keyframes cgFlip {
    0%   { transform: rotateX(0); }
    50%  { transform: rotateX(90deg); }
    100% { transform: rotateX(0); }
}
@keyframes cgPop {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}
@keyframes cgShake {
    0%,100% { transform: translateX(0); }
    20%,60% { transform: translateX(-4px); }
    40%,80% { transform: translateX(4px); }
}
.canuckle-game .cg-row.shake { animation: cgShake .3s ease; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 420px) {
    .canuckle-game .cg-board { width: min(calc(var(--cols, 5) * 56px), 100%, max(220px, calc((100svh - 330px) * var(--cols, 5) / 6))); }
    .canuckle-game .cg-tile { font-size: 1.5rem; }
    .canuckle-game .cg-key { height: 46px; font-size: 12px; }
    .canuckle-game .cg-title { font-size: 18px; }
}
@media (max-width: 350px) {
    .canuckle-game .cg-board { width: min(calc(var(--cols, 5) * 48px), 100%, max(220px, calc((100svh - 330px) * var(--cols, 5) / 6))); }
    .canuckle-game .cg-tile { font-size: 1.2rem; }
    .canuckle-game .cg-key { height: 40px; font-size: 11px; }
}


.canuckle-game[data-len="7"] .cg-tile { font-size: 1.6rem; }
.canuckle-game .cg-head-mid { text-align: center; }
.canuckle-game .cg-dist-title { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 8px; font-weight: 800; }
.canuckle-game .cg-solution-line { text-align: center; margin-bottom: 12px; }
.canuckle-game .cg-solution-word { color: var(--red); font-size: 18px; letter-spacing: .1em; }
.canuckle-game .cg-unl-bar { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; padding: 8px 16px 0; font-size: 12px; color: var(--text-dim); }
.canuckle-game .cg-unl-actions { display: flex; gap: 6px; }
.canuckle-game .cg-mini-btn { background: var(--bg); border: 1px solid var(--tile-border); color: var(--text); border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.canuckle-game .cg-mini-btn:hover { border-color: var(--c-correct); color: var(--c-correct); }
.canuckle-game .cg-examples p { margin: 4px 0 12px; font-size: 13px; }
.canuckle-game [hidden] { display: none !important; }

/* ═══ Hints & answers ═══ */
.puzzle-days { margin: 8px 0 28px; }
.day-block { border: 1px solid var(--line); border-radius: 14px; padding: 18px 18px 8px; margin: 0 0 18px; background: #fff; }
.day-block[data-role="today"] { border-color: var(--red); box-shadow: 0 0 0 1px var(--red) inset; }
.day-block[data-role="next"] { border-style: dashed; border-color: var(--ink-3); }
.day-block[data-role="next"] .day-cta .btn-outline { display: none; }
.day-note { margin: 4px 0 12px; padding: 8px 12px; border-radius: 10px; background: var(--paper-2); color: var(--ink-2); font-size: .95rem; }
.entry-content .day-head { margin: 0 0 6px; font-size: 1.3rem; line-height: 1.3; }
.day-head .day-date { display: block; font-size: .95rem; font-weight: 600; color: var(--ink-3); margin-top: 2px; }
.day-tip { color: var(--ink-2); font-size: 15px; }
.hint-list { list-style: none; margin: 0 0 14px !important; padding: 0; }
.hint-item { border: 1px solid var(--line); border-radius: 10px; margin: 0 0 8px !important; overflow: hidden; }
.hint-q { width: 100%; text-align: left; background: #fff; border: 0; padding: 13px 44px 13px 14px; font: inherit; font-weight: 700; font-size: 16px; color: var(--ink); cursor: pointer; position: relative; }
.hint-q::after { content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: var(--ink-3); }
.hint-q[aria-expanded="true"] { background: var(--paper-2); }
.hint-q[aria-expanded="true"]::after { content: '\2212'; }
.hint-num { display: inline-block; min-width: 58px; color: var(--red); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.hint-a { padding: 10px 14px 14px; font-size: 17px; font-weight: 700; color: var(--ink); background: #ffffff; border-top: 1px dashed var(--line); }
.day-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.reveal { text-align: center; padding: 14px 0 6px; }
.reveal-tiles { display: flex; gap: 6px; justify-content: center; margin: 0 0 14px; flex-wrap: nowrap; }
.reveal-tile { width: 54px; height: 54px; border: 2px solid #878a8c; border-radius: 8px; background: #fff; font: inherit; font-size: 26px; font-weight: 800; color: #878a8c; cursor: pointer; padding: 0; }
.reveal-tile:hover { border-color: var(--red); color: var(--red); }
.reveal-tile.shown { background: var(--red); border-color: var(--red); color: #fff; cursor: default; }
.answer-plain { text-align: center; font-size: 18px; }
.fact-box { border: 1px solid var(--line); border-left: 4px solid var(--red); background: #ffffff; border-radius: 8px; padding: 12px 16px; margin: 0 0 14px; }
.entry-content .fact-box h3 { margin: 0 0 6px; font-size: 1rem; color: var(--ink-2); }
.fact-box p { margin: 0 !important; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.answers-table td:nth-child(3) strong { letter-spacing: .08em; color: var(--red); }
details.older { margin: 16px 0; }
details.older summary { cursor: pointer; font-weight: 700; color: var(--link); }
@media (max-width: 420px) { .reveal-tile { width: 44px; height: 44px; font-size: 21px; } .day-block { padding: 14px 12px 6px; } }

/* ═══ Misc ═══ */
.cwg-ad { clear: both; margin: 28px auto; text-align: center; max-width: 100%; overflow: hidden; min-height: 250px; }
.preview-bar { background: #1d4ed8; color: #fff; padding: 8px 14px; border-radius: 8px; margin-bottom: 16px; font-weight: 600; }
.featured { margin: 0 0 24px; }
.featured img { width: 100%; border-radius: var(--radius); }
.related { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 8px; }
.related .post-list { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.faq h3 { margin-bottom: .3em; }
.search-results { list-style: none; padding: 0; }
.search-results li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.search-results p { margin: 4px 0 0; color: var(--ink-2); font-size: 15px; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form textarea { width: 100%; padding: 10px 12px; border: 1.5px solid var(--line); border-radius: 8px; font: inherit; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--ink-3); outline: 3px solid rgba(29,78,216,.35); outline-offset: 1px; }
.contact-form .hp { position: absolute; left: -9999px; }
.form-status { font-weight: 600; }
.entry-content iframe { max-width: 100%; }
.site-nav li.current > a { color: var(--red); box-shadow: inset 0 -2px 0 var(--red); border-radius: 6px 6px 0 0; }
@media (max-width: 1000px) { .site-nav li.current > a { box-shadow: none; background: var(--red-soft); } }
main, .entry-content { overflow-wrap: anywhere; }
.entry-content table { display: block; overflow-x: auto; }
.entry-content .table-wrap table { display: table; }

/* ═══ Canoku / sudoku ═══ */
.canoku { max-width: 560px; margin: 0 auto 28px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); padding: 14px 14px 18px; }
.ck-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.ck-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.ck-tab { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; color: var(--ink-2); text-transform: capitalize; }
.ck-tab.on { background: var(--red); border-color: var(--red); color: #fff; }
.ck-timer { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--ink-3); font-size: 14px; }
.ck-grid { display: grid; grid-template-columns: repeat(var(--n), 1fr); width: 100%; aspect-ratio: 1; border: 2px solid var(--ink); border-radius: 8px; overflow: hidden; user-select: none; }
.ck-cell { border: 0; border-right: 1px solid #c9ccd1; border-bottom: 1px solid #c9ccd1; background: #fff; padding: 0; font: inherit; display: grid; place-items: center; cursor: pointer; color: var(--ink); line-height: 1; aspect-ratio: 1; min-width: 0; }
.ck-emoji .ck-cell { font-size: clamp(16px, calc(64vw / var(--n)), 40px); }
.ck-number .ck-cell { font-size: clamp(16px, calc(48vw / var(--n)), 28px); font-weight: 700; color: var(--link); }
.ck-cell.given { background: #fbeef1; cursor: default; }
.ck-number .ck-cell.given { color: var(--ink); }
.ck-cell.br { border-right: 2px solid var(--ink); }
.ck-cell.bb { border-bottom: 2px solid var(--ink); }
.ck-cell.peer { background: #fdf2f4; }
.ck-cell.given.peer { background: #f1e6e8; }
.ck-cell.match { box-shadow: inset 0 0 0 2px var(--gold); }
.ck-cell.sel { background: var(--red-soft); box-shadow: inset 0 0 0 3px var(--red); }
.ck-cell.wrong { background: #fde2e2; }
.ck-grid.won .ck-cell { background: #ecfdf3; }
.ck-pad { display: grid; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); gap: 6px; margin: 12px 0 8px; }
.ck-key { height: 48px; border: 1px solid var(--line); border-radius: 10px; background: #ffffff; font: inherit; font-size: 22px; cursor: pointer; }
.ck-number ~ .ck-pad .ck-key, .ck-pad.num .ck-key { font-size: 18px; font-weight: 700; }
.ck-key:active { transform: scale(.96); }
.ck-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
.ck-actions .btn { padding: 8px 16px; font-size: 14px; }
.ck-msg { text-align: center; font-weight: 700; min-height: 1.5em; margin: 8px 0 0; color: var(--ink-2); }
.ck-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: center; font-size: 13px; color: var(--ink-3); margin-top: 10px; }

/* ═══ Archive ═══ */
.lookup { background: #ffffff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin: 0 0 24px; }
.lookup label { font-weight: 700; display: block; margin-bottom: 6px; }
.lookup-row { display: flex; gap: 8px; flex-wrap: wrap; }
.lookup input[type=date] { padding: 9px 12px; border: 1.5px solid var(--line); border-radius: 8px; font: inherit; background: #fff; }
.lookup-out { margin: 10px 0 0 !important; min-height: 1.4em; }
.month-grid { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.month-grid li { margin: 0 !important; }
.month-grid a { display: block; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; text-decoration: none; color: var(--ink); }
.month-grid a:hover { border-color: var(--red); }
.month-grid strong { display: block; }
.month-grid span { font-size: 13px; color: var(--ink-3); }
.arc-toc { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; }
.arc-toc a { min-width: 34px; text-align: center; padding: 4px 6px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: var(--ink); font-size: 14px; }
.arc-day { border-top: 1px solid var(--line); padding: 14px 0 4px; scroll-margin-top: 80px; }
.entry-content .arc-day h2 { font-size: 1.15rem; margin: 0 0 6px; }
.arc-num { color: var(--ink-3); font-weight: 600; font-size: .95rem; margin-left: 6px; }
.arc-word strong { color: var(--red); letter-spacing: .08em; font-size: 1.1rem; }
.arc-hints { color: var(--ink-2); font-size: 15px; }
.arc-fact span { font-weight: 700; color: var(--ink); }
.arc-fact { font-size: 15.5px; }
.arc-pager { display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; margin-top: 24px; }
.ck-title { font-weight: 800; text-align: center; margin-bottom: 8px; }

/* Answer archive: month jump links */
.arc-jump { margin: 0 0 24px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; }
.arc-jump p { margin: 4px 0; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.arc-jump strong { min-width: 3.2em; }
.arc-jump a { white-space: nowrap; }
.answers-table tr:target td { background: var(--red-soft); }

/* Jump links land below the sticky header */
.entry-content [id], .answers-table tr[id] { scroll-margin-top: 96px; }

/* ===== Tool placeholders (reserved heights) ===== */
/* Each interactive tool starts as a one-line "Loading" box and then grows when its script has built it. These
   rules reserve roughly the height the finished tool takes on a first visit, so the text below does not jump.
   Heights were measured on the live pages at 320 to 1440 px wide; each value is the smallest height in its
   width band less about 4 per cent, so a tool is never forced taller than it really is. Re-measure after a
   tool layout change. */
.cwg-tool[data-tool="anagram-solver"]{min-height:327px}
.cwg-tool[data-tool="blossom-solver"]{min-height:527px}
.cwg-tool[data-tool="boggle-solver"]{min-height:685px}
.canoku[data-id="canoku"]{min-height:668px}
.cwg-tool[data-tool="cryptogram-solver"]{min-height:454px}
.cwg-tool[data-tool="evil-sudoku"]{min-height:633px}
.cwg-tool[data-tool="flag-quiz"]{min-height:738px}
.cwg-tool[data-tool="hangman-solver"]{min-height:361px}
.cwg-tool[data-tool="jumble-solver"]{min-height:633px}
.cwg-tool[data-tool="killer-sudoku"]{min-height:685px}
.cwg-tool[data-tool="letter-boxed-solver"]{min-height:660px}
.cwg-tool[data-tool="map-quiz"][data-map="canada"]{min-height:620px}
.cwg-tool[data-tool="map-quiz"][data-map="europe"]{min-height:619px}
.cwg-tool[data-tool="map-quiz"][data-map="south-america"]{min-height:741px}
.cwg-tool[data-tool="map-quiz"][data-map="usa"]{min-height:556px}
.cwg-tool[data-tool="multi-wordle"][data-boards="2"]{min-height:449px}
.cwg-tool[data-tool="multi-wordle"][data-boards="4"]{min-height:729px}
.cwg-tool[data-tool="printable-sudoku"]{min-height:1033px}
.cwg-tool[data-tool="random-letter-generator"]{min-height:1023px}
.cwg-tool[data-tool="random-list-generator"][data-list="animals"]{min-height:440px}
.cwg-tool[data-tool="random-list-generator"][data-list="nouns"]{min-height:327px}
.cwg-tool[data-tool="random-list-generator"][data-list="objects"]{min-height:408px}
.cwg-tool[data-tool="random-word-generator"]{min-height:755px}
.cwg-tool[data-tool="reset-countdown"]{min-height:2007px}
.cwg-tool[data-tool="samurai-sudoku"]{min-height:668px}
.cwg-tool[data-tool="spelling-bee-solver"]{min-height:470px}
.cwg-tool[data-tool="squaredle-solver"]{min-height:721px}
.cwg-tool[data-tool="word-hunt-solver"]{min-height:685px}
.cwg-tool[data-tool="word-search-solver"]{min-height:658px}
.cwg-tool[data-tool="wordle-maker"]{min-height:481px}
.cwg-tool[data-tool="wordle-practice"]{min-height:697px}
.cwg-tool[data-tool="wordle-solver"][data-length="5"]{min-height:704px}
.cwg-tool[data-tool="wordle-solver"][data-length="6"]{min-height:701px}
.cwg-tool[data-tool="wordle-solver"][data-length="7"]{min-height:693px}
@media (min-width: 431px) {
  .cwg-tool[data-tool="anagram-solver"]{min-height:281px}
  .cwg-tool[data-tool="blossom-solver"]{min-height:353px}
  .cwg-tool[data-tool="boggle-solver"]{min-height:587px}
  .canoku[data-id="canoku"]{min-height:678px}
  .cwg-tool[data-tool="cryptogram-solver"]{min-height:438px}
  .cwg-tool[data-tool="evil-sudoku"]{min-height:724px}
  .cwg-tool[data-tool="flag-quiz"]{min-height:631px}
  .cwg-tool[data-tool="hangman-solver"]{min-height:259px}
  .cwg-tool[data-tool="jumble-solver"]{min-height:589px}
  .cwg-tool[data-tool="killer-sudoku"]{min-height:778px}
  .cwg-tool[data-tool="letter-boxed-solver"]{min-height:648px}
  .cwg-tool[data-tool="map-quiz"][data-map="canada"]{min-height:691px}
  .cwg-tool[data-tool="map-quiz"][data-map="europe"]{min-height:689px}
  .cwg-tool[data-tool="map-quiz"][data-map="south-america"]{min-height:860px}
  .cwg-tool[data-tool="map-quiz"][data-map="usa"]{min-height:602px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="2"]{min-height:533px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="4"]{min-height:927px}
  .cwg-tool[data-tool="printable-sudoku"]{min-height:1259px}
  .cwg-tool[data-tool="random-letter-generator"]{min-height:947px}
  .cwg-tool[data-tool="random-list-generator"][data-list="animals"]{min-height:359px}
  .cwg-tool[data-tool="random-list-generator"][data-list="nouns"]{min-height:247px}
  .cwg-tool[data-tool="random-list-generator"][data-list="objects"]{min-height:327px}
  .cwg-tool[data-tool="random-word-generator"]{min-height:510px}
  .cwg-tool[data-tool="reset-countdown"]{min-height:1966px}
  .cwg-tool[data-tool="samurai-sudoku"]{min-height:741px}
  .cwg-tool[data-tool="spelling-bee-solver"]{min-height:299px}
  .cwg-tool[data-tool="squaredle-solver"]{min-height:681px}
  .cwg-tool[data-tool="word-hunt-solver"]{min-height:587px}
  .cwg-tool[data-tool="word-search-solver"]{min-height:616px}
  .cwg-tool[data-tool="wordle-maker"]{min-height:420px}
  .cwg-tool[data-tool="wordle-practice"]{min-height:687px}
  .cwg-tool[data-tool="wordle-solver"][data-length="5"]{min-height:609px}
  .cwg-tool[data-tool="wordle-solver"][data-length="6"]{min-height:609px}
  .cwg-tool[data-tool="wordle-solver"][data-length="7"]{min-height:632px}
}
@media (min-width: 600px) {
  .cwg-tool[data-tool="anagram-solver"]{min-height:289px}
  .cwg-tool[data-tool="blossom-solver"]{min-height:339px}
  .cwg-tool[data-tool="boggle-solver"]{min-height:594px}
  .canoku[data-id="canoku"]{min-height:780px}
  .cwg-tool[data-tool="cryptogram-solver"]{min-height:391px}
  .cwg-tool[data-tool="evil-sudoku"]{min-height:836px}
  .cwg-tool[data-tool="flag-quiz"]{min-height:631px}
  .cwg-tool[data-tool="hangman-solver"]{min-height:237px}
  .cwg-tool[data-tool="jumble-solver"]{min-height:597px}
  .cwg-tool[data-tool="killer-sudoku"]{min-height:889px}
  .cwg-tool[data-tool="letter-boxed-solver"]{min-height:438px}
  .cwg-tool[data-tool="map-quiz"][data-map="canada"]{min-height:763px}
  .cwg-tool[data-tool="map-quiz"][data-map="europe"]{min-height:761px}
  .cwg-tool[data-tool="map-quiz"][data-map="south-america"]{min-height:989px}
  .cwg-tool[data-tool="map-quiz"][data-map="usa"]{min-height:644px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="2"]{min-height:636px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="4"]{min-height:1093px}
  .cwg-tool[data-tool="printable-sudoku"]{min-height:1560px}
  .cwg-tool[data-tool="random-letter-generator"]{min-height:855px}
  .cwg-tool[data-tool="random-list-generator"][data-list="animals"]{min-height:255px}
  .cwg-tool[data-tool="random-list-generator"][data-list="nouns"]{min-height:255px}
  .cwg-tool[data-tool="random-list-generator"][data-list="objects"]{min-height:255px}
  .cwg-tool[data-tool="random-word-generator"]{min-height:433px}
  .cwg-tool[data-tool="reset-countdown"]{min-height:1053px}
  .cwg-tool[data-tool="samurai-sudoku"]{min-height:854px}
  .cwg-tool[data-tool="spelling-bee-solver"]{min-height:307px}
  .cwg-tool[data-tool="squaredle-solver"]{min-height:667px}
  .cwg-tool[data-tool="word-hunt-solver"]{min-height:594px}
  .cwg-tool[data-tool="word-search-solver"]{min-height:444px}
  .cwg-tool[data-tool="wordle-maker"]{min-height:420px}
  .cwg-tool[data-tool="wordle-practice"]{min-height:674px}
  .cwg-tool[data-tool="wordle-solver"][data-length="5"]{min-height:577px}
  .cwg-tool[data-tool="wordle-solver"][data-length="6"]{min-height:577px}
  .cwg-tool[data-tool="wordle-solver"][data-length="7"]{min-height:577px}
}
@media (min-width: 800px) {
  .cwg-tool[data-tool="anagram-solver"]{min-height:289px}
  .cwg-tool[data-tool="blossom-solver"]{min-height:339px}
  .cwg-tool[data-tool="boggle-solver"]{min-height:594px}
  .canoku[data-id="canoku"]{min-height:780px}
  .cwg-tool[data-tool="cryptogram-solver"]{min-height:391px}
  .cwg-tool[data-tool="evil-sudoku"]{min-height:873px}
  .cwg-tool[data-tool="flag-quiz"]{min-height:631px}
  .cwg-tool[data-tool="hangman-solver"]{min-height:237px}
  .cwg-tool[data-tool="jumble-solver"]{min-height:597px}
  .cwg-tool[data-tool="killer-sudoku"]{min-height:925px}
  .cwg-tool[data-tool="letter-boxed-solver"]{min-height:438px}
  .cwg-tool[data-tool="map-quiz"][data-map="canada"]{min-height:929px}
  .cwg-tool[data-tool="map-quiz"][data-map="europe"]{min-height:926px}
  .cwg-tool[data-tool="map-quiz"][data-map="south-america"]{min-height:1006px}
  .cwg-tool[data-tool="map-quiz"][data-map="usa"]{min-height:764px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="2"]{min-height:636px}
  .cwg-tool[data-tool="multi-wordle"][data-boards="4"]{min-height:1093px}
  .cwg-tool[data-tool="printable-sudoku"]{min-height:1560px}
  .cwg-tool[data-tool="random-letter-generator"]{min-height:855px}
  .cwg-tool[data-tool="random-list-generator"][data-list="animals"]{min-height:255px}
  .cwg-tool[data-tool="random-list-generator"][data-list="nouns"]{min-height:255px}
  .cwg-tool[data-tool="random-list-generator"][data-list="objects"]{min-height:255px}
  .cwg-tool[data-tool="random-word-generator"]{min-height:433px}
  .cwg-tool[data-tool="reset-countdown"]{min-height:1053px}
  .cwg-tool[data-tool="samurai-sudoku"]{min-height:978px}
  .cwg-tool[data-tool="spelling-bee-solver"]{min-height:307px}
  .cwg-tool[data-tool="squaredle-solver"]{min-height:667px}
  .cwg-tool[data-tool="word-hunt-solver"]{min-height:594px}
  .cwg-tool[data-tool="word-search-solver"]{min-height:444px}
  .cwg-tool[data-tool="wordle-maker"]{min-height:420px}
  .cwg-tool[data-tool="wordle-practice"]{min-height:674px}
  .cwg-tool[data-tool="wordle-solver"][data-length="5"]{min-height:577px}
  .cwg-tool[data-tool="wordle-solver"][data-length="6"]{min-height:577px}
  .cwg-tool[data-tool="wordle-solver"][data-length="7"]{min-height:577px}
}
@media print {
  .cwg-tool, .canoku { min-height: 0 !important; }
}
