/** (PREGNORF ✅) DMXReady 2026 — Public SSOT Enforcement
 * ZIP-owned semantic layer for public pages, showroom, footer, drawer, and marketing demos.
 */
:root,
.dmxr4,
.dmxr4-public-2026,
[data-dmxr-kit="dmxready-2026"],
[data-skin="dmxready-2026"],
.dmxr-styleguide{
  /* Foundation */
  --dmxr-2026-bg:#071126;
  --dmxr-2026-bg-2:#0b1731;
  --dmxr-2026-surface:#0f1d3f;
  --dmxr-2026-surface-2:#15264d;
  --dmxr-2026-surface-3:#1a305f;
  --dmxr-2026-card-bg:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  --dmxr-2026-card-bg-strong:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  --dmxr-2026-card-border:rgba(255,255,255,.12);
  --dmxr-2026-card-border-strong:rgba(255,255,255,.16);
  --dmxr-2026-text:#f5f7fb;
  --dmxr-2026-muted:rgba(245,247,251,.78);
  --dmxr-2026-muted-2:rgba(245,247,251,.62);
  --dmxr-2026-brand:#ff2d55;
  --dmxr-2026-brand-2:#d50f43;
  --dmxr-2026-brand-glow:rgba(255,45,85,.22);
  --dmxr-2026-glow-1:0 22px 60px rgba(3,9,24,.28);
  --dmxr-2026-glow-2:0 14px 34px rgba(2,8,22,.24);
  --dmxr-2026-radius-xl:28px;
  --dmxr-2026-radius-lg:22px;
  --dmxr-2026-radius-md:16px;
  --dmxr-2026-space-2:8px;
  --dmxr-2026-space-3:12px;
  --dmxr-2026-space-4:16px;
  --dmxr-2026-space-5:20px;
  --dmxr-2026-space-6:24px;
  --dmxr-2026-space-7:28px;
  --dmxr-2026-space-8:32px;
  --dmxr-2026-content-max:1180px;
  --dmxr-2026-copy-max:72ch;
  --dmxr-2026-header-offset:92px;

  /* Semantic bridge */
  --dmxr-page-bg:var(--dmxr-2026-bg);
  --dmxr-page-bg-2:var(--dmxr-2026-bg-2);
  --dmxr-surface-bg:var(--dmxr-2026-card-bg);
  --dmxr-surface-bg-strong:var(--dmxr-2026-card-bg-strong);
  --dmxr-surface-border:var(--dmxr-2026-card-border);
  --dmxr-surface-border-strong:var(--dmxr-2026-card-border-strong);
  --dmxr-text:var(--dmxr-2026-text);
  --dmxr-text-muted:var(--dmxr-2026-muted);
  --dmxr-text-quiet:var(--dmxr-2026-muted-2);
  --dmxr-brand:var(--dmxr-2026-brand);
  --dmxr-brand-2:var(--dmxr-2026-brand-2);
  --dmxr-brand-glow:var(--dmxr-2026-brand-glow);
  --dmxr-shadow-lg:var(--dmxr-2026-glow-1);
  --dmxr-shadow-md:var(--dmxr-2026-glow-2);
  --dmxr-radius-xl:var(--dmxr-2026-radius-xl);
  --dmxr-radius-lg:var(--dmxr-2026-radius-lg);
  --dmxr-radius-md:var(--dmxr-2026-radius-md);
  --dmxr-space-2:var(--dmxr-2026-space-2);
  --dmxr-space-3:var(--dmxr-2026-space-3);
  --dmxr-space-4:var(--dmxr-2026-space-4);
  --dmxr-space-5:var(--dmxr-2026-space-5);
  --dmxr-space-6:var(--dmxr-2026-space-6);
  --dmxr-space-7:var(--dmxr-2026-space-7);
  --dmxr-space-8:var(--dmxr-2026-space-8);
  --dmxr-content-max:var(--dmxr-2026-content-max);
  --dmxr-copy-max:var(--dmxr-2026-copy-max);

  /* V4 compatibility bridge */
  --v4-ink:var(--dmxr-text);
  --v4-muted:var(--dmxr-text-muted);
  --v4-bg:var(--dmxr-page-bg);
  --v4-card:var(--dmxr-surface-bg);
  --v4-soft:var(--dmxr-page-bg-2);
  --v4-border:var(--dmxr-surface-border);
  --v4-border-strong:var(--dmxr-surface-border-strong);
  --v4-brand:var(--dmxr-brand);
  --v4-brand-ink:#ffffff;
  --v4-radius:var(--dmxr-radius-lg);
  --v4-radius-sm:var(--dmxr-radius-md);
  --v4-shadow:var(--dmxr-shadow-lg);
  --v4-shadow-sm:var(--dmxr-shadow-md);

  /* Legacy aliases still used in some public templates */
  --dmxr-card-bg:var(--dmxr-surface-bg);
  --dmxr-card-border:var(--dmxr-surface-border);
}

