:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141414;--bg-elevated:#1f1f1f;--bg-card:#292929;--border:#2e2e2e;--text:#f2f2f2;--text-strong:#fafafa;--text-muted:#858585;--accent:#f5a524;--accent-hover:#f6af3c;--accent-foreground:#0d0d0d;--ring:#f5a524;--success:#23a559;--danger:#dc2828;--radius:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;cursor:default;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Roboto,sans-serif;font-size:16px;line-height:1.5;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}img{-webkit-user-drag:none}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}.app{flex-direction:column;height:100dvh;display:flex}.app__main{min-height:0;padding:24px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;flex:1;display:flex;overflow-y:auto}.app__main>*{margin:auto}.header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.header__brand{align-items:center;gap:10px;display:flex}.header__icon{color:var(--accent);display:inline-flex}.header__title{color:var(--text-strong);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.header__title-accent{color:var(--accent)}.status-badge{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge__dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-badge--connecting .status-badge__dot{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.status-badge--ready .status-badge__dot,.status-badge--authenticated .status-badge__dot{background:var(--success)}.status-badge--error{color:var(--danger)}.status-badge--error .status-badge__dot{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);width:100%;max-width:380px;padding:22px;animation:.35s ease-out both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card__hint{color:var(--text-muted);text-align:center;margin:14px 4px 0;font-size:.82rem}.btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible,a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--full{width:100%}.btn--primary{background:var(--accent);color:var(--accent-foreground)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-card);border-color:var(--border);color:var(--text)}.btn--secondary:hover:not(:disabled){border-color:var(--text-muted)}.btn--ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn--ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.btn--danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn--discord{color:#fff;background:#5865f2}.btn--discord:hover:not(:disabled){background:#4752c4}.field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input,var(--bg-card));width:100%;color:var(--text);font:inherit;caret-color:var(--accent);cursor:text;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.field::placeholder{color:var(--text-muted);opacity:.6}.field::selection{background:var(--accent);color:var(--accent-foreground)}.field:focus{border-color:var(--accent)}.field:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.field:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.field:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.join{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:420px;display:flex}.join__logo{width:min(200px,55vw);height:auto}.join__tagline{color:var(--text-muted);margin:0 0 6px;font-size:.95rem}.join__card{text-align:left}.join__title{color:var(--text-strong);margin:0;font-size:1.15rem;font-weight:700}.join__subtitle{color:var(--text-muted);margin:6px 0 16px;font-size:.85rem}.join__row{gap:8px;display:flex}.join__code{text-align:center;letter-spacing:.3em;text-transform:uppercase;flex:1;min-width:0;font-weight:700}.join__error{color:var(--danger);margin:10px 0 0;font-size:.85rem}.join__hint{color:var(--text-muted);text-align:center;margin:12px 0 0;font-size:.8rem}.join__loading{flex-direction:column;align-items:center;gap:14px;display:flex}.spinner{border:3px solid var(--accent);border-top-color:#0000;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.login__form{flex-direction:column;gap:10px;display:flex}.login__divider{color:var(--text-muted);align-items:center;gap:10px;margin:14px 0;font-size:.75rem;display:flex}.login__divider span{background:var(--border);flex:1;height:1px}.login__divider em{text-transform:uppercase;letter-spacing:.08em;font-style:normal}.login__guest{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.78rem;text-decoration:underline}.login__guest:hover{color:var(--text)}.resume{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.resume__avatar{background:color-mix(in srgb, var(--accent) 22%, transparent);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:6px;font-size:1.4rem;font-weight:700;display:grid;overflow:hidden}.resume__avatar img{object-fit:cover;width:100%;height:100%}.resume .join__subtitle{margin-bottom:14px}.resume__other{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;font-size:.78rem;text-decoration:underline}.resume__other:hover{color:var(--text)}.join__identity{color:var(--text-muted);margin:0;font-size:.78rem}.join__identity strong{color:var(--text);font-weight:600}.join__switch{color:var(--text-muted);font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.join__switch:hover{color:var(--text)}.link{flex-direction:column;align-items:center;gap:8px;margin-top:4px;display:flex}.link__form{flex-direction:column;gap:8px;width:100%;max-width:340px;display:flex}.link__input{text-align:center;letter-spacing:.22em;text-transform:uppercase;flex:1;min-width:0;font-weight:700}.link__hint{color:var(--text-muted);text-align:center;margin:0;font-size:.72rem}.link__ok{color:var(--success);margin:4px 0 0;font-size:.78rem}.app__main--watch{padding:0;position:relative;overflow:hidden}.app__main--watch>*{margin:0}.watch{position:absolute;inset:0}.watch__frame{background:#000;border:0;width:100%;height:100%}@media (width<=480px){.header{padding:12px 14px}.card{padding:18px}.join__tagline{font-size:.9rem}.field{font-size:16px}.btn{min-height:44px}}@media (height<=560px){.join{gap:10px}.join__logo{width:min(130px,34vw)}.join__tagline{display:none}}
