:root{--bg:#14132b;--bg-card:#1f1e3a;--bg-input:#2a2950;--text:#f0effa;--text-muted:#9a98c0;--accent:#7c6cf0;--accent-strong:#9d8cff;--good:#3fce8f;--bad:#f06c7c;--border:#34335c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100dvh;margin:0}#root{max-width:480px;padding:16px 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.screen{flex-direction:column;gap:14px;animation:.25s fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.title{text-align:center;letter-spacing:.02em;margin:12px 0 0;font-size:2rem}.title.small{font-size:1.3rem}.subtitle{text-align:center;color:var(--text-muted);margin:0;font-size:.95rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.card h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:1rem;font-weight:600}.field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input[type=text],input:not([type]){background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:10px;width:100%;padding:12px 14px;font-size:1rem}input:focus{outline:2px solid var(--accent);border-color:#0000}input[type=range]{accent-color:var(--accent)}button{font:inherit;cursor:pointer;background:var(--bg-input);color:var(--text);touch-action:manipulation;border:none;border-radius:10px;padding:12px 16px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;font-size:1.05rem;font-weight:600}button.primary:not(:disabled):active{background:var(--accent-strong)}button.link{color:var(--accent-strong);background:0 0;align-self:flex-start;padding:6px;font-size:.9rem}button.link.centered{align-self:center}.options{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.options summary{cursor:pointer;color:var(--text-muted);align-items:center;gap:8px;padding:2px 0;font-size:.9rem;list-style:none;display:flex}.options summary::-webkit-details-marker{display:none}.options-chevron{flex-shrink:0;width:17px;height:17px;margin-left:auto;transition:transform .18s}.options[open] .options-chevron{transform:rotate(180deg)}.options-body{padding-top:12px}.toggle{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:0}.toggle span{flex-direction:column;gap:3px;display:flex}.toggle strong{font-size:.98rem}.toggle em{color:var(--text-muted);font-size:.83rem;font-style:normal;line-height:1.35}.start-hint{text-align:left;margin:0;font-size:.85rem;line-height:1.4}.gave-up{color:var(--accent-strong);margin:4px 0;font-size:1.05rem}button.primary.share{justify-content:center;align-items:center;gap:9px;font-size:1rem;display:inline-flex}.btn-icon{flex-shrink:0;width:19px;height:19px}.share-url{text-align:center;font-size:.8rem}.mode-badge{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-self:center;padding:5px 14px;font-size:.8rem}button.link.danger{color:var(--bad);margin-top:4px;padding:12px}button.link.danger.armed{background:#f06c7c24;border-radius:10px;font-weight:600}.inline-form{gap:8px;display:flex}.inline-form input{flex:1;min-width:0}.inline-form button{background:var(--accent);color:#fff;font-weight:600}.suggestions{flex-wrap:wrap;gap:8px;display:flex}.suggestion{background:var(--bg-input);border:1px solid var(--accent);color:var(--accent-strong);border-radius:999px;padding:10px 16px;font-weight:600}.suggestion:active{background:var(--accent);color:#fff}.chain-list{flex-direction:column;gap:6px;display:flex}.chain-word{background:var(--bg-input);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:1.05rem;display:flex}.chain-list.compact .chain-word{padding:6px 10px;font-size:.95rem}.chain-word.solved{border-color:var(--good);color:var(--good)}.chain-word.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chain-word.ready{border-color:var(--border)}.chain-index{color:var(--text-muted);text-align:right;min-width:1.4em;font-size:.8rem}.letters{flex-wrap:wrap;gap:3px;display:flex}.letter{text-transform:uppercase;background:#ffffff12;border-radius:5px;justify-content:center;align-items:center;width:1.35em;height:1.6em;font-size:.9rem;font-weight:700;display:inline-flex}.letter.hidden-letter{border-bottom:2px solid var(--text-muted);background:#ffffff24}.chain-word.own{padding:8px 10px}.chain-word.own .letter{text-transform:none;color:var(--text);background:#ffffff12}.chain-word.own .letter.revealed-letter{color:var(--good);background:#3fce8f29}.legend{color:var(--text-muted);margin:-4px 0 2px;font-size:.76rem}.toast{top:max(10px, env(safe-area-inset-top));z-index:100;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;max-width:456px;margin:0 auto;padding:11px 14px;font-size:.92rem;animation:.22s toast-in;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 8px 24px #00000073}.toast-correct{border-color:var(--good)}.toast-wrong{border-color:var(--bad)}.toast-verdict{text-transform:uppercase;letter-spacing:.07em;border-radius:999px;margin-left:auto;padding:3px 9px;font-size:.75rem}.toast-correct .toast-verdict{color:var(--good);background:#3fce8f2e}.toast-wrong .toast-verdict{color:var(--bad);background:#f06c7c2e}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.lobby-code{text-align:center;letter-spacing:.35em;background:var(--bg-card);border:1px dashed var(--accent);color:var(--accent-strong);border-radius:16px;padding:20px 0 20px .35em;font-size:3rem;font-weight:800}.error{color:var(--bad);text-align:center;margin:0;font-size:.92rem}.muted{color:var(--text-muted);text-align:center}.pulse{background:var(--accent);border-radius:50%;width:14px;height:14px;margin:12px auto;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}.flash-correct{animation:.7s flash-good}.flash-wrong{animation:.7s flash-bad}@keyframes flash-good{0%{background:#3fce8f26}to{background:0 0}}@keyframes flash-bad{0%{background:#f06c7c26}to{background:0 0}}
