#akxvv-auth { font: 500 14px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #fff; }
#akxvv-auth, #akxvv-auth *, #akxvv-auth *::before, #akxvv-auth *::after { box-sizing: border-box; }
#akxvv-auth [hidden] { display: none !important; }
#akxvv-auth button { font: inherit; cursor: pointer; }
#akxvv-auth .ak-auth-actions { display: flex; align-items: center; gap: 10px; }
#akxvv-auth .ak-auth-actions > button, #akxvv-auth .ak-confirm-actions > button { border: 1px solid #4b4b53; border-radius: 11px; background: #222228; color: #fff; padding: 9px 16px; }
#akxvv-auth .ak-primary { border: 0 !important; border-radius: 11px; background: #2871ed !important; color: #fff !important; font-weight: 650; text-align: center; }
#akxvv-auth button:disabled { opacity: .55; cursor: wait; }
#akxvv-auth button:focus-visible, #akxvv-auth input:focus-visible { outline: 2px solid #77adff; outline-offset: 2px; }
#akxvv-auth .ak-auth-dialog { border: 1px solid #45454d; border-radius: 22px; background: #1d1d22; color: #fff; padding: 0; width: min(440px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); box-shadow: 0 28px 90px #0009; }
#akxvv-auth .ak-auth-dialog::backdrop { background: #000a; backdrop-filter: blur(5px); }
#akxvv-auth .ak-auth-card { position: relative; padding: 30px; overflow: auto; max-height: calc(100vh - 94px); }
#akxvv-auth h2 { margin: 0; font-size: 26px; letter-spacing: -.02em; }
#akxvv-auth .ak-subtitle { margin: 5px 0 22px; color: #aaaab4; }
#akxvv-auth .ak-close { position: absolute; top: 16px; right: 20px; border: 0; background: transparent; color: #c9c9d1; font-size: 24px; }
#akxvv-auth .ak-tabs { display: flex; gap: 6px; padding: 4px; border-radius: 12px; background: #29292f; margin-bottom: 20px; }
#akxvv-auth .ak-tabs button { width: 50%; border: 0; border-radius: 9px; padding: 9px; background: transparent; color: #b9b9c3; text-align: center; }
#akxvv-auth .ak-tabs button[aria-current="true"] { background: #454550; color: #fff; }
#akxvv-auth form label { display: block; margin: 14px 0; color: #d8d8de; }
#akxvv-auth form input { box-sizing: border-box; display: block; width: 100%; margin-top: 6px; padding: 12px 13px; border: 1px solid #505059; border-radius: 11px; background: #29292f; color: #fff; font: inherit; }
#akxvv-auth .ak-password { display: flex; position: relative; }
#akxvv-auth .ak-password input { padding-right: 66px; }
#akxvv-auth .ak-password button { position: absolute; right: 8px; top: 11px; border: 0; background: transparent; color: #adc9ff; padding: 8px; }
#akxvv-auth .ak-submit { width: 100%; padding: 12px; margin-top: 9px; }
#akxvv-auth .ak-code-field { margin: 14px 0; }
#akxvv-auth .ak-code-field > label { margin: 0; }
#akxvv-auth .ak-code-row { display: flex; gap: 8px; align-items: stretch; }
#akxvv-auth .ak-code-row input { flex: 1; min-width: 0; }
#akxvv-auth .ak-code-send { flex: none; align-self: end; min-height: 45px; padding: 8px 10px; border: 1px solid #505059; border-radius: 11px; background: #35353d; color: #d7e4ff; font-size: 12px; white-space: nowrap; }
#akxvv-auth .ak-error { padding: 10px 12px; border-radius: 9px; background: #45272c; color: #ffd6dc; }
#akxvv-auth .ak-info { padding: 10px 12px; border-radius: 9px; background: #203c33; color: #c3f5df; }
#akxvv-auth .ak-agreement { display: flex; align-items: flex-start; gap: 5px; font-size: 12px; color: #b9b9c3; }
#akxvv-auth .ak-agreement input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; display: block; flex: 0 0 18px; width: 18px; height: 18px; min-width: 18px; margin: 0 4px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; accent-color: #2871ed; cursor: pointer; }
#akxvv-auth .ak-agreement a { color: #adc9ff; }
#akxvv-auth .ak-form-actions, #akxvv-auth .ak-confirm-actions { display: flex; gap: 9px; justify-content: space-between; margin-top: 16px; }
#akxvv-auth .ak-form-actions button { border: 0; background: transparent; color: #adc9ff; padding: 5px 0; }
#akxvv-auth .ak-confirm-actions button { flex: 1; }
#akxvv-auth [data-login-hint], #akxvv-auth [data-register-hint] { color: #b9b9c3; }
/* Narrow phones and short landscape windows share comfortable, reachable controls. */
@media (max-width: 520px), (max-height: 520px) {
  #akxvv-auth .ak-auth-dialog {
    position: fixed; padding-top: 64px; overflow: hidden;
    max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
  }
  #akxvv-auth .ak-auth-card {
    position: static; padding: 0 24px 24px;
    max-height: calc(100vh - 98px); max-height: calc(100dvh - 98px);
    overscroll-behavior: contain;
  }
  #akxvv-auth form input:not([type="checkbox"]) { font-size: 16px; }
  #akxvv-auth h2 { position: absolute; top: 14px; left: 24px; right: 68px; padding: 0; }
  #akxvv-auth .ak-close {
    position: absolute; top: 10px; right: 12px; display: block;
    width: 44px; height: 44px; margin: 0; padding: 0;
    border-radius: 9px; background: #1d1d22;
  }
  #akxvv-auth .ak-password button { min-width: 52px; min-height: 44px; padding: 8px; }
  #akxvv-auth .ak-tabs button, #akxvv-auth .ak-confirm-actions button { min-height: 44px; }
  #akxvv-auth .ak-form-actions button { min-height: 44px; display: inline-flex; align-items: center; }
}

