@charset "utf-8";

:root {
  --de-bg: #eef5fc;
  --de-bg-2: #f8fbff;
  --de-surface: #ffffff;
  --de-surface-2: #f3f8fd;
  --de-surface-3: #e9f2fb;
  --de-line: #d8e4ef;
  --de-line-strong: #bfd2e6;
  --de-text: #102a43;
  --de-muted: #6b7f94;
  --de-soft: #405970;
  --de-blue: #075aa8;
  --de-blue-deep: #003d78;
  --de-blue-bright: #1773d1;
  --de-blue-soft: #e9f3ff;
  --de-red: #df3441;
  --de-red-soft: #fff0f2;
  --de-good: #12825f;
  --de-good-soft: #eef9f5;
  --de-warn: #b66d00;
  --de-warn-soft: #fff7e8;
  --de-danger: #c93643;
  --de-shadow: 0 20px 54px rgba(11, 66, 121, .12);
  --de-shadow-sm: 0 10px 28px rgba(11, 66, 121, .09);
  --de-radius: 20px;
  --de-radius-sm: 13px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--de-text);
  font-family: Inter, Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", Arial, sans-serif;
  letter-spacing: -.02em;
  background:
    radial-gradient(circle at 88% -4%, rgba(23, 115, 209, .15), transparent 27%),
    radial-gradient(circle at -5% 18%, rgba(223, 52, 65, .06), transparent 19%),
    repeating-linear-gradient(90deg, rgba(7, 90, 168, .025) 0, rgba(7, 90, 168, .025) 1px, transparent 1px, transparent 44px),
    linear-gradient(180deg, #f9fcff 0%, var(--de-bg) 45%, #f5f9fd 100%);
}
body, button, input, select, textarea { font-family: inherit; }
a { color: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }

.de-sr-only,
.sound_only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.de-skip {
  position: fixed;
  top: -60px;
  left: 16px;
  z-index: 9999;
  padding: 12px 16px;
  color: #fff;
  background: var(--de-blue-deep);
  border-radius: 0 0 10px 10px;
  font-weight: 800;
  text-decoration: none;
}
.de-skip:focus { top: 0; }

.de-site { min-height: 100vh; }

/* Header */
.de-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(7, 90, 168, .13);
  box-shadow: 0 5px 20px rgba(7, 54, 100, .045);
  backdrop-filter: blur(18px);
}
.de-topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--de-blue) 0 68%, var(--de-red) 68% 72%, transparent 72%);
  opacity: .75;
}
.de-topbar-inner {
  width: min(1460px, calc(100% - 40px));
  height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
}
.de-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: max-content;
  text-decoration: none;
}
.de-brand-mark {
  position: relative;
  width: 43px;
  height: 43px;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: var(--de-blue);
  font-size: 18px;
  font-weight: 950;
  font-style: italic;
  background: linear-gradient(145deg, #fff 0%, #edf5ff 100%);
  border: 3px solid var(--de-blue);
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(7, 90, 168, .17);
}
.de-brand-mark::before,
.de-brand-mark::after {
  content: "";
  position: absolute;
  top: 5px;
  width: 16px;
  height: 29px;
  border: 2px solid var(--de-red);
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  opacity: .86;
}
.de-brand-mark::before { left: -3px; transform: rotate(13deg); }
.de-brand-mark::after { right: -3px; transform: rotate(-13deg); }
.de-brand-mark > span { position: relative; z-index: 2; }
.de-brand-copy { display: flex; flex-direction: column; }
.de-brand-copy strong {
  color: var(--de-blue-deep);
  font-size: 18px;
  font-style: italic;
  font-weight: 950;
  letter-spacing: .01em;
}
.de-brand-copy small {
  margin-top: 2px;
  color: var(--de-red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .2em;
}
.de-desktop-nav {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 3px;
  margin-left: 10px;
}
.de-nav-link {
  padding: 11px 13px;
  color: var(--de-muted);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}
.de-nav-link:hover,
.de-nav-link.is-active {
  color: var(--de-blue);
  background: var(--de-blue-soft);
}
.de-top-actions { display: flex; align-items: center; gap: 8px; }
.de-api-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  color: var(--de-muted);
  background: #f7fafc;
  border: 1px solid var(--de-line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.de-api-pill i {
  width: 8px;
  height: 8px;
  background: #91a4b7;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(145, 164, 183, .1);
}
.de-api-pill.is-live { color: var(--de-good); background: var(--de-good-soft); border-color: rgba(18, 130, 95, .2); }
.de-api-pill.is-live i { background: var(--de-good); box-shadow: 0 0 0 5px rgba(18, 130, 95, .1); }
.de-api-pill.is-demo { color: var(--de-warn); background: var(--de-warn-soft); border-color: rgba(182, 109, 0, .2); }
.de-api-pill.is-demo i { background: var(--de-warn); box-shadow: 0 0 0 5px rgba(182, 109, 0, .1); }
.de-api-pill.is-error { color: var(--de-danger); background: var(--de-red-soft); border-color: rgba(201, 54, 67, .2); }
.de-api-pill.is-error i { background: var(--de-danger); box-shadow: 0 0 0 5px rgba(201, 54, 67, .1); }
.de-api-pill.is-loading i { animation: dePulse 1.1s infinite; }
.de-icon-btn,
.de-login-btn,
.de-join-btn,
.de-mobile-menu-btn {
  min-width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  padding: 0 11px;
  color: var(--de-blue-deep);
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 66, 121, .05);
  font-size: 11px;
  font-weight: 950;
  text-decoration: none;
}
.de-login-btn { min-width: 62px; }
.de-join-btn { min-width: 72px; color: #fff; background: var(--de-blue); border-color: var(--de-blue); }
.de-mobile-menu-btn { display: none; }
.de-mobile-menu {
  display: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: min(1460px, calc(100% - 28px));
  margin: 0 auto;
  padding: 12px 0 16px;
}
.de-mobile-menu a {
  padding: 11px 8px;
  color: var(--de-blue-deep);
  background: var(--de-surface-2);
  border: 1px solid var(--de-line);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

/* Main */
.de-main {
  width: min(1460px, calc(100% - 40px));
  min-height: 65vh;
  margin: 0 auto;
  padding: 34px 0 110px;
}
.de-main-sub { width: min(1280px, calc(100% - 40px)); }

/* Hero */
.de-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.28fr .72fr;
  gap: 22px;
  padding: 31px;
  background: linear-gradient(112deg, rgba(255, 255, 255, .98) 0%, rgba(248, 252, 255, .98) 52%, rgba(229, 241, 254, .98) 100%);
  border: 1px solid rgba(7, 90, 168, .2);
  border-radius: 28px;
  box-shadow: var(--de-shadow);
}
.de-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(105deg, transparent 0 30px, rgba(7, 90, 168, .035) 30px 31px),
    linear-gradient(90deg, var(--de-blue) 0 7px, transparent 7px);
  pointer-events: none;
}
.de-hero-copy,
.de-hero-metrics { position: relative; z-index: 2; }
.de-eyebrow {
  color: var(--de-red);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.de-hero h1 {
  max-width: 800px;
  margin: 12px 0;
  color: var(--de-text);
  font-size: clamp(31px, 4vw, 42px);
  line-height: 1.13;
  letter-spacing: -.047em;
}
.de-hero h1 span { position: relative; color: var(--de-blue); }
.de-hero h1 span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 10%;
  bottom: -5px;
  height: 4px;
  background: linear-gradient(90deg, var(--de-red), rgba(223, 52, 65, .08));
  border-radius: 99px;
}
.de-hero p {
  max-width: 780px;
  margin: 0;
  color: var(--de-muted);
  font-size: 15px;
  line-height: 1.78;
}
.de-hero-badges { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.de-hero-badges span {
  padding: 8px 11px;
  color: var(--de-soft);
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(11, 66, 121, .05);
  font-size: 12px;
  font-weight: 800;
}
.de-hero-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-content: start;
}
.de-metric {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 16px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(7, 90, 168, .14);
  border-radius: 18px;
  box-shadow: var(--de-shadow-sm);
}
.de-metric::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--de-blue);
}
.de-metric:nth-child(2)::before,
.de-metric:nth-child(4)::before { background: var(--de-red); }
.de-metric > span { color: var(--de-muted); font-size: 12px; font-weight: 800; }
.de-metric > strong { display: block; margin-top: 10px; color: var(--de-blue-deep); font-size: 27px; font-weight: 950; letter-spacing: -.045em; }
.de-metric > small { display: block; margin-top: 6px; color: var(--de-soft); font-size: 11px; }
.de-baseball-watermark {
  position: absolute;
  right: -73px;
  bottom: -165px;
  z-index: 1;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle at 34% 28%, #fff 0%, #f8fbff 44%, #dfeaf6 100%);
  border: 1px solid rgba(7, 90, 168, .12);
  border-radius: 50%;
  box-shadow: inset -25px -30px 50px rgba(7, 65, 120, .08);
  opacity: .75;
  pointer-events: none;
}
.de-baseball-watermark::before,
.de-baseball-watermark::after {
  content: "";
  position: absolute;
  top: 35px;
  bottom: 35px;
  width: 96px;
  border: 4px solid rgba(223, 52, 65, .48);
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
}
.de-baseball-watermark::before { left: 55px; transform: rotate(12deg); }
.de-baseball-watermark::after { right: 55px; transform: rotate(-12deg); }

