/* Dragonball.LT – bendras stilius.
   Tailwind daro didžiąją dalį darbo; čia tik pasikartojantys elementai. */

/* ------------------------------------------------------------
   TEMOS
   Spalvos aprašytos RGB kanalais (be „rgb()"), nes taip Tailwind
   gali pritaikyti permatomumą, pvz. bg-electric-blue/20.
   Temą keisti: Nustatymai -> Išvaizda.
   ------------------------------------------------------------ */

:root,
[data-theme="dark"] {
  --c-bg:      5 7 13;
  --c-bar:     10 15 26;
  --c-panel:   14 21 34;
  --c-primary: 0 164 255;
  --c-accent:  255 204 0;
  --c-ember:   247 169 58;
  --c-purple:  155 75 255;
  --c-red:     255 59 48;
  --c-text:    200 200 200;
}

/* Violetinė */
[data-theme="midnight"] {
  --c-bg:      8 6 18;
  --c-bar:     16 12 32;
  --c-panel:   22 16 42;
  --c-primary: 155 75 255;
  --c-accent:  214 158 255;
  --c-ember:   190 120 255;
  --c-purple:  126 58 242;
  --c-red:     255 71 120;
  --c-text:    206 200 220;
}

/* Raudona */
[data-theme="crimson"] {
  --c-bg:      14 5 5;
  --c-bar:     26 9 9;
  --c-panel:   36 13 13;
  --c-primary: 255 122 69;
  --c-accent:  255 176 32;
  --c-ember:   255 140 50;
  --c-purple:  255 90 140;
  --c-red:     255 59 48;
  --c-text:    226 200 195;
}

/* DBZ paletė: oranžinė, žalia, žydra */
[data-theme="dbz"] {
  --c-bg:      6 14 20;
  --c-bar:     10 24 32;
  --c-panel:   13 32 42;
  --c-primary: 34 211 238;   /* žydra */
  --c-accent:  255 145 32;   /* oranžinė */
  --c-ember:   255 176 32;
  --c-purple:  34 197 94;    /* žalia */
  --c-red:     255 92 46;
  --c-text:    203 224 230;
}

/* Šviesi tema */
[data-theme="light"] {
  --c-bg:      244 245 248;
  --c-bar:     255 255 255;
  --c-panel:   255 255 255;
  --c-primary: 0 122 204;
  --c-accent:  214 154 0;
  --c-ember:   224 138 20;
  --c-purple:  124 45 220;
  --c-red:     214 40 32;
  --c-text:    38 45 58;
}