/* A quiet account entry; sign-out belongs inside the account menu. */
.ak-account-trigger { display: inline-flex; align-items: center; gap: 9px; max-width: 230px; padding: 5px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #ededf0; font: 500 13px/1.4 system-ui, sans-serif; cursor: pointer; }
.ak-account-trigger:hover, .ak-account-trigger[aria-expanded="true"] { background: transparent; color: #fff; }
.ak-account-trigger:focus-visible { outline: 2px solid #c8c8d0; outline-offset: 3px; }
.ak-account-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 152px; text-transform: none; }
.ak-account-chevron { width: 12px; height: 12px; flex: none; color: #a8a8b3; transition: transform .15s; }
.ak-account-trigger[aria-expanded="true"] .ak-account-chevron { transform: rotate(180deg); }
.ak-account-trigger-mobile { width: 100%; max-width: none; justify-content: flex-start; padding: 10px 0; }
.ak-account-trigger-mobile .ak-account-label { flex: 1; max-width: none; text-align: left; }
#akxvv-auth .ak-account-menu { position: fixed; z-index: 2147483000; width: min(280px, calc(100vw - 24px)); padding: 7px; border: 1px solid #ffffff28; border-radius: 15px; background: #202024; box-shadow: 0 16px 48px #0007; }
#akxvv-auth .ak-account-identity { padding: 11px 12px 15px; margin-bottom: 5px; border-bottom: 1px solid #ffffff14; }
#akxvv-auth .ak-account-identity span { display: block; font-size: 12px; color: #a5a5af; margin-bottom: 5px; }
#akxvv-auth .ak-account-identity strong { display: block; font-size: 14px; color: #f2f2f4; font-weight: 500; overflow-wrap: anywhere; }
#akxvv-auth .ak-account-menu button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 11px 12px; border: 0; border-radius: 9px; background: transparent; color: #cbcad2; text-align: left; }
#akxvv-auth .ak-account-menu button:hover, #akxvv-auth .ak-account-menu button:focus-visible { background: #ffffff0d; color: #fff; outline: none; }
