/* The One Academy TH — News theme/readability patch */
:root {
  color-scheme: light;
  --news-bg: #f6f7fb;
  --news-surface: #ffffff;
  --news-surface-2: #f8fafc;
  --news-surface-3: #eef2ff;
  --news-text: #111827;
  --news-heading: #17135f;
  --news-muted: #526178;
  --news-border: #dce3ee;
  --news-link: #4338ca;
  --news-header: rgba(255,255,255,.92);
  --news-shadow: 0 14px 34px rgba(15,23,42,.08);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --news-bg: #080711;
  --news-surface: #17142a;
  --news-surface-2: #201c38;
  --news-surface-3: #28234a;
  --news-text: #f4f2ff;
  --news-heading: #ffffff;
  --news-muted: #c5c1d8;
  --news-border: rgba(184,176,255,.22);
  --news-link: #b8b0ff;
  --news-header: rgba(8,7,17,.92);
  --news-shadow: 0 16px 38px rgba(0,0,0,.42);
}

html,
body {
  background: var(--news-bg) !important;
  color: var(--news-text) !important;
}

body,
button,
input,
select,
textarea {
  font-family: "Kanit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body {
  font-weight: 400;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.bg-grid {
  opacity: .34 !important;
}
:root[data-theme="dark"] .bg-grid {
  opacity: .13 !important;
  background-image:
    linear-gradient(rgba(184,176,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,176,255,.07) 1px, transparent 1px) !important;
}

.site-header {
  background: var(--news-header) !important;
  border-color: var(--news-border) !important;
}
.brand-title,
.main-nav a,
.section-head h2,
.news-card h3,
.status-card h3,
.province-card h3,
.info-card h3,
.quick-card h3,
.news-link-card h3,
.subject-summary h3,
.subject-section h4,
.subject-box .value,
.status-meta b,
.summary-card strong,
.footer-title,
.footer-brand strong {
  color: var(--news-heading) !important;
}
.brand-subtitle,
.section-head p,
.news-card p,
.status-card p,
.province-card p,
.info-card p,
.quick-card p,
.news-link-card p,
.side-card span,
.summary-card span,
.subvalue,
footer,
.footer-brand p,
.footer-bottom,
td small {
  color: var(--news-muted) !important;
}
.main-nav a:hover,
.main-nav a.active {
  background: var(--news-surface-3) !important;
  color: var(--news-heading) !important;
}

.hero-panel,
.panel,
.news-card,
.status-card,
.province-card,
.info-card,
.quick-card,
.news-link-card,
.side-card,
.summary-card,
.hero-cover,
.subject-card,
.subject-box,
.subcenter-item,
.content-box,
.table-wrap,
.news-footer-cta {
  background: var(--news-surface) !important;
  border-color: var(--news-border) !important;
  box-shadow: var(--news-shadow) !important;
}

.hero-main,
.news-hero-main {
  color: #fff !important;
  background: linear-gradient(135deg,#111047 0%,#17135f 46%,#342aa0 100%) !important;
}
:root[data-theme="dark"] .hero-main,
:root[data-theme="dark"] .news-hero-main {
  background: linear-gradient(135deg,#0c0920 0%,#171331 48%,#2b245b 100%) !important;
  border: 1px solid var(--news-border) !important;
}
.hero-main h1,
.news-hero-main h1,
.hero-main strong,
.news-hero-main strong {
  color: #fff !important;
}
.hero-main p,
.news-hero-main p {
  color: rgba(255,255,255,.9) !important;
}

.tabs,
.news-tabs {
  background: var(--news-header) !important;
  border-color: var(--news-border) !important;
  box-shadow: var(--news-shadow) !important;
}
.tabs a,
.news-tabs a,
.meta,
.status-meta div,
.subject-summary,
.subject-section,
.check-list li {
  background: var(--news-surface-2) !important;
  border-color: var(--news-border) !important;
  color: var(--news-text) !important;
}
.tabs a:hover,
.tabs a.active,
.news-tabs a:hover,
.news-tabs a.active {
  background: var(--news-surface-3) !important;
  color: var(--news-heading) !important;
}

.read-link,
.status-card a,
.province-card a,
.source-list a,
.footer-links a,
.footer-social a,
.table-wrap a.generated-link,
.news-link-card a {
  color: var(--news-link) !important;
}

.subject-time,
.seat-pill,
.icon {
  background: var(--news-surface-3) !important;
  color: var(--news-heading) !important;
}
.subject-summary,
.subject-section {
  border-color: var(--news-border) !important;
}
.subject-body,
.subject-title-wrap,
.subject-box,
.subcenter-item,
.content-box {
  color: var(--news-text) !important;
}
.subject-box .label {
  color: var(--news-link) !important;
}

.table-wrap {
  overflow: auto;
}
th {
  background: #17135f !important;
  color: #fff !important;
  border-color: var(--news-border) !important;
}
td {
  background: var(--news-surface) !important;
  color: var(--news-text) !important;
  border-color: var(--news-border) !important;
}
tr:nth-child(even) td {
  background: var(--news-surface-2) !important;
}

.note-box {
  background: #fff7ed !important;
  color: #7c2d12 !important;
  border-color: #fdba74 !important;
}
:root[data-theme="dark"] .note-box {
  background: #2b1b0c !important;
  color: #fed7aa !important;
  border-color: #9a4b12 !important;
}

.site-footer,
footer.site-footer {
  background: var(--news-surface) !important;
  border-color: var(--news-border) !important;
  color: var(--news-muted) !important;
}

.theme-toggle,
.menu-toggle {
  border-color: var(--news-border) !important;
  background: var(--news-surface-2) !important;
  color: var(--news-heading) !important;
}

/* Prevent low-contrast disabled/faded states from becoming unreadable. */
.status-closed,
.deadline-closed {
  opacity: .74 !important;
}
.status-closed h3,
.status-closed p,
.deadline-closed td {
  color: var(--news-muted) !important;
}

/* Typography consistency */
h1,h2,h3,h4,strong,.brand-title,.read-link,.btn,.badge,.status-pill,.subject-time,.seat-pill {
  letter-spacing: 0;
}
p,li,td,.content-box,.status-meta div {
  line-height: 1.72;
}

@media (max-width: 700px) {
  .container {
    width: min(100% - 24px, 1160px) !important;
  }
  .hero {
    padding: 26px 0 16px !important;
  }
  .hero-panel,
  .panel,
  .news-hero-panel {
    padding: 16px !important;
    border-radius: 20px !important;
  }
  .hero-main,
  .news-hero-main {
    padding: 20px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }
  .hero h1,
  .news-hero h1 {
    font-size: clamp(1.85rem, 9vw, 2.45rem) !important;
    line-height: 1.12 !important;
  }
  .hero p,
  .news-hero p {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }
  .section {
    padding: 18px 0 !important;
  }
  .section-head {
    margin-bottom: 12px !important;
  }
  .section-head h2 {
    font-size: 1.65rem !important;
  }
  .card-grid,
  .quick-grid,
  .status-grid,
  .province-grid,
  .status-summary,
  .quick-check-grid,
  .subject-info-grid,
  .subcenter-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .news-card,
  .status-card,
  .province-card,
  .info-card,
  .quick-card,
  .news-link-card,
  .side-card,
  .summary-card {
    padding: 16px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }
  .news-card h3,
  .status-card h3,
  .province-card h3,
  .info-card h3,
  .quick-card h3,
  .news-link-card h3 {
    font-size: 1.08rem !important;
  }
  .news-card p,
  .status-card p,
  .province-card p,
  .info-card p,
  .quick-card p,
  .news-link-card p,
  .status-meta div {
    font-size: .92rem !important;
    line-height: 1.6 !important;
  }
  .tabs,
  .news-tabs {
    top: 66px !important;
    padding: 7px !important;
    gap: 7px !important;
    border-radius: 16px !important;
  }
  .tabs a,
  .news-tabs a {
    padding: 8px 11px !important;
    font-size: .84rem !important;
  }
  .subject-summary {
    padding: 14px 16px !important;
  }
  .subject-body,
  .subject-section,
  .subject-box,
  .subcenter-item,
  .content-box {
    padding: 14px !important;
  }
  .note-box {
    padding: 13px 14px !important;
    line-height: 1.62 !important;
  }
}
