:root{--game-blue:#075f8c;--game-blue-dark:#10264f;--game-orange:#f0a34b;--game-cream:#fffaf3;--game-ink:#15233d;--game-muted:#64748b;--game-green:#1d8a62}
.word-game-shell{max-width:900px;margin:0 auto;padding:22px 16px 56px;color:var(--game-ink)}
.word-game-card,.word-game-play{background:#fff;border:1px solid rgba(7,95,140,.16);border-radius:24px;box-shadow:0 14px 36px rgba(18,54,78,.10)}
.word-game-card{max-width:680px;margin:12px auto;padding:clamp(22px,5vw,42px);text-align:center}
.word-game-logo{display:block;max-width:220px;max-height:115px;object-fit:contain;margin:0 auto 18px}
.word-game-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:900;color:var(--game-blue)}
.word-game-card h1,.word-game-heading h1{margin:0;color:var(--game-blue-dark);line-height:1.08}.word-game-card h1{font-size:clamp(2rem,7vw,3.25rem)}
.word-game-lead{font-size:1.08rem;line-height:1.55;color:#435269;max-width:560px;margin:16px auto 26px}
.word-game-form{max-width:450px;margin:0 auto;text-align:left;display:grid;gap:8px}.word-game-form label{font-weight:800;color:var(--game-blue-dark);margin-top:8px}.word-game-form label span{font-weight:500;color:var(--game-muted)}
.word-game-form input{width:100%;box-sizing:border-box;border:2px solid #d7e2ea;border-radius:14px;padding:13px 15px;font:inherit;background:#fff;color:var(--game-ink);outline:none;transition:border-color .15s,box-shadow .15s}.word-game-form input:focus{border-color:var(--game-blue);box-shadow:0 0 0 4px rgba(7,95,140,.12)}
.word-game-privacy{font-size:.86rem;color:var(--game-muted);line-height:1.45;margin:7px 0 4px}.word-game-error{color:#a11b29;font-weight:750;font-size:.9rem;margin:0}
.word-game-primary,.word-game-secondary{min-height:50px;border-radius:999px;padding:0 24px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.word-game-primary{border:0;background:var(--game-blue);color:#fff;box-shadow:0 8px 20px rgba(7,95,140,.22);margin-top:10px}.word-game-primary:hover{filter:brightness(.96)}.word-game-primary:focus-visible,.word-game-secondary:focus-visible{outline:3px solid var(--game-orange);outline-offset:3px}
.word-game-play{padding:clamp(16px,4vw,28px)}.word-game-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.word-game-heading h1{font-size:clamp(1.75rem,5vw,2.8rem)}.word-game-heading p:not(.word-game-kicker){margin:8px 0 0;color:var(--game-muted)}
.word-game-counter{flex:0 0 auto;background:var(--game-cream);border:2px solid rgba(240,163,75,.45);border-radius:18px;padding:10px 14px;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:3px;text-align:center;min-width:96px}.word-game-counter strong{font-size:1.85rem;color:var(--game-blue)}.word-game-counter span{font-weight:800}.word-game-counter small{grid-column:1/-1;font-size:.72rem;color:var(--game-muted);text-transform:uppercase;font-weight:800}
.word-game-progress{margin:8px 0 18px}.word-game-progress-track{height:9px;background:#e7eef3;border-radius:999px;overflow:hidden}.word-game-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--game-orange),#f5c16e);border-radius:inherit;transition:width .25s ease}
.word-grid-wrap{display:flex;justify-content:center;overflow:hidden}.word-grid{width:min(100%,640px);display:grid;grid-template-columns:repeat(11,1fr);border:3px solid var(--game-blue-dark);border-radius:14px;overflow:hidden;background:var(--game-blue-dark);gap:1px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 12px 30px rgba(16,38,79,.14)}
.word-cell{appearance:none;border:0;border-radius:0;aspect-ratio:1/1;display:grid;place-items:center;background:#fff;color:#111;font-size:clamp(.9rem,4.4vw,1.58rem);font-weight:850;line-height:1;padding:0;cursor:pointer;transition:background .08s,color .08s,transform .08s}.word-cell.is-selecting{background:#dceef7;color:var(--game-blue-dark)}.word-cell.is-found{background:var(--game-orange);color:#10264f}.word-cell.is-just-found{animation:word-pop .32s ease}@keyframes word-pop{50%{transform:scale(.84)}100%{transform:scale(1)}}
.word-game-found-panel{margin-top:20px}.word-game-found-panel h2{font-size:1rem;margin:0 0 10px;color:var(--game-blue-dark)}.word-game-found-list{display:flex;flex-wrap:wrap;gap:8px;min-height:36px}.word-game-found-chip{display:inline-flex;align-items:center;gap:6px;background:#eaf7f1;color:#176b4e;border:1px solid #bce3d2;border-radius:999px;padding:7px 11px;font-weight:850;font-size:.88rem}.word-game-found-chip::before{content:'✓';font-weight:1000}.word-game-empty{color:var(--game-muted);font-size:.9rem}
.word-game-tip{margin-top:18px;background:#eff7fb;border-left:4px solid var(--game-blue);padding:10px 13px;border-radius:10px;color:#40566b;font-size:.9rem}
.word-game-finish .word-game-trophy{font-size:4rem;line-height:1;margin-bottom:12px}.word-game-finish-copy{font-size:1.1rem;color:#435269}.word-game-town-message{font-weight:800;color:var(--game-blue)}.word-game-all-words{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:22px auto}.word-game-all-words span{background:var(--game-cream);border:1px solid #f1d9b9;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:800;color:var(--game-blue-dark)}.word-game-final-note{max-width:530px;margin:16px auto 24px;color:#435269;line-height:1.5}.word-game-secondary{border:2px solid var(--game-blue);color:var(--game-blue);background:#fff;margin:10px 0 0 8px}
.word-game-shell [hidden]{display:none!important}
@media(max-width:640px){.word-game-shell{padding:12px 9px 40px}.word-game-play{padding:14px 9px 20px;border-radius:18px}.word-game-heading{align-items:flex-start}.word-game-heading p:not(.word-game-kicker){font-size:.9rem}.word-game-counter{min-width:78px;padding:8px 9px}.word-game-counter strong{font-size:1.5rem}.word-grid{border-width:2px;border-radius:10px}.word-cell{font-size:clamp(.92rem,5.2vw,1.35rem)}.word-game-secondary{margin-left:0;width:100%;box-sizing:border-box}.word-game-finish .word-game-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.word-cell,.word-game-progress-track span{transition:none}.word-cell.is-just-found{animation:none}.word-game-help-button.is-holding::before{animation:none;transform:scaleX(1)}}
.word-game-help{margin-top:26px;padding-top:22px;border-top:1px dashed rgba(7,95,140,.22);text-align:center}.word-game-help-button{position:relative;isolation:isolate;overflow:hidden;min-height:58px;min-width:min(100%,320px);border:2px solid var(--game-blue);border-radius:18px;background:#fff;color:var(--game-blue);font:inherit;font-weight:900;padding:9px 20px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.word-game-help-button::before{content:'';position:absolute;z-index:-1;inset:0;transform:scaleX(0);transform-origin:left center;background:#e5f4fb}.word-game-help-button.is-holding::before{animation:word-help-hold 2s linear forwards}.word-game-help-button span{font-size:1rem}.word-game-help-button small{font-size:.76rem;font-weight:750;color:var(--game-muted)}.word-game-help-button.is-revealed{border-color:#b9d6e5;background:#eff7fb;color:var(--game-blue-dark);cursor:default}.word-game-help-button.is-revealed small{color:#557084}.word-game-help-words{margin:16px auto 0;max-width:620px;background:var(--game-cream);border:1px solid #f0d7b5;border-radius:16px;padding:14px}.word-game-help-words p{margin:0 0 10px;font-weight:850;color:var(--game-blue-dark)}.word-game-help-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.word-game-help-word{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid #efd4ae;padding:7px 11px;font-size:.88rem;font-weight:900;color:var(--game-blue-dark)}@keyframes word-help-hold{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.word-game-help-button:focus-visible{outline:3px solid var(--game-orange);outline-offset:3px}
@media(max-width:640px){.word-game-help-button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.word-game-help-button.is-holding::before{animation:none;transform:scaleX(1)}}
