/* Login-only artwork theme. Authentication and the shared application UI are unchanged. */
body.bomber-login {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
    overflow-x: clip;
    color-scheme: dark;
    background: #030b18;
    color: #eff7ff;
}
.bomber-login *,
.bomber-login *::before,
.bomber-login *::after { box-sizing: border-box; }
.bomber-login .nexora-login {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    min-height: 100svh;
    max-width: 1800px;
    margin: auto;
}
.bomber-login .nexora-login > *,
.bomber-login .nexora-login__form-wrap,
.bomber-login .nexora-login__form,
.bomber-login .nexora-login__form > *,
.bomber-login .nexora-login__line > * {
    min-width: 0;
    max-width: 100%;
}
.bomber-login .nexora-login__input-wrap { grid-template-columns: 28px minmax(0, 1fr); }
.bomber-login .nexora-login__line { grid-template-columns: 44px minmax(0, 1fr) auto; }
.bomber-login .nexora-login__support,
.bomber-login .nexora-login__line { overflow-wrap: anywhere; }
.bomber-login .nexora-login__visual {
    display: block;
    min-height: 100svh;
    padding: 0;
    background: #061326;
}
.bomber-login__art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0;
}
.bomber-login .nexora-login__visual::before {
    display: none;
}
.bomber-login .nexora-login__visual::after {
    z-index: 0;
    inset: 0;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: linear-gradient(0deg, #030b18 0%, transparent 28%), linear-gradient(90deg, transparent 75%, #030b18);
}
.bomber-login .nexora-login__orb,
.bomber-login .nexora-login__visual-content,
.bomber-login .nexora-login__visual-footer,
.bomber-login .nexora-login__brand { display: none; }
.bomber-login .nexora-login__panel {
    position: relative;
    min-height: 100svh;
    padding: 40px clamp(24px, 4vw, 68px);
    background: radial-gradient(ellipse at 90% 0, #0b2947 0, transparent 60%), #030b18;
    overflow: visible;
}
.bomber-login .nexora-login__panel::before,
.bomber-login .nexora-login__panel::after { display: none; }
.bomber-login .nexora-login__mobile-brand { display: none; }
.bomber-login .nexora-login__form-wrap {
    box-sizing: border-box;
    width: min(460px, 100%);
    margin: 0;
    padding: 32px;
    border: 1px solid #244563;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(16, 39, 63, .96), rgba(5, 17, 33, .97));
    box-shadow: 0 28px 80px #0006, inset 0 1px 0 #8fcfff20;
}
.bomber-login .nexora-login__welcome { display: block; margin-bottom: 28px; }
.bomber-login .nexora-login__welcome-icon {
    color: #f9d89a;
    background: #be904219;
    border: 1px solid #c29a5755;
    box-shadow: 0 0 25px #c29a5714;
    margin-bottom: 18px;
}
.bomber-login .nexora-login__welcome h2 { color: #f4f9ff; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.5; }
.bomber-login .nexora-login__welcome p,
.bomber-login .nexora-login__support { color: #a8bdd3; }
.bomber-login .nexora-login__form label > span { color: #d2e3f3; }
.bomber-login .nexora-login__input-wrap { background: #061426; border-color: #33506b; border-radius: 13px; }
.bomber-login .nexora-login__input-wrap > span { color: #68d5ff; }
.bomber-login .nexora-login__input-wrap input { min-width: 0; color: #fff; font-size: 16px; }
.bomber-login .nexora-login__input-wrap input::placeholder { color: #90a9c2; }
.bomber-login .nexora-login__input-wrap:focus-within { border-color: #40cfff; box-shadow: 0 0 0 3px #12baff25; }
.bomber-login .nexora-login__remember-box { background: #061426; border-color: #64829e; color: transparent; }
.bomber-login .nexora-login__remember input:checked + .nexora-login__remember-box { background: #087caf; border-color: #65ddff; color: #fff; }
.bomber-login .nexora-login__submit {
    position: relative;
    justify-content: center;
    gap: 14px;
    min-height: 60px;
    border: 1px solid #66e3ff;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(180deg, #198ac7 0%, #07518b 48%, #063d72 51%, #0874ad 100%);
    box-shadow: 0 0 0 3px #008eff25, 0 0 22px #00aaff65, inset 0 1px 2px #b3f4ff, inset 0 -2px 8px #14b9ff90;
    text-shadow: 0 0 10px #70d7ff99, 0 2px 3px #00284a;
}
.bomber-login .nexora-login__submit::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 18%;
    right: 18%;
    height: 2px;
    background: #c1f7ff;
    box-shadow: 0 0 12px 2px #00bfff;
    pointer-events: none;
}
.bomber-login .nexora-login__submit svg { flex-shrink: 0; filter: drop-shadow(0 0 5px #61dfff); }
.bomber-login .nexora-login__submit span:last-child { font-size: 1.08rem; }
.bomber-login .nexora-login__submit:hover { transform: translateY(-1px); box-shadow: 0 0 30px #00bfff88, inset 0 0 12px #57d6ff70; }
.bomber-login .nexora-login__submit:active { transform: translateY(1px); }
.bomber-login :is(button, a):focus-visible { outline: 3px solid #ffe1a2; outline-offset: 5px; }
.bomber-login .nexora-login__remember input:focus-visible + span { outline: 2px solid #ffe1a2; outline-offset: 3px; }
.bomber-login .nexora-login__divider { color: #a8bdd3; }
.bomber-login .nexora-login__divider::before,
.bomber-login .nexora-login__divider::after { background: #29445e; }
.bomber-login .nexora-login__line { background: #0b2030; border-color: #2c5259; color: #e5fff1; }
.bomber-login .nexora-login__line:hover { border-color: #51ce93; }
.bomber-login .nexora-login__line small { color: #acc6bb; }
.bomber-login .nexora-login__setup { color: #38270e; color-scheme: light; }
@media (max-width: 820px) {
    .bomber-login .nexora-login { display: block; }
    .bomber-login .nexora-login__visual { min-height: 0; height: min(92vw, 540px); }
    .bomber-login__art { object-fit: cover; object-position: center 15%; }
    .bomber-login .nexora-login__visual::after { background: linear-gradient(0deg, #030b18, transparent 35%); }
    .bomber-login .nexora-login__panel { min-height: 0; padding: 0 18px calc(32px + env(safe-area-inset-bottom)); background: #030b18; }
    .bomber-login .nexora-login__form-wrap { position: relative; margin: -32px auto 0; padding: 26px 24px; }
    .bomber-login .nexora-login__welcome p { font-size: .82rem; }
    .bomber-login .nexora-login__form label > span { font-size: .8rem; }
    .bomber-login .nexora-login__support { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
    .bomber-login *, .bomber-login *::before { transition: none !important; }
}
