.vowel-wordle-page{overflow-x:clip}
.vowel-wordle-page .phonics-layout.vowel-wordle-layout{display:block}
.vowel-wordle-page .vowel-wordle-layout{width:min(900px,calc(100% - 40px));margin-inline:auto}
.vowel-wordle-page .vowel-wordle-article{width:100%;max-width:100%;margin:0}
.vowel-wordle-page .page-intro{padding:1.4rem 0 1rem}
.vowel-wordle-page .page-intro .lede{max-width:none}
.vowel-wordle-page .content-section{padding-top:.9rem}
.wordle-game{padding:1rem;border:1px solid #e7d6ba;border-radius:20px;background:#fffdf8;box-shadow:0 10px 24px rgba(85,61,25,.06)}
.wordle-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.wordle-stat{color:#746b5e;font-size:.84rem}
.wordle-stat strong{color:#7048d8;font-family:Georgia,serif;font-size:1.05rem}
.wordle-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.6rem}
.wordle-action-btn{min-height:2.1rem;padding:.35rem .75rem;border:1px solid #dfcfb4;border-radius:999px;background:#fff8e9;color:#5e39bc;font:700 .8rem "Avenir Next",Avenir,system-ui,sans-serif;cursor:pointer}
.wordle-action-btn:hover{background:#eee7ff}
.wordle-action-btn:active{transform:scale(.96)}
.wordle-action-btn:disabled{opacity:.45;cursor:default}
.wordle-board{display:grid;gap:.4rem;max-width:calc(var(--wordle-length,5) * 62px);margin:0 auto .7rem}
.wordle-row{display:grid;grid-template-columns:repeat(var(--wordle-length,5),minmax(0,1fr));gap:.4rem}
.wordle-cell{display:grid;aspect-ratio:1;place-items:center;border:2px solid #e2d0b1;border-radius:8px;background:#fffdf8;color:#302b25;font:800 clamp(.85rem,2.6vw,1.15rem) Georgia,serif;text-transform:uppercase}
.wordle-cell.is-filled{border-color:#a98f61}
.wordle-cell.is-pop{animation:wordle-pop .12s ease}
.wordle-cell.is-correct{border-color:#4f9d6e;background:#4f9d6e;color:#fff}
.wordle-cell.is-present{border-color:#d9a63d;background:#e8b94a;color:#fff}
.wordle-cell.is-absent{border-color:#bdb2a1;background:#d8cfc1;color:#5a5147}
.wordle-row.is-revealing .wordle-cell{animation:wordle-flip .45s ease both}
.wordle-row.is-shake{animation:wordle-shake .38s ease}
.wordle-message{min-height:1.2rem;margin:0 0 .6rem;color:#746b5e;font-size:.86rem;text-align:center}
.wordle-message.is-error{color:#b24848;font-weight:800}
.wordle-message.is-success{color:#4f9d6e;font-weight:800}
.wordle-keyboard{display:grid;gap:.28rem;max-width:440px;margin:0 auto}
.wordle-key-row{display:flex;justify-content:center;gap:.22rem}
.wordle-key{min-width:1.9rem;min-height:2.25rem;padding:0 .4rem;border:none;border-radius:7px;background:#e9e1d4;color:#302b25;font:700 .82rem "Avenir Next",Avenir,system-ui,sans-serif;text-transform:uppercase;cursor:pointer;transition:transform .08s ease}
.wordle-key:hover{background:#ded3bf}
.wordle-key.is-pressed{transform:scale(.88)}
.wordle-key-wide{min-width:2.7rem;font-size:.66rem}
.wordle-key.is-correct{background:#4f9d6e;color:#fff}
.wordle-key.is-present{background:#e8b94a;color:#fff}
.wordle-key.is-absent{background:#b7ad9e;color:#fff}
.wordle-result{margin-top:1rem;padding:1rem;border:1px solid #e2d0b1;border-radius:14px;background:#fff7e6;text-align:center;animation:wordle-result-in .25s ease}
.wordle-result.is-win{border-color:#4f9d6e;background:#eaf6ee}
.wordle-result p{margin:.3rem 0 0;color:#5a5147}
.wordle-result-hint{margin-top:.6rem!important;color:#948a7a!important;font-size:.78rem!important}
.wordle-result strong{display:block;color:#302b25;font:800 1.4rem Georgia,serif;text-transform:uppercase}
.wordle-result.is-win strong{animation:wordle-win-pulse .6s ease}
.wordle-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.8rem}
@keyframes wordle-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes wordle-flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
@keyframes wordle-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
@keyframes wordle-result-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes wordle-win-pulse{0%{transform:scale(1)}40%{transform:scale(1.15)}100%{transform:scale(1)}}
@media(max-width:580px){
	.wordle-board{max-width:calc(var(--wordle-length,5) * 54px);gap:.3rem}
	.wordle-row{gap:.3rem}
	.wordle-key{min-width:1.55rem;min-height:1.9rem;padding:0 .26rem;font-size:.72rem}
	.wordle-key-wide{min-width:2.3rem;font-size:.58rem}
	.wordle-keyboard{gap:.22rem}
	.wordle-key-row{gap:.18rem}
	.wordle-controls{flex-direction:column;align-items:flex-start;gap:.3rem}
	.wordle-game{padding:.75rem}
	.wordle-action-btn{font-size:.72rem;padding:.3rem .6rem}
}
@media(prefers-reduced-motion:reduce){
	.wordle-cell.is-pop,.wordle-row.is-revealing .wordle-cell,.wordle-row.is-shake,.wordle-result,.wordle-result.is-win strong{animation:none}
}
