/* ChessDB.cz – nový vzhled v2 · přihlášení, registrace, zapomenuté heslo (Claude Design „ChessDB Prihlaseni“ + „… Karta“
   + „… stavy“, desktop 1440). Mobil (do 760 px) je v v2-auth-m.css podle „ChessDB Prihlaseni mobil“. */

html.cdb-v2 body.v2-auth { min-height: 100vh; }

/* lišta: aktivní Přihlásit se / Registrace podle stránky */
.v2a-h--login .v2-login { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.6); color: var(--v2-acc) !important; }
.v2a-h--reg .v2-reg { box-shadow: 0 0 0 3px rgba(242,210,60,.3); }

/* ── Rozvržení ── */
.v2a { position: relative; width: min(1200px, calc(100% - 48px)); margin: 0 auto; display: grid; column-gap: 96px; align-items: start; box-sizing: border-box; }
.v2a--panel { padding: 72px 0 0; grid-template-columns: 520px minmax(0, 1fr); }
.v2a--mid { padding: 88px 0 96px; min-height: calc(100vh - 72px); grid-template-columns: minmax(0, 480px); justify-content: center; align-content: start; }
.v2a-glow { position: absolute; left: -200px; top: -260px; width: 900px; height: 900px; background: radial-gradient(circle, rgba(242,210,60,.07), rgba(242,210,60,0) 60%); pointer-events: none; z-index: 0; }
.v2a-slot, .v2a-panel { position: relative; z-index: 1; min-width: 0; }
body.v2-auth .v2-footer { margin-top: 96px; }

/* ── Karta ── */
.v2a-card { box-sizing: border-box; width: 100%; padding: 32px; border-radius: 18px; background: var(--v2-card); border: 1px solid var(--v2-b); box-shadow: 0 24px 60px rgba(2,6,23,.35); color: var(--v2-t); display: flex; flex-direction: column; gap: 18px; font-family: var(--v2-man); }
.v2a-form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.v2a-form > .v2a-f + .v2a-f { margin-top: -4px; }   /* pole 14 px od sebe (návrh), ostatní bloky 18 */
.v2a-ctx { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(242,210,60,.1); font: 600 12.5px/1.45 var(--v2-man); color: var(--v2-t); }
.v2a-ctx .v2i { font-size: 16px; color: var(--v2-acc); flex: none; }
.v2a-ic { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; flex: none; }
.v2a-ic .v2i { font-size: 24px; }
.v2a-ic.is-y { background: rgba(242,210,60,.12); color: var(--v2-acc); }
.v2a-ic.is-g { background: rgba(74,222,128,.14); color: var(--v2-win); }
.v2a-ic.is-a { background: rgba(251,191,36,.12); color: var(--v2-warn); }
.v2a-av { width: 56px; height: 56px; border-radius: 50%; background: var(--v2-acc); color: var(--v2-on); font: 600 22px var(--v2-pop); display: flex; align-items: center; justify-content: center; }
.v2a-h1 { margin: 0; font: 300 34px/1.15 var(--v2-pop); letter-spacing: -.02em; color: var(--v2-t); text-wrap: pretty; outline: none; }
.v2a-h1 b { font-weight: 600; color: var(--v2-acc); }
.v2a-sub { margin: 8px 0 0; font: 500 15px/1.55 var(--v2-man); color: var(--v2-t2); text-wrap: pretty; }
.v2a-pts { display: none; }   /* body účtu jsou na počítači v panelu vpravo, na mobilu v kartě (v2-auth-m.css) */

/* souhrn chyby */
.v2a-sum { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; font: 600 13px/1.5 var(--v2-man); color: var(--v2-t); outline: none; }
.v2a-sum > .v2i { font-size: 16px; flex: none; margin-top: 1px; }
.v2a-sum.is-err { background: rgba(248,113,113,.12); }
.v2a-sum.is-err > .v2i { color: var(--v2-loss); }
.v2a-sum.is-warn { background: rgba(251,191,36,.12); }
.v2a-sum.is-warn > .v2i { color: var(--v2-warn); }
.v2a-sum a { margin-left: 8px; font-weight: 800; white-space: nowrap; color: var(--v2-acc); text-decoration: none; }
.v2a-sum a:hover { color: var(--v2-acc-h); }

