.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;padding:24px;display:flex}.landing__logo{font-size:3rem}.landing__title{margin:0;font-size:2rem}.landing__subtitle{color:var(--text-dim);max-width:320px;margin:0}.landing__panel{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:24px;display:flex}.landing__panel h2{margin:0 0 4px;font-size:1.1rem}.landing__panel button,.landing__panel input{width:100%;padding:16px;font-size:1.05rem}.landing__divider{color:var(--text-dim);align-items:center;gap:12px;width:100%;max-width:360px;font-size:.85rem;display:flex}.landing__divider:before,.landing__divider:after{content:"";background:var(--border);flex:1;height:1px}.landing__code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;font-size:1.3rem}:root{--bg:#1a1a2e;--bg-elevated:#23233f;--bg-card:#2b2b4a;--accent:#e94560;--accent-dim:#b23a52;--success:#4ade80;--text:#f1f1f6;--text-dim:#a6a6c1;--border:#3a3a5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0}#root{min-height:100dvh}body{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:none;border-radius:12px;font-family:inherit;font-weight:700;transition:transform 80ms,opacity .15s,background .15s}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dim)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:14px 16px;font-family:inherit;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:1px}.error-banner{border:1px solid var(--accent);color:var(--text);background:#e9456026;border-radius:12px;padding:12px 16px;font-size:.95rem}.screen-loading{min-height:100dvh;color:var(--text-dim);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.spinner{width:1em;height:1em}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.35s both fadeUp}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.pulse{animation:1.6s ease-in-out infinite pulse}
