@charset "UTF-8";:root{--bg: #0b0f17;--surface: #121826;--surface-2: #1a2233;--surface-3: #253048;--border: #263049;--text: #e6eaf2;--muted: #8b95a9;--accent: #7c5cff;--accent-2: #22d3ee;--good: #22c55e;--bad: #ef4444;--gold: #f5b642}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}.app{max-width:480px;margin:0 auto;padding:1rem}.muted{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:800}.chip.fire{color:#ffd76a;background:#f5b64226}.chip.gem{color:#a5f3fc;background:#22d3ee24}.btn-main{display:block;width:100%;padding:.9rem;border:0;border-radius:14px;font:inherit;font-weight:900;font-size:1rem;color:#fff;text-align:center;text-decoration:none;cursor:pointer;background:linear-gradient(135deg,var(--accent),#5b8cff);box-shadow:0 8px 22px #7c5cff66}.btn-main:disabled{opacity:.45;box-shadow:none;cursor:default}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset;caret-color:var(--text);transition:background-color 9999s}.card{display:block;border-radius:16px;background:var(--surface-2);border:1px solid var(--border);padding:.9rem}.emoji-img{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.22em;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes speak-pulse{0%{box-shadow:0 0 #22d3ee99;background-color:#22d3ee47}70%{box-shadow:0 0 0 12px #22d3ee00;background-color:#22d3ee29}to{box-shadow:0 0 #22d3ee00;background-color:#22d3ee47}}[data-speak].is-playing{border-color:var(--accent-2)!important}[data-speak]:is(.speak,.play){transition:transform .15s}[data-speak]:is(.speak,.play):active{transform:scale(.92)}[data-speak].is-playing:is(.speak,.play),[data-speak].is-playing .ico{animation:speak-pulse 1.1s ease-out infinite}@media(prefers-reduced-motion:reduce){[data-speak].is-playing:is(.speak,.play),[data-speak].is-playing .ico{animation:none;outline:2px solid var(--accent-2)}}