/* pole */
.v2a-f { display: flex; flex-direction: column; gap: 6px; }
.v2a-f__l { font: 700 12.5px var(--v2-man); color: var(--v2-t2); }
.v2a-f__w { position: relative; display: flex; align-items: center; }
.v2a-f__i { width: 100%; height: 52px; box-sizing: border-box; margin: 0; padding: 0 14px; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 500 16px var(--v2-man); outline: none; transition: border-color .14s ease, box-shadow .14s ease; -webkit-appearance: none; appearance: none; }
.v2a-f__i::placeholder { color: var(--v2-m2); }
.v2a-f__i:focus { border-color: rgba(242,210,60,.45); box-shadow: 0 0 0 3px rgba(242,210,60,.14); }
.v2a-f__i[data-v2a-pass] { padding-right: 52px; }
.v2a-f.is-bad .v2a-f__i { border-color: rgba(248,113,113,.7); box-shadow: 0 0 0 3px rgba(248,113,113,.12); }
.v2a-f__i:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px var(--v2-bg) inset; -webkit-text-fill-color: var(--v2-t); caret-color: var(--v2-t); }
.v2a-eye { position: absolute; right: 4px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--v2-m); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.v2a-eye .v2i { font-size: 18px; }
.v2a-eye:hover { color: var(--v2-t); }
.v2a-eye__off, .v2a-eye.is-on .v2a-eye__on { display: none; }
.v2a-eye.is-on .v2a-eye__off { display: inline-block; }
.v2a-f__m { display: flex; align-items: flex-start; gap: 6px; font: 600 13px/1.45 var(--v2-man); }
.v2a-f__m:empty { display: none; }
.v2a-f__m > .v2i { font-size: 14px; margin-top: 2px; flex: none; }
.v2a-f__m.is-err { color: #FCA5A5; }
.v2a-f__m.is-warn { color: var(--v2-warn); }
.v2a-f__m.is-help { color: var(--v2-m); }

/* síla hesla */
.v2a-meter { display: flex; align-items: center; gap: 4px; }
.v2a-meter span { flex: 1; height: 4px; border-radius: 999px; background: var(--v2-off); transition: background .14s ease; }
.v2a-meter b { margin-left: 6px; min-width: 132px; text-align: right; font: 700 12px var(--v2-man); color: var(--v2-m); white-space: nowrap; }
.v2a-meter.is-weak span.is-on { background: var(--v2-loss); }
.v2a-meter.is-weak b { color: var(--v2-loss); }
.v2a-meter.is-mid span.is-on { background: var(--v2-warn); }
.v2a-meter.is-mid b { color: var(--v2-warn); }
.v2a-meter.is-strong span.is-on { background: var(--v2-win); }
.v2a-meter.is-strong b { color: var(--v2-win); }

/* Pamatovat přihlášení + Zapomenuté heslo */
.v2a-row { display: flex; align-items: center; gap: 10px; margin-top: -4px; }
.v2a-check { position: relative; display: flex; align-items: center; gap: 10px; min-height: 44px; font: 600 14px var(--v2-man); color: var(--v2-t2); cursor: pointer; }
.v2a-check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; cursor: pointer; }
.v2a-check__b { width: 22px; height: 22px; box-sizing: border-box; border-radius: 6px; border: 1.5px solid var(--v2-m2); display: flex; align-items: center; justify-content: center; color: transparent; flex: none; }
.v2a-check__b .v2i { font-size: 15px; }
.v2a-check input:checked + .v2a-check__b { background: var(--v2-acc); border-color: var(--v2-acc); color: var(--v2-on); }
.v2a-check input:focus-visible + .v2a-check__b { outline: 2px solid var(--v2-acc); outline-offset: 2px; }
.v2a-row__a { margin-left: auto; font: 700 14px var(--v2-man); color: var(--v2-acc); text-decoration: none; }
.v2a-row__a:hover, .v2a-link a:hover, .v2a-legal a:hover { color: var(--v2-acc-h); }

/* e-maily, souhlas, poznámka */
.v2a-mail { display: flex; gap: 8px; margin-top: -2px; font: 600 13px/1.5 var(--v2-man); color: var(--v2-m); }
.v2a-mail .v2i { font-size: 15px; flex: none; margin-top: 2px; }
.v2a-legal { margin: -6px 0 0; font: 500 12.5px/1.5 var(--v2-man); color: var(--v2-m); }
.v2a-legal a { color: var(--v2-t2); text-decoration: underline; }
.v2a-note { display: flex; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--v2-card2); border: 1px solid var(--v2-b); font: 600 13.5px/1.5 var(--v2-man); color: var(--v2-t2); }
.v2a-note .v2i { font-size: 17px; color: var(--v2-acc); flex: none; margin-top: 1px; }
.v2a-noscript { margin: 0; font: 600 13px var(--v2-man); color: var(--v2-warn); }