body { -webkit-font-smoothing: antialiased; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ---------- Kortelės ---------- */
.panel {
  background: linear-gradient(180deg, rgb(var(--c-panel) / .92), rgb(var(--c-bar) / .92));
  border: 1px solid rgb(var(--c-primary) / .18);
  border-radius: 1rem;
}
.panel-hover:hover { border-color: rgb(var(--c-primary) / .45); }

/* ---------- Būsenos juostos elementai ---------- */
.stat-pill {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .3rem .65rem;
  background: rgb(var(--c-bg) / .7);
  border: 1px solid rgb(var(--c-text) / .12);
  border-radius: 9999px;
  white-space: nowrap;
  font-size: .75rem;
  transition: border-color .15s;
}

.nav-link {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .35rem .7rem;
  border-radius: .5rem;
  color: #8A93A6;
  white-space: nowrap;
  font-weight: 500;
  transition: color .15s, background .15s;
}
.nav-link:hover { color: #fff; background: rgba(255,255,255,.05); }
.nav-link-active { background: rgb(var(--c-primary) / .14); box-shadow: inset 0 -2px 0 rgb(var(--c-primary)); }

/* ---------- Mygtukai ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .7rem 1.4rem;
  border-radius: .6rem;
  font-weight: 700;
  font-family: 'Orbitron', sans-serif;
  letter-spacing: .03em;
  cursor: pointer;
  transition: transform .08s, filter .15s, box-shadow .15s;
  border: none;
}
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-primary {
  background: linear-gradient(180deg, rgb(var(--c-primary)), rgb(var(--c-primary) / .72));
  color: #fff;
  box-shadow: 0 3px 0 rgb(var(--c-primary) / .45), 0 0 22px rgb(var(--c-primary) / .28);
}
.btn-primary:hover:not(:disabled) { filter: brightness(1.1); }
.btn-primary:active { box-shadow: 0 1px 0 rgb(var(--c-primary) / .45); }
.btn-gold {
  background: linear-gradient(180deg, rgb(var(--c-accent)), rgb(var(--c-accent) / .78));
  color: #201700;
  box-shadow: 0 3px 0 rgb(var(--c-accent) / .5), 0 0 22px rgb(var(--c-accent) / .28);
}
.btn-gold:hover:not(:disabled) { filter: brightness(1.07); }
.btn-ghost {
  background: rgb(var(--c-text) / .07);
  color: rgb(var(--c-text));
  border: 1px solid rgb(var(--c-text) / .18);
}
.btn-ghost:hover { background: rgb(var(--c-text) / .14); }

/* ---------- Formos ---------- */
.field { display: block; margin-bottom: 1rem; }
.field-label {
  display: block; margin-bottom: .35rem;
  font-size: .8rem; font-weight: 600; color: #9AA4B8;
}
.field-hint { margin-top: .3rem; font-size: .7rem; color: #5E6879; }
.input {
  width: 100%;
  padding: .7rem .9rem;
  background: rgb(var(--c-bg) / .75);
  border: 1px solid rgb(var(--c-text) / .18);
  border-radius: .6rem;
  color: #fff;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.input::placeholder { color: #4A5365; }
.input:focus {
  border-color: rgb(var(--c-accent));
  box-shadow: 0 0 0 3px rgb(var(--c-accent) / .18);
}
.input:focus-visible { outline: none; }

/* ---------- Pranešimai ---------- */
.flash {
  display: flex; align-items: center; gap: .6rem;
  padding: .75rem 1rem;
  border-radius: .6rem;
  font-size: .875rem;
  border: 1px solid;
}
.flash-success { background: rgba(34,197,94,.1);  border-color: rgba(34,197,94,.35);  color: #86EFAC; }
.flash-error   { background: rgba(255,59,48,.1);  border-color: rgba(255,59,48,.35);  color: #FCA5A5; }
.flash-info    { background: rgba(0,164,255,.1);  border-color: rgba(0,164,255,.35);  color: #7DD3FC; }

/* ---------- Juostos (HP, XP) ---------- */
.bar { height: .5rem; background: rgb(var(--c-text) / .12); border-radius: 9999px; overflow: hidden; }
.bar > span { display: block; height: 100%; border-radius: 9999px; transition: width .4s ease; }
.bar-hp  > span { background: linear-gradient(90deg, #FF3B30, #FF7A45); }
.bar-xp  > span { background: linear-gradient(90deg, #00A4FF, #7DD3FC); }
.bar-gold> span { background: linear-gradient(90deg, #E5A700, #FFD84D); }

/* ---------- Rasės pasirinkimas ---------- */
.race-card {
  position: relative;
  display: block;
  padding: 1rem;
  border-radius: .9rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgb(var(--c-panel) / .6);
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .12s;
}
.race-card:hover { border-color: rgb(var(--c-primary) / .5); transform: translateY(-2px); }
.race-card input { position: absolute; opacity: 0; pointer-events: none; }
.race-card:has(input:checked) {
  border-color: rgb(var(--c-accent));
  background: rgb(var(--c-accent) / .09);
  box-shadow: 0 0 0 1px rgb(var(--c-accent) / .35), 0 0 26px rgb(var(--c-accent) / .12);
}
.race-card input:focus-visible + .race-inner { outline: 2px solid rgb(var(--c-accent)); outline-offset: 4px; }

/* ---------- Prieinamumas ---------- */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid rgb(var(--c-accent));
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* ------------------------------------------------------------
   Šviesios temos pataisos.
   Tailwind klasės text-white ir text-gray-* sukurtos tamsiam fonui,
   todėl šviesioje temoje jas perrašome.
   ------------------------------------------------------------ */
[data-theme="light"] { color-scheme: light; }
[data-theme="light"] .text-white       { color: #16202E !important; }
[data-theme="light"] .text-gray-400    { color: #55606F !important; }
[data-theme="light"] .text-gray-500    { color: #5C6875 !important; }
[data-theme="light"] .text-gray-600    { color: #6B7684 !important; }
[data-theme="light"] .text-gray-700    { color: #8A94A2 !important; }
[data-theme="light"] .text-green-400   { color: #128A48 !important; }
[data-theme="light"] .panel {
  background: #fff;
  border-color: rgb(var(--c-primary) / .22);
  box-shadow: 0 1px 3px rgba(16,24,40,.06), 0 6px 20px rgba(16,24,40,.05);
}
[data-theme="light"] .stat-pill { background: #fff; border-color: rgba(16,24,40,.12); }
[data-theme="light"] .input     { background: #fff; border-color: rgba(16,24,40,.18); color: #16202E; }
[data-theme="light"] .input::placeholder { color: #9AA3AF; }
[data-theme="light"] .nav-link  { color: #5C6875; }
[data-theme="light"] .nav-link:hover { background: rgba(16,24,40,.05); color: #16202E; }
[data-theme="light"] .bar       { background: rgba(16,24,40,.1); }
[data-theme="light"] .btn-ghost { background: #fff; border-color: rgba(16,24,40,.16); color: #3A4552; }
[data-theme="light"] .btn-ghost:hover { background: #F2F4F7; }
[data-theme="light"] .race-card { background: #fff; border-color: rgba(16,24,40,.12); }
[data-theme="light"] .flash-info { color: #1D4ED8; }
[data-theme="light"] .flash-success { color: #15803D; }
[data-theme="light"] .flash-error { color: #B42318; }

/* Tamsūs fonai (bg-black/40 ir pan.) šviesioje temoje virsta šviesiais */
[data-theme="light"] .bg-black\/30,
[data-theme="light"] .bg-black\/40,
[data-theme="light"] .bg-black\/50,
[data-theme="light"] .bg-black\/60 { background-color: #F4F6F9 !important; }
[data-theme="light"] .border-white\/5,
[data-theme="light"] .border-white\/10 { border-color: rgba(16,24,40,.10) !important; }
[data-theme="light"] .bg-white\/5 { background-color: rgba(16,24,40,.04) !important; }
