/* Pure CSS master bundle for LD app */
@import url('/css/style.css');
@import url('/css/style-core.css');
@import url('/css/style-mobile.css');
@import url('/css/style-components.css');
@import url('/css/style-steps.css');
@import url('/css/style-theme-surfaces.css');
@import url('/css/style-print.css');

/* === Pure pass: global visual unification === */
:root{
  --pure-radius: 14px;
  --pure-radius-sm: 10px;
  --pure-shadow: 0 14px 38px rgba(5,10,22,.34);
}

main.dashboard-wrap{ max-width: 1400px; margin-inline:auto; }
.dashboard-wrap .dashboard-card,
.card,
.panel{
  border-radius: var(--pure-radius) !important;
  box-shadow: var(--pure-shadow);
}

.btn,a.btn,button.btn{
  border-radius: var(--pure-radius-sm) !important;
  font-weight: 700;
  letter-spacing: .015em;
}

.dashboard-grid article.dashboard-card img{
  width:100%;
  aspect-ratio: 4/3;
  object-fit:cover;
}

.dashboard-grid .card-action-row{ gap:.5rem; }
.dashboard-grid .card-action-row .btn{ min-width:92px; justify-content:center; }

/* light palette readability */
[data-theme='light'],
[data-theme='parchment'],
[data-theme='dawn'],
[data-theme='ivory']{
  color:#1f2a39;
}
[data-theme='light'] .text-white,
[data-theme='parchment'] .text-white,
[data-theme='dawn'] .text-white,
[data-theme='ivory'] .text-white{ color:#1f2a39 !important; }
[data-theme='light'] .text-white\/70,
[data-theme='parchment'] .text-white\/70,
[data-theme='dawn'] .text-white\/70,
[data-theme='ivory'] .text-white\/70{ color:#44546b !important; }
[data-theme='light'] .text-white\/60,
[data-theme='parchment'] .text-white\/60,
[data-theme='dawn'] .text-white\/60,
[data-theme='ivory'] .text-white\/60{ color:#5a6a82 !important; }

[data-theme='light'] .dashboard-card,
[data-theme='parchment'] .dashboard-card,
[data-theme='dawn'] .dashboard-card,
[data-theme='ivory'] .dashboard-card{
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,244,236,.97));
  border: 1px solid rgba(80,94,112,.24);
}

/* builders */
#swadeForm input,#swadeForm select,#swadeForm textarea,
#wodForm input,#wodForm select,#wodForm textarea{
  border-radius: 10px;
}


/* === Unified Theme Lock: all theme keys render with same Pure palette === */
html[data-theme],
html[data-theme='midnight'],
html[data-theme='obsidian'],
html[data-theme='sunset'],
html[data-theme='forest'],
html[data-theme='discord'],
html[data-theme='light'],
html[data-theme='parchment'],
html[data-theme='dawn'],
html[data-theme='ivory'],
html[data-theme='amethyst'],
html[data-theme='ocean'],
html[data-theme='ember'],
html[data-theme='moss'],
html[data-theme='rose'],
html[data-theme='slate'] {
  --bg: #0b1320;
  --bg2: #111a2d;
  --panel: #15213a;
  --panel-2: #1b2947;
  --text: #e7efff;
  --muted: #9eb1cc;
  --ring: #6f8fc3;
  --accent: #5f86d8;
  --accent-2: #3ec6a0;
}

html[data-theme] body{
  background: radial-gradient(1200px 600px at 8% -8%, rgba(95,134,216,.18), transparent 60%),
              radial-gradient(900px 500px at 95% 0%, rgba(62,198,160,.12), transparent 55%),
              linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  color: var(--text);
}

/* Welcome + catalog subtle polish in Pure system */
#welcome-page details.card summary{ color: var(--text); }
#welcome-page .card{ border: 1px solid color-mix(in srgb, var(--ring) 36%, transparent); }
#abilities-catalog-app .ability-list-wrap{ box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); }
#abilities-catalog-app input::placeholder{ color: color-mix(in srgb, var(--muted) 80%, transparent); }


/* Stable fixed page background for dashboard + welcome surfaces. */
.dashboard-wrap,
#welcome-page {
  position: relative;
  z-index: 0;
}

.dashboard-wrap::before,
#welcome-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(1200px 680px at 12% -10%, rgba(95, 134, 216, .18), transparent 60%),
    radial-gradient(900px 540px at 92% 4%, rgba(118, 36, 255, .14), transparent 58%),
    linear-gradient(180deg, var(--bg, #0b1320) 0%, var(--bg2, #111a2d) 100%);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}