.dmxr4-public-2026,
.dmxr4-public-2026 *{ box-sizing:border-box; }

.dmxr4-public-2026{
  color:var(--dmxr-2026-text);
}

.dmxr4-public-2026 .dmxr4-section-shell,
.dmxr4-public-2026 .dmxr4-surface-card,
.dmxr4-public-2026 .dmxr4-surface-panel{
  background:var(--dmxr-2026-card-bg);
  border:1px solid var(--dmxr-2026-card-border);
  border-radius:var(--dmxr-2026-radius-lg);
  box-shadow:var(--dmxr-2026-glow-2);
}

.dmxr4-public-2026 .dmxr4-chip,
.dmxr4-public-2026 .dmxr-chip,
.dmxr4-public-2026 .dmxr4-pill,
.dmxr4-public-2026 .dmxr4-proof-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--dmxr-2026-card-border);
  background:rgba(255,255,255,.045);
  color:var(--dmxr-2026-text);
  font-size:13px;
  font-weight:750;
  line-height:1.2;
  text-align:center;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr-btn,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .btn,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr4mdr__btn{
  border-radius:999px;
  color:var(--dmxr-2026-text);
  -webkit-text-fill-color:currentColor;
  opacity:1;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr-btn--primary,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .btn-primary,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr4mdr__btn--primary{
  background:linear-gradient(135deg, var(--dmxr-2026-brand), var(--dmxr-2026-brand-2));
  box-shadow:0 14px 28px var(--dmxr-2026-brand-glow);
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr-btn--secondary,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr-btn--quiet,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .btn-quiet,
.dmxr4-public-2026:not(.dmxr4-public-core-page) .dmxr4mdr__btn--quiet{
  background:rgba(255,255,255,.05);
  border:1px solid var(--dmxr-2026-card-border);
  color:var(--dmxr-2026-text);
  -webkit-text-fill-color:currentColor;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) :where(.dmxr-btn, .btn, .dmxr4mdr__btn) :where(span, small, strong, em, i, svg){
  color:inherit;
  fill:currentColor;
  -webkit-text-fill-color:currentColor;
  opacity:1;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) :where(.dmxr-btn, .btn, .dmxr4mdr__btn):is(:hover, :focus-visible, :active){
  color:inherit;
  -webkit-text-fill-color:currentColor;
  opacity:1;
}
.dmxr4-public-2026:not(.dmxr4-public-core-page) :where(.dmxr-btn--primary, .btn-primary, .dmxr4mdr__btn--primary):is(:hover, :focus-visible, :active, :visited){
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
.dmxr4-public-2026:not(.dmxr4-public-core-page) :where(.dmxr-btn--secondary, .dmxr-btn--quiet, .btn-quiet, .dmxr4mdr__btn--quiet):is(:hover, :focus-visible, :active, :visited){
  color:var(--dmxr-2026-text);
  -webkit-text-fill-color:currentColor;
}

.dmxr4-public-2026:not(.dmxr4-public-core-page) :where(.dmxr-btn, .btn, .dmxr4mdr__btn):is(:disabled, [disabled], [aria-disabled="true"], .is-disabled){
  opacity:.56;
  color:inherit;
  -webkit-text-fill-color:currentColor;
  cursor:not-allowed;
}

.dmxr4-public-2026 .dmxr4-proof-chip-grid,
.dmxr4-public-2026 .dmxr-proofMeta,
.dmxr4-public-2026 .dmxr-chipRow,
.dmxr4-public-2026 .dmxr-storyMeta,
.dmxr4-public-2026 .badge-row,
.dmxr4-public-2026 .dmxr4mdr__chips{
  gap:var(--dmxr-2026-space-2);
}

@media (max-width: 960px){
  .dmxr4-public-2026{ --dmxr-2026-header-offset:84px; }
}

@media (max-width: 680px){
  .dmxr4-public-2026{ --dmxr-2026-header-offset:76px; }
  .dmxr4-public-2026 .dmxr4-proof-chip-grid,
  .dmxr4-public-2026 .dmxr-proofMeta,
  .dmxr4-public-2026 .dmxr-chipRow,
  .dmxr4-public-2026 .badge-row,
  .dmxr4-public-2026 .dmxr4mdr__chips{
    display:grid;
    grid-template-columns:1fr;
  }
}


.dmxr4-public-2026 .dmxr4-token-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:var(--dmxr-space-4);
}
.dmxr4-public-2026 .dmxr4-token-card{
  background:var(--dmxr-surface-bg);
  border:1px solid var(--dmxr-surface-border);
  border-radius:var(--dmxr-radius-lg);
  box-shadow:var(--dmxr-shadow-md);
  padding:var(--dmxr-space-5);
  color:var(--dmxr-text);
}
.dmxr4-public-2026 .dmxr4-token-swatch{
  height:72px;
  border-radius:var(--dmxr-radius-md);
  border:1px solid var(--dmxr-surface-border);
  margin-bottom:12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.dmxr4-public-2026 .dmxr4-proof-chip-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--dmxr-space-3);
}
@media (max-width: 900px){
  .dmxr4-public-2026 .dmxr4-proof-chip-grid{
    grid-template-columns:1fr;
  }
}


[data-dmxr-mode="light"],
.dmxr-mode-light,
.dmxr4-public-2026.dmxr-mode-light,
.dmxr-styleguide[data-dmxr-mode="light"]{
  --dmxr-page-bg:#f5f7fb;
  --dmxr-page-bg-2:#ffffff;
  --dmxr-surface-bg:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,252,.94));
  --dmxr-surface-bg-strong:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,247,251,.96));
  --dmxr-surface-border:rgba(11,18,32,.10);
  --dmxr-surface-border-strong:rgba(11,18,32,.14);
  --dmxr-text:#101826;
  --dmxr-text-muted:rgba(16,24,38,.78);
  --dmxr-text-quiet:rgba(16,24,38,.60);
  --dmxr-shadow-md:0 16px 34px rgba(15,23,42,.08);
  --dmxr-shadow-lg:0 22px 56px rgba(15,23,42,.10);
}

