/* Company-scoped sign-in artwork. No fixed brand colours in the decoration. */
.login-layout{
  --bronze:var(--accent);
  --scene-line:color-mix(in srgb,var(--accent) 38%,transparent);
  --scene-faint:color-mix(in srgb,var(--accent) 12%,transparent);
  --scene-paper:var(--panel);
}
.login-layout .eyebrow,.login-layout .tile small{color:var(--accent)}
.login-layout .story{
  border-color:var(--scene-line);
  background-image:linear-gradient(var(--scene-faint) 1px,transparent 1px),linear-gradient(90deg,var(--scene-faint) 1px,transparent 1px);
}
.login-layout .orbit{border-color:var(--scene-faint)}
.login-layout .orbit:after{background:var(--accent)}
.login-layout .tile{border-color:var(--scene-line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--panel)),var(--panel));color:var(--text)}
.login-layout .tile-caption,.login-layout .story-brand p,.login-layout .check{color:var(--text)}
.login-layout .muted,.login-layout .help{color:var(--muted)}
.login-layout .paper{background:var(--text)}
.login-layout .paper i{background:var(--panel)}
.login-layout .tags span{border-color:var(--scene-line);animation:palette-tag 6s infinite}
.login-layout .tags span:nth-child(2){animation-delay:1s}
.login-layout .tags span:nth-child(3){animation-delay:2s}
.login-layout .login-form input:not([type=checkbox]){border-color:var(--scene-line);background:var(--login-colour);color:var(--text)}
.login-layout .login-form input[type=checkbox]{accent-color:var(--button)}
.login-layout .primary{background:var(--button);border-color:var(--button);color:var(--button-text)}
.revision-scene,.library-scene{display:block;width:100%;height:112px;margin-top:13px;overflow:visible;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.revision-scene text{fill:var(--text);stroke:none;font:9px system-ui,sans-serif;letter-spacing:1px}
.revision-back rect,.revision-middle rect,.revision-current rect{fill:var(--scene-paper)}
.revision-back{opacity:.3}.revision-middle{opacity:.58}
.revision-current{animation:revision-lift 6s ease-in-out infinite}
.revision-current circle{fill:currentColor;stroke:none}
.revision-trail{stroke:var(--scene-line);stroke-dasharray:2 5}
.revision-timeline circle{fill:var(--scene-paper)}
.revision-pulse{animation:revision-glow 6s ease-in-out infinite}
.library-window{fill:var(--scene-paper);stroke:var(--scene-line)}
.library-top{stroke:var(--scene-line)}
.library-dot{fill:currentColor;stroke:none;opacity:.6}
.library-row{stroke:var(--scene-line)}
.library-match{stroke:currentColor}
.library-match rect{fill:var(--scene-faint);stroke:none;animation:library-found 7s ease-in-out infinite}
.library-lens{animation:library-search 7s ease-in-out infinite}
.library-lens circle{fill:var(--scene-paper);stroke-width:2.4}
.library-lens>path:not(.lens-detail){stroke-width:4}
.lens-detail{stroke:var(--scene-line)}
@keyframes palette-tag{0%,100%{border-color:var(--scene-line)}35%{border-color:var(--accent);color:var(--accent)}}
@keyframes revision-lift{0%,100%{transform:translate(0,0)}35%,65%{transform:translate(0,-13px)}}
@keyframes revision-glow{0%,100%{fill:var(--scene-paper);stroke-width:1.4}35%,65%{fill:var(--accent);stroke-width:3}}
@keyframes library-search{0%,100%{transform:translate(8px,-18px)}35%,70%{transform:translate(-32px,13px)}}
@keyframes library-found{0%,15%,100%{opacity:.25}40%,75%{opacity:1}}
@media(prefers-reduced-motion:reduce){.login-layout *,.login-layout *:before,.login-layout *:after{animation:none!important;transition:none!important}}

/* Same shared perspective and float as Cast's public sign-in card wall. */
.login-layout .scene{transform:perspective(900px) rotateY(-9deg) rotateX(4deg)}
@media(prefers-reduced-motion:no-preference){
 .login-layout .scene{animation:vault-wall-float 10s ease-in-out infinite}
}
@keyframes vault-wall-float{
 0%,100%{transform:perspective(900px) rotateY(-9deg) rotateX(4deg) translateY(0)}
 50%{transform:perspective(900px) rotateY(-5deg) rotateX(2deg) translateY(-9px)}
}

/* Sign-in footer follows the form width, independent of workspace footer size. */
.login-layout .login-footer{width:100%;min-width:0}
.login-layout .login-footer .footer-logo{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}

/* Normal URL: one larger configured banner inside the left illustration panel. */
.platform-login .story{padding-bottom:240px}
.platform-login .platform-story-brand{position:absolute;left:7%;right:7%;bottom:clamp(36px,6vh,72px);width:auto;max-width:none;margin:0;text-align:center}
.platform-login .platform-story-brand .footer-logo{display:block;width:100%;max-width:540px;height:auto;max-height:none;margin:0 auto;object-fit:contain;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:760px){.platform-login .story{padding:30px 25px}.platform-login .platform-story-brand{position:static;width:100%;margin:0 auto}.platform-login .platform-story-brand .footer-logo{max-width:440px}}
