/* Open Orbit: motion follows intent, and never restarts on polling updates. */
.initial-loader{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;margin:0;background:var(--bg,#f7f9ff);color:var(--ink,#142b47);padding:30px;box-sizing:border-box}
.initial-loader>.initial-brand{display:flex;align-items:center;justify-content:center;gap:16px;max-width:min(86vw,500px)}
.initial-brand>.brand-symbol{width:clamp(48px,10vw,72px);height:clamp(48px,10vw,72px)}
.initial-brand .brand-word{font-size:clamp(30px,6vw,48px);font-weight:800;letter-spacing:-.06em;line-height:1.2}
.initial-loader>span{color:var(--muted,#526a83);font-size:.8rem;letter-spacing:.025em}
.initial-loader .brand-symbol{animation:orbit-symbol-in .65s cubic-bezier(.2,.65,.2,1) both}
.initial-loader .brand-word{animation:orbit-word-in .8s .1s cubic-bezier(.2,.65,.2,1) both}
.initial-loader::after{content:'';display:block;width:80px;height:3px;border-radius:4px;background:linear-gradient(90deg,#2457f5,#2bd4c7);animation:orbit-progress 1.8s ease-out both}
.auth-identity{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;padding:30px 12px 25px;isolation:isolate;overflow:hidden}
.auth-identity::before{content:'';position:absolute;width:230px;height:230px;border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:50%;inset:auto;z-index:-1}
.auth-identity .brand-symbol{width:48px;height:48px}.auth-identity .brand-word{font-size:32px}
.auth-dialog .empty-state{padding:12px 18px 24px}.auth-dialog .empty-state h3{font-size:1.6rem;line-height:1.25;white-space:pre-line;max-width:20ch;margin:8px auto 14px}
.auth-dialog .empty-state p{max-width:38ch;margin-inline:auto;line-height:1.7}
.auth-dialog .full{min-height:48px}.auth-sound-row{display:flex;justify-content:center;margin-top:17px}.auth-sound-row button{font-size:.75rem;min-height:40px;gap:8px}.auth-sound-row button[aria-pressed=true]{color:var(--accent)}
.appearance-preview{position:relative;isolation:isolate;overflow:hidden;min-height:170px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:linear-gradient(120deg,var(--soft),var(--panel));border:1px solid var(--line)}
.appearance-preview::before,.appearance-preview::after{content:'';position:absolute;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%;width:280px;height:280px;inset:auto;z-index:-1}.appearance-preview::after{width:205px;height:205px}
.appearance-preview>.brand{display:flex;align-items:center;gap:12px;pointer-events:none}.appearance-preview .brand-symbol{width:42px;height:42px}.appearance-preview .brand-word{font-size:29px}
.appearance-form .checkbox-line{display:flex;gap:13px;align-items:flex-start;margin:0;padding:19px 0;border-bottom:1px solid var(--line)}.appearance-form input[type=checkbox]{accent-color:var(--accent);width:19px;height:19px;flex:0 0 19px;margin-top:4px}.appearance-form .checkbox-line strong,.appearance-form .checkbox-line small{display:block}.appearance-form .checkbox-line small{font-size:.79rem;line-height:1.6;color:var(--muted);margin-top:5px}.appearance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:space-between}.appearance-actions .button{min-height:44px}
.brand-arrival{position:fixed;inset:0;z-index:1500;pointer-events:none;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;background:#f7faff;animation:orbit-arrival 1.4s both}
dialog>.brand-arrival{border-radius:inherit;position:absolute}
.opening-lockup{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,26px);position:relative;z-index:2;padding:30px;max-width:90vw}
.opening-lockup .brand-symbol{width:clamp(60px,11vw,110px);height:clamp(60px,11vw,110px);animation:orbit-symbol-in .65s .05s both;flex:none}
.opening-lockup .brand-word{font-size:clamp(34px,7vw,66px);font-weight:800;letter-spacing:-.06em;color:#142b47;line-height:1.15;animation:orbit-word-in .7s .18s both}
.opening-orbit{position:absolute;width:min(70vw,580px);height:min(70vw,580px);border:1px solid #2457f51a;border-radius:50%;transform:scale(.85);animation:orbit-expand 1.2s both}
.opening-orbit::before,.opening-orbit::after{content:'';position:absolute;inset:-65px;border:1px solid #2bd4c71d;border-radius:50%}.opening-orbit::after{inset:60px;border-color:#2457f50a}
@keyframes orbit-symbol-in{from{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:none}}
@keyframes orbit-word-in{from{opacity:0;transform:translateX(-9px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0 -2px 0 -2px)}}
@keyframes orbit-progress{from{transform:scaleX(.1);opacity:.45}to{transform:scaleX(1);opacity:1}}
@keyframes orbit-expand{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1.04)}}
@keyframes orbit-arrival{0%,70%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes orbit-dialog-in{from{opacity:.8;transform:translateY(5px)}to{opacity:1;transform:none}}
dialog[open]:not(.group-stage-dialog):not(.call-dialog){animation:orbit-dialog-in .18s ease-out}
button:not(:disabled),a.button{transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}
:root[data-theme=dark] .brand-arrival{background:#101e31}:root[data-theme=dark] .opening-lockup .brand-word{color:#f4f8ff}:root[data-theme=dark] .opening-orbit{border-color:#5879b329}
@media(max-width:760px){.opening-lockup{padding:18px;gap:13px}.appearance-preview{min-height:145px}.auth-identity{padding-block:22px}.auth-identity .brand-word{font-size:27px}.auth-identity .brand-symbol{width:42px;height:42px}.appearance-actions>.button{flex:1;justify-content:center}.auth-dialog .empty-state h3{font-size:1.4rem}}
[dir=rtl] .opening-lockup,[dir=rtl] .initial-brand,[dir=rtl] .auth-identity{direction:ltr}
:root[data-motion=reduced] .brand-arrival{display:none}:root[data-motion=reduced] *, :root[data-motion=reduced] *::before,:root[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.brand-arrival{display:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
