.wordsearch-dialog{width:min(960px,96vw);max-height:94dvh;padding:20px 28px 24px;border:3px solid #986631;border-radius:18px;background:linear-gradient(130deg,#fff8e2,#f1edce);color:#344f35;box-shadow:0 18px 70px #18341b70;overflow:auto}
.wordsearch-dialog::backdrop{background:#173622b8}
.wordsearch-header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-20px;z-index:2;background:#fff7df;padding:10px 0;border-bottom:1px solid #d2d8b7}
.wordsearch-header p{font:500 13px Fredoka,sans-serif;margin:0 0 3px;color:#7c623d}
.wordsearch-header h2{font:500 clamp(30px,4vw,44px)/1.1 Fredoka,sans-serif;margin:0}
.wordsearch-close{flex-shrink:0;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#e4ebcf;color:#365c3e;font:30px Fredoka,sans-serif;cursor:pointer}
.wordsearch-instructions{font-size:15px;line-height:1.5;margin:16px 0 20px;max-width:650px}
.wordsearch-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center}
.wordsearch-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;width:100%;max-width:480px;aspect-ratio:1;padding:12px;border:9px solid #b78147;border-radius:12px;background:#294a3b;box-shadow:inset 0 0 18px #132f2c90,0 5px 10px #46331c25;touch-action:none;user-select:none;-webkit-user-select:none}
.wordsearch-cell{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px solid #e4edcf26;border-radius:5px;padding:0;background:transparent;color:#fff8db;font:500 clamp(17px,2.5vw,30px)/1 Fredoka,sans-serif;box-shadow:none;cursor:pointer;transform:none;touch-action:none}
.wordsearch-cell:hover{background:#f8edc42b;transform:none}
.wordsearch-cell.is-found{background:#d4e4a4;color:#254331;border-color:#b8d27e}
.wordsearch-cell.is-selecting{background:#f3cf77;color:#423721;border-color:#ffedb6}
.wordsearch-cell:focus-visible,.wordsearch-new:focus-visible,.wordsearch-close:focus-visible{outline:3px solid #de963c;outline-offset:2px;z-index:1}
.wordsearch-friends{display:flex;justify-content:center;gap:10px;margin-bottom:14px}
.wordsearch-friends img{width:80px;height:80px;object-fit:cover;border-radius:50%;border:3px solid #d7dfb6}
.wordsearch-sidebar h3{font:500 23px Fredoka,sans-serif;margin:0 0 12px;text-align:center}
.wordsearch-words{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;margin:0;list-style:none}
.wordsearch-words li{text-align:center;padding:8px 4px;border-radius:8px;background:#fffdf4;color:#47643b;font:500 16px Fredoka,sans-serif;border:1px solid #cfdab4}
.wordsearch-words li.is-found{background:#dcebbf;text-decoration:line-through;color:#52733e}
.wordsearch-words li.is-found::after{content:' ✓';text-decoration:none}
.wordsearch-progress{text-align:center;font:500 16px Fredoka,sans-serif;margin:14px 0 0}
.wordsearch-status{min-height:24px;margin:20px 0 12px;font:500 18px/1.4 Fredoka,sans-serif;text-align:center}
.wordsearch-new{display:block;margin:0 auto;min-height:44px;padding:12px 24px;border:0;border-radius:24px;background:#4c7447;color:#fff9df;font:500 18px Fredoka,sans-serif;cursor:pointer}
.wordsearch-new:hover{background:#365d35}
.wordsearch-dialog.is-complete .wordsearch-status{color:#397038}
@media(max-width:650px){.wordsearch-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:12px 14px 20px;border:0;border-radius:0}.wordsearch-header{top:-12px}.wordsearch-layout{grid-template-columns:1fr;gap:18px}.wordsearch-board{max-width:440px;margin:auto;padding:6px;border-width:6px;gap:2px}.wordsearch-cell{font-size:clamp(16px,5vw,25px)}.wordsearch-friends{display:none}.wordsearch-sidebar h3{font-size:20px;margin-bottom:8px}.wordsearch-words{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wordsearch-words li{font-size:14px;padding:8px 2px}.wordsearch-instructions{font-size:14px;margin:12px 0}.wordsearch-status{font-size:16px;margin-top:14px}}
@media(prefers-reduced-motion:no-preference){.wordsearch-cell{transition:background .12s,color .12s}}
