.welcome-root{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f0f13;overflow:hidden}.welcome-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 20% 40%,rgba(99,102,241,.25) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 70%,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none}.welcome-card{position:relative;width:100%;max-width:420px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2.5rem 2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 64px #00000080;margin:1rem}.welcome-header{text-align:center;margin-bottom:2rem}.welcome-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#a5b4fc,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .4rem}.welcome-subtitle{color:#fff6;font-size:.9rem;margin:0}.tab-bar{display:flex;gap:.25rem;background:#ffffff0d;border-radius:10px;padding:.25rem;margin-bottom:1.75rem}.tab{flex:1;padding:.55rem 0;border:none;background:transparent;color:#ffffff73;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:background .18s,color .18s}.tab:hover{color:#ffffffb3}.tab.active{background:#6366f14d;color:#a5b4fc}.auth-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.8rem;font-weight:500;color:#ffffff8c;letter-spacing:.03em}.field input{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.65rem .875rem;color:#fff;font-size:.9rem;outline:none;transition:border-color .15s,background .15s}.field input::placeholder{color:#fff3}.field input:focus{border-color:#6366f199;background:#ffffff17}.field input:disabled{opacity:.5;cursor:not-allowed}.form-error{font-size:.825rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.2);border-radius:6px;padding:.5rem .75rem;margin:0}.btn-primary{margin-top:.5rem;padding:.7rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:9px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.mp-status{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:20;font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#00000073;padding:4px 8px;border-radius:6px;pointer-events:none;max-width:min(90vw,320px)}.mp-status--ok{color:#9f9}.mp-status--busy{color:#ff9}.mp-status--error{color:#f99;background:#0000008c}@media(pointer:fine)and (min-width:768px){.mp-status{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));font-size:14px;line-height:1.25;padding:9px 14px;border-radius:8px;max-width:min(90vw,400px)}}.player-nameplate{display:inline-flex;align-items:center;gap:6px;padding:5px 13px 5px 10px;border-radius:999px;background:#1c1c30e6;border:1.5px solid rgba(139,142,248,.5);box-shadow:0 2px 10px #00000080,0 0 14px #7c7ff51f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.02em;line-height:1;color:#f3f2ff;text-shadow:0 1px 3px rgba(0,0,0,.55);-webkit-user-select:none;user-select:none;pointer-events:none}.player-nameplate__dot{width:7px;height:7px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 6px #6ee7a8bf;flex-shrink:0}.player-nameplate--speaking{border-color:#6ee7a8d9;box-shadow:0 2px 10px #00000080,0 0 18px #6ee7a859}.player-nameplate--speaking .player-nameplate__dot{background:#86efac;box-shadow:0 0 10px #86efacf2;transform:scale(1.15)}.player-nameplate__name{max-width:140px;overflow:hidden;text-overflow:ellipsis}.voice-controls{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(88vw,220px);font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;pointer-events:none}.voice-controls>*,.voice-controls__menu,.voice-controls__actions{pointer-events:auto}.voice-controls__menu{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.voice-controls__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.voice-controls__btn,.voice-controls__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;font:inherit;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:#0000008c;color:#eee;padding:6px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.voice-controls__chip{display:inline-flex;align-items:center;gap:6px;cursor:default}.voice-controls__chip--toggle{cursor:pointer}.voice-controls__chip--live{color:#9f9}.voice-controls__chip--muted{color:#fc6}.voice-controls__chip--busy{color:#ff9;cursor:default}.voice-controls__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor;flex-shrink:0}.voice-controls__chip--muted .voice-controls__dot{box-shadow:none;opacity:.7}.voice-controls__error{color:#f99;background:#0000008c;padding:4px 8px;border-radius:6px;max-width:100%;overflow-wrap:anywhere;text-align:right}@media(pointer:fine)and (min-width:768px){.voice-controls{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:8px;max-width:min(88vw,280px);font-size:14px;line-height:1.25}.voice-controls__menu,.voice-controls__actions{gap:8px}.voice-controls__btn,.voice-controls__chip{border-radius:8px;padding:9px 14px}.voice-controls__dot{width:8px;height:8px}.voice-controls__error{padding:6px 10px;border-radius:8px}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;background:#0f0f13;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;color:#fff}body{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}#root{width:100%;height:100%}.touch-controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none}.joystick-base{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:calc(26px + env(safe-area-inset-bottom));width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffffff0a,#ffffff17);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 1px #ffffff1f,0 6px 18px #00000047;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto;touch-action:none}.joystick-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:linear-gradient(160deg,#fffffff2,#d6dcffe6);box-shadow:inset 0 1px 2px #ffffffe6,0 3px 10px #00000073;will-change:transform}@media(pointer:fine){.touch-controls{display:none}}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
