/* Orthodox catechesis crossword: opaque high-contrast learning surfaces, no sacred cartoons. */
body[data-page="catechesis-crossword"] .content{max-width:1300px}
.cw-hub{--cw-ink:#17392f;--cw-bg:#fff9e9;--cw-panel:#fffdf5;--cw-line:#bca374;--cw-accent:#2c6654;--cw-accent-text:#fff;--cw-soft:#e8f1e9;color:var(--cw-ink);background:var(--cw-bg);border:2px solid var(--cw-line);border-radius:22px;padding:clamp(1rem,3vw,2rem);margin:1rem 0 2rem;box-shadow:0 10px 30px rgba(20,30,22,.12)}
.cw-hub[data-audience="children"]{--cw-bg:#fff8df;--cw-panel:#fffdf2;--cw-line:#dbb978;--cw-accent:#366d75;--cw-soft:#e3f4f1;border-radius:26px}
.cw-hub :is(h1,h2,h3,p,label,small,li,strong){color:var(--cw-ink)!important}
.cw-hub h1{font-family:Georgia,serif;font-size:clamp(1.75rem,4vw,2.65rem);line-height:1.2;margin:.4rem 0 .8rem}
.cw-hub h2{font-size:clamp(1.25rem,2.5vw,1.6rem);margin:.5rem 0}
.cw-hub h3{font-size:1.13rem;margin:1rem 0 .6rem}
.cw-hub p{line-height:1.6}
.cw-eyebrow{font-size:.79rem;letter-spacing:.1em;font-weight:750;color:#275b4d!important;text-transform:uppercase}
.cw-subtitle{max-width:67ch}
.cw-hero{border-bottom:1px solid var(--cw-line);padding-bottom:1.1rem;margin-bottom:1.1rem}
.cw-hero-ribbon{display:inline-flex;gap:.4rem;background:#e9eddf;border-radius:999px;padding:.4rem .8rem;font-weight:700;font-size:.78rem}
.cw-hub[data-audience="children"] .cw-hero-ribbon{background:#fce5b0}
.cw-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;align-items:end;padding:1rem;background:var(--cw-soft);border-radius:16px;margin:1rem 0}
.cw-settings label{display:flex;flex-direction:column;gap:.4rem;font-size:.87rem;font-weight:700}
.cw-settings select{width:100%;min-height:44px;border:1.5px solid #648375;border-radius:9px;background:#fff;color:#172d25;padding:.5rem;font:inherit}
.cw-settings button,.cw-actions button,.cw-kb-toggle,.cw-reset,.cw-new{border:1.5px solid var(--cw-accent);border-radius:10px;background:var(--cw-panel);color:var(--cw-ink);font:inherit;font-size:.92rem;font-weight:700;min-height:44px;padding:.6rem .85rem;cursor:pointer}
.cw-settings button:hover,.cw-actions button:hover,.cw-kb-toggle:hover,.cw-reset:hover,.cw-new:hover{filter:brightness(.96)}
.cw-actions .cw-primary,.cw-new{background:var(--cw-accent);color:var(--cw-accent-text)}
.cw-game{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:1.5rem}
.cw-game>*{min-width:0}
.cw-board-scroll{padding:.85rem .35rem;overflow-x:auto;background:var(--cw-panel);border:1px solid var(--cw-line);border-radius:16px;scrollbar-color:#9aab9a #f2f0e8}
.cw-board{display:grid;grid-template-columns:repeat(var(--cw-side),var(--cw-cell));gap:2px;width:max-content;margin-inline:auto;--cw-cell:clamp(30px,3.2vw,40px)}
.cw-tile,.cw-hole{width:var(--cw-cell);height:var(--cw-cell);box-sizing:border-box}
.cw-tile{border:1px solid #9fa998;border-radius:3px;background:#fff;position:relative}
.cw-hole{background:transparent}
.cw-tile.cw-active{background:#e4f2e1;border-color:#4d8163}
.cw-tile.cw-current{background:#f6e6a6;box-shadow:inset 0 0 0 2px #9b761e}
.cw-tile.cw-correct{background:#d3f0d6;border-color:#337d4b}
.cw-tile.cw-error{background:#ffdfd8;border-color:#bb5e4e}
.cw-tile .cw-number{position:absolute;top:1px;left:3px;font:700 10px Arial,sans-serif;color:#43564a;pointer-events:none}
.cw-tile input{box-sizing:border-box;width:100%;height:100%;text-align:center;border:0;background:transparent;color:#152e27;font:700 clamp(16px,2.4vw,22px) Arial,sans-serif;padding:9px 0 0;outline:0;text-transform:uppercase}
.cw-tile input:focus-visible{outline:3px solid #295e6f;outline-offset:1px;z-index:2;position:relative}
.cw-questions{padding:.7rem;background:var(--cw-panel);border:1px solid var(--cw-line);border-radius:16px}
.cw-clue-list{display:grid;gap:.35rem}
.cw-clue{display:flex;text-align:left;gap:.7rem;align-items:start;border:1px solid transparent;border-radius:10px;background:transparent;color:#243d33;cursor:pointer;min-height:40px;padding:.5rem;font:inherit;line-height:1.45}
.cw-clue b{flex:0 0 25px;color:#326957}
.cw-clue:hover,.cw-clue.cw-selected{background:var(--cw-soft);border-color:#aec8bc}
.cw-clue.cw-found{background:#e4f2e4}
.cw-clue:focus-visible,.cw-hub button:focus-visible,.cw-hub select:focus-visible,.cw-hub a:focus-visible{outline:3px solid #a36516;outline-offset:3px}
.cw-clue-info{margin-top:1rem;padding:1rem;border-radius:12px;background:var(--cw-soft);border-left:4px solid #507c61}
.cw-clue-info p{margin:.45rem 0}
.cw-clue-info a{color:#14546d!important;text-decoration:underline;font-weight:650}
.cw-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center;margin:1rem 0}
.cw-message{padding:.65rem;border-radius:9px;background:var(--cw-soft);text-align:center;min-height:44px;line-height:1.5;font-weight:650}
.cw-keyboard{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:.6rem 0}
.cw-keyboard[hidden]{display:none}
.cw-keyboard button{min-width:34px;min-height:39px;border:1px solid #8da69e;border-radius:7px;background:#fff;color:#183a30;font-weight:750;cursor:pointer}
.cw-kb-toggle{display:block;width:100%;margin-top:.6rem}
.cw-awards{margin:1.3rem 0;padding:1rem;background:var(--cw-panel);border:1px solid var(--cw-line);border-radius:16px}
.cw-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.cw-badge{display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center;background:#eff5e8;border:1px solid #b5c5a7;border-radius:12px;padding:.8rem .3rem;min-height:92px}
.cw-badge[aria-disabled="true"]{filter:grayscale(1);opacity:.6}
.cw-badge .cw-symbol{font-size:1.65rem}
.cw-badge strong{font-size:.85rem}
.cw-progress{margin:.5rem 0}
.cw-progress progress{height:12px;width:100%;accent-color:#2b7558}
.cw-foot{font-size:.88rem;padding-top:1rem;border-top:1px solid var(--cw-line);line-height:1.55}
.cw-foot a{color:#12506a!important}
.cw-actions button:disabled{opacity:.6;cursor:default}
.cw-hub[data-audience="children"] .cw-tile{border-radius:6px}
.cw-hub[data-audience="children"] .cw-board{--cw-cell:clamp(34px,3.7vw,44px)}
.cw-hub[data-audience="children"] .cw-message{font-size:1.07rem}
.cw-hub[data-audience="children"] .cw-hero::before{content:"✦  ✿  ✦";display:block;letter-spacing:.5rem;font-size:1.2rem;color:#ab7d32;margin-bottom:.5rem}
@media(max-width:900px){.cw-game{grid-template-columns:1fr}.cw-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-board{--cw-cell:34px}}
@media(max-width:550px){.cw-settings{grid-template-columns:1fr 1fr;padding:.7rem}.cw-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-hub{padding:.8rem}.cw-board-scroll{padding:.55rem .3rem}.cw-hero-ribbon{font-size:.69rem}}
@media(max-width:370px){.cw-settings{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cw-hub *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.cw-hub{background:#fff;color:#111;box-shadow:none}.cw-board-scroll{overflow:visible}.cw-actions,.cw-keyboard,.cw-kb-toggle{display:none!important}}


/* Daily discovery and safe copyable, personal-only sharing. */
.cw-daily-label{padding:.45rem .75rem;border-left:4px solid #9b813c;background:#fff0bf;border-radius:6px;margin:.2rem 0 1rem;font-size:.92rem;font-weight:600}
.cw-actions [data-cw-daily][aria-current="true"]{border-width:2px;border-color:#276a4d;box-shadow:inset 0 0 0 1px #276a4d}
.cw-share-output{display:block;box-sizing:border-box;width:100%;min-height:98px;padding:.8rem;font:inherit;line-height:1.55;color:#1c3e32;background:#fff;border:2px solid #a9baaf;border-radius:10px;resize:vertical;margin:.5rem 0}
.cw-share-output[hidden]{display:none}
@media print{
  body[data-page="catechesis-crossword"] .cw-hub{border:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}
  body[data-page="catechesis-crossword"] .cw-hub :is(h1,h2,h3,p,strong,small,label){color:#111!important}
  .cw-hub .cw-settings,.cw-hub .cw-actions,.cw-hub .cw-keyboard,.cw-hub .cw-kb-toggle,
  .cw-hub .cw-awards,.cw-hub .cw-share-output,.cw-hub .cw-foot,.cw-hub .cw-message,
  .cw-hub .cw-daily-label,.cw-hub .cw-clue-info{display:none!important}
  .cw-hub .cw-game{display:block}
  .cw-hub .cw-board-scroll{border:0;padding:.35rem;overflow:visible!important}
  .cw-hub .cw-board{--cw-cell:28px}
  .cw-hub .cw-tile{border:1px solid #333!important;background:#fff!important;box-shadow:none!important}
  .cw-hub .cw-tile input{color:#111!important}
  .cw-hub .cw-questions{border:0;background:#fff!important}
  .cw-hub .cw-clue{color:#111!important;display:flex!important}
  .cw-hub .cw-clue b{color:#111!important}
}


/* 2026-10-29 responsive accessibility pass: the game never hides in a panel. */
body[data-page="catechesis-crossword"] .site-shell{max-width:100%;overflow-x:clip}
body[data-page="catechesis-crossword"] .content{width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(6px,1.5vw,22px);box-sizing:border-box}
body[data-page="catechesis-crossword"] .cw-hub{width:100%;max-width:100%;box-sizing:border-box;min-width:0;overflow:visible}
.cw-hub .cw-game{grid-template-columns:minmax(0,1.22fr) minmax(270px,.78fr);gap:clamp(14px,2vw,26px)}
.cw-hub .cw-board-scroll{
  box-sizing:border-box;width:100%;min-width:0;max-width:100%;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
  border:2px solid #c2ac75;scrollbar-width:auto;scrollbar-color:#7c8c80 #f3ead9;
}
.cw-hub .cw-board{position:relative;margin-inline:auto}
.cw-hub .cw-tile,.cw-hub .cw-hole{flex-shrink:0}
.cw-hub .cw-tile input{min-width:0;min-height:0;font-size:max(16px,1em)}
.cw-hub .cw-questions{min-width:0;overflow-wrap:anywhere}
.cw-hub .cw-clue{min-width:0;width:100%;font-size:clamp(.93rem,1.2vw,1.04rem);min-height:44px}
.cw-word-entry{
  position:relative;z-index:2;display:grid;gap:8px;
  background:#ecf4e7;border:2px solid #87a68d;
  border-radius:14px;padding:12px;margin-bottom:12px;min-width:0;
}
.cw-hub[data-audience="children"] .cw-word-entry{background:#e0f2ed;border-color:#4c8d83}
.cw-word-entry-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
.cw-word-entry-head strong{font-size:1.07rem;color:#173b2f!important}
.cw-word-entry-head span{font-size:.85rem;font-weight:750;color:#325648}
.cw-active-clue{font-size:clamp(1rem,1.6vw,1.15rem);font-weight:700;margin:.1rem 0 .35rem!important;line-height:1.4}
.cw-word-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.cw-word-controls label{grid-column:1/-1;font-size:.88rem;font-weight:700}
.cw-word-controls input{
  display:block;box-sizing:border-box;min-width:0;width:100%;height:50px;min-height:50px;
  padding:10px 13px;background:#fff;color:#142f26;font:700 18px/1.25 Arial,sans-serif;
  letter-spacing:.08em;border:2px solid #55796a;border-radius:10px;text-transform:uppercase;
}
.cw-word-controls button{
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:50px;padding:10px 15px;border:2px solid #225a48;
  border-radius:10px;background:#225a48;color:#fff;font-weight:750;cursor:pointer;
  white-space:normal;font-size:.93rem
}
.cw-word-controls button:hover{background:#35775d}
.cw-word-controls input:focus-visible,.cw-word-controls button:focus-visible{outline:3px solid #a26e25;outline-offset:2px}
.cw-board-hint{
  margin:5px 0 10px!important;padding:7px 10px;border-left:4px solid #95824f;
  background:#f8f1df;color:#344a40!important;line-height:1.45;font-size:.86rem
}
.cw-hub .cw-settings,.cw-hub .cw-actions{min-width:0}
.cw-hub .cw-actions button{touch-action:manipulation}
@media(max-width:1200px){
  .cw-hub .cw-game{grid-template-columns:minmax(0,1fr)}
  .cw-hub .cw-board{--cw-cell:clamp(31px,3.8vw,43px)}
  .cw-hub .cw-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
  .cw-hub .cw-questions>h2,.cw-hub .cw-questions>.cw-clue-info{grid-column:1/-1}
  .cw-hub .cw-questions>h3{align-self:end;margin-top:10px}
  .cw-hub .cw-clue-list{align-self:start}
}
@media(max-width:700px){
  .cw-hub .cw-questions{display:block}
  .cw-hub .cw-game{gap:10px}
  .cw-hub .cw-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cw-hub .cw-settings select{min-height:46px;font-size:16px}
  .cw-hub .cw-board{--cw-cell:31px}
  .cw-hub .cw-board-scroll{padding:8px 5px;border-radius:12px}
  .cw-hub .cw-clue{min-height:48px;padding:10px 8px}
  .cw-hub .cw-word-entry{padding:10px;margin-bottom:8px}
  .cw-hub .cw-word-controls{grid-template-columns:1fr}
  .cw-hub .cw-word-controls button{width:100%;min-height:48px}
  .cw-hub[data-size="small"] .cw-board{--cw-cell:clamp(22px,calc((100vw - 72px)/11 - 2px),35px)}
  .cw-hub[data-size="medium"] .cw-board{--cw-cell:clamp(29px,calc((100vw - 70px)/15 - 2px),38px)}
  .cw-hub[data-size="large"] .cw-board{--cw-cell:clamp(29px,calc((100vw - 70px)/19 - 2px),37px)}
  .cw-hub .cw-tile input{font-size:16px;padding-top:8px}
  .cw-hub .cw-tile .cw-number{font-size:8px}
  .cw-hub .cw-hero h1{font-size:clamp(1.55rem,7vw,2.3rem)}
  .cw-hub .cw-actions{justify-content:stretch}
  .cw-hub .cw-actions button{flex:1 1 42%;font-size:.9rem}
  .cw-hub[data-audience="children"] .cw-board{--cw-cell:31px}
  .cw-hub[data-audience="children"][data-size="small"] .cw-board{--cw-cell:clamp(22px,calc((100vw - 72px)/11 - 2px),35px)}
}
@media(max-width:370px){
  .cw-hub .cw-settings{grid-template-columns:1fr}
  .cw-hub .cw-actions button{flex:1 1 100%}
  .cw-word-entry-head{display:block}
}
@media print{
  .cw-word-entry,.cw-board-hint{display:none!important}
  body[data-page="catechesis-crossword"] .site-shell{overflow:visible!important}
  .cw-hub .cw-board{--cw-cell:28px!important}
  .cw-hub .cw-board-scroll{overflow:visible!important;border:0!important}
}
