:root{--bg:#0b0b0d;--surface:#141418;--border:#2a2a31;--border-filled:#55555f;--text:#ececf1;--muted:#8a8a96;--correct:#2f9e6a;--present:#c9a227;--absent:#1c1c22;--key:#26262e;--key-absent:#121215;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}#app{flex-direction:column;align-items:center;gap:16px;max-width:960px;margin:0 auto;padding:20px 16px 40px;display:flex}header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;padding-bottom:14px;display:flex}h1{letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:1.2rem;font-weight:600}h1 span{color:var(--correct)}#controls{flex-wrap:wrap;gap:8px;display:flex}select,#btn-new{background:var(--surface);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;padding:7px 10px;font-size:.85rem}select:hover,#btn-new:hover{border-color:var(--border-filled)}#status{min-height:1.2em;color:var(--muted);letter-spacing:.04em;margin:0;font-size:.85rem}.boards{justify-content:center;gap:20px 28px;display:grid}.boards.wordle{--tile:clamp(38px, calc((min(100vw, 460px) - 48px) / var(--len)), 62px);grid-template-columns:auto}.boards.quordle{--tile:clamp(20px, calc((min(100vw, 900px) / 2 - 40px) / var(--len)), 38px);grid-template-columns:repeat(2,auto)}.board{gap:calc(var(--tile) * .1);flex-direction:column;display:flex}.board.solved{opacity:.55}.row{grid-template-columns:repeat(var(--len), var(--tile));gap:calc(var(--tile) * .1);display:grid}.tile{width:var(--tile);height:var(--tile);border:1.5px solid var(--border);font-size:calc(var(--tile) * .5);text-transform:uppercase;background:var(--final,transparent);border-radius:6px;place-items:center;font-weight:600;display:grid}.tile.filled{border-color:var(--border-filled)}.tile.correct{--final:var(--correct);border-color:var(--final)}.tile.present{--final:var(--present);border-color:var(--final)}.tile.absent{--final:var(--absent);border-color:var(--final);color:var(--muted)}.tile.reveal{animation:.55s both flip}@keyframes flip{0%{border-color:var(--border-filled);background:0 0;transform:rotateX(0)}49%{border-color:var(--border-filled);background:0 0;transform:rotateX(90deg)}51%{background:var(--final);border-color:var(--final)}to{background:var(--final);border-color:var(--final);transform:rotateX(0)}}#keyboard{flex-direction:column;gap:6px;width:100%;max-width:500px;display:flex}.key-row{justify-content:center;gap:5px;display:flex}.key{background:var(--key);max-width:44px;height:52px;color:var(--text);font:inherit;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;flex:1;padding:0;font-size:.85rem;font-weight:600}.key.wide{flex:1.6;max-width:70px;font-size:.7rem}.key:hover{filter:brightness(1.25)}#toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:opacity .15s,transform .15s;position:fixed;top:20px;left:50%;transform:translate(-50%,-8px)}#toast.show{opacity:1;transform:translate(-50%)}button,select{touch-action:manipulation}.tile,.key{-webkit-user-select:none;user-select:none}.tile.bounce{animation:.6s both bounce}@keyframes bounce{0%,20%{transform:translateY(0)}40%{transform:translateY(-14px)}60%{transform:translateY(4px)}80%{transform:translateY(-4px)}to{transform:translateY(0)}}.row.shake{animation:.4s shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#000000a6;place-items:center;display:none;position:fixed;inset:0}.modal.open{display:grid}.modal-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;width:calc(100% - 32px);max-width:380px;padding:28px 24px 22px;animation:.25s ease-out rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.modal-card h2{letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:1.1rem;font-weight:600}.modal-card h2.win{color:var(--correct)}.modal-card h2.lose{color:#d0605e}.modal-sub{color:var(--muted);margin:6px 0 16px;font-size:.85rem}.modal-close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1;position:absolute;top:8px;right:10px}.modal-close:hover{color:var(--text)}.answers{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.answer{border:1.5px solid var(--border);letter-spacing:.15em;text-transform:uppercase;border-radius:6px;padding:6px 12px;font-weight:600}.answer.hit{border-color:var(--correct)}.answer.miss{border-color:#d0605e}.share{background:var(--bg);border:1px solid var(--border);font:inherit;color:var(--muted);white-space:pre-wrap;word-break:break-all;border-radius:8px;max-height:200px;margin:16px 0;padding:12px;font-size:.8rem;line-height:1.35;overflow:auto}.modal-actions{gap:8px;display:flex}.modal-actions button{background:var(--surface);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;flex:1;padding:10px;font-size:.9rem;font-weight:600}.modal-actions button:hover{border-color:var(--border-filled)}.modal-actions button.primary{background:var(--correct);border-color:var(--correct);color:#04130c}.modal-actions button.primary:hover{filter:brightness(1.1)}
