:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#24231f;background:#f7f5ef;line-height:1.4}*{box-sizing:border-box}body{margin:0}main{width:min(100% - 24px,560px);margin:auto;min-height:100vh;padding:20px 0 28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dedbd1;padding-bottom:10px}.eyebrow{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#77736a;margin:0}h1{font-family:Georgia,serif;font-size:2rem;margin:2px 0}.actions{display:flex;gap:6px}.actions button,.share,dialog button{border:1px solid #cbc7bc;border-radius:8px;background:#fffdf8;padding:9px 12px;cursor:pointer;font-weight:700}.actions button{font-size:1.15rem;width:42px;height:42px}.mode{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#77736a;margin:2px 0 0}.message{height:24px;text-align:center;font-weight:700;margin:2px 0}.board{display:grid;gap:7px;width:min(100%,330px);margin:4px auto 22px}.row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.tile{aspect-ratio:1;border:2px solid #d7d3c9;display:grid;place-items:center;font-size:2.55rem;font-weight:800;background:#fbfaf6}.tile.filled{border-color:#827d72}.tile.correct,.tile.present,.tile.absent{color:#fff;border-color:transparent}.correct{background:#6aaa64!important}.present{background:#d49a36!important}.absent{background:#787c7e!important}.keyboard{display:grid;gap:7px}.key-row{display:flex;gap:5px;justify-content:center}.key{min-width:clamp(28px,8.7vw,44px);height:48px;border:0;border-radius:6px;background:#dfddd5;color:#24231f;font-weight:800;font-size:2rem;cursor:pointer}.key.wide{min-width:clamp(48px,13vw,66px);font-size:1.44rem}.key:focus-visible,button:focus-visible{outline:3px solid #365e87;outline-offset:2px}.share-wrap{text-align:center;margin-top:18px}.share{background:#24231f;color:#fff}.share:disabled{opacity:.4}dialog{border:0;border-radius:14px;padding:24px;max-width:360px;color:#24231f;background:#fffdf8;box-shadow:0 12px 50px #0003}dialog::backdrop{background:#24231f80}dialog label{display:block;margin:12px 0}@media(max-width:360px){main{padding-top:12px}.key{height:44px}.board{margin-bottom:15px}}@media(prefers-reduced-motion:no-preference){.tile.filled{animation:pop .12s ease-out}@keyframes pop{0%{transform:scale(.9)}to{transform:scale(1)}}}:root{--reveal-duration:.45s}.tile.reveal{animation:tile-reveal var(--reveal-duration) ease-out var(--reveal-delay) both}@keyframes tile-reveal{0%{opacity:1;transform:rotateX(0);background:#fbfaf6;color:#24231f;border-color:#d7d3c9}42%{opacity:1;transform:rotateX(90deg);background:#fbfaf6;color:#24231f;border-color:#d7d3c9}55%{opacity:1;transform:rotateX(-8deg);background:var(--reveal-colour);color:#fff;border-color:transparent}to{opacity:1;transform:rotateX(0);background:var(--reveal-colour);color:#fff;border-color:transparent}}@media(prefers-reduced-motion:reduce){.tile.reveal{animation:none}}@media(max-width:560px){main{padding-top:10px;padding-bottom:14px}header{padding-bottom:6px}.eyebrow{font-size:.58rem}h1{font-size:1.55rem}.actions{gap:3px}.actions button{width:34px;height:34px;padding:5px;font-size:.95rem}.mode{font-size:.62rem;margin:1px 0}.message{height:18px;font-size:.8rem;margin:1px 0}.board{width:min(100%,280px);gap:5px;margin-top:3px;margin-bottom:10px}.row{gap:5px}.tile{font-size:1.75rem}.keyboard,.key-row{width:100%;gap:4px}.key{min-width:0;flex:1;height:38px;font-size:1rem}.key.wide{min-width:0;flex:1.55;font-size:.72rem}.share-wrap{margin-top:10px}.share{padding:7px 10px;font-size:.8rem}}
