.auth-header-entry {
  min-height: 40px;
  padding: 0 17px;
  border: 1px solid var(--accent-border-soft);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: #eee7f2;
  font: 620 13px/1 inherit;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}

.auth-header-entry:hover,
.auth-header-entry:focus-visible {
  border-color: var(--accent-border);
  background: var(--accent-surface-soft);
  color: #fff;
  transform: translateY(-1px);
}

.auth-mobile-entry {
  width: 100%;
  min-height: 49px;
  margin-top: 3px;
  padding: 10px 12px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: transparent;
  color: var(--accent-text);
  font: 650 16px/1.2 inherit;
  text-align: left;
  cursor: pointer;
}
.auth-mobile-entry:hover,
.auth-mobile-entry:focus-visible { background: var(--accent-surface-soft); color: #fff; }

.auth-account-menu {
  position: absolute;
  top: calc(100% - 10px);
  right: max(20px, calc((100vw - min(1180px, calc(100vw - 40px))) / 2));
  z-index: 120;
  width: 196px;
  padding: 7px;
  overflow: hidden;
  border: 1px solid var(--liquid-glass-border);
  border-radius: 15px;
  background: radial-gradient(circle at 88% -16%, var(--accent-surface-soft), transparent 45%), rgba(16, 13, 21, .96);
  backdrop-filter: blur(18px) saturate(1.12);
  box-shadow: var(--liquid-glass-shadow);
}
.auth-account-menu button {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #ddd5e2;
  font: 540 13px/1.25 inherit;
  text-align: left;
  cursor: pointer;
}
.auth-account-menu button:hover,
.auth-account-menu button:focus-visible { background: var(--accent-surface-soft); color: #fff; }
.auth-account-menu button + button { color: #bfabbc; }

.auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 420;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--overlay-close) var(--overlay-ease-in);
}
.auth-overlay[data-state="open"] { opacity: 1; pointer-events: auto; transition-duration: var(--overlay-open); transition-timing-function: var(--overlay-ease-out); }
.auth-overlay-backdrop { position: fixed; inset: 0; background: rgba(4, 3, 7, .76); backdrop-filter: blur(10px) saturate(.8); }

.auth-dialog {
  position: relative;
  isolation: isolate;
  width: min(100%, 490px);
  max-height: calc(100svh - 40px);
  padding: 34px clamp(25px, 4vw, 42px) 38px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(211, 154, 255, .42) rgba(255, 255, 255, .025);
  border: 1px solid var(--liquid-glass-border);
  border-radius: 26px;
  background: radial-gradient(circle at 82% -5%, rgba(119, 66, 141, .18), transparent 40%), linear-gradient(145deg, rgba(30, 24, 38, .97), rgba(12, 10, 17, .97));
  box-shadow: 0 34px 100px rgba(0, 0, 0, .6), inset 0 1px rgba(255, 255, 255, .06);
  opacity: 0;
  transform: translateY(12px) scale(.985);
  transition: opacity var(--overlay-close) var(--overlay-ease-in), transform var(--overlay-close) var(--overlay-ease-in);
}
.auth-dialog::-webkit-scrollbar { width: 8px; }
.auth-dialog::-webkit-scrollbar-track { margin-block: 20px; border-radius: 999px; background: rgba(255, 255, 255, .025); }
.auth-dialog::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(211, 154, 255, .38); background-clip: padding-box; }
.auth-dialog::-webkit-scrollbar-thumb:hover { background-color: rgba(230, 204, 250, .54); }
.auth-dialog::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; border-top: 1px solid rgba(255, 255, 255, .08); }
.auth-overlay[data-state="open"] .auth-dialog { opacity: 1; transform: none; transition-duration: var(--overlay-open); transition-timing-function: var(--overlay-ease-out); }
.auth-dialog-close { z-index: 2; }
.auth-dialog-brand { margin: 1px 52px 29px 0; color: #f3edf5; font-size: 14px; font-weight: 650; letter-spacing: .17em; }
.auth-dialog-brand span { color: var(--violet-light); }
.auth-sheet-handle { display: none; }

.auth-panel h2 {
  margin: 0;
  color: #f8f3fa;
  font-size: clamp(34px, 5vw, 45px);
  font-weight: 430;
  letter-spacing: -.045em;
  line-height: 1.05;
}
.auth-panel h2:focus,
.auth-panel h2:focus-visible { outline: 0; box-shadow: none; }
.auth-dialog-intro { margin: 15px 0 0; color: #b6aebb; font-size: 14px; line-height: 1.6; }

.auth-form { margin-top: 27px; display: grid; gap: 14px; }
.auth-form > label,
.auth-field > label { display: grid; gap: 8px; color: #d8d1dc; font-size: 12px; font-weight: 650; letter-spacing: .01em; }
.auth-field { display: grid; gap: 8px; }
.auth-form input {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid var(--control-border);
  border-radius: 13px;
  outline: 0;
  background: var(--control-input-surface);
  color: #fff;
  font: 500 15px/1.25 inherit;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.auth-form input:hover { border-color: var(--line-strong); }
.auth-form input:focus { border-color: var(--control-border-selected); box-shadow: var(--control-focus-ring); background: rgba(20, 16, 26, .96); }
.auth-form input:disabled { color: #8d8591; opacity: .72; cursor: not-allowed; }
.auth-password-control { position: relative; display: block; }
.auth-password-control input { padding-right: 80px; }
.auth-password-control button {
  position: absolute;
  inset: 5px 5px 5px auto;
  min-width: 66px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--accent-text);
  font: 620 12px/1 inherit;
  cursor: pointer;
}
.auth-password-control button:hover,
.auth-password-control button:focus-visible { background: rgba(255, 255, 255, .055); color: #fff; }
.auth-password-policy { margin: -4px 0 0; color: #8f8794; font-size: 11px; line-height: 1.5; }
.auth-legal-notice { margin: -2px 0 0; color: #8f8794; font-size: 10px; line-height: 1.55; }
.auth-legal-notice a { color: var(--accent-text); text-decoration: underline; text-decoration-color: rgba(211, 154, 255, .35); text-underline-offset: 3px; }
.auth-legal-notice a:hover,
.auth-legal-notice a:focus-visible { color: #fff; text-decoration-color: currentColor; }
.auth-form-error { min-height: 20px; margin: -2px 0 0; color: #e2a1aa; font-size: 12px; line-height: 1.45; }
.auth-form-error:empty { min-height: 0; }
.auth-submit { width: 100%; min-height: 51px; margin-top: 1px; }
.auth-dialog .action-primary { border-color: #d39aff; background: #d39aff; color: #17101b; box-shadow: none; }
.auth-dialog .action-primary:hover,
.auth-dialog .action-primary:focus-visible { border-color: #e6ccfa; background: #e6ccfa; color: #17101b; box-shadow: 0 0 0 3px rgba(211, 154, 255, .14); }
.auth-submit:disabled { opacity: .58; cursor: wait; transform: none; }

.auth-panel-links { margin-top: 22px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 18px; color: #908894; font-size: 12px; line-height: 1.5; }
.auth-panel-links button { padding: 0; border: 0; background: transparent; color: var(--accent-text); font: 650 inherit; cursor: pointer; }
.auth-panel-links button:hover,
.auth-panel-links button:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

[data-turnstile-container] { width: 100%; min-height: 66px; display: grid; align-items: center; overflow: hidden; border-radius: 10px; }
[data-turnstile-container] iframe { max-width: 100%; }
[data-turnstile-error] { margin-top: -8px; }

.auth-state-mark {
  width: 50px;
  height: 50px;
  margin-bottom: 27px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(211, 154, 255, .3);
  border-radius: 16px;
  background: rgba(86, 51, 103, .24);
  color: var(--accent-brand);
  font-size: 21px;
}
.auth-state-actions { margin-top: 29px; display: flex; gap: 10px; }
.auth-state-actions > * { flex: 1; }

.auth-account-summary {
  margin-top: 25px;
  padding: 14px;
  display: flex;
  gap: 13px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 15px;
  background: rgba(255, 255, 255, .025);
}
.auth-account-summary > span { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--accent-border-soft); border-radius: 13px; background: var(--accent-surface-soft); color: var(--accent-text); font-weight: 700; }
.auth-account-summary div { min-width: 0; display: grid; gap: 3px; }
.auth-account-summary strong,
.auth-account-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-account-summary strong { color: #eee7f2; font-size: 14px; }
.auth-account-summary small { color: #968e9b; font-size: 11px; }
.auth-verification-status { margin: 10px 0 0; color: #aaa2af; font-size: 11px; }
.auth-account-actions { margin-top: 19px; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255, 255, 255, .07); }
.auth-account-actions .action-secondary { min-height: 42px; padding-inline: 13px; font-size: 12px; }
.auth-logout-button { min-height: 42px; padding: 0 12px; border: 0; background: transparent; color: #c7abb8; font: 620 12px/1 inherit; cursor: pointer; }
.auth-logout-button:hover,
.auth-logout-button:focus-visible { color: #fff; }

@media (max-width: 960px) {
  .auth-header-entry { display: none; }
  .legacy-auth-actions .auth-header-entry { display: inline-flex; }
  .auth-account-menu { display: none; }
}

@media (max-width: 560px) {
  .auth-overlay { place-items: end center; padding: max(8px, env(safe-area-inset-top)) 0 0; }
  .auth-overlay-backdrop { background: rgba(4, 3, 7, .68); backdrop-filter: blur(8px) saturate(.82); }
  .auth-dialog {
    width: 100%;
    max-height: calc(100svh - max(8px, env(safe-area-inset-top)));
    min-height: min(690px, calc(100svh - max(8px, env(safe-area-inset-top))));
    padding: 23px 22px max(28px, env(safe-area-inset-bottom));
    border-width: 1px 0 0;
    border-radius: 24px 24px 0 0;
    transform: translateY(20px);
  }
  .auth-sheet-handle { width: 82px; height: 32px; margin: -16px auto 7px; display: grid; place-items: center; border: 0; border-radius: 999px; background: transparent; cursor: grab; touch-action: none; }
  .auth-sheet-handle:active { cursor: grabbing; }
  .auth-sheet-handle span { width: 54px; height: 5px; display: block; border-radius: 999px; background: rgba(218, 207, 224, .38); box-shadow: inset 0 1px rgba(255,255,255,.08); transition: background .18s, transform .18s; }
  .auth-sheet-handle:hover span,
  .auth-sheet-handle:focus-visible span { background: rgba(230, 204, 250, .62); transform: scaleX(1.04); }
  .auth-dialog[data-sheet-dragging="true"] { user-select: none; will-change: transform; }
  .auth-dialog-close { top: 20px; right: 18px; }
  .auth-dialog-brand { margin-bottom: 28px; }
  .auth-panel h2 { font-size: 36px; }
  .auth-form { margin-top: 24px; }
  .auth-panel-links { display: grid; }
  .auth-state-actions { display: grid; }
  .auth-account-actions { align-items: stretch; flex-direction: column; }
  .auth-account-actions > * { width: 100%; }
}

@media (max-height: 720px) and (max-width: 560px) {
  .auth-dialog { min-height: 0; }
  .auth-dialog-brand { margin-bottom: 20px; }
  .auth-form { margin-top: 20px; gap: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .auth-overlay,
  .auth-dialog,
  .auth-header-entry { transition: none; }
}
.auth-account-reviews{margin:18px 0;padding:15px;border:1px solid rgba(189,117,236,.2);border-radius:14px;background:rgba(132,62,170,.055)}.auth-account-reviews h3{margin:0;color:#f4eaf9}.auth-account-reviews>div>p{margin:4px 0 12px;color:#9e95a5;font-size:13px}.auth-account-reviews article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}.auth-account-reviews article div{display:grid;min-width:0}.auth-account-reviews article strong,.auth-account-reviews article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-account-reviews article small{color:#9c94a3}.auth-account-reviews article p{margin:5px 0 0;color:#c3bac9;font-size:12px;line-height:1.5}.auth-account-reviews article a,.auth-account-reviews article button{border:0;background:none;color:#cb86f1;font:inherit}.auth-account-review-empty{color:#9c94a3}@media(max-width:560px){.auth-account-reviews article{grid-template-columns:1fr auto}.auth-account-reviews article div{grid-column:1/-1}}

/* Preserve scroll behavior while removing platform scrollbar chrome in auth/account sheets. */
.auth-overlay,.auth-dialog{scrollbar-width:none;-ms-overflow-style:none}
.auth-overlay::-webkit-scrollbar,.auth-dialog::-webkit-scrollbar{width:0;height:0}
