@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Instrument+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--bg: #0a0a12;--surface: #14141f;--card: #1a1530;--gold: #c9a84c;--gold-dim: #8b6914;--violet: #6b4fbb;--success: #4caf50;--warn: #e8a838;--error: #e53935;--text: #f5f5f5;--muted: #9b96b0;--font-display: "Cormorant Garamond", serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-data: "DM Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:radial-gradient(ellipse 120% 80% at 50% -20%,#1a1530 0%,var(--bg) 55%);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1rem 1rem 2rem;max-width:480px;margin:0 auto}.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}.title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2rem);font-weight:600;text-align:center;line-height:1.15}.subtitle{font-size:.85rem;color:var(--muted);text-align:center;line-height:1.5;margin-top:.5rem;max-width:22rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--gold),var(--gold-dim));color:var(--bg);font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .12s,opacity .12s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-ghost{background:transparent;border:1px solid rgba(201,168,76,.35);color:var(--gold)}.streak-pill{font-family:var(--font-data);font-size:.7rem;padding:.25rem .65rem;border-radius:999px;background:#6b4fbb40;color:#c4bde8;margin-top:.75rem}:root{--tile-size: clamp(2.5rem, 12vw, 3.25rem);--key-gap: .35rem}.wordle-grid{display:grid;gap:.4rem;margin:1.25rem 0}.wordle-row{display:flex;gap:.4rem;justify-content:center}.tile{width:var(--tile-size);height:var(--tile-size);display:grid;place-items:center;font-family:var(--font-data);font-size:1.25rem;font-weight:700;text-transform:uppercase;border:2px solid rgba(155,150,176,.35);border-radius:6px;background:#1a153099;transition:transform .15s,background .2s,border-color .2s}.tile.filled{border-color:#c9a84c80}.tile.shake{animation:shake .4s ease}.tile.pop{animation:pop .1s ease}.tile.correct{background:var(--gold);border-color:var(--gold);color:var(--bg)}.tile.present{background:var(--violet);border-color:var(--violet);color:#fff}.tile.absent{background:#2a2a38;border-color:#2a2a38;color:var(--muted)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pop{50%{transform:scale(1.08)}}.keyboard{display:flex;flex-direction:column;gap:var(--key-gap);width:100%;max-width:26rem;margin-top:.5rem}.kb-row{display:flex;gap:var(--key-gap);justify-content:center}.key{flex:1;min-width:0;max-width:2.4rem;padding:.85rem 0;border:none;border-radius:6px;background:#6b4fbb59;color:var(--text);font-family:var(--font-data);font-size:.75rem;font-weight:600;cursor:pointer;text-transform:uppercase}.key.wide{flex:1.5;max-width:3.5rem;font-size:.65rem}.key:active:not(:disabled){transform:scale(.95)}.key:disabled{opacity:.4;cursor:not-allowed}.key.correct{background:var(--gold);color:var(--bg)}.key.present{background:var(--violet);color:#fff}.key.absent{background:#2a2a38;color:var(--muted)}.message{min-height:1.5rem;font-size:.85rem;color:var(--warn);text-align:center;margin-top:.5rem}.result-panel{text-align:center;margin-top:1rem;padding:1rem;border-radius:12px;background:#1a1530cc;border:1px solid rgba(201,168,76,.25)}.result-panel h2{font-family:var(--font-display);color:var(--gold);margin-bottom:.5rem}.legend{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;font-size:.7rem;color:var(--muted);margin-top:.75rem}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend-dot{width:.75rem;height:.75rem;border-radius:3px}.legend-dot.correct{background:var(--gold)}.legend-dot.present{background:var(--violet)}.legend-dot.absent{background:#2a2a38}