[data-dmxr-mode="dark"],
.dmxr4-public-2026.dmxr-mode-dark,
.dmxr-styleguide[data-dmxr-mode="dark"]{
  --dmxr-page-bg:var(--dmxr-2026-bg);
  --dmxr-page-bg-2:var(--dmxr-2026-bg-2);
  --dmxr-surface-bg:var(--dmxr-2026-card-bg);
  --dmxr-surface-bg-strong:var(--dmxr-2026-card-bg-strong);
  --dmxr-surface-border:var(--dmxr-2026-card-border);
  --dmxr-surface-border-strong:var(--dmxr-2026-card-border-strong);
  --dmxr-text:var(--dmxr-2026-text);
  --dmxr-text-muted:var(--dmxr-2026-muted);
  --dmxr-text-quiet:var(--dmxr-2026-muted-2);
  --dmxr-shadow-md:var(--dmxr-2026-glow-2);
  --dmxr-shadow-lg:var(--dmxr-2026-glow-1);
}

.dmxr4-public-2026 .dmxr-sg-mode-toggle{display:inline-flex;gap:8px;flex-wrap:wrap}
.dmxr4-public-2026 .dmxr-sg-mode-toggle button{
  appearance:none;border:1px solid var(--dmxr-surface-border);background:var(--dmxr-surface-bg);color:var(--dmxr-text);padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer;
}
.dmxr4-public-2026 .dmxr-sg-mode-toggle button.is-active{background:var(--dmxr-brand);color:#fff;border-color:transparent;box-shadow:var(--dmxr-shadow-md)}
