:root{--bg: #0e1116;--panel: #161b22;--line: #2a313c;--text: #e6edf3;--muted: #8b949e;--accent: #6c8cff;--target: #4ade80;--error: #f87171;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}.app{max-width:520px;margin:0 auto;padding:32px 20px 64px}.header h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.02em}.tagline{margin:0;color:var(--muted);line-height:1.5}.goal{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0 20px}.arrow{color:var(--muted);font-size:1.5rem}.chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.chip-target{border-color:var(--target)}.chip-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.chip-word{font-size:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.scoreboard{display:flex;justify-content:center;gap:28px;margin-bottom:24px}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.3rem;font-weight:700}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.track{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:8px;align-items:center}.row{display:flex;gap:8px}.tile{width:48px;height:48px;display:grid;place-items:center;font-size:1.4rem;font-weight:700;text-transform:uppercase;border-radius:8px;border:1px solid var(--line);background:var(--panel)}.tile-on{border-color:var(--target);color:var(--target)}.row-target .tile{border-color:var(--target);background:#4ade801f}.controls{display:flex;gap:8px;margin-bottom:16px}.controls input{flex:1;min-width:0;padding:12px 14px;font-size:1.1rem;text-transform:uppercase;letter-spacing:.18em;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text)}.controls input:focus{outline:none;border-color:var(--accent)}@media (max-width: 480px){.controls{flex-wrap:wrap}.controls input{flex-basis:100%}}button{padding:12px 16px;font-size:1rem;font-weight:600;border:1px solid var(--line);border-radius:10px;background:var(--accent);color:#0b0e14;cursor:pointer}button[type=button]{background:var(--panel);color:var(--text)}button:disabled{opacity:.4;cursor:not-allowed}.feedback{margin:4px 0 0;padding:10px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.feedback-error{border-color:var(--error);color:var(--error)}.win{text-align:center;padding:20px;border:1px solid var(--target);border-radius:12px;background:#4ade8014;margin-bottom:16px}.win h2{margin:0 0 12px}.win-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.puzzle-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.puzzle-actions-heading{margin:0;font-size:1rem;font-weight:600;color:var(--muted)}.puzzle-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.difficulty-picker{display:flex;gap:6px}.difficulty-picker button{padding:6px 12px;font-size:.85rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.difficulty-picker button.active{color:var(--text);border-color:var(--target);background:#4ade801f}.difficulty-picker.needs-pick button:not(.active){color:var(--error);border-color:var(--error);background:#f871711f}.puzzle-actions .link{background:none;border:none;padding:0;color:var(--muted);font-size:.85rem;text-decoration:underline;cursor:pointer}.puzzle-actions .link:hover{color:var(--text)}.powered-by{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;line-height:1.5;color:var(--muted);text-align:center}.powered-by a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.powered-by a:hover{color:var(--text)}.mission-control-stub{margin:24px 0 0;padding:12px 14px;text-align:center;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
