/* Login and registration. The SVG canvas itself is transparent. */
.auth-form-logo{display:block;width:min(230px,100%);height:auto;margin:4px auto 24px;object-fit:contain}
.brand-intro.brand-intro-reveal{animation:none;background:radial-gradient(ellipse at 15% 50%,#0c657126,transparent 60%),radial-gradient(ellipse at 90% 50%,#83154b20,transparent 60%),#080a11;padding:24px}
.brand-intro-reveal .editing-reveal{width:min(520px,86vw);max-height:85dvh}
.brand-intro-reveal .editing-reveal .reveal-meta,.brand-intro-reveal .editing-reveal figcaption{display:none}
.brand-intro.brand-intro-reveal.intro-ready{animation:intro-away .25s .65s forwards}
.registration-preview{align-items:start;gap:clamp(38px,6vw,90px)}
.registration-preview .auth-copy{padding-top:38px;max-width:510px}
.registration-preview .auth-emblem{display:none}
.registration-preview .auth-copy h1{font-size:clamp(38px,4.2vw,58px);margin-bottom:24px}
.registration-preview .auth-copy>p{font-size:15px;max-width:430px;margin:24px 0 0;line-height:1.8}
.registration-preview .auth-points{margin-top:25px;gap:12px;font-size:13px}
.editing-reveal{margin:0;width:100%;isolation:isolate}
.reveal-meta{display:flex;justify-content:space-between;gap:12px;color:#78889c;font:9px/1.4 ui-monospace,monospace;letter-spacing:1.4px;border-bottom:1px solid #ffffff0d;padding:0 0 12px}
.reveal-meta span:first-child{display:flex;align-items:center;gap:7px;color:#b1c0cd}
.reveal-meta i{display:block;width:4px;height:4px;background:#73d4df;border-radius:50%}
.reveal-art{width:100%;height:auto;display:block;overflow:visible}
.reveal-ghost{opacity:.09}
.reveal-logo{opacity:.08}
.reveal-wordmark{opacity:0}
.is-static .reveal-logo,.is-static .reveal-wordmark{opacity:1}
.reveal-route{fill:none;stroke-linecap:round;stroke-linejoin:round}
.reveal-route.cyan{color:#00e2ef}
.reveal-route.pink{color:#ff008c}
.route-build{stroke:currentColor;stroke-width:4;opacity:0}
.route-glow{stroke:currentColor;stroke-width:15;stroke-dasharray:12 88;opacity:0}
.route-core{stroke:#eeffff;stroke-width:3.5;stroke-dasharray:3 97;opacity:0}
.reveal-rgb,.reveal-spark{opacity:0}
.reveal-playhead{transform:translateX(560px);opacity:.35}
.editing-reveal figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;color:#91a0b3;font-size:11px}
.editing-reveal.is-paused *{animation-play-state:paused!important}
/* Shared six-second cycle: reveal, clean hold, then a quiet fade to the next pass. */
.editing-reveal.is-playing .reveal-logo{animation:edit-logo-reveal 6s ease-out infinite both}
.is-playing .route-build{animation:edit-route-build 6s ease-out infinite both;animation-delay:calc(.3s + var(--route-delay))}
.is-playing .route-core,.is-playing .route-glow{animation:edit-route-travel 6s cubic-bezier(.3,.1,.25,1) infinite both;animation-delay:calc(.3s + var(--route-delay))}
.is-playing .reveal-rgb{animation:edit-rgb 6s steps(1,end) infinite both}
.is-playing .rgb-cyan{transform:translateX(-5px)}
.is-playing .rgb-pink{transform:translateX(5px)}
.is-playing .spark-one{animation:edit-corner 6s ease-out .68s infinite both}
.is-playing .spark-two{animation:edit-corner 6s ease-out 1.37s infinite both}
.is-playing .spark-three{animation:edit-corner 6s ease-out 2.08s infinite both}
.is-playing .reveal-wordmark{animation:edit-wordmark 6s ease-out infinite both}
.is-playing .reveal-playhead{animation:edit-playhead 6s cubic-bezier(.22,.05,.26,1) infinite both}
@keyframes edit-logo-reveal{0%,4%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(1.3px)}20%{opacity:.28}34%{opacity:.65;clip-path:inset(0 22% 0 0);filter:blur(.6px)}42%{opacity:.95;clip-path:inset(0);filter:blur(.5px)}43%{opacity:.85}45%,87%{opacity:1;clip-path:inset(0);filter:blur(0)}98%,100%{opacity:0;clip-path:inset(0);filter:blur(1.3px)}}
@keyframes edit-route-travel{0%{stroke-dashoffset:16;opacity:0}2%{opacity:.9}19%{opacity:.8}26%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes edit-route-build{0%{stroke-dasharray:100;stroke-dashoffset:100;opacity:0}4%{opacity:.7}23%{stroke-dashoffset:0;opacity:.45}33%,100%{stroke-dasharray:100;stroke-dashoffset:0;opacity:0}}
@keyframes edit-rgb{0%,17%,18.3%,27.9%,29%,41.7%,42.8%,100%{opacity:0}17.8%,28.5%{opacity:.22}42.2%{opacity:.32}}
@keyframes edit-corner{0%,4.5%,100%{opacity:0}.8%{opacity:.8}2.2%{opacity:.2}}
@keyframes edit-wordmark{0%,30%{opacity:0;transform:translateY(4px);filter:blur(2px)}47%,87%{opacity:1;transform:translateY(0);filter:blur(0)}98%,100%{opacity:0;transform:translateY(4px);filter:blur(2px)}}
@keyframes edit-playhead{0%,5%{transform:translateX(0);opacity:0}7%{opacity:.9}42%{transform:translateX(550px);opacity:.9}49%,87%{transform:translateX(560px);opacity:.35}98%{transform:translateX(560px);opacity:0}100%{transform:translateX(0);opacity:0}}
@media(max-width:950px){.registration-preview .auth-copy{padding-top:20px}.registration-preview .auth-copy h1{font-size:40px}.reveal-meta{font-size:8px;letter-spacing:.8px}}
@media(max-width:650px){.registration-preview .auth-copy{display:block;padding-top:0;max-width:440px;margin:0 auto 28px}.registration-preview .auth-copy h1{font-size:32px;line-height:1.12;margin-bottom:18px}.registration-preview .auth-copy>.eyebrow{font-size:10px;margin-bottom:10px}.registration-preview .auth-copy>p,.registration-preview .auth-points{display:none}.registration-preview .editing-reveal{max-width:330px;margin:auto}.reveal-meta{padding-bottom:5px}.editing-reveal figcaption{padding-top:8px}.route-glow{filter:none;stroke-width:7}.registration-preview>.box{width:100%}}
@media(prefers-reduced-motion:reduce){.editing-reveal *{animation:none!important}.editing-reveal .reveal-logo,.editing-reveal .reveal-wordmark{opacity:1;clip-path:none;filter:none}.editing-reveal .reveal-replay{display:none!important}.editing-reveal .route-build,.editing-reveal .route-core,.editing-reveal .route-glow,.editing-reveal .reveal-rgb,.editing-reveal .reveal-spark{opacity:0}}
