*{box-sizing:border-box}
body{margin:0;background:#dcecfb;color:#111;font-family:"Segoe UI",Arial,sans-serif}
.activity-header{background:#0755b4;border-bottom:3px solid #124a99}
.activity-nav{width:min(1200px,calc(100% - 24px));margin:auto;padding:7px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.activity-nav a,.activity-nav label{color:#fff;font-size:.86em;font-weight:600}
.activity-nav a{padding:5px 9px;border:1px solid #fff;border-radius:4px;text-decoration:none}
.activity-nav select{min-height:28px;padding:3px 6px;border-radius:4px}
.top-action{min-height:28px;padding:4px 9px;border:1px solid #fff;border-radius:5px;background:#fff;color:#0755b4;font:inherit;font-size:.84em;font-weight:700;cursor:pointer}
.word-search-page{width:min(1200px,calc(100% - 24px));margin:auto;padding:14px 0 18px}
.title{margin:0 0 7px;color:#0645a5;font-size:clamp(21px,2vw,28px);text-align:center}
.instructions{margin:0 auto 14px;text-align:center;color:#334b63}
.word-search-layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,.72fr);gap:14px;align-items:start}
.puzzle-card,.clue-card{background:#fff;border:1px solid #79a9df;border-radius:11px;box-shadow:0 1px 5px rgba(0,60,130,.10)}
.puzzle-card{padding:10px}
.puzzle-label{margin-bottom:7px;color:#0645a5;font-weight:700;text-align:center}
.puzzle-grid{width:min(100%,720px);margin:auto;display:grid;grid-template-columns:repeat(20,1fr);aspect-ratio:1;border:1px solid #b9cee4;background:#fff}
.letter-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0;border:0;background:#fff;color:#17324d;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:clamp(10px,1.8vw,19px);line-height:1;cursor:pointer}
.letter-cell:hover{background:#eaf4fc}
.letter-cell.selected{background:#9fd3e6;color:#0645a5}
.letter-cell.answer-cell{background:#c6e8f3;color:#0645a5}
.letter-cell.selected.answer-cell{background:#9fd3e6;color:#0645a5}
.clear-button{display:block;margin:9px auto 0;padding:6px 10px;border:1px solid #0755b4;border-radius:5px;background:#0755b4;color:#fff;font:inherit;font-size:.84em;cursor:pointer}
.clue-card{padding:12px 15px}
.clue-card h2{margin:0 0 7px;padding-bottom:6px;color:#0645a5;border-bottom:2px solid #b8d5ee;font-size:18px}
.clues{font-size:14px;line-height:1.35}
.clue-row{display:block;margin:0;padding:7px 4px;border-bottom:1px solid #e1ebf5}
.clue-row:hover{background:#eaf4fc}
.clue-check,.reveal-answer{vertical-align:middle;padding:0;border:0;background:transparent;cursor:pointer}
.clue-check{width:1.4em;color:#0755b4;font-size:1.05em}
.reveal-answer{margin-left:6px;color:#0755b4;font-size:1em;line-height:1}
.reveal-answer:hover{transform:scale(1.12)}
.clue-text{vertical-align:middle}
.clue-answer{color:#0645a5;font-weight:700}
.found-clue{opacity:.58}
.found-clue .clue-text{text-decoration:line-through}
.source-note{text-align:center;color:#4a6075;font-size:.82em}
.source-note a{color:#0645a5;font-weight:600}
@media(max-width:900px){.word-search-layout{grid-template-columns:1fr}.puzzle-card{max-width:760px;width:100%;margin:auto}}
@media(max-width:560px){.word-search-page,.activity-nav{width:calc(100% - 12px)}.instructions{font-size:.86em}.clues{font-size:13px}.top-action{width:100%}}
