.gale-auth-body { min-height:100vh; color:white; background:rgb(var(--limon-bg)); }
.limon-auth-shell { display:grid; grid-template-columns:minmax(420px,44%) minmax(0,56%); min-height:100vh; background:radial-gradient(circle at 12% 16%,rgb(var(--limon-lime) / .07),transparent 30%),rgb(var(--limon-bg)); }
.limon-auth-panel { display:flex; align-items:center; justify-content:center; padding:clamp(1.25rem,4vw,4rem); }
.limon-auth-card { width:min(100%,570px); padding:clamp(1.35rem,3vw,2.5rem); border:1px solid rgb(var(--limon-lime) / .18); border-radius:1.65rem; background:linear-gradient(145deg,rgb(var(--limon-card) / .96),rgb(var(--limon-bg) / .9)); box-shadow:0 30px 80px rgb(0 0 0 / .28),inset 0 1px 0 rgb(255 255 255 / .045); }
.limon-auth-brand { display:flex; align-items:center; gap:1rem; }
.limon-auth-brand img { width:78px; height:64px; flex:0 0 auto; object-fit:contain; }
.limon-auth-brand h1 { color:white; font-size:clamp(1.65rem,3vw,2.35rem); font-weight:900; line-height:1.08; letter-spacing:-.04em; }
.limon-auth-brand p { margin-top:.38rem; color:rgb(255 255 255 / .58); font-size:.85rem; line-height:1.55; }
.limon-auth-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; margin:1.6rem 0 1.35rem; padding:.35rem; border:1px solid rgb(255 255 255 / .07); border-radius:.9rem; background:rgb(0 0 0 / .18); }
.limon-auth-tabs a { padding:.72rem 1rem; border-radius:.65rem; color:rgb(255 255 255 / .52); text-align:center; font-size:.78rem; font-weight:850; transition:color .2s ease,background .2s ease,box-shadow .2s ease; }
.limon-auth-tabs a:hover { color:white; text-decoration:none; }
.limon-auth-tabs a.is-active { color:rgb(var(--limon-bg)); background:linear-gradient(135deg,rgb(var(--limon-primary)),rgb(var(--limon-lime))); box-shadow:0 8px 24px rgb(var(--limon-primary) / .12); }
.limon-auth-form { margin-top:1.35rem; }
.limon-auth-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.limon-auth-field { margin-top:1rem; }
.limon-auth-field:first-child { margin-top:0; }
.limon-auth-field-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.45rem; }
.limon-auth-field-head a { color:rgb(var(--limon-lime)); font-size:.7rem; font-weight:750; }
.limon-auth-input { position:relative; }
.limon-auth-input > i { position:absolute; left:1rem; top:50%; z-index:2; color:rgb(var(--limon-lime) / .72); font-size:.84rem; transform:translateY(-50%); pointer-events:none; }
.gale-auth-body .limon-auth-input .form-control { width:100%; min-height:54px; padding-right:3rem; padding-left:2.85rem; border:1px solid rgb(var(--limon-lime) / .13); border-radius:.85rem; background:rgb(0 0 0 / .2); }
.gale-auth-body .limon-auth-input .form-control:hover { border-color:rgb(var(--limon-lime) / .28); }
.gale-auth-body .limon-auth-input .form-control:focus { border-color:rgb(var(--limon-primary) / .7); background:rgb(0 0 0 / .3); box-shadow:0 0 0 4px rgb(var(--limon-primary) / .08); }
.limon-password-toggle { position:absolute; top:50%; right:.7rem; display:grid; place-items:center; width:36px; height:36px; border-radius:.55rem; color:rgb(255 255 255 / .46); transform:translateY(-50%); transition:color .2s ease,background .2s ease; }
.limon-password-toggle:hover { color:rgb(var(--limon-primary)); background:rgb(255 255 255 / .05); }
.limon-auth-submit { position:relative; display:flex; width:100%; min-height:54px; align-items:center; justify-content:center; gap:.7rem; overflow:hidden; margin-top:1.5rem; padding:.9rem 1.2rem; border-radius:.85rem; color:rgb(var(--limon-bg)); background:linear-gradient(135deg,rgb(var(--limon-primary)),rgb(var(--limon-lime))); box-shadow:0 14px 34px rgb(var(--limon-primary) / .14); font-size:.86rem; font-weight:900; transition:transform .2s ease,filter .2s ease; }
.limon-auth-submit:hover { transform:translateY(-2px); filter:brightness(1.06); }
.limon-auth-submit:disabled { cursor:wait; transform:none; opacity:.82; }
.limon-auth-submit .limon-auth-spinner { display:none; width:18px; height:18px; border:2px solid rgb(var(--limon-bg) / .25); border-top-color:rgb(var(--limon-bg)); border-radius:50%; animation:limonAuthSpin .7s linear infinite; }
.limon-auth-submit.is-loading .limon-auth-spinner { display:block; }
.limon-auth-submit.is-loading > i { display:none; }
.limon-auth-divider { display:flex; align-items:center; gap:.8rem; margin:1.35rem 0 .9rem; color:rgb(255 255 255 / .3); font-size:.65rem; text-transform:uppercase; }
.limon-auth-divider::before,.limon-auth-divider::after { content:""; flex:1; height:1px; background:rgb(255 255 255 / .08); }
.limon-auth-socials { display:grid; gap:.6rem; }
.limon-auth-socials a { display:flex; min-height:50px; align-items:center; justify-content:center; gap:.75rem; padding:.75rem 1rem; border:1px solid rgb(255 255 255 / .1); border-radius:.8rem; color:white; font-size:.78rem; font-weight:800; transition:transform .2s ease,filter .2s ease,border-color .2s ease; }
.limon-auth-socials a:hover { color:white; text-decoration:none; transform:translateY(-2px); filter:brightness(1.08); }
.limon-auth-discord { background:#5865f2; }.limon-auth-discord i { font-size:1.15rem; }
.limon-auth-provider { background:rgb(255 255 255 / .045); }.limon-auth-provider img { width:20px; height:20px; object-fit:contain; }
.limon-auth-foot { margin-top:1.2rem; color:rgb(255 255 255 / .4); text-align:center; font-size:.66rem; }
.limon-auth-switch { margin-top:1.15rem; color:rgb(255 255 255 / .52); text-align:center; font-size:.76rem; }.limon-auth-switch a { color:rgb(var(--limon-primary)); font-weight:850; }
.limon-auth-visual { position:relative; display:flex; min-width:0; align-items:center; justify-content:center; overflow:hidden; margin:1rem 1rem 1rem 0; border:1px solid rgb(var(--limon-lime) / .16); border-radius:2rem; isolation:isolate; }
.limon-auth-visual-image,.limon-auth-visual-shade { position:absolute; inset:0; }
.limon-auth-visual-image { z-index:-3; background-position:center; background-size:cover; opacity:var(--limon-image-strength,.58); transform:scale(1.02); }
.limon-auth-visual-shade { z-index:-2; background:linear-gradient(90deg,rgb(var(--limon-bg) / .58),rgb(var(--limon-bg) / .26)),linear-gradient(0deg,rgb(var(--limon-bg) / .88),transparent 68%); }
.limon-auth-visual::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 55% 42%,rgb(var(--limon-primary) / .09),transparent 32%); }
.limon-auth-visual-content { width:min(80%,650px); padding:5rem 1rem 2rem; text-align:center; }
.limon-auth-visual-content > img { width:auto; max-width:210px; height:86px; margin:0 auto 1.5rem; object-fit:contain; filter:drop-shadow(0 14px 26px rgb(0 0 0 / .35)); }
.limon-auth-visual-content h2 { margin:.65rem auto 0; color:white; font-size:clamp(2.1rem,4vw,4.2rem); font-weight:950; line-height:1.02; letter-spacing:-.055em; }
.limon-auth-visual-content > p { max-width:520px; margin:.9rem auto 0; color:rgb(255 255 255 / .68); line-height:1.75; }
.limon-auth-server { display:flex; width:fit-content; max-width:100%; flex-wrap:wrap; align-items:center; justify-content:center; gap:.45rem; margin:1.5rem auto 0; padding:.7rem .85rem; border:1px solid rgb(var(--limon-lime) / .2); border-radius:999px; color:rgb(255 255 255 / .62); background:rgb(var(--limon-bg) / .72); font-size:.7rem; backdrop-filter:blur(12px); }
.limon-auth-server strong { color:white; }.limon-auth-server button { margin-left:.35rem; padding-left:.8rem; border-left:1px solid rgb(255 255 255 / .12); color:rgb(var(--limon-primary)); font-weight:800; }
.limon-auth-features { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1rem; margin-top:1.25rem; color:rgb(255 255 255 / .58); font-size:.68rem; }
.limon-auth-features li { display:flex; align-items:center; gap:.4rem; }.limon-auth-features i { color:rgb(var(--limon-lime)); }
.limon-auth-back { position:absolute; top:1.25rem; right:1.25rem; display:flex; align-items:center; gap:.55rem; padding:.7rem .9rem; border:1px solid rgb(255 255 255 / .1); border-radius:.75rem; color:white; background:rgb(var(--limon-bg) / .62); font-size:.72rem; font-weight:800; backdrop-filter:blur(10px); }
.limon-auth-back:hover { color:rgb(var(--limon-primary)); text-decoration:none; }
.limon-auth-message { margin-bottom:1rem; }
.limon-auth-message:empty { display:none; }
.limon-auth-card .alert-success { border:1px solid rgb(var(--limon-lime) / .3); color:rgb(var(--limon-lime)); background:rgb(var(--limon-lime) / .08); }
.limon-auth-card.is-success { border-color:rgb(var(--limon-lime) / .48); box-shadow:0 30px 80px rgb(0 0 0 / .28),0 0 42px rgb(var(--limon-lime) / .07); }
@media(max-width:1023px) { .limon-auth-shell { display:flex; min-height:100vh; flex-direction:column-reverse; justify-content:flex-end; }.limon-auth-panel { flex:1; padding:1rem; }.limon-auth-card { margin:-2.5rem auto 1rem; position:relative; z-index:3; }.limon-auth-visual { min-height:230px; margin:.7rem; border-radius:1.4rem; }.limon-auth-visual-content { width:100%; padding:2.5rem 1rem 4rem; }.limon-auth-visual-content > img { width:130px; height:52px; margin-bottom:.65rem; }.limon-auth-visual-content h2 { max-width:520px; font-size:1.8rem; }.limon-auth-visual-content > p,.limon-auth-features { display:none; }.limon-auth-server { margin-top:.8rem; }.limon-auth-back { top:.75rem; right:.75rem; }.limon-auth-back span { display:none; } }
@media(max-width:540px) { .limon-auth-card { padding:1.15rem; border-radius:1.25rem; }.limon-auth-brand img { width:58px; height:48px; }.limon-auth-brand h1 { font-size:1.5rem; }.limon-auth-form-grid { grid-template-columns:1fr; gap:0; }.limon-auth-visual { min-height:205px; }.limon-auth-visual-content h2 { padding:0 2.4rem; font-size:1.45rem; }.limon-auth-server button { width:100%; margin:.15rem 0 0; padding:.45rem 0 0; border-top:1px solid rgb(255 255 255 / .1); border-left:0; }.limon-auth-tabs { margin-top:1.2rem; } }
@media(prefers-reduced-motion:reduce) { .limon-auth-submit,.limon-auth-socials a { transition:none; }.limon-auth-submit:hover,.limon-auth-socials a:hover { transform:none; } }
@keyframes limonAuthSpin { to { transform:rotate(360deg); } }
