:root { color-scheme:dark; --background:#0a090c; --foreground:#ede6f6; --card:#151119; --card-foreground:#eee5f7; --primary:#ba83e3; --primary-foreground:#170c22; --muted:#241b2c; --muted-foreground:#b1a4be; --border:#3c2a4c; --input:#2d2038; --ring:#ac67db; --radius:0.65rem; --destructive:#f18697; }
* { box-sizing:border-box; }
body { margin:0; min-height:100dvh; background:radial-gradient(ellipse at 14% 35%,#3c165c45,transparent 55%),#0a090c; color:var(--foreground); font:14px/1.6 Inter,system-ui,sans-serif; }
.auth-topbar { padding:24px 5%; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #251d2e; gap:16px; }
.auth-topbar img { width:160px; height:60px; display:block; }
.interface-language { display:flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:10px; }
.locale-button { color:#c1b3cd; border:1px solid transparent; background:transparent; border-radius:6px; padding:7px 10px; font-size:11px; display:flex; gap:6px; cursor:pointer; }
.locale-button[aria-pressed=true] { background:#372148; border-color:#734295; color:#fff; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,460px); align-items:center; gap:7%; width:min(1050px,90%); margin:70px auto; }
.auth-story h1 { font-size:clamp(30px,4vw,48px); line-height:1.15; letter-spacing:-1.4px; font-weight:500; margin:22px 0; }
.auth-story p { color:#ad9dbb; max-width:390px; line-height:1.8; }
.auth-eyebrow { font:10px/1.5 monospace; letter-spacing:3px; color:#bd85e3; }
.auth-symbol { width:150px; height:150px; border-radius:30px; margin:32px 0; display:block; }
.auth-panel { min-width:0; }
.auth-panel #auth-root>div { background:transparent; }
.auth-panel [data-slot=card] { background:#151119; border-color:#3c2a4c; }
.auth-layout--account { width:min(1250px,90%); grid-template-columns:minmax(210px,0.55fr) minmax(0,1fr); align-items:start; }
.auth-back { color:#d1a5ef; text-decoration:none; border-bottom:1px solid #714294; }
@media(max-width:700px) { .auth-topbar { padding:16px; } .auth-topbar img { width:115px; height:43px; } .locale-button { padding:6px; } .auth-layout,.auth-layout--account { display:block; margin:30px auto; width:calc(100% - 32px); } .auth-story { margin-bottom:28px; } .auth-story h1 { font-size:30px; } .auth-symbol { display:none; } .auth-story p { max-width:none; } }

/* Immersive entry: the shared shader owns GPU lifecycle and reduced motion. */
.auth-experience{background:#09070f;overflow-x:hidden}.auth-atmosphere.signal-stage{position:fixed;inset:0;min-height:100dvh;margin:0;border:0;border-radius:0;z-index:-1;pointer-events:none}.auth-atmosphere.signal-stage::after{background:linear-gradient(110deg,#090710c9 5%,#10071b33 52%,#090710b0)}.auth-atmosphere .signal-grid{opacity:.35;background-size:72px 72px;mask-image:linear-gradient(0deg,#000,transparent 75%)}.auth-atmosphere .signal-aurora{background:radial-gradient(ellipse at 30% 52%,#b52cfa70,transparent 40%),radial-gradient(ellipse at 70% 70%,#258de34d,transparent 45%),conic-gradient(from 160deg at 50% 50%,transparent,#7228a545,transparent);filter:blur(45px)}
.auth-topbar{position:relative;z-index:2;border-color:#ffffff0b;background:#09071044;backdrop-filter:blur(18px)}.auth-topbar img{width:184px;height:68px}.auth-layout{position:relative;gap:9%;width:min(1170px,88%);margin:75px auto;min-height:62vh}.auth-story h1{font-size:clamp(40px,5vw,68px);font-weight:600;letter-spacing:-2.8px;max-width:600px;line-height:1.06}.auth-eyebrow{letter-spacing:3.5px;color:#d6a0ff}.auth-story p{font-size:16px;color:#c1b3d0;max-width:420px}.auth-panel{position:relative;padding:38px;border:1px solid #c89aff38;border-radius:26px;background:linear-gradient(145deg,#24132abb,#100d1dd9);box-shadow:0 28px 100px #0008,inset 0 1px 0 #ffffff12;backdrop-filter:blur(28px)}.auth-panel::before{content:'';position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#ce99ff,transparent)}
.auth-sound-art{position:relative;display:flex;align-items:center;justify-content:center;width:310px;height:235px;margin:24px 0 0}.auth-sound-art .auth-symbol{position:relative;width:120px;height:120px;margin:0;z-index:2;filter:drop-shadow(0 0 28px #a731ea55)}.auth-ring{position:absolute;width:210px;height:210px;border:1px solid #b86fff40;border-radius:50%;transform:rotateX(58deg) rotate(-25deg);box-shadow:0 0 32px #b741ec15}.auth-ring--two{width:290px;height:290px;transform:rotateX(60deg) rotate(30deg);border-color:#5abfff30}.auth-wave{position:absolute;bottom:3px;display:flex;gap:4px;align-items:center;height:65px}.auth-wave i{width:3px;height:var(--h);border-radius:4px;background:linear-gradient(#c780ff,#459aff);opacity:.65;animation:auth-wave 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.12s)}@keyframes auth-wave{to{transform:scaleY(.35);opacity:.25}}
.firebase-card h2{font-size:27px;letter-spacing:-.7px}.firebase-card button{background:linear-gradient(110deg,#8b40e9,#663cc6);box-shadow:0 5px 24px #8f41ed23;border-color:#ae6af570;font-weight:600;transition:filter .2s,transform .2s}.firebase-card button:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.firebase-card input{background:#09061066;border-color:#b186cc30}.firebase-card form{margin-top:18px}.firebase-card>p{font-size:14px}.firebase-card>button{background:#ffffff08;border-color:#ffffff24;box-shadow:none}.firebase-card>button::before{content:'G';display:inline-grid;place-items:center;background:#fff;color:#4285f4;width:22px;height:22px;border-radius:50%;margin-right:10px;font-weight:700}
@media(max-width:700px){.auth-layout{width:calc(100% - 36px);margin:36px auto;min-height:0}.auth-topbar img{width:130px;height:48px}.auth-story h1{font-size:42px;letter-spacing:-1.8px;max-width:360px}.auth-story p{font-size:14px}.auth-sound-art{display:none}.auth-panel{padding:26px 22px;border-radius:22px;margin-top:28px}.auth-story{margin-bottom:20px}.auth-eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.auth-wave i{animation:none}.firebase-card button{transition:none}}