/* Data source and controls */
.de-demo-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding: 13px 16px;
  color: #775007;
  background: var(--de-warn-soft);
  border: 1px solid rgba(182, 109, 0, .22);
  border-radius: 13px;
  font-size: 12px;
  line-height: 1.55;
}
.de-demo-banner[hidden] { display: none; }
.de-demo-banner strong {
  flex: 0 0 auto;
  padding: 5px 7px;
  color: #fff;
  background: var(--de-warn);
  border-radius: 6px;
  font-size: 10px;
  letter-spacing: .08em;
}
.de-control-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
}
.de-league-tabs {
  display: flex;
  gap: 7px;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 15px;
  box-shadow: var(--de-shadow-sm);
}
.de-league-tab {
  min-width: 78px;
  padding: 11px 18px;
  color: var(--de-muted);
  background: transparent;
  border: 0;
  border-radius: 11px;
  font-weight: 950;
}
.de-league-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--de-blue), var(--de-blue-bright));
  box-shadow: 0 8px 18px rgba(7, 90, 168, .22);
}
.de-date-control { display: flex; align-items: center; gap: 8px; }
.de-date-btn,
.de-date-label,
.de-refresh-btn {
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  color: var(--de-blue-deep);
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(11, 66, 121, .05);
  font-weight: 900;
}
.de-date-btn { min-width: 44px; padding: 0; font-size: 24px; }
.de-date-label { min-width: 170px; }
.de-refresh-btn { color: #fff; background: var(--de-blue); border-color: var(--de-blue); }
.de-date-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.de-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 29px 0 14px;
}
.de-section-head h2 {
  margin: 0;
  color: var(--de-blue-deep);
  font-size: 23px;
  font-weight: 950;
}
.de-section-head h2::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 22px;
  margin-right: 10px;
  vertical-align: -3px;
  background: var(--de-red);
  border-radius: 99px;
}
.de-section-head p { margin: 7px 0 0 16px; color: var(--de-muted); font-size: 12px; }
.de-legend { display: flex; align-items: center; gap: 14px; color: var(--de-muted); font-size: 11px; }
.de-legend span { display: flex; align-items: center; gap: 6px; }
.de-legend i { width: 8px; height: 8px; border-radius: 50%; }
.de-legend i.is-blue { background: var(--de-blue); }
.de-legend i.is-orange { background: var(--de-warn); }
.de-legend i.is-gray { background: #8ba0b5; }

/* Loading and errors */
.de-loading,
.de-error,
.de-empty {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 30px;
  color: var(--de-muted);
  background: rgba(255, 255, 255, .8);
  border: 1px solid var(--de-line);
  border-radius: var(--de-radius);
  box-shadow: var(--de-shadow-sm);
  text-align: center;
}
.de-loading[hidden],
.de-error[hidden] { display: none; }
.de-error { color: var(--de-danger); background: var(--de-red-soft); border-color: rgba(201, 54, 67, .2); }
.de-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #dce8f3;
  border-top-color: var(--de-blue);
  border-radius: 50%;
  animation: deSpin .8s linear infinite;
}
.de-skeleton-card strong { color: transparent; background: linear-gradient(90deg, #edf3f8 25%, #dfeaf4 50%, #edf3f8 75%); background-size: 200% 100%; border-radius: 7px; animation: deShimmer 1.4s infinite; }

/* Game cards */
.de-games { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.de-game-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: var(--de-radius);
  box-shadow: var(--de-shadow-sm);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.de-game-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--de-blue) 0 82%, var(--de-red) 82% 86%, #d8e4ef 86%);
}
.de-game-card:hover { transform: translateY(-3px); border-color: rgba(7, 90, 168, .35); box-shadow: 0 22px 45px rgba(11, 66, 121, .14); }
.de-game-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 19px 18px 13px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  border-bottom: 1px solid #e9eff5;
}
.de-game-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.de-league-chip {
  padding: 6px 8px;
  color: var(--de-blue);
  background: var(--de-blue-soft);
  border: 1px solid rgba(7, 90, 168, .1);
  border-radius: 7px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
}
.de-game-time,
.de-game-venue { color: var(--de-soft); font-size: 12px; font-weight: 900; }
.de-game-venue { color: var(--de-muted); font-weight: 700; }
.de-game-state {
  padding: 7px 9px;
  color: var(--de-good);
  background: var(--de-good-soft);
  border: 1px solid rgba(18, 130, 95, .15);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.de-teams { display: grid; grid-template-columns: 1fr 92px 1fr; align-items: center; padding: 19px 18px 17px; }
.de-team { text-align: center; min-width: 0; }
.de-team-badge {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin: 0 auto 8px;
  color: var(--de-blue);
  background: linear-gradient(145deg, #fff, var(--de-blue-soft));
  border: 2px solid rgba(7, 90, 168, .22);
  border-radius: 50%;
  box-shadow: 0 5px 13px rgba(7, 90, 168, .08);
  font-size: 12px;
  font-weight: 950;
}
.de-team-name { overflow: hidden; color: var(--de-text); font-size: 17px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.de-team-starter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  max-width: 210px;
  margin: 7px auto 0;
  padding: 6px 8px;
  background: #f4f9ff;
  border: 1px solid #e0edf8;
  border-radius: 9px;
}
.de-team-starter span { flex: 0 0 auto; color: var(--de-blue); font-size: 9px; font-weight: 950; }
.de-team-starter strong { min-width: 0; overflow: hidden; color: var(--de-text); font-size: 11px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.de-team-baseline {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  max-width: 220px;
  margin: 6px auto 0;
  color: var(--de-soft);
  font-size: 9px;
  line-height: 1.45;
}
.de-team-baseline span { white-space: nowrap; }
.de-team-baseline strong { color: var(--de-blue-deep); font-size: 10px; }
.de-team-hitting { margin-top: 2px; }
.de-baseline-wait {
  color: var(--de-muted);
  font-weight: 750;
  white-space: normal !important;
}
.de-team-sub { margin-top: 6px; color: var(--de-muted); font-size: 10px; font-weight: 700; }
.de-team-score { margin-top: 5px; color: var(--de-blue-deep); font-size: 35px; font-weight: 950; letter-spacing: -.06em; }
.de-versus { text-align: center; }
.de-vs-badge {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  color: #fff;
  background: linear-gradient(145deg, var(--de-blue), var(--de-blue-deep));
  border-radius: 50%;
  box-shadow: 0 8px 17px rgba(7, 90, 168, .2);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
}
.de-projected-total { margin-top: 9px; color: var(--de-soft); font-size: 12px; font-weight: 800; }
.de-quality { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; color: var(--de-muted); font-size: 10px; }
.de-quality strong { color: var(--de-red); }
.de-quality-score { margin-left: 2px; color: var(--de-muted); }
.de-market-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 0 18px 14px; }
.de-market-btn {
  padding: 10px 5px;
  color: var(--de-muted);
  background: var(--de-surface-2);
  border: 1px solid var(--de-line);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 950;
  transition: .15s ease;
}
.de-market-btn:hover { color: var(--de-blue); border-color: rgba(7, 90, 168, .26); }
.de-market-btn.is-active { color: #fff; background: var(--de-blue); border-color: var(--de-blue); box-shadow: 0 6px 15px rgba(7, 90, 168, .18); }
.de-market-btn:disabled,
.de-market-btn.is-disabled {
  cursor: not-allowed;
  color: #8fa0b1;
  background: #f5f8fb;
  border-color: #e3eaf1;
  box-shadow: none;
  opacity: .82;
}
.de-market-btn:disabled:hover,
.de-market-btn.is-disabled:hover { color: #8fa0b1; border-color: #e3eaf1; }
.de-pick-panel {
  margin: 0 18px 18px;
  padding: 16px;
  background: linear-gradient(135deg, #eff6ff 0%, #fff 100%);
  border: 1px solid rgba(7, 90, 168, .19);
  border-left: 4px solid var(--de-red);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
.de-pick-panel.is-locked {
  background: linear-gradient(135deg, #f7f9fc 0%, #fff 100%);
  border-color: #dfe7ef;
  border-left-color: #9babb9;
}
.de-pick-panel.is-locked .de-pick-label { color: var(--de-muted); }
.de-pick-panel.is-locked .de-pick-name { color: var(--de-soft); }
.de-pick-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.de-pick-label { color: var(--de-red); font-size: 10px; font-weight: 950; letter-spacing: .1em; }
.de-pick-name { margin-top: 4px; color: var(--de-blue-deep); font-size: 18px; font-weight: 950; }
.de-probability { flex: 0 0 auto; text-align: right; }
.de-probability strong { display: block; color: var(--de-blue); font-size: 26px; }
.de-probability span { display: block; margin-top: 2px; color: var(--de-muted); font-size: 10px; font-weight: 700; }
.de-odds-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 13px; }
.de-odd { padding: 10px; background: #fff; border: 1px solid var(--de-line); border-radius: 10px; }
.de-odd small { display: block; color: var(--de-muted); font-size: 9px; font-weight: 700; }
.de-odd strong { display: block; margin-top: 4px; color: var(--de-text); font-size: 13px; }
.de-odd.is-good { background: var(--de-good-soft); border-color: rgba(18, 130, 95, .16); }
.de-odd.is-good strong { color: var(--de-good); }
.de-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 18px 17px;
  color: var(--de-muted);
  font-size: 10px;
}
.de-detail-link,
.de-drawer-link {
  padding: 4px 0;
  color: var(--de-blue);
  background: transparent;
  border: 0;
  font-weight: 950;
  text-decoration: none;
}
.de-integrity-note {
  margin-top: 18px;
  padding: 16px 18px;
  color: #6e4248;
  background: var(--de-red-soft);
  border: 1px solid rgba(223, 52, 65, .16);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(90, 30, 40, .04);
  font-size: 12px;
  line-height: 1.7;
}
.de-integrity-note strong { color: var(--de-red); }

/* Drawer */
.de-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(5, 31, 58, .42);
  backdrop-filter: blur(3px);
}
.de-drawer-backdrop[hidden] { display: none; }
.de-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 110;
  width: min(500px, 100%);
  overflow-y: auto;
  background: #f8fbff;
  border-left: 1px solid var(--de-line);
  box-shadow: -22px 0 60px rgba(5, 31, 58, .2);
  transform: translateX(101%);
  transition: transform .24s ease;
}
.de-drawer.is-open { transform: translateX(0); }
.de-drawer-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--de-line);
  backdrop-filter: blur(14px);
}
.de-drawer-head small { color: var(--de-red); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.de-drawer-head h2 { margin: 4px 0 0; color: var(--de-blue-deep); font-size: 20px; }
.de-drawer-close {
  width: 38px;
  height: 38px;
  color: var(--de-blue-deep);
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 11px;
  font-size: 20px;
}
.de-drawer-body { padding: 20px; }
.de-detail-block {
  margin-bottom: 12px;
  padding: 15px;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 15px;
  box-shadow: var(--de-shadow-sm);
}
.de-detail-block h3 { margin: 0 0 12px; color: var(--de-blue-deep); font-size: 13px; }
.de-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.de-detail-item { padding: 10px; background: var(--de-surface-2); border: 1px solid #e8eff6; border-radius: 10px; }
.de-detail-item small { display: block; color: var(--de-muted); font-size: 10px; }
.de-detail-item strong { display: block; margin-top: 4px; color: var(--de-text); font-size: 13px; }
.de-starter-item span { display: block; margin-top: 6px; color: var(--de-soft); font-size: 9px; font-weight: 800; }
.de-drawer-baseline,
.de-detail-baseline {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 9px;
  margin-top: 8px;
  padding-top: 7px;
  color: var(--de-soft);
  border-top: 1px dashed #d8e4ef;
  font-size: 10px;
}
.de-drawer-baseline strong,
.de-detail-baseline strong { color: var(--de-blue-deep); }
.de-baseline-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--de-line);
  border-radius: 12px;
  background: #fff;
}
.de-baseline-table {
  width: 100%;
  min-width: 390px;
  border-collapse: collapse;
}
.de-baseline-table th,
.de-baseline-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e9eff5;
  font-size: 11px;
  text-align: right;
  white-space: nowrap;
}
.de-baseline-table th:first-child,
.de-baseline-table td:first-child { text-align: left; }
.de-baseline-table th {
  color: var(--de-muted);
  background: #f7fbff;
  font-size: 10px;
}
.de-baseline-table td { color: var(--de-text); font-weight: 800; }
.de-baseline-table tbody tr:last-child td { border-bottom: 0; }
.de-impact-tag { display: inline-flex; margin-top: 6px; padding: 4px 6px; color: var(--de-blue); background: var(--de-blue-soft); border-radius: 6px; font-size: 9px; font-weight: 900; }

/* Sub pages */
.de-sub-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 25px 27px;
  background: linear-gradient(120deg, #fff, #ecf5ff);
  border: 1px solid rgba(7, 90, 168, .18);
  border-radius: 22px;
  box-shadow: var(--de-shadow-sm);
}
.de-sub-hero span { color: var(--de-red); font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.de-sub-hero h1 { margin: 6px 0; color: var(--de-blue-deep); font-size: 30px; }
.de-sub-hero p { margin: 0; color: var(--de-muted); font-size: 13px; }
.de-back-link { flex: 0 0 auto; padding: 11px 14px; color: var(--de-blue); background: #fff; border: 1px solid var(--de-line); border-radius: 11px; font-size: 12px; font-weight: 900; text-decoration: none; }
.de-detail-page,
.de-validation-page { margin-top: 20px; }
.de-detail-matchup {
  display: grid;
  grid-template-columns: 1fr 120px 1fr;
  align-items: center;
  padding: 25px;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 20px;
  box-shadow: var(--de-shadow-sm);
}
.de-detail-team { text-align: center; }
.de-detail-team .de-team-badge { width: 58px; height: 58px; font-size: 14px; }
.de-detail-team h2 { margin: 9px 0 0; color: var(--de-text); font-size: 22px; }
.de-detail-starter {
  max-width: 250px;
  margin: 10px auto 12px;
  padding: 9px 10px;
  background: linear-gradient(135deg, #f1f7ff, #fff);
  border: 1px solid #dceaf7;
  border-radius: 11px;
}
.de-detail-starter span { display: block; color: var(--de-blue); font-size: 9px; font-weight: 950; letter-spacing: .08em; }
.de-detail-starter strong { display: block; overflow: hidden; margin-top: 4px; color: var(--de-text); font-size: 14px; font-weight: 950; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.de-detail-starter small { display: block; margin-top: 3px; color: var(--de-muted); font-size: 9px; }
.de-detail-team > strong { display: block; margin-top: 8px; color: var(--de-blue-deep); font-size: 42px; letter-spacing: -.05em; }
.de-detail-vs { text-align: center; }
.de-detail-vs b { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto; color: #fff; background: linear-gradient(145deg, var(--de-blue), var(--de-blue-deep)); border-radius: 50%; }
.de-detail-vs span { display: block; margin-top: 9px; color: var(--de-muted); font-size: 11px; }
.de-detail-panels { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; margin-top: 16px; }
.de-panel { padding: 20px; background: #fff; border: 1px solid var(--de-line); border-radius: 18px; box-shadow: var(--de-shadow-sm); }
.de-panel h2 { margin: 0 0 14px; color: var(--de-blue-deep); font-size: 17px; }
.de-detail-panels-metrics { grid-template-columns: 1.35fr .85fr; }
.de-panel-wide { grid-column: 1 / -1; }
.de-panel-note {
  margin: -5px 0 14px;
  color: var(--de-muted);
  font-size: 11px;
  line-height: 1.6;
}
.de-market-table { width: 100%; border-collapse: collapse; }
.de-market-table th,
.de-market-table td { padding: 12px 9px; border-bottom: 1px solid #e9eff5; font-size: 12px; text-align: right; }
.de-market-table th:first-child,
.de-market-table td:first-child { text-align: left; }
.de-market-table th { color: var(--de-muted); font-size: 10px; }
.de-market-table td strong { color: var(--de-blue-deep); }
.de-data-status-list { display: grid; gap: 9px; }
.de-data-status-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; background: var(--de-surface-2); border: 1px solid #e8eff6; border-radius: 10px; font-size: 12px; }
.de-data-status-item span { color: var(--de-muted); }
.de-data-status-item strong { color: var(--de-text); }

/* Validation */
.de-validation-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.de-stat-card { position: relative; overflow: hidden; min-height: 130px; padding: 20px; background: #fff; border: 1px solid var(--de-line); border-radius: 18px; box-shadow: var(--de-shadow-sm); }
.de-stat-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--de-blue); }
.de-stat-card:nth-child(even)::before { background: var(--de-red); }
.de-stat-card span { color: var(--de-muted); font-size: 12px; font-weight: 800; }
.de-stat-card strong { display: block; margin-top: 16px; color: var(--de-blue-deep); font-size: 30px; }
.de-stat-card small { display: block; margin-top: 5px; color: var(--de-soft); }
.de-validation-head { margin-top: 24px; }
.de-validation-table-wrap { overflow: auto; background: #fff; border: 1px solid var(--de-line); border-radius: 18px; box-shadow: var(--de-shadow-sm); }
.de-validation-table { width: 100%; min-width: 650px; border-collapse: collapse; }
.de-validation-table th,
.de-validation-table td { padding: 15px 17px; border-bottom: 1px solid #e9eff5; font-size: 13px; text-align: center; }
.de-validation-table th { color: var(--de-muted); background: #f7fbff; font-size: 11px; }
.de-validation-table th:first-child,
.de-validation-table td:first-child { text-align: left; font-weight: 900; }
.de-waiting-chip { display: inline-flex; padding: 5px 8px; color: var(--de-warn); background: var(--de-warn-soft); border-radius: 999px; font-size: 10px; font-weight: 900; }

/* Generic GnuBoard content compatibility */
.de-main-sub #container_title,
.de-main-sub > h2 { margin: 0 0 18px; color: var(--de-blue-deep); font-size: 25px; }
.de-main-sub #bo_list,
.de-main-sub #bo_v,
.de-main-sub #bo_w,
.de-main-sub #login_fs,
.de-main-sub .register,
.de-main-sub #faq_wrap,
.de-main-sub #qalist {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 18px;
  box-shadow: var(--de-shadow-sm);
}
.de-main-sub input[type="text"],
.de-main-sub input[type="password"],
.de-main-sub input[type="email"],
.de-main-sub input[type="number"],
.de-main-sub select,
.de-main-sub textarea {
  border: 1px solid var(--de-line-strong);
  border-radius: 9px;
}
.de-main-sub .btn_submit,
.de-main-sub .btn_b01,
.de-main-sub .btn_b02 {
  color: #fff !important;
  background: var(--de-blue) !important;
  border-color: var(--de-blue) !important;
  border-radius: 9px !important;
}

/* Footer */
.de-footer { color: #d5e3f1; background: var(--de-blue-deep); }
.de-footer-inner {
  width: min(1460px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  padding: 34px 0 24px;
}
.de-footer-brand { color: #fff; font-size: 17px; font-style: italic; font-weight: 950; }
.de-footer p { max-width: 550px; margin: 8px 0 0; color: #a9bfd3; font-size: 12px; line-height: 1.7; }
.de-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.de-footer nav a { color: #c5d6e6; font-size: 12px; font-weight: 700; text-decoration: none; }
.de-footer-copy { padding: 14px 20px; color: #87a5bf; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 10px; text-align: center; }
.de-bottom-nav { display: none; }

@keyframes deSpin { to { transform: rotate(360deg); } }
@keyframes dePulse { 50% { opacity: .35; transform: scale(.8); } }
@keyframes deShimmer { to { background-position: -200% 0; } }

@media (max-width: 1120px) {
  .de-desktop-nav { display: none; }
  .de-mobile-menu-btn { display: inline-grid; }
  .de-mobile-menu.is-open { display: grid; }
  .de-hero { grid-template-columns: 1fr; }
  .de-hero-metrics { grid-template-columns: repeat(4, 1fr); }
  .de-games { grid-template-columns: 1fr; }
  .de-baseball-watermark { right: -100px; bottom: -190px; }
  .de-detail-panels { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body { background: linear-gradient(180deg, #f9fcff, #eef5fc); }
  .de-topbar-inner { width: calc(100% - 26px); height: 64px; gap: 10px; }
  .de-brand-mark { width: 38px; height: 38px; font-size: 16px; }
  .de-brand-copy strong { font-size: 15px; }
  .de-brand-copy small { display: none; }
  .de-api-pill,
  .de-login-btn,
  .de-join-btn,
  .de-logout-btn { display: none; }
  .de-mobile-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .de-main,
  .de-main-sub { width: calc(100% - 26px); padding: 18px 0 95px; }
  .de-hero { padding: 21px 18px; border-radius: 20px; }
  .de-hero::before { background: linear-gradient(90deg, var(--de-blue) 0 5px, transparent 5px); }
  .de-hero h1 { font-size: 29px; }
  .de-hero p { font-size: 13px; }
  .de-hero-metrics { grid-template-columns: 1fr 1fr; }
  .de-metric { min-height: 96px; }
  .de-metric > strong { font-size: 22px; }
  .de-baseball-watermark { width: 240px; height: 240px; right: -95px; bottom: -145px; }
  .de-baseball-watermark::before,
  .de-baseball-watermark::after { top: 24px; bottom: 24px; width: 63px; }
  .de-baseball-watermark::before { left: 38px; }
  .de-baseball-watermark::after { right: 38px; }
  .de-demo-banner { align-items: flex-start; }
  .de-control-row { align-items: stretch; }
  .de-league-tabs { width: 100%; overflow-x: auto; }
  .de-league-tab { flex: 1; min-width: 70px; padding: 10px 14px; }
  .de-date-control { width: 100%; }
  .de-date-label { flex: 1; min-width: 0; }
  .de-refresh-btn { width: 44px; padding: 0; font-size: 0; }
  .de-refresh-btn i { font-size: 13px; }
  .de-section-head { align-items: flex-start; margin-top: 23px; }
  .de-legend { display: none; }
  .de-game-top { padding: 16px 13px 11px; }
  .de-game-venue { display: none; }
  .de-teams { grid-template-columns: 1fr 68px 1fr; padding: 17px 10px; }
  .de-team-badge { width: 40px; height: 40px; font-size: 10px; }
  .de-team-name { font-size: 15px; }
  .de-team-starter { gap: 4px; max-width: 145px; padding: 5px 6px; }
  .de-team-starter span { font-size: 8px; }
  .de-team-starter strong { font-size: 10px; }
  .de-team-baseline { max-width: 145px; gap: 2px 5px; font-size: 8px; }
  .de-team-baseline strong { font-size: 9px; }
  .de-team-score { font-size: 30px; }
  .de-vs-badge { width: 38px; height: 38px; }
  .de-market-tabs { gap: 6px; padding: 0 12px 12px; }
  .de-market-btn { padding: 9px 3px; font-size: 10px; }
  .de-pick-panel { margin: 0 12px 14px; }
  .de-card-footer { padding: 0 13px 14px; }
  .de-card-footer span { max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .de-drawer { width: 100%; }
  .de-sub-hero { align-items: flex-start; flex-direction: column; padding: 21px; }
  .de-sub-hero h1 { font-size: 25px; }
  .de-detail-matchup { grid-template-columns: 1fr 70px 1fr; padding: 18px 10px; }
  .de-detail-team h2 { font-size: 17px; }
  .de-detail-team > strong { font-size: 34px; }
  .de-detail-starter { max-width: 150px; padding: 7px 6px; }
  .de-detail-starter strong { font-size: 11px; }
  .de-detail-starter small { font-size: 8px; }
  .de-detail-baseline { gap: 3px 5px; font-size: 8px; }
  .de-baseline-table th,
  .de-baseline-table td { padding: 8px 7px; font-size: 9px; }
  .de-validation-summary { grid-template-columns: 1fr 1fr; }
  .de-footer { padding-bottom: 70px; }
  .de-footer-inner { width: calc(100% - 28px); flex-direction: column; padding-top: 28px; }
  .de-footer nav { justify-content: flex-start; }
  .de-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    height: calc(70px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--de-line);
    box-shadow: 0 -8px 28px rgba(5, 31, 58, .08);
    backdrop-filter: blur(18px);
  }
  .de-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--de-muted); font-size: 9px; font-weight: 900; text-decoration: none; }
  .de-bottom-nav a i { font-size: 17px; }
  .de-bottom-nav a.is-active { color: var(--de-blue); }
}

@media (max-width: 420px) {
  .de-brand-copy strong { max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .de-icon-btn { display: none; }
  .de-hero-metrics { gap: 8px; }
  .de-metric { padding: 13px; }
  .de-pick-name { font-size: 16px; }
  .de-probability strong { font-size: 23px; }
  .de-odds-row { gap: 5px; }
  .de-odd { padding: 8px; }
  .de-validation-summary { grid-template-columns: 1fr; }
}

/* 1.2.1 SPEED FOUNDATION + market audit integrity */
.de-weather-chip {
  display: inline-flex;
  align-items: center;
  max-width: 190px;
  min-height: 25px;
  padding: 4px 9px;
  border: 1px solid #d5e4f2;
  border-radius: 999px;
  background: #f7fbff;
  color: #35617f;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.de-weather-chip.is-ready { color: #09694e; background: #ebf8f3; border-color: #cceadf; }
.de-weather-chip.is-not-applicable-dome { color: #075aa8; background: #eaf4ff; border-color: #cfe4f8; }
.de-weather-chip.is-partial,
.de-weather-chip.is-pending { color: #99600b; background: #fff7e9; border-color: #f2dfbc; }
.de-weather-chip.is-failed { color: #b3363d; background: #fff0f1; border-color: #f1d2d5; }
.de-weather-chip.is-blocked-future-data { color: #657383; background: #f2f5f8; border-color: #dde4ea; }
.de-team-lineup,
.de-team-bullpen,
.de-team-schedule { border-top: 1px dashed #dce8f3; padding-top: 7px; }
.de-team-lineup span:last-child,
.de-team-bullpen span:last-child,
.de-team-schedule span:last-child {
  max-width: 135px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.de-lineup-head {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
}
.de-lineup-head span {
  padding: 6px 9px;
  border: 1px solid #d9e6f2;
  border-radius: 999px;
  background: #f7fbff;
  color: var(--de-muted);
  font-size: 10px;
  font-weight: 800;
}
.de-lineup-head strong { color: var(--de-blue-deep); }
.de-lineup-table th:nth-child(3),
.de-lineup-table th:nth-child(4),
.de-lineup-table td:nth-child(3),
.de-lineup-table td:nth-child(4) { min-width: 125px; }
.de-lineup-table td:first-child { color: var(--de-red); font-weight: 950; }
.de-context-table td:nth-child(2),
.de-context-table td:nth-child(3) { font-weight: 850; }
.de-bullpen-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.de-bullpen-list {
  padding: 12px;
  border: 1px solid #dbe8f3;
  border-radius: 14px;
  background: #f9fcff;
}
.de-bullpen-list h4 {
  margin: 0 0 8px;
  color: var(--de-blue-deep);
  font-size: 12px;
  font-weight: 950;
}
.de-bullpen-list p { margin: 0; color: var(--de-muted); font-size: 10px; }
.de-bullpen-list > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px dashed #dbe6ef;
  font-size: 10px;
}
.de-bullpen-list > div:first-of-type { border-top: 0; }
.de-bullpen-list strong { color: #153c5f; }
.de-bullpen-list span { color: var(--de-muted); white-space: nowrap; }
.de-weather-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.de-weather-grid > div {
  min-width: 0;
  padding: 11px;
  border: 1px solid #dce8f2;
  border-radius: 13px;
  background: #f8fbfe;
}
.de-weather-grid span,
.de-weather-grid strong { display: block; }
.de-weather-grid span { color: var(--de-muted); font-size: 9px; font-weight: 800; }
.de-weather-grid strong { margin-top: 4px; overflow: hidden; color: var(--de-blue-deep); font-size: 12px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.de-weather-warning {
  margin: 10px 0 0;
  padding: 9px 11px;
  border-radius: 10px;
  background: #fff7e9;
  color: #8a590d;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
}
.de-weather-attribution {
  display: block;
  margin-top: 9px;
  color: var(--de-muted);
  font-size: 9px;
}
.de-weather-attribution a { color: var(--de-blue); text-decoration: underline; }
.de-detail-panels-metrics .de-panel-wide { grid-column: 1 / -1; }

@media (max-width: 900px) {
  .de-weather-chip { max-width: 125px; overflow: hidden; text-overflow: ellipsis; }
  .de-bullpen-grid { grid-template-columns: 1fr; }
  .de-lineup-table { min-width: 650px; }
}

@media (max-width: 560px) {
  .de-weather-chip { max-width: 98px; padding: 3px 6px; font-size: 8px; }
  .de-weather-grid { gap: 6px; }
  .de-weather-grid > div { padding: 9px; }
  .de-team-lineup span:last-child,
  .de-team-bullpen span:last-child,
  .de-team-schedule span:last-child { max-width: 105px; }
}


/* 1.2.1 market administration, SPEED FOUNDATION, SHADOW audit, and validation */
.de-admin-page { display: grid; gap: 18px; padding-bottom: 24px; }
.de-admin-hero { margin-bottom: 20px; }
.de-admin-warning,
.de-admin-flash {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #f0dfb9;
  border-radius: 14px;
  background: #fff8e9;
  color: #77510f;
  font-size: 12px;
  line-height: 1.65;
}
.de-admin-warning strong,
.de-admin-flash strong { flex: 0 0 auto; color: #a26709; font-weight: 950; }
.de-admin-flash.is-ok { border-color: #cce9df; background: #edf9f4; color: #176149; }
.de-admin-flash.is-warn { border-color: #f0dfb9; background: #fff8e9; color: #77510f; }
.de-admin-flash.is-error { border-color: #f0cfd3; background: #fff1f2; color: #a42e38; }

.de-admin-collection {
  display: grid;
  gap: 11px;
  padding: 17px 18px;
  border: 1px solid #cfe0ed;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,247,255,.96));
  box-shadow: var(--de-shadow-soft);
}
.de-admin-collection-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.de-admin-collection-head small { color: var(--de-red); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.de-admin-collection-head h2 { margin: 4px 0 0; color: var(--de-blue-deep); font-size: 18px; font-weight: 950; }
.de-admin-collection-head > strong {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #c7ddea;
  border-radius: 999px;
  background: #fff;
  color: var(--de-blue);
  font-size: 10px;
  font-weight: 950;
}
.de-admin-progress {
  position: relative;
  height: 10px;
  overflow: hidden;
  border: 1px solid #d3e2ed;
  border-radius: 999px;
  background: #e8f0f6;
}
.de-admin-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--de-blue), #0f79bd);
  transition: width .35s ease;
}
.de-admin-collection-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.de-admin-collection-meta span:first-child { color: var(--de-blue-deep); font-size: 12px; font-weight: 950; }
.de-admin-collection-meta span:last-child { min-width: 0; overflow: hidden; color: var(--de-muted); font-size: 10px; font-weight: 800; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.de-admin-collection-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.de-admin-collection-actions form { flex: 0 0 auto; }
.de-admin-collection-actions p { margin: 0; color: var(--de-muted); font-size: 10px; line-height: 1.6; text-align: right; }

.de-admin-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  padding: 15px;
  border: 1px solid var(--de-line);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--de-shadow-soft);
}
.de-admin-filter label,
.de-admin-market-form label { display: grid; gap: 6px; color: var(--de-muted); font-size: 10px; font-weight: 900; }
.de-admin-filter input,
.de-admin-filter select,
.de-admin-market-form input,
.de-admin-upload input[type=file] {
  min-height: 39px;
  padding: 8px 10px;
  border: 1px solid #d5e3ef;
  border-radius: 10px;
  background: #fff;
  color: var(--de-ink);
  font: inherit;
  outline: none;
}
.de-admin-filter input:focus,
.de-admin-filter select:focus,
.de-admin-market-form input:focus,
.de-admin-upload input[type=file]:focus { border-color: var(--de-blue); box-shadow: 0 0 0 3px rgba(0,90,156,.10); }
.de-admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 9px 15px;
  border: 1px solid var(--de-blue);
  border-radius: 10px;
  background: var(--de-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
}
.de-admin-btn:hover { filter: brightness(.96); }
.de-admin-btn:disabled { border-color: #ccd8e2; background: #dfe7ee; color: #8796a5; cursor: not-allowed; filter: none; }
.de-admin-btn.is-light { border-color: #cedeea; background: #fff; color: var(--de-blue); }
.de-admin-btn.is-red { border-color: var(--de-red); background: var(--de-red); }
.de-admin-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.de-admin-stats > div {
  min-height: 112px;
  padding: 16px;
  border: 1px solid var(--de-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--de-shadow-soft);
}
.de-admin-stats span,
.de-admin-stats strong,
.de-admin-stats small { display: block; }
.de-admin-stats span { color: var(--de-muted); font-size: 10px; font-weight: 900; }
.de-admin-stats strong { margin-top: 8px; color: var(--de-blue-deep); font-size: 26px; font-weight: 950; }
.de-admin-stats small { margin-top: 5px; color: #7b8fa1; font-size: 9px; }
.de-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.de-admin-panel {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--de-line);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--de-shadow-soft);
}
.de-admin-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.de-admin-panel-head small { color: var(--de-red); font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.de-admin-panel-head h2 { margin: 4px 0 0; color: var(--de-blue-deep); font-size: 19px; font-weight: 950; }
.de-admin-panel-head > span { color: var(--de-muted); font-size: 9px; font-weight: 800; text-align: right; }
.de-admin-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; }
.de-admin-note { margin: 11px 0 0; color: var(--de-muted); font-size: 10px; line-height: 1.7; }
.de-admin-preview { overflow: hidden; }
.de-admin-preview-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 8px; margin-bottom: 14px; }
.de-admin-preview-summary > div { padding: 12px; border: 1px solid #dbe7f1; border-radius: 12px; background: #f8fbfe; }
.de-admin-preview-summary span,
.de-admin-preview-summary strong { display: block; }
.de-admin-preview-summary span { color: var(--de-muted); font-size: 9px; font-weight: 800; }
.de-admin-preview-summary strong { margin-top: 4px; color: var(--de-blue-deep); font-size: 20px; font-weight: 950; }
.de-admin-preview-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.de-admin-preview-columns h3 { margin: 0 0 8px; color: var(--de-blue-deep); font-size: 12px; }
.de-admin-match-row { display: grid; gap: 3px; padding: 10px 11px; border: 1px solid #dce8f2; border-radius: 11px; background: #f9fcff; }
.de-admin-match-row + .de-admin-match-row { margin-top: 7px; }
.de-admin-match-row strong { color: #173f62; font-size: 11px; }
.de-admin-match-row span { color: var(--de-muted); font-size: 9px; }
.de-admin-match-row.is-warn { border-color: #efdbb6; background: #fff8ea; }
.de-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.de-admin-empty { margin: 0; padding: 14px; border: 1px dashed #d3e0eb; border-radius: 12px; color: var(--de-muted); font-size: 11px; text-align: center; }
.de-admin-games { display: grid; gap: 12px; }
.de-admin-game { padding: 15px; border: 1px solid #d9e6f0; border-radius: 15px; background: #fbfdff; }
.de-admin-game-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.de-admin-game-head span { color: var(--de-muted); font-size: 9px; font-weight: 800; }
.de-admin-game-head h3 { margin: 5px 0 0; color: var(--de-blue-deep); font-size: 16px; font-weight: 950; }
.de-admin-game-head h3 b { color: var(--de-red); font-size: 10px; }
.de-admin-game-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.de-admin-game-status span { padding: 5px 8px; border: 1px solid #dce7ef; border-radius: 999px; background: #f3f7fa; }
.de-admin-game-status span.is-ready { border-color: #c8e7dc; background: #eaf8f2; color: #126047; }
.de-admin-analysis-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; padding: 10px 12px; border-left: 3px solid var(--de-red); border-radius: 10px; background: #f3f8fd; }
.de-admin-analysis-line strong { color: var(--de-blue); font-size: 18px; }
.de-admin-analysis-line span { color: var(--de-muted); font-size: 9px; font-weight: 800; text-align: right; }
.de-admin-market-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; align-items: end; }
.de-admin-market-form fieldset { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; min-width: 0; margin: 0; padding: 10px; border: 1px solid #dce8f1; border-radius: 12px; background: #fff; }
.de-admin-market-form fieldset:first-of-type { grid-template-columns: repeat(2,minmax(0,1fr)); }
.de-admin-market-form legend { padding: 0 5px; color: var(--de-blue-deep); font-size: 10px; font-weight: 950; }
.de-admin-market-form input { min-width: 0; width: 100%; }
.de-admin-market-form > .de-admin-btn { grid-column: 1 / -1; justify-self: end; }
.de-admin-official-form { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 9px; }
.de-admin-official-form small { color: var(--de-muted); font-size: 9px; }
.de-admin-table-wrap { overflow: auto; border: 1px solid #dce7f0; border-radius: 12px; }
.de-admin-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.de-admin-table th,
.de-admin-table td { padding: 10px; border-bottom: 1px solid #e4edf4; color: #344f67; font-size: 10px; text-align: left; white-space: nowrap; }
.de-admin-table th { background: #f3f8fc; color: var(--de-blue-deep); font-weight: 950; }
.de-admin-table tr:last-child td { border-bottom: 0; }
.de-pick-label { letter-spacing: .08em; }

@media (max-width: 1050px) {
  .de-admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .de-admin-market-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .de-admin-grid,
  .de-admin-preview-columns { grid-template-columns: 1fr; }
  .de-admin-panel { padding: 14px; }
  
  .de-admin-filter { align-items: stretch; }
  .de-admin-filter label { flex: 1 1 135px; }
  .de-admin-upload { grid-template-columns: 1fr; }
  .de-admin-collection-head,
  .de-admin-collection-actions { align-items: stretch; flex-direction: column; }
  .de-admin-collection-head > strong { align-self: flex-start; }
  .de-admin-collection-actions p { text-align: left; }
  .de-admin-preview-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .de-admin-game-head,
  .de-admin-analysis-line { align-items: stretch; flex-direction: column; }
  .de-admin-game-status { justify-content: flex-start; }
  .de-admin-analysis-line span { text-align: left; }
  .de-admin-market-form { grid-template-columns: 1fr; }
  .de-admin-market-form > .de-admin-btn { justify-self: stretch; }
  .de-admin-official-form { justify-content: stretch; }
  .de-admin-official-form .de-admin-btn { width: 100%; }
}
@media (max-width: 480px) {
  .de-admin-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .de-admin-stats > div { min-height: 96px; padding: 12px; }
  .de-admin-stats strong { font-size: 21px; }
  .de-admin-collection-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .de-admin-collection-meta span:last-child { white-space: normal; text-align: left; }
  .de-admin-collection-actions form,
  .de-admin-collection-actions .de-admin-btn { width: 100%; }
  .de-admin-preview-summary { grid-template-columns: 1fr 1fr; }
  .de-admin-market-form fieldset,
  .de-admin-market-form fieldset:first-of-type { grid-template-columns: 1fr 1fr; }
  .de-admin-market-form fieldset:nth-of-type(2) { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* 1.2.1 DATA QUALITY + OFFICIAL RESULT SETTLEMENT + MODEL VALIDATION */
.de-validation-hero { align-items: flex-end; }
.de-validation-page { display: grid; gap: 18px; }
.de-validation-filter {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--de-line);
  border-radius: 18px;
  box-shadow: var(--de-shadow-sm);
}
.de-validation-filter label { display: grid; gap: 7px; min-width: 150px; color: var(--de-muted); font-size: 10px; font-weight: 950; letter-spacing: .04em; }
.de-validation-filter input,
.de-validation-filter select { min-height: 43px; padding: 0 12px; color: var(--de-text); background: #fff; border: 1px solid var(--de-line-strong); border-radius: 10px; font-size: 12px; font-weight: 800; }
.de-validation-filter .de-admin-btn { min-height: 43px; }

.de-validation-sync {
  padding: 22px;
  background: linear-gradient(135deg, #fff 0%, #eef7ff 100%);
  border: 1px solid rgba(7,90,168,.2);
  border-radius: 20px;
  box-shadow: var(--de-shadow-sm);
}
.de-validation-sync.is-running { border-color: rgba(7,90,168,.45); }
.de-validation-sync.is-done { border-color: rgba(18,130,95,.35); background: linear-gradient(135deg, #fff 0%, #eef9f5 100%); }
.de-validation-sync.is-error { border-color: rgba(201,54,67,.42); background: linear-gradient(135deg, #fff 0%, #fff1f2 100%); }
.de-validation-sync-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.de-validation-sync-head small { color: var(--de-red); font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.de-validation-sync-head h2 { margin: 5px 0; color: var(--de-blue-deep); font-size: 20px; }
.de-validation-sync-head p { max-width: 850px; margin: 0; color: var(--de-muted); font-size: 11px; line-height: 1.65; }
.de-validation-sync-progress { overflow: hidden; height: 8px; margin-top: 18px; background: #dfeaf4; border-radius: 999px; }
.de-validation-sync-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--de-blue), var(--de-blue-bright)); border-radius: inherit; transition: width .35s ease; }
.de-validation-sync.is-done .de-validation-sync-progress i { background: var(--de-good); }
.de-validation-sync.is-error .de-validation-sync-progress i { background: var(--de-danger); }
.de-validation-sync-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 10px; color: var(--de-muted); font-size: 11px; }
.de-validation-sync-meta strong { color: var(--de-blue-deep); font-size: 12px; }
.de-validation-sync-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding: 12px 14px; color: var(--de-good); background: #fff; border: 1px solid #cfe8df; border-radius: 11px; font-size: 11px; }
.de-validation-sync-result strong { color: var(--de-text); }
.de-validation-sync.is-error .de-validation-sync-result { color: var(--de-danger); border-color: #efcdd1; }

.de-validation-banner {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 52px;
  padding: 13px 16px;
  color: #8a5b0d;
  background: var(--de-warn-soft);
  border: 1px solid #eedbb4;
  border-radius: 15px;
  font-size: 11px;
  line-height: 1.6;
}
.de-validation-banner strong { flex: 0 0 auto; padding: 5px 8px; color: #fff; background: var(--de-warn); border-radius: 7px; font-size: 9px; letter-spacing: .08em; }
.de-validation-banner.is-reviewable { color: #0f674e; background: var(--de-good-soft); border-color: #cce8dd; }
.de-validation-banner.is-reviewable strong { background: var(--de-good); }
.de-validation-head { align-items: flex-end; margin-top: 2px; }
.de-validation-meta { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; color: var(--de-muted); font-size: 10px; font-weight: 800; }

.de-validation-summary-wide { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.de-validation-summary-wide .de-stat-card { min-height: 118px; padding: 17px 17px 15px; }
.de-validation-summary-wide .de-stat-card strong { margin-top: 12px; font-size: 25px; }
.de-validation-summary-wide .de-stat-card small { font-size: 9px; line-height: 1.45; }
.de-validation-summary-wide .de-validation-empty { grid-column: 1 / -1; }

.de-validation-panel {
  padding: 20px;
  background: rgba(255,255,255,.97);
  border: 1px solid var(--de-line);
  border-radius: 19px;
  box-shadow: var(--de-shadow-sm);
}
.de-validation-panel .de-section-head { margin-top: 0; margin-bottom: 14px; }
.de-validation-panel .de-section-head h2 { font-size: 18px; }
.de-validation-panel .de-section-head p { max-width: 920px; }
.de-validation-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.de-validation-performance-grid .de-validation-panel { min-width: 0; }
.de-validation-performance-grid .de-validation-table { min-width: 820px; }

.de-validation-mini-grid,
.de-validation-score-grid { display: grid; gap: 10px; }
.de-validation-mini-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.de-validation-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.de-validation-mini-grid > div,
.de-validation-score-grid > div { min-height: 86px; padding: 14px; background: linear-gradient(145deg, #f5faff, #fff); border: 1px solid #deebf6; border-radius: 13px; }
.de-validation-mini-grid span,
.de-validation-score-grid span { display: block; color: var(--de-muted); font-size: 10px; font-weight: 850; }
.de-validation-mini-grid strong,
.de-validation-score-grid strong { display: block; margin-top: 10px; color: var(--de-blue-deep); font-size: 22px; }

.de-validation-table-wrap { border-radius: 14px; box-shadow: none; }
.de-validation-table { min-width: 760px; }
.de-validation-table th,
.de-validation-table td { padding: 12px 13px; font-size: 11px; white-space: nowrap; }
.de-validation-table th { font-size: 9px; letter-spacing: .025em; }
.de-validation-table tbody tr:last-child td { border-bottom: 0; }
.de-validation-table tbody tr:hover td { background: #fbfdff; }
.de-validation-table code { color: var(--de-blue); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 9px; }
.de-validation-table td small { display: block; max-width: 320px; margin-top: 4px; overflow: hidden; color: var(--de-muted); font-size: 8px; font-weight: 650; text-overflow: ellipsis; }
.de-validation-table-compact { min-width: 620px; }
.de-validation-game-table { min-width: 930px; }
.de-validation-recent-table { min-width: 1100px; }
.de-validation-recent-cards { display: none; }
.de-validation-recent-row.is-group-start td { border-top: 2px solid #d6e6f4; }
.de-validation-recent-row:first-child td { border-top: 0; }
.de-validation-group-cell { vertical-align: middle !important; background: #fbfdff; border-right: 1px solid #e2ebf4; }
.de-validation-date-cell { min-width: 108px; color: var(--de-blue-deep); }
.de-validation-league-cell { min-width: 72px; text-align: center !important; }
.de-validation-matchup-cell { min-width: 285px; white-space: normal !important; }
.de-validation-matchup { min-width: 230px; }
.de-validation-matchup-main { display: grid; grid-template-columns: minmax(72px,1fr) auto minmax(72px,1fr); align-items: center; gap: 9px; color: var(--de-text); font-size: 11px; font-weight: 900; line-height: 1.35; }
.de-validation-matchup-main .is-away { text-align: right; }
.de-validation-matchup-main .is-home { text-align: left; }
.de-validation-matchup-score { min-width: 50px; color: var(--de-blue-deep); font-size: 14px; text-align: center; }
.de-validation-matchup-score.is-pending { color: var(--de-muted); font-size: 11px; }
.de-validation-matchup-meta { display: grid; grid-template-columns: 1fr auto 1fr; gap: 9px; margin-top: 5px; color: var(--de-muted); font-size: 8px; font-weight: 750; }
.de-validation-matchup-meta span:first-child { text-align: right; }
.de-validation-matchup-meta span:last-child { text-align: left; }
.de-validation-matchup-meta strong { color: var(--de-blue); font-size: 8px; }
.de-validation-system-id { display: block; max-width: 255px; margin-top: 7px; overflow: hidden; color: var(--de-muted) !important; font-size: 8px !important; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.de-validation-quality-meta { display: flex !important; align-items: center; flex-wrap: wrap; gap: 5px; max-width: none !important; }
.de-validation-quality-meta i { color: var(--de-line-strong); font-style: normal; }
.de-validation-quality-meta .de-validation-system-id { display: inline-block; max-width: 280px; margin-top: 0; vertical-align: middle; }
.de-validation-recent-card { overflow: hidden; background: #fff; border: 1px solid #dbe8f4; border-radius: 15px; }
.de-validation-recent-card + .de-validation-recent-card { margin-top: 12px; }
.de-validation-recent-card header { padding: 14px; background: linear-gradient(145deg, #f5faff, #fff); border-bottom: 1px solid #e2ebf4; }
.de-validation-recent-card-tags { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; color: var(--de-muted); font-size: 9px; font-weight: 900; }
.de-validation-recent-card .de-validation-matchup { min-width: 0; }
.de-validation-recent-card .de-validation-matchup-main { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); font-size: 12px; }
.de-validation-recent-card .de-validation-matchup-score { font-size: 16px; }
.de-validation-recent-card-markets { display: grid; }
.de-validation-recent-card-market { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; padding: 12px 14px; border-top: 1px solid #edf2f7; }
.de-validation-recent-card-market:first-child { border-top: 0; }
.de-validation-recent-card-pick { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.de-validation-recent-card-pick strong { color: var(--de-blue-deep); font-size: 11px; }
.de-validation-recent-card-pick span { color: var(--de-text); font-size: 10px; font-weight: 800; }
.de-validation-recent-card-numbers { display: flex; justify-content: flex-end; gap: 8px; color: var(--de-muted); font-size: 9px; font-weight: 750; }
.de-validation-recent-card-chips { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; }
.de-validation-benchmark-table { min-width: 720px; }
.de-validation-issues { max-width: 430px; white-space: normal !important; text-align: left !important; }
.de-validation-issues span { display: inline-flex; margin: 2px 4px 2px 0; padding: 4px 6px; color: #6c5b35; background: #fff8e9; border: 1px solid #f0dfbb; border-radius: 6px; font-size: 8px; font-weight: 850; }

.de-validation-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 25px; padding: 4px 8px; border: 1px solid transparent; border-radius: 999px; font-size: 8px; font-weight: 950; line-height: 1.1; white-space: nowrap; }
.de-validation-chip.is-ready { color: var(--de-good); background: var(--de-good-soft); border-color: #cce8dd; }
.de-validation-chip.is-warn { color: var(--de-warn); background: var(--de-warn-soft); border-color: #efdcb7; }
.de-validation-chip.is-error { color: var(--de-danger); background: var(--de-red-soft); border-color: #efcfd3; }
.de-validation-chip.is-wait { color: var(--de-muted); background: #f2f6fa; border-color: #dce5ee; }

.de-validation-wiring { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.de-validation-wiring-card { min-height: 126px; padding: 15px; background: linear-gradient(145deg, #f7fbff, #fff); border: 1px solid #ddeaf5; border-radius: 13px; }
.de-validation-wiring-card > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.de-validation-wiring-card strong { color: var(--de-blue-deep); font-size: 12px; }
.de-validation-wiring-card p { margin: 11px 0 0; color: var(--de-muted); font-size: 9px; line-height: 1.65; }
.de-validation-empty { padding: 24px; color: var(--de-muted); background: #f7fafc; border: 1px dashed var(--de-line-strong); border-radius: 13px; text-align: center; font-size: 11px; }
.de-validation-load-error { color: var(--de-danger); background: var(--de-red-soft); border-color: #eccbd0; }
.de-validation-page .de-integrity-note { margin-top: 0; }

@media (max-width: 1180px) {
  .de-validation-summary-wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .de-validation-wiring { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .de-validation-filter { align-items: stretch; flex-wrap: wrap; }
  .de-validation-filter label { flex: 1 1 180px; }
  .de-validation-filter .de-admin-btn { flex: 1 1 100%; }
  .de-validation-sync-head { align-items: flex-start; flex-direction: column; }
  .de-validation-sync-head .de-admin-btn { width: 100%; }
  .de-validation-sync-meta,
  .de-validation-sync-result { align-items: flex-start; flex-direction: column; }
  .de-validation-two-column { grid-template-columns: 1fr; }
  .de-validation-recent-table-wrap { display: none; }
  .de-validation-recent-cards { display: block; }
  .de-validation-summary-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .de-validation-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .de-validation-wiring { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .de-validation-page { gap: 13px; }
  .de-validation-filter,
  .de-validation-sync,
  .de-validation-panel { padding: 14px; border-radius: 15px; }
  .de-validation-filter label { flex-basis: 100%; }
  .de-validation-banner { align-items: flex-start; }
  .de-validation-summary-wide { grid-template-columns: 1fr; }
  .de-validation-summary-wide .de-stat-card { min-height: 104px; }
  .de-validation-mini-grid,
  .de-validation-score-grid,
  .de-validation-wiring { grid-template-columns: 1fr; }
  .de-validation-mini-grid > div,
  .de-validation-score-grid > div { min-height: 72px; }
  .de-validation-meta { justify-content: flex-start; }
}

/* DIAMOND EDGE 1.3.0 FAST DELIVERY & PUBLISHING FOUNDATION */
.de-fast-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px;padding:12px;border:1px solid #cfe0f4;border-radius:14px;background:#f7fbff}.de-fast-toolbar form{display:inline-flex;margin:0}.de-fast-toolbar button,.de-fast-toolbar a,.de-inline-form button,.de-settings-grid button{border:1px solid #b8d0ea;border-radius:9px;background:#fff;color:#0757a3;padding:10px 14px;font-weight:800;text-decoration:none;cursor:pointer}.de-fast-toolbar button:first-child,.de-primary{background:#075fb4!important;color:#fff!important;border-color:#075fb4!important}.de-fast-toolbar [data-de-status]{font-size:12px;color:#516b82}.de-shell{max-width:1200px;margin:20px auto;padding:0 18px}.de-panel{background:#fff;border:1px solid #d9e6f3;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 28px rgba(18,76,129,.05)}.de-panel h1,.de-panel h2{color:#073f78;margin:0 0 12px}.de-notice{padding:12px 14px;background:#eaf8ef;border:1px solid #bfe5cd;border-radius:10px;margin:12px 0}.de-inline-form,.de-settings-grid{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0}.de-inline-form label,.de-settings-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#31526e}.de-inline-form input,.de-inline-form select,.de-settings-grid input,.de-settings-grid select{min-width:150px;padding:10px;border:1px solid #cbddeb;border-radius:8px}.de-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.de-table-wrap{overflow:auto}.de-table-wrap table{width:100%;border-collapse:collapse}.de-table-wrap th,.de-table-wrap td{padding:11px;border-bottom:1px solid #e4edf5;text-align:left;vertical-align:top;white-space:nowrap}.de-table-wrap details{min-width:320px;max-width:620px}.de-table-wrap summary{cursor:pointer;font-weight:800;color:#0757a3}.de-article-preview{margin-top:12px;padding:14px;border:1px solid #dce8f4;border-radius:10px;background:#fbfdff;white-space:normal}.de-analysis-article{line-height:1.75}.de-analysis-article h2,.de-analysis-article h3{color:#064b8d}.de-analysis-article .de-score{font-size:1.25em}.de-analysis-article .de-disclaimer{padding:12px;background:#fff7e6;border-radius:8px;color:#795c20}
@media (max-width:720px){.de-shell{padding:0 10px}.de-panel{padding:15px}.de-fast-toolbar>*{width:100%}.de-fast-toolbar form,.de-fast-toolbar button,.de-fast-toolbar a{width:100%}.de-fast-toolbar button,.de-fast-toolbar a{text-align:center}.de-settings-grid{grid-template-columns:1fr}.de-table-wrap details{min-width:260px}}

/* DIAMOND EDGE 1.3.1 MEMBER NAVIGATION HUBS */
.de-nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
}
.de-nav-dropdown > .de-nav-link { padding-right: 5px; }
.de-nav-dropdown-toggle {
  width: 25px;
  height: 36px;
  display: grid;
  place-items: center;
  margin-left: -2px;
  padding: 0;
  color: var(--de-muted);
  background: transparent;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  transition: color .16s ease, background .16s ease, transform .16s ease;
}
.de-nav-dropdown:hover > .de-nav-dropdown-toggle,
.de-nav-dropdown:focus-within > .de-nav-dropdown-toggle,
.de-nav-dropdown.is-open > .de-nav-dropdown-toggle,
.de-nav-dropdown.is-current > .de-nav-dropdown-toggle {
  color: var(--de-blue);
  background: var(--de-blue-soft);
}
.de-nav-dropdown.is-open > .de-nav-dropdown-toggle i,
.de-nav-dropdown:hover > .de-nav-dropdown-toggle i,
.de-nav-dropdown:focus-within > .de-nav-dropdown-toggle i { transform: rotate(180deg); }
.de-nav-dropdown-toggle i { transition: transform .18s ease; }
.de-nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 110;
  min-width: 235px;
  padding: 9px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(9px);
  pointer-events: none;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--de-line);
  border-radius: 15px;
  box-shadow: 0 20px 45px rgba(6,55,103,.17);
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}
.de-nav-dropdown-menu-right { left: auto; right: 0; }
.de-nav-dropdown:hover > .de-nav-dropdown-menu,
.de-nav-dropdown:focus-within > .de-nav-dropdown-menu,
.de-nav-dropdown.is-open > .de-nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.de-nav-dropdown-menu a {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  color: var(--de-soft);
  border-radius: 10px;
  text-decoration: none;
}
.de-nav-dropdown-menu a:hover,
.de-nav-dropdown-menu a:focus {
  color: var(--de-blue-deep);
  background: var(--de-blue-soft);
  outline: none;
}
.de-nav-dropdown-menu b {
  color: var(--de-red);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .06em;
}
.de-nav-dropdown-menu span { font-size: 13px; font-weight: 850; }

.de-mobile-nav-group {
  grid-column: span 2;
  overflow: hidden;
  border: 1px solid var(--de-line);
  border-radius: 11px;
  background: var(--de-surface-2);
}
.de-mobile-nav-row { display: grid; grid-template-columns: 1fr 42px; }
.de-mobile-menu .de-mobile-nav-row > a {
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.de-mobile-submenu-btn {
  display: grid;
  place-items: center;
  color: var(--de-blue-deep);
  background: transparent;
  border: 0;
  border-left: 1px solid var(--de-line);
  font-size: 15px;
}
.de-mobile-submenu-btn i { transition: transform .18s ease; }
.de-mobile-submenu-btn[aria-expanded="true"] i { transform: rotate(180deg); }
.de-mobile-submenu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 7px;
  padding: 9px;
  border-top: 1px solid var(--de-line);
  background: #fff;
}
.de-mobile-submenu[hidden] { display: none !important; }
.de-mobile-menu .de-mobile-submenu a {
  padding: 9px 5px;
  color: var(--de-blue);
  background: var(--de-blue-soft);
  border-color: #d8e8f9;
  font-size: 11px;
}

.de-hub-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.98), rgba(236,246,255,.94)),
    repeating-linear-gradient(90deg, transparent 0 52px, rgba(7,90,168,.05) 52px 53px);
}
.de-hub-hero::after {
  content: "";
  position: absolute;
  right: -85px;
  bottom: -120px;
  width: 260px;
  height: 260px;
  border: 22px solid rgba(7,90,168,.05);
  border-radius: 50%;
}
.de-hub-hero > * { position: relative; z-index: 2; }
.de-hub-quick-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px,1fr));
  gap: 9px;
  min-width: 390px;
}
.de-hub-quick-links a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 13px 15px;
  color: var(--de-blue-deep);
  background: rgba(255,255,255,.9);
  border: 1px solid var(--de-line);
  border-radius: 13px;
  box-shadow: 0 7px 18px rgba(7,54,100,.06);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.de-hub-quick-links a:hover { transform: translateY(-2px); border-color: var(--de-blue-bright); box-shadow: var(--de-shadow-sm); }
.de-hub-quick-links b { color: var(--de-red); font-size: 10px; letter-spacing: .08em; }
.de-hub-quick-links span { font-size: 13px; font-weight: 900; }
.de-hub-shell { margin-top: 20px; }
.de-hub-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 15px;
}
.de-hub-intro small,
.de-hub-card header small,
.de-community-qa > small,
.de-hub-guide small { color: var(--de-red); font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.de-hub-intro h2 { margin: 4px 0; color: var(--de-blue-deep); font-size: 22px; }
.de-hub-intro p { margin: 0; color: var(--de-muted); font-size: 12px; }
.de-hub-date {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  color: var(--de-blue);
  background: var(--de-blue-soft);
  border: 1px solid #d4e6f8;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.de-hub-grid { display: grid; gap: 16px; }
.de-matchup-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.de-hub-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 19px;
  box-shadow: var(--de-shadow-sm);
}
.de-league-report-card { position: relative; }
.de-league-report-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--de-blue), var(--de-blue-bright));
}
.de-league-report-card.de-league-npb::before { background: linear-gradient(90deg, var(--de-blue-deep), #7356c9); }
.de-league-report-card.de-league-mlb::before { background: linear-gradient(90deg, var(--de-red), var(--de-blue)); }
.de-league-report-card > header {
  display: grid;
  grid-template-columns: 47px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 20px 18px 15px;
  border-bottom: 1px solid #e7eff7;
}
.de-hub-league-badge {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--de-blue);
  border-radius: 14px;
  box-shadow: 0 9px 20px rgba(7,90,168,.18);
  font-size: 11px;
  font-weight: 950;
}
.de-league-npb .de-hub-league-badge { background: var(--de-blue-deep); }
.de-league-mlb .de-hub-league-badge { background: var(--de-red); }
.de-league-report-card h3 { margin: 0 0 3px; color: var(--de-blue-deep); font-size: 17px; }
.de-league-report-card header p { margin: 0; color: var(--de-muted); font-size: 10px; line-height: 1.45; }
.de-league-report-card header em {
  padding: 6px 8px;
  color: var(--de-good);
  background: var(--de-good-soft);
  border-radius: 999px;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.de-hub-post-list { padding: 7px 11px; }
.de-hub-post {
  display: grid;
  grid-template-columns: 28px 1fr 18px;
  align-items: center;
  gap: 8px;
  padding: 12px 8px;
  color: var(--de-soft);
  border-bottom: 1px solid #edf2f7;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.de-hub-post:last-child { border-bottom: 0; }
.de-hub-post:hover { color: var(--de-blue-deep); background: #f7fbff; border-radius: 10px; }
.de-hub-post.is-featured { margin: 3px 0; background: linear-gradient(135deg, #edf6ff, #fff); border: 1px solid #d9e9f8; border-radius: 11px; }
.de-hub-post-no { color: #9eb2c5; font-size: 9px; font-weight: 900; }
.de-hub-post-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.de-hub-post-copy strong { overflow: hidden; color: inherit; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.de-hub-post-copy small { overflow: hidden; color: var(--de-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.de-hub-post-copy time { color: #8ca2b6; font-size: 9px; }
.de-hub-post > i { color: var(--de-blue-bright); }
.de-hub-empty { min-height: 180px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--de-muted); text-align: center; }
.de-hub-empty i { color: #a5bad0; font-size: 24px; }
.de-hub-empty p { margin: 0; font-size: 11px; }
.de-league-report-card footer { padding: 13px 18px; background: #f8fbfe; border-top: 1px solid #e7eff7; }
.de-league-report-card footer a { display: flex; align-items: center; justify-content: space-between; color: var(--de-blue); font-size: 11px; font-weight: 900; text-decoration: none; }
.de-hub-guide {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding: 18px 20px;
  background: linear-gradient(135deg, #082f56, #075aa8);
  border-radius: 18px;
  box-shadow: var(--de-shadow);
  color: #fff;
}
.de-hub-guide-icon { width: 50px; height: 50px; display: grid; place-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); border-radius: 15px; font-size: 20px; }
.de-hub-guide small { color: #ff8e98; }
.de-hub-guide h2 { margin: 3px 0 5px; color: #fff; font-size: 17px; }
.de-hub-guide p { margin: 0; color: #d6e6f5; font-size: 11px; line-height: 1.65; }
.de-hub-guide > a { padding: 10px 13px; color: var(--de-blue-deep); background: #fff; border-radius: 10px; font-size: 11px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.de-hub-guide-lock { padding: 10px 13px; color: #d9eafd; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; font-size: 11px; font-weight: 800; white-space: nowrap; }

.de-community-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) 300px;
  gap: 16px;
}
.de-community-grid .de-hub-card > header {
  display: grid;
  grid-template-columns: 45px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid var(--de-line);
}
.de-hub-card-icon { width: 45px; height: 45px; display: grid; place-items: center; color: var(--de-blue); background: var(--de-blue-soft); border-radius: 13px; font-size: 17px; }
.de-community-free .de-hub-card-icon { color: var(--de-red); background: var(--de-red-soft); }
.de-community-grid h2 { margin: 3px 0; color: var(--de-blue-deep); font-size: 17px; }
.de-community-grid header p { margin: 0; color: var(--de-muted); font-size: 10px; }
.de-community-grid header > a { color: var(--de-blue); font-size: 10px; font-weight: 900; text-decoration: none; }
.de-community-list { padding: 7px 14px 12px; }
.de-community-list > a {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 4px;
  color: var(--de-soft);
  border-bottom: 1px solid #edf2f7;
  text-decoration: none;
}
.de-community-list > a:last-child { border-bottom: 0; }
.de-community-list > a:hover strong { color: var(--de-blue); }
.de-community-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.de-community-list time { color: #8ca2b6; font-size: 9px; }
.de-community-label { padding: 4px 6px; color: var(--de-red); background: var(--de-red-soft); border-radius: 6px; font-size: 8px; font-weight: 950; }
.de-community-avatar { width: 28px; height: 28px; display: grid; place-items: center; color: var(--de-blue); background: var(--de-blue-soft); border-radius: 50%; font-size: 10px; font-weight: 900; }
.de-community-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.de-community-copy small { color: var(--de-muted); font-size: 8px; }
.de-community-qa {
  position: relative;
  overflow: hidden;
  padding: 24px;
  color: #fff;
  background: linear-gradient(150deg, #083967, #075aa8 62%, #1773d1);
  border-radius: 19px;
  box-shadow: var(--de-shadow);
}
.de-community-qa::after { content:"?"; position:absolute; right:-8px; bottom:-43px; color:rgba(255,255,255,.08); font-size:180px; font-weight:950; }
.de-community-qa > * { position: relative; z-index: 2; }
.de-community-qa-mark { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 18px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.18); border-radius: 15px; font-size: 20px; }
.de-community-qa > small { color: #ff9ca5; }
.de-community-qa h2 { margin: 5px 0 9px; color: #fff; font-size: 22px; }
.de-community-qa p { margin: 0; color: #d6e7f6; font-size: 11px; line-height: 1.7; }
.de-community-qa ul { display: grid; gap: 8px; margin: 18px 0; padding: 0; list-style: none; }
.de-community-qa li { display: flex; align-items: center; gap: 8px; color: #e7f2fc; font-size: 10px; }
.de-community-qa li i { width: 17px; color: #8fc8ff; text-align: center; }
.de-community-qa-btn { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; color: var(--de-blue-deep); background: #fff; border-radius: 11px; font-size: 11px; font-weight: 900; text-decoration: none; }

@media (max-width: 1180px) {
  .de-hub-hero { align-items: flex-start; flex-direction: column; }
  .de-hub-quick-links { width: 100%; min-width: 0; }
  .de-community-grid { grid-template-columns: 1fr 1fr; }
  .de-community-qa { grid-column: 1 / -1; }
}
@media (max-width: 980px) {
  .de-matchup-grid { grid-template-columns: 1fr; }
  .de-league-report-card .de-hub-post-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
}
@media (max-width: 760px) {
  .de-mobile-nav-group { grid-column: 1 / -1; }
  .de-mobile-submenu { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .de-hub-hero { padding: 21px 18px; }
  .de-hub-quick-links { grid-template-columns: 1fr; }
  .de-hub-quick-links a { flex-direction: row; align-items: center; justify-content: space-between; }
  .de-hub-intro { align-items: flex-start; flex-direction: column; }
  .de-league-report-card .de-hub-post-list { display: block; }
  .de-hub-guide { grid-template-columns: 46px 1fr; }
  .de-hub-guide > a { grid-column: 1 / -1; text-align: center; }
  .de-hub-guide-lock { grid-column: 1 / -1; text-align: center; }
  .de-community-grid { grid-template-columns: 1fr; }
  .de-community-qa { grid-column: auto; }
}
@media (max-width: 420px) {
  .de-mobile-submenu { grid-template-columns: 1fr; }
  .de-league-report-card > header { grid-template-columns: 42px 1fr; }
  .de-league-report-card header em { grid-column: 2; justify-self: start; }
  .de-community-grid .de-hub-card > header { grid-template-columns: 40px 1fr; }
  .de-community-grid .de-hub-card > header > a { grid-column: 2; justify-self: start; }
}

/* DIAMOND EDGE 1.3.2 · MEMBER ACCESS & SPORTS NEWS ARTICLE */
.de-member-preview-notice{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #c8dff3;border-radius:15px;background:linear-gradient(135deg,#f4faff 0%,#eef6ff 100%);color:#234c70;box-shadow:0 8px 24px rgba(16,78,132,.05)}
.de-member-preview-notice>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#075fb4;color:#fff;font-size:16px}
.de-member-preview-notice strong{display:block;margin:0 0 4px;color:#073f78;font-size:15px}.de-member-preview-notice p{margin:0;line-height:1.65;font-size:13px}
.de-game-card.is-collection-preview .de-market-tabs{opacity:.78}.de-game-card.is-collection-preview .de-projected-total{color:#6f8498;background:#f3f7fb}.de-game-card.is-collection-preview .de-card-footer{background:#fbfdff}
.de-team-score.is-member-locked,.de-detail-score.is-member-locked{display:grid;place-items:center;color:#7c91a5;background:#eef4fa;border:1px dashed #b9ccde;min-height:46px}.de-detail-score.is-member-locked{margin-top:8px;border-radius:12px;font-size:18px}
.de-pick-panel.is-member-locked{padding:0;background:transparent;border:0;box-shadow:none}
.de-member-analysis-lock{display:flex;align-items:center;gap:16px;width:100%;padding:20px;border:1px solid #c8d9e9;border-radius:16px;background:linear-gradient(135deg,#f8fbfe,#eef5fb);color:#34536d;text-align:left}
.de-member-analysis-lock.is-compact{padding:16px 18px;border-radius:13px}.de-member-lock-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#0b5ca8;color:#fff;font-size:19px;box-shadow:0 8px 20px rgba(8,82,150,.2)}
.de-member-analysis-lock small{display:block;margin-bottom:2px;color:#d04b4b;font-weight:900;letter-spacing:.08em}.de-member-analysis-lock strong{display:block;color:#083f74;font-size:17px}.de-member-analysis-lock p{margin:5px 0 7px;line-height:1.55;font-size:13px}.de-member-analysis-lock span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #c9dcea;color:#32658c;font-size:12px;font-weight:800}

.de-analysis-article.de-news-article{font-size:15px;line-height:1.85;color:#263c4f}.de-news-article .de-news-kicker{display:inline-flex;margin:0 0 10px;padding:5px 10px;border-radius:999px;background:#e9f4ff;color:#075ca9;font-size:12px;font-weight:900;letter-spacing:.06em}.de-news-article h2{margin:0 0 13px;color:#082f57;font-size:27px;line-height:1.35}.de-news-article .de-news-lead{margin:0 0 24px;padding:17px 18px;border-left:4px solid #0a64b5;background:#f5faff;color:#234a6a;font-size:16px;font-weight:700}.de-news-article .de-news-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.de-news-article .de-news-meta span{padding:6px 10px;border:1px solid #d5e3ef;border-radius:999px;background:#fff;color:#5a7185;font-size:12px}.de-news-article .de-news-section{margin:26px 0}.de-news-article .de-news-section h3{margin:0 0 8px;padding-bottom:7px;border-bottom:2px solid #e4edf5;color:#0b4a82;font-size:19px}.de-news-article .de-news-section p{margin:0 0 10px}.de-news-article .de-news-pick{padding:18px;border:1px solid #bcd8ef;border-radius:15px;background:linear-gradient(135deg,#eef8ff,#f9fcff)}.de-news-article .de-news-pick.is-pass{border-color:#d8dee5;background:#f7f8fa}.de-news-article .de-news-pick strong{display:block;margin-bottom:5px;color:#084f8e;font-size:19px}.de-news-article .de-news-pick.is-pass strong{color:#536271}.de-news-article .de-news-summary{width:100%;margin:22px 0;border-collapse:collapse;border-top:2px solid #0b5ea9}.de-news-article .de-news-summary th,.de-news-article .de-news-summary td{padding:11px 12px;border-bottom:1px solid #e0e8ef;text-align:left;vertical-align:top}.de-news-article .de-news-summary th{width:28%;background:#f5f9fc;color:#315978}.de-news-article .de-news-warning{padding:12px 14px;border-radius:10px;background:#fff3e9;color:#8c4b1b}.de-news-article .de-disclaimer{margin-top:25px;padding:14px 16px;border-radius:11px;background:#f3f5f7;color:#687580;font-size:12px}.de-news-article .de-news-checkpoint{margin-top:18px;padding:18px;border:1px solid #bed8ef;border-radius:15px;background:linear-gradient(135deg,#eef8ff 0%,#fbfdff 100%);box-shadow:0 8px 22px rgba(11,94,169,.06)}.de-news-article .de-news-checkpoint.is-pass{border-color:#d4dde6;background:linear-gradient(135deg,#f6f8fa 0%,#fcfdfe 100%)}.de-news-article .de-news-checkpoint-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.de-news-article .de-news-checkpoint-head small{color:#0b64b3;font-size:10px;font-weight:900;letter-spacing:.08em}.de-news-article .de-news-checkpoint.is-pass .de-news-checkpoint-head small{color:#647482}.de-news-article .de-news-checkpoint-head strong{color:#083f72;font-size:18px}.de-news-article .de-news-checkpoint.is-pass .de-news-checkpoint-head strong{color:#4d5e6c}.de-news-article .de-news-checkpoint dl{margin:0}.de-news-article .de-news-checkpoint dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(126,164,197,.22)}.de-news-article .de-news-checkpoint dt{color:#61768a;font-size:13px;font-weight:800}.de-news-article .de-news-checkpoint dd{margin:0;color:#173f63;font-weight:800}.de-news-article .de-news-checkpoint dl>div:last-child dd{color:#075ca9}.de-news-article .de-news-checkpoint.is-pass dl>div:last-child dd{color:#596a78}.de-news-article .de-news-checkpoint-note{margin:11px 0 0!important;color:#6b7f91;font-size:12px}.de-news-article .de-news-detail-link{display:inline-flex;align-items:center;margin-top:11px;padding:9px 12px;border:1px solid #b8d3ea;border-radius:9px;background:#fff;color:#075ca9;font-size:13px;font-weight:900;text-decoration:none}.de-news-article .de-news-detail-link:hover{border-color:#075ca9;background:#f3f9ff}.de-news-article .de-news-checkpoint.is-pass .de-news-detail-link{border-color:#d0d9e1;color:#536574}

@media (max-width:720px){.de-member-preview-notice{padding:14px}.de-member-preview-notice>i{flex-basis:34px;width:34px;height:34px}.de-member-analysis-lock{align-items:flex-start;padding:16px}.de-member-lock-icon{flex-basis:40px;width:40px;height:40px}.de-member-analysis-lock strong{font-size:15px}.de-news-article h2{font-size:22px}.de-news-article .de-news-lead{font-size:14px}.de-news-article .de-news-summary th,.de-news-article .de-news-summary td{padding:9px 8px;font-size:13px}.de-news-article .de-news-checkpoint{padding:15px}.de-news-article .de-news-checkpoint-head{align-items:flex-start;flex-direction:column;gap:2px}.de-news-article .de-news-checkpoint dl>div{grid-template-columns:82px minmax(0,1fr);gap:8px}.de-news-article .de-news-detail-link{width:100%;justify-content:center;box-sizing:border-box}}

/* 9이닝픽 1.4.0: brand, clear state language, combinations, account safety */
.de-brand-mark > span { font-size: 13px; letter-spacing: -.08em; }
.de-data-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin: 18px 0;
  padding: 9px 14px;
  color: #4c647a;
  background: rgba(255,255,255,.8);
  border: 1px solid var(--de-line);
  border-radius: 12px;
  font-size: 12px;
  box-shadow: 0 5px 18px rgba(11,66,121,.04);
}
.de-data-notice strong {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--de-blue);
  background: var(--de-blue-soft);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}
.de-data-notice.is-warning { color: #765716; background: #fffaf0; border-color: #efd8a8; }
.de-data-notice.is-warning strong { color: #8b5b00; background: #fff0ca; }
.de-game-state { display: inline-flex; align-items: center; gap: 7px; }
.de-game-state > i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #91a4b7; box-shadow: 0 0 0 4px rgba(145,164,183,.12); }
.de-game-state.is-normal > i { background: var(--de-blue); box-shadow: 0 0 0 4px rgba(7,90,168,.11); }
.de-game-state.is-warning { color: var(--de-danger); background: var(--de-red-soft); border-color: rgba(201,54,67,.2); }
.de-game-state.is-warning > i { background: var(--de-danger); box-shadow: 0 0 0 4px rgba(201,54,67,.11); }
.de-game-state.is-waiting { color: #72869a; background: #f3f6f9; border-color: #dbe4ec; }
.de-game-state.is-waiting > i { background: #91a4b7; }
.de-result-verdict {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 12px;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid var(--de-line);
}
.de-result-verdict strong { font-size: 18px; font-weight: 950; letter-spacing: -.02em; }
.de-result-verdict span { font-size: 10px; font-weight: 900; }
.de-result-verdict.is-pick { color: #0a694e; background: var(--de-good-soft); border-color: #c6e9dc; }
.de-result-verdict.is-pass { color: #5e7183; background: #f5f8fb; border-color: #dbe5ed; }
.de-result-verdict.is-waiting { color: #718497; background: #f4f6f8; border-color: #dce4eb; }

.de-combo-hero { align-items: center; }
.de-combo-controls { padding: 18px 22px; }
.de-combo-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.de-combo-overview-card {
  position: relative;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 20px;
  overflow: hidden;
  color: var(--de-text);
  background: #fff;
  border: 1px solid var(--de-line);
  border-radius: 18px;
  box-shadow: var(--de-shadow-sm);
  text-decoration: none;
}
.de-combo-overview-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:#91a4b7; }
.de-combo-overview-card.is-official::before { background:var(--de-good); }
.de-combo-overview-card.is-temporary::before { background:var(--de-blue); }
.de-combo-overview-card.is-empty::before { background:var(--de-red); }
.de-combo-overview-card span { color:var(--de-blue); font-size:12px; font-weight:950; }
.de-combo-overview-card strong { font-size:21px; font-weight:950; }
.de-combo-overview-card small { color:var(--de-muted); font-size:11px; }
.de-combo-member-lock { display:flex; align-items:center; gap:18px; padding:30px; }
.de-combo-member-lock > i { width:54px; height:54px; display:grid; place-items:center; color:var(--de-blue); background:var(--de-blue-soft); border-radius:50%; font-size:22px; }
.de-combo-member-lock small,.de-combo-card-head small,.de-section-head span { color:var(--de-red); font-size:10px; font-weight:950; letter-spacing:.13em; }
.de-combo-member-lock h2 { margin:4px 0 6px; }
.de-combo-member-lock p { margin:0; color:var(--de-muted); }
.de-combo-league-section { margin-top:18px; }
.de-combo-state { min-width:150px; padding:10px 13px; text-align:right; border:1px solid var(--de-line); border-radius:12px; background:#f7fafc; }
.de-combo-state strong,.de-combo-state small { display:block; }
.de-combo-state strong { font-size:13px; }
.de-combo-state small { margin-top:3px; color:var(--de-muted); font-size:10px; }
.de-combo-state.is-official { background:var(--de-good-soft); border-color:#c6e9dc; color:var(--de-good); }
.de-combo-state.is-temporary { background:var(--de-blue-soft); border-color:#c9def5; color:var(--de-blue); }
.de-combo-state.is-empty { background:var(--de-red-soft); border-color:#f0ccd1; color:var(--de-danger); }
.de-combo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.de-combo-card { overflow:hidden; background:#fff; border:1px solid var(--de-line); border-radius:16px; box-shadow:0 8px 24px rgba(11,66,121,.06); }
.de-combo-card.is-official { border-color:#bee2d3; }
.de-combo-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 19px; background:#f7fbff; border-bottom:1px solid var(--de-line); }
.de-combo-card.is-official .de-combo-card-head { background:var(--de-good-soft); }
.de-combo-card-head h3 { margin:4px 0 0; color:var(--de-blue-deep); font-size:20px; }
.de-combo-card-head > span { padding:5px 9px; color:var(--de-blue); background:#fff; border:1px solid currentColor; border-radius:999px; font-size:10px; font-weight:950; }
.de-combo-card.is-official .de-combo-card-head > span { color:var(--de-good); }
.de-combo-legs { padding:4px 18px; }
.de-combo-leg { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #e7eef5; }
.de-combo-leg:last-child { border-bottom:0; }
.de-combo-leg > b { width:28px; height:28px; display:grid; place-items:center; color:#fff; background:var(--de-blue); border-radius:50%; font-size:12px; }
.de-combo-leg div small,.de-combo-leg div strong { display:block; }
.de-combo-leg div small { color:var(--de-muted); font-size:10px; }
.de-combo-leg div strong { margin-top:4px; color:var(--de-blue-deep); font-size:15px; }
.de-combo-leg-numbers { text-align:right; }
.de-combo-leg-numbers > span { color:var(--de-blue); font-size:18px; font-weight:950; }
.de-combo-summary { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--de-line); border-bottom:1px solid var(--de-line); background:#f8fbfe; }
.de-combo-summary > div { padding:14px 10px; text-align:center; border-right:1px solid var(--de-line); }
.de-combo-summary > div:last-child { border-right:0; }
.de-combo-summary small,.de-combo-summary strong { display:block; }
.de-combo-summary small { color:var(--de-muted); font-size:10px; }
.de-combo-summary strong { margin-top:5px; color:var(--de-blue-deep); font-size:18px; }
.de-combo-summary strong.is-good { color:var(--de-good); }
.de-combo-note { margin:0; padding:13px 18px 16px; color:var(--de-muted); font-size:10px; line-height:1.6; }
.de-combo-settlement { margin:12px 18px 0; padding:9px 11px; border-radius:9px; font-size:11px; font-weight:900; }
.de-combo-settlement.is-win { color:var(--de-good); background:var(--de-good-soft); }
.de-combo-settlement.is-loss { color:var(--de-danger); background:var(--de-red-soft); }
.de-combo-settlement.is-push,.de-combo-settlement.is-void { color:#5f7285; background:#f1f5f8; }
.de-combo-performance-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.de-combo-performance-grid > div { padding:16px; background:#f7fbff; border:1px solid var(--de-line); border-radius:13px; }
.de-combo-performance-grid small,.de-combo-performance-grid strong { display:block; }
.de-combo-performance-grid small { color:var(--de-muted); font-size:10px; }
.de-combo-performance-grid strong { margin-top:6px; color:var(--de-blue-deep); font-size:22px; }

.de-account-danger-zone {
  width:min(1000px,calc(100% - 40px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px auto 36px;
  padding:20px 22px;
  background:#fff7f8;
  border:1px solid #efc7cd;
  border-radius:16px;
}
.de-account-danger-zone small { color:var(--de-danger); font-size:10px; font-weight:950; letter-spacing:.14em; }
.de-account-danger-zone h2 { margin:4px 0 5px; color:#8e2430; font-size:19px; }
.de-account-danger-zone p { margin:0; color:#75525a; font-size:12px; }
.de-account-danger-zone a { flex:0 0 auto; padding:10px 15px; color:#fff; background:var(--de-danger); border-radius:10px; font-size:12px; font-weight:900; text-decoration:none; }

@media (max-width: 900px) {
  .de-combo-overview,.de-combo-grid { grid-template-columns:1fr; }
  .de-combo-performance-grid { grid-template-columns:repeat(2,1fr); }
  .de-combo-state { min-width:0; text-align:left; }
}
@media (max-width: 640px) {
  .de-data-notice { align-items:flex-start; }
  .de-result-verdict strong { font-size:16px; }
  .de-combo-leg { grid-template-columns:26px minmax(0,1fr); }
  .de-combo-leg-numbers { grid-column:2; text-align:left; }
  .de-combo-summary { grid-template-columns:1fr; }
  .de-combo-summary > div { border-right:0; border-bottom:1px solid var(--de-line); }
  .de-combo-summary > div:last-child { border-bottom:0; }
  .de-account-danger-zone { width:calc(100% - 24px); align-items:flex-start; flex-direction:column; }
}

/* 9이닝픽 1.4.5 — compact Korean matchup briefing */
.de-news-article.de-matchup-briefing{max-width:780px;color:#243b4f}.de-matchup-briefing .de-news-kicker{background:#eaf5ff;color:#075aa8;letter-spacing:.03em}.de-matchup-briefing h2{margin-bottom:10px}.de-matchup-briefing .de-news-meta{margin-bottom:18px}.de-brief-lead{display:flex;flex-direction:column;gap:5px;margin:0 0 18px;padding:17px 18px;border-left:4px solid #0a64b5;border-radius:0 12px 12px 0;background:#f4f9fe}.de-brief-lead small{color:#d93c4a;font-size:10px;font-weight:950;letter-spacing:.08em}.de-brief-lead strong{color:#173f63;font-size:16px;line-height:1.65}.de-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 14px}.de-brief-card,.de-brief-factors{padding:17px;border:1px solid #d9e6f2;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,76,129,.04)}.de-brief-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:11px}.de-brief-card-head small{color:#0b64b3;font-size:9px;font-weight:950;letter-spacing:.08em}.de-brief-card-head h3{margin:0!important;padding:0!important;border:0!important;color:#0b477e!important;font-size:17px!important}.de-brief-team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #e7eef5}.de-brief-team-row>div{min-width:0}.de-brief-team-row small{display:block;color:#6a7e90;font-size:11px;font-weight:800}.de-brief-team-row strong{display:block;margin-top:2px;color:#173a59;font-size:14px;word-break:keep-all}.de-brief-team-row>span{flex:0 0 auto;color:#526b80;font-size:12px;font-weight:750;text-align:right}.de-brief-verdict{margin:10px 0 0!important;padding:8px 10px;border-radius:9px;background:#edf7ff;color:#075aa8;font-size:12px;font-weight:900;text-align:center}.de-brief-factors{margin:0 0 14px}.de-brief-factor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.de-brief-factor{padding:11px 12px;border:1px solid #e2eaf2;border-radius:11px;background:#f8fbfe}.de-brief-factor small{display:block;color:#788b9b;font-size:10px;font-weight:850}.de-brief-factor strong{display:block;margin-top:3px;color:#183f61;font-size:13px}.de-brief-factor span{display:block;margin-top:3px;color:#6c7f90;font-size:11px}.de-brief-eye{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 14px;padding:18px;border-radius:15px;background:#0a4f8d;color:#fff}.de-brief-eye small{display:block;color:#b9dcfa;font-size:9px;font-weight:950;letter-spacing:.08em}.de-brief-eye h3{margin:4px 0 0!important;padding:0!important;border:0!important;color:#fff!important;font-size:18px!important}.de-brief-eye p{margin:0!important;color:#f5f9fd;line-height:1.7}.de-brief-checkpoint{padding:17px;border:1px solid #bcd8ee;border-radius:15px;background:#f4faff}.de-brief-checkpoint.is-pass{border-color:#d4dde6;background:#f7f9fb}.de-brief-checkpoint>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.de-brief-checkpoint small{color:#0b64b3;font-size:9px;font-weight:950;letter-spacing:.08em}.de-brief-checkpoint.is-pass small{color:#687887}.de-brief-checkpoint h3{margin:0!important;padding:0!important;border:0!important;color:#0b477e!important;font-size:17px!important}.de-brief-checkpoint.is-pass h3{color:#526574!important}.de-brief-tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 0}.de-brief-tags span{display:inline-flex;padding:7px 9px;border:1px solid #c8dced;border-radius:999px;background:#fff;color:#204c70;font-size:11px;font-weight:850}.de-brief-checkpoint.is-pass .de-brief-tags span{border-color:#d7e0e7;color:#596c7b}.de-brief-checkpoint>p{margin:12px 0 0!important;color:#6d8090;font-size:12px}.de-matchup-briefing .de-disclaimer{margin-top:18px}.de-matchup-briefing .de-news-warning{margin:14px 0 0}
@media (max-width:720px){.de-brief-grid{grid-template-columns:1fr}.de-brief-factor-grid{grid-template-columns:1fr}.de-brief-eye{grid-template-columns:1fr;gap:8px}.de-brief-team-row{align-items:flex-start;flex-direction:column;gap:4px}.de-brief-team-row>span{text-align:left}.de-brief-checkpoint>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}}

/* 9이닝픽 1.4.6 — Gnuboard-safe briefing render hotfix */
.de-news-article.de-matchup-briefing{
  width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
.de-matchup-briefing .de-brief-lead{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  clear:both;
  box-sizing:border-box;
}
.de-matchup-briefing .de-brief-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  clear:both;
  width:100%;
  box-sizing:border-box;
}
.de-matchup-briefing .de-brief-grid>.de-brief-card,
.de-matchup-briefing .de-brief-factors,
.de-matchup-briefing .de-brief-eye,
.de-matchup-briefing .de-brief-checkpoint{
  display:block!important;
  float:none!important;
  width:auto!important;
  min-width:0;
  box-sizing:border-box;
}
.de-matchup-briefing .de-brief-card-head{
  display:block!important;
  margin-bottom:11px!important;
  text-align:left!important;
}
.de-matchup-briefing .de-brief-card-head small{
  display:block!important;
  margin:0 0 3px!important;
}
.de-matchup-briefing .de-brief-card-head h3{
  display:block!important;
  margin:0!important;
  text-align:left!important;
}
.de-matchup-briefing .de-brief-team-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  float:none!important;
  width:100%!important;
  box-sizing:border-box;
}
.de-matchup-briefing .de-brief-factor-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.de-matchup-briefing .de-brief-eye{
  display:grid!important;
  grid-template-columns:145px minmax(0,1fr)!important;
  gap:18px!important;
}
.de-matchup-briefing .de-brief-checkpoint>div:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
@media (max-width:720px){
  .de-matchup-briefing .de-brief-grid,
  .de-matchup-briefing .de-brief-factor-grid,
  .de-matchup-briefing .de-brief-eye{grid-template-columns:1fr!important}
  .de-matchup-briefing .de-brief-team-row{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}
  .de-matchup-briefing .de-brief-checkpoint>div:first-child{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
}
