/* Road To Pro — auth page */
.authp { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, 44%) 1fr; }
.au-side { position: sticky; top: 0; height: 100vh; overflow: hidden; padding: 36px 48px; display: flex; flex-direction: column; justify-content: space-between; background:
  radial-gradient(80% 60% at 20% 100%, rgba(227, 22, 31, .3), transparent 70%),
  repeating-linear-gradient(0deg, transparent 0 25px, rgba(255,255,255,.035) 25px 26px),
  repeating-linear-gradient(90deg, transparent 0 25px, rgba(255,255,255,.035) 25px 26px), rgba(10,10,12,.75);
  border-right: 1px solid var(--line); }
.au-card { align-self: flex-start; margin: auto 0; padding: 28px 30px; border-radius: var(--radius-l); background: rgba(18, 18, 20, .85); animation: cardIn .8s var(--spring) both; transition: transform .6s var(--spring); border: 1px solid var(--line2); backdrop-filter: blur(8px); box-shadow: 0 40px 80px -40px #000; min-width: min(380px, 100%); transform: rotate(-2deg); }
.au-card p { margin: 0; }
.pv-first, .pv-last { font-size: 1.7rem; font-weight: 800; color: #c8ced8; }
.pv-nick { font-size: clamp(2.2rem, 4.2vw, 3.4rem); font-weight: 700; line-height: 1.05; color: #fff; text-shadow: 0 0 30px rgba(229, 38, 46, .5); word-break: break-all; }
.pv-meta { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.au-quote { color: var(--muted); max-width: 34em; font-size: .95rem; margin: 0; }
.au-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 20px; }
.au-mlogo { display: none; margin-bottom: 24px; }
.au-box { width: min(520px, 100%); }
.au-tabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 4px; margin-bottom: 28px; }
.au-tabs button { position: relative; z-index: 1; border: 0; background: none; min-height: 42px; font-weight: 700; color: var(--muted); cursor: pointer; border-radius: 9px; transition: color .2s; }
.au-tabs button[aria-selected="true"] { color: #fff; }
.au-ind { position: absolute; z-index: 0; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 9px; background: var(--red); transition: transform .35s var(--ease); box-shadow: 0 8px 24px -10px rgba(229, 38, 46, .9); }
.au-tabs[data-m="register"] .au-ind { transform: translateX(100%); }
.au-tabs.hide { display: none; }
.au-form { display: flex; flex-direction: column; gap: 14px; animation: fade .3s; }
.au-form h1 { font-size: 2rem; font-weight: 900; }
.au-form > .muted { margin: -8px 0 6px; }
.au-form .btn.big { margin-top: 6px; }
#rNick { font-family: var(--hud); font-weight: 600; }
.hint { margin: -6px 0 0; }
.err { color: #ff8a8f; margin: 0; font-size: .9rem; min-height: 1.2em; }
.linkbtn { border: 0; background: none; color: var(--muted); cursor: pointer; padding: 6px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; align-self: center; }
.linkbtn:hover { color: var(--text); }
.strength { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: -6px; }
.strength i { height: 4px; border-radius: 4px; background: var(--line2); transition: background .25s; }
.strength[data-s="1"] i:nth-child(-n+1) { background: var(--red); }
.strength[data-s="2"] i:nth-child(-n+2) { background: var(--lv-amber); }
.strength[data-s="3"] i:nth-child(-n+3) { background: #b6d33a; }
.strength[data-s="4"] i { background: var(--lv-green); }
.ok-box { padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(63, 203, 114, .4); background: rgba(63, 203, 114, .08); color: #c9f2d7; font-size: .93rem; }
.au-foot { margin-top: 26px; }
.au-foot a { text-decoration: none; }
.shake { animation: shake .35s; }
@keyframes shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
@media (max-width: 900px) {
  .authp { grid-template-columns: 1fr; }
  .au-side { display: none; }
  .au-mlogo { display: inline-flex; }
  .au-main { justify-content: flex-start; padding-top: 32px; }
}
.au-card:hover { transform: rotate(-1.5deg) scale(1.02); }
.pv-nick { font-family: var(--hud); }
.au-tabs { background: rgba(18, 18, 20, .85); }
.au-ind { background: linear-gradient(135deg, var(--red-hot), var(--red) 45%, var(--red-deep)); transition: transform .5s var(--spring); }
.au-form { animation: viewIn .5s var(--ease); }
.au-form h1 { font-size: 2.2rem; }
.linkbtn { transition: color .3s; }