/* tlačítka */
.v2a-cta { height: 56px; width: 100%; box-sizing: border-box; padding: 0 20px; border: 0; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 16px var(--v2-man); text-decoration: none !important; box-shadow: 0 6px 14px rgba(242,210,60,.28); display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: filter .14s ease, transform .1s ease, background .14s ease; -webkit-tap-highlight-color: transparent; }
.v2a-cta .v2i { font-size: 17px; }
.v2a-cta:hover { filter: brightness(1.05); }
.v2a-cta:active { transform: scale(.98); }
.v2a-cta:disabled { background: var(--v2-off); color: var(--v2-m) !important; box-shadow: none; cursor: default; filter: none; transform: none; }
.v2a-cta.is-busy:disabled { background: var(--v2-acc); color: var(--v2-on) !important; box-shadow: 0 6px 14px rgba(242,210,60,.28); }
.v2a-cta__spin { display: none; }
.v2a-cta.is-busy .v2a-cta__spin, .v2a-sec.is-busy .v2a-cta__spin { display: inline-block; animation: v2aSpin 1s linear infinite; }
.v2a-sec { height: 48px; width: 100%; padding: 0 16px; border-radius: 13px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 800 15px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; }
.v2a-sec .v2i { font-size: 16px; }
.v2a-sec:disabled { color: var(--v2-m); cursor: default; }
@keyframes v2aSpin { to { transform: rotate(360deg); } }

/* odkazy pod kartou */
.v2a-links { display: flex; flex-direction: column; gap: 14px; }
.v2a-sep { height: 1px; background: var(--v2-b); }
.v2a-link { text-align: center; font: 600 14.5px var(--v2-man); color: var(--v2-m); }
.v2a-link a { font-weight: 800; color: var(--v2-acc); text-decoration: none; }

/* past na roboty: mimo obrazovku, ne display:none (některé roboty ho přeskočí) */
.v2a-trap { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* ── Panel vpravo: Bezplatný účet ── */
.v2a-panel { padding-top: 28px; display: flex; flex-direction: column; gap: 22px; max-width: 520px; }
.v2a-panel__lbl { font: 800 12px var(--v2-man); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-m); }
.v2a-panel__h { margin: -10px 0 0; font: 300 34px/1.2 var(--v2-pop); letter-spacing: -.02em; color: var(--v2-t); }
.v2a-panel__h b { font-weight: 600; color: var(--v2-acc); }
.v2a-panel__pts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.v2a-panel__pts li { display: flex; gap: 12px; font: 600 16px/1.45 var(--v2-man); color: var(--v2-t2); }
.v2a-panel__pts li > span { width: 28px; height: 28px; flex: none; border-radius: 9px; background: rgba(242,210,60,.12); color: var(--v2-acc); display: flex; align-items: center; justify-content: center; }
.v2a-panel__pts .v2i { font-size: 15px; }
.v2a-rate { display: flex; align-items: center; gap: 12px; }
.v2a-rate__av { display: flex; }
.v2a-rate__av img { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--v2-bg); object-fit: cover; background: var(--v2-off); }
.v2a-rate__av img + img { margin-left: -11px; }
.v2a-rate__n { display: flex; align-items: center; gap: 4px; font: 600 14px var(--v2-pop); color: var(--v2-t); }
.v2a-rate__n .v2i { font-size: 15px; color: var(--v2-acc); fill: currentColor; }
.v2a-rate__c { font: 600 13.5px var(--v2-man); color: var(--v2-m); }
.v2a-rev { margin: 0; padding-left: 16px; border-left: 2px solid rgba(242,210,60,.35); }
.v2a-rev blockquote { margin: 0; font: 500 14.5px/1.6 var(--v2-man); color: var(--v2-t2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.v2a-rev blockquote b { color: var(--v2-acc); font-weight: 700; }
.v2a-rev figcaption { margin-top: 8px; font: 700 13px var(--v2-man); color: var(--v2-t); }
.v2a-rev figcaption span { font: 500 12.5px var(--v2-pop); color: var(--v2-m); }

/* užší okno počítače / tablet: panel pod kartu */
@media (max-width: 1100px) {
  .v2a--panel { grid-template-columns: minmax(0, 520px); justify-content: center; row-gap: 40px; padding-top: 56px; }
  .v2a-panel { padding-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .v2a-cta.is-busy .v2a-cta__spin, .v2a-sec.is-busy .v2a-cta__spin { animation: none; }
}
