.office-orbits {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 fill: none;
 pointer-events: none;
}
.office-orbits > * {
 stroke: #55dcff;
 stroke-width: 2;
 stroke-linecap: round;
 stroke-dasharray: 12 8 3 130 2 8 2 90;
 filter: drop-shadow(0 0 5px #19baff);
 animation: office-orbit-flow 18s linear infinite;
}
.office-orbits > :nth-child(2) {
 stroke: #ffd181;
 filter: drop-shadow(0 0 5px #ff9d41);
 animation-direction: reverse;
}
.office-orbits > :last-child { opacity: .55; animation-duration: 24s; }
@keyframes office-orbit-flow { to { stroke-dashoffset: -510; } }
.login-card:is(.office-glass-card, .office-login-card) {
 isolation: isolate;
 border-color: #ff9d3c;
 box-shadow: 0 0 22px #ff892842, 0 0 46px #ff93251c, 0 18px 60px #02081677;
}
.login-card:is(.office-glass-card, .office-login-card)::before {
 padding: 3px;
 background: conic-gradient(from var(--forge-border-angle),
  #ff872c 0deg, #ff9e47 215deg, #ffbb64 263deg,
  #fff3d3 294deg, #ffd487 309deg, #ff872c 345deg);
 animation-duration: 6s;
 z-index: 2;
}
:is(.office-glass-card, .office-login-card)::after {
 content: '';
 position: absolute;
 inset: 1px;
 border-radius: inherit;
 pointer-events: none;
 background: linear-gradient(115deg, transparent 43%, #ffe5ba14 49%, #ccecff1f 51%, transparent 57%);
 background-size: 300% 100%;
 background-position: 100% 0;
 opacity: 0;
 animation: office-glass-reflection 13s linear infinite;
}
:is(.office-glass-card, .office-login-card) > * { position: relative; z-index: 1; }
.scene-paused :is(.office-glass-card, .office-login-card)::after { animation-play-state: paused; }
@keyframes office-glass-reflection {
 0%, 76% { background-position: 100% 0; opacity: 0; }
 80% { opacity: 1; }
 91% { opacity: 1; }
 96%, 100% { background-position: 0 0; opacity: 0; }
}
.office-login-card .register-emblem { color: #ffd181; font-size: 32px; font-weight: 800; }
.office-login-card h2 span { color: #ffd181; }
.office-login-card input:not([type=hidden]) { padding-left: 14px; }
.office-login-card .office-password { margin-bottom: 20px; }
.office-login-card .small { margin: 16px 0 0; color: #abc4d8; font-size: 11px; }
.office-login-card .small a { color: #87e5ff; text-decoration: underline; text-underline-offset: 3px; }
.office-submit { position: relative; overflow: hidden; }
.office-submit::before {
 content: '';
 position: absolute;
 inset: 0;
 pointer-events: none;
 background: linear-gradient(105deg, transparent 40%, #fff8 50%, transparent 60%);
 transform: translateX(-100%);
 animation: office-button-shine 8s ease-in-out infinite;
}
@keyframes office-button-shine {
 0%, 72% { transform: translateX(-100%); }
 90%, 100% { transform: translateX(100%); }
}
@media (forced-colors: active) { .office-orbits { display: none; } }
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
 :is(.office-glass-card, .office-login-card)::after { display: none; }
}
