.login{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:var(--page-gap);gap:var(--page-gap);padding:var(--page-gap);background:var(--bg-app);overflow-y:auto;transition:opacity .36s ease,visibility 0s linear .36s}.login-panel{padding:28px 32px;background:var(--bg-nav);border:1px solid var(--border-default)}.login-card,.login-panel{display:flex;flex-direction:column}.login-card{width:100%;max-width:380px;margin:auto;gap:24px;padding:40px 0}.login-card .wordmark{margin-bottom:8px}.login-head h1{margin:0 0 6px;font-family:var(--font-display);font-size:var(--t-page-size);font-weight:600;letter-spacing:var(--t-page-track)}.login-head p{margin:0;font-size:13px;color:var(--text-secondary)}.login-form{gap:16px}.login .field,.login-form{display:flex;flex-direction:column}.login .field{gap:6px}.login .field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.login .field label.label{color:var(--text-secondary)}.login .field .input{width:100%;height:40px}.login .field .input input{font-size:14px}.login .field .input input:focus-visible{box-shadow:none}.login .field.invalid .input{border-color:var(--s-low)}.login .field.invalid .input:focus-within{box-shadow:0 0 0 3px var(--s-low-bg)}.login .field-error{font-size:12px;color:var(--s-low)}.login .field-error:empty{display:none}.login .link{padding:0;border:none;background:none;font-size:12px;font-weight:500;color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--bfl-yellow);text-decoration-color:var(--bfl-yellow);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}.login .link:hover{color:var(--text-primary)}.login .check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login .check input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border:1px solid var(--border-strong);background:var(--surface-solid);display:grid;place-items:center;cursor:pointer;transition:background .12s ease,border-color .12s ease}.login .check input:after{content:"";width:8px;height:4px;border:solid #000;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg);opacity:0}.login .check input:checked{background:var(--bfl-yellow);border-color:var(--bfl-yellow-deep)}.login .check input:checked:after{opacity:1}.login-form .btn-primary{height:42px;font-size:14px}.login-step.step-in{animation:manu-rise var(--dur-enter) var(--ease-out) both}.login-head p b{font-weight:500;color:var(--text-primary);word-break:break-all}.otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.otp-cell{width:100%;min-width:0;height:52px;padding:0;text-align:center;font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--text-primary);background:var(--surface-solid);border:1px solid var(--border-default);border-radius:0;caret-color:var(--bfl-yellow-deep);transition:border-color .12s ease,box-shadow .14s ease,background .12s ease}.otp-cell:nth-child(3){margin-right:8px}.otp-cell:focus,.otp-cell:focus-visible{outline:none;border-color:var(--bfl-yellow);box-shadow:var(--shadow-focus)}.otp-cell.filled{border-color:var(--border-strong)}.otp-cell:disabled{background:var(--surface-muted);color:var(--text-tertiary)}.login .field.invalid .otp-cell{border-color:var(--s-low)}.login .field.invalid .otp-cell:focus{box-shadow:0 0 0 3px var(--s-low-bg)}.otp-timer{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.otp-timer.expired{color:var(--s-low)}.otp-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:12px;color:var(--text-tertiary)}.otp-links .link:disabled{color:var(--text-tertiary);-webkit-text-decoration-color:var(--border-default);text-decoration-color:var(--border-default);cursor:default}.otp-wait{font-family:var(--font-mono);font-size:11px}.login .btn .spin{width:16px;height:16px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:var(--r-round);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-alert{display:flex;gap:10px;padding:10px 12px;font-size:12px;color:var(--text-secondary);background:var(--bfl-yellow-lite);border-left:3px solid var(--bfl-yellow)}.login-alert .micon{color:var(--text-primary)}.login-alert[data-tone=error]{background:var(--s-low-bg);border-left-color:var(--s-low);color:var(--text-primary)}.login-alert[data-tone=error] .micon{color:var(--s-low)}.login-foot{gap:12px;font-size:11px;color:var(--text-tertiary)}.login-aside,.login-foot{display:flex;justify-content:space-between}.login-aside{position:relative;overflow:hidden;flex-direction:column;gap:32px;padding:40px;background:var(--dark-surface);color:#fff;border-top:3px solid var(--bfl-yellow)}.login-aside:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:40px 40px;-webkit-mask-image:linear-gradient(160deg,#000 10%,transparent 75%);mask-image:linear-gradient(160deg,#000 10%,transparent 75%);pointer-events:none}.login-aside>*{position:relative}.login-aside p{margin:16px 0 0;max-width:52ch;font-size:14px;line-height:1.55;color:rgba(255,255,255,.68)}.login-aside h2{margin:0;max-width:18ch;font-family:var(--font-display);font-size:36px;font-weight:600;line-height:1.1;letter-spacing:-.6px}.login-aside h2 em{font-style:normal;color:var(--bfl-yellow)}.zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;margin:0;padding:0;list-style:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}.zones li{display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--dark-surface)}.zones .micon{font-size:24px;color:var(--bfl-yellow);margin-bottom:4px}.zones b{font-family:var(--font-display);font-size:14px;font-weight:600}.zones span:last-child{font-size:12px;color:rgba(255,255,255,.62);line-height:1.4}.login-enter>*{animation:manu-rise var(--dur-enter) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 60ms + .2s)}@media (max-width:900px){.login{grid-template-columns:minmax(0,1fr)}.login-panel{padding:20px 16px}.login-card{padding:16px 0}.login-aside{display:none}}@media (prefers-reduced-motion:reduce){.login-enter>*,.login-step.step-in{animation:fade-in .2s ease both}}.login-scene{position:relative;flex:1 1;min-height:240px;margin:-24px -40px}.login-scene canvas{display:block;width:100%;height:100%}.login-scene #hotspots,.login-scene #sceneFallback,.login-scene #sceneTip{display:none}.login-logo{align-self:flex-start;height:22px;width:auto}