/* Theme patch layer. Visual overrides only; no functional or layout logic. */
:root {
  --tp-bg: #090b0b;
  --tp-bg-soft: #161b19;
  --tp-panel: #161816;
  --tp-panel-2: #24231f;
  --tp-primary: #c81020;
  --tp-primary-dark: #750711;
  --tp-accent: #e5bd58;
  --tp-accent-light: #fff1a9;
  --tp-paper: #fffaf0;
  --tp-paper-2: #f3e4bd;
  --tp-text: #231d12;
  --tp-on-dark: #fff8df;
  --tp-line: rgba(210, 168, 72, .55);
  --tp-radius: 10px;
  --tp-font: system-ui, "Microsoft YaHei", sans-serif;
  --tp-title-font: var(--tp-font);
  --tp-shadow: 0 9px 25px rgba(0,0,0,.38);
  --tp-body-pattern: radial-gradient(circle at 50% -10%, rgba(255,255,255,.09), transparent 34%);
}

html, html body, html uni-page-body {
  background: var(--tp-body-pattern), linear-gradient(180deg,var(--tp-bg-soft),var(--tp-bg) 420px) !important;
}

html body { font-family: var(--tp-font) !important; }
html body::before { opacity: .22 !important; }
html body::after { border-color: var(--tp-line) !important; box-shadow: inset 0 0 25px color-mix(in srgb,var(--tp-accent) 18%,transparent) !important; }

html body .kaijiang_info::before {
  color: var(--tp-on-dark) !important;
  background: linear-gradient(180deg,var(--tp-accent-light),var(--tp-accent)) !important;
  border-color: var(--tp-accent-light) !important;
  border-radius: 999px !important;
}

html body .kaijiang_info .type_list,
html body .kaijiang_info .type_list[data-lottery-switch="1"] {
  background: linear-gradient(180deg,var(--tp-panel-2),var(--tp-panel)) !important;
  border-color: var(--tp-line) !important;
  box-shadow: var(--tp-shadow) !important;
}

html body .kaijiang_info .type_list .type_item,
html body .kaijiang_info .type_list[data-lottery-switch="1"] .type_item {
  color: var(--tp-on-dark) !important;
  background: linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.025)) !important;
  border-color: color-mix(in srgb,var(--tp-accent) 30%,transparent) !important;
  border-radius: calc(var(--tp-radius) - 2px) !important;
}

html body .kaijiang_info .type_list .type_item.active_item,
html body .kaijiang_info .type_list[data-lottery-switch="1"] .type_item.active_item {
  background: linear-gradient(180deg,var(--tp-primary),var(--tp-primary-dark)) !important;
  border-color: color-mix(in srgb,var(--tp-primary) 35%,white) !important;
  box-shadow: 0 4px 14px color-mix(in srgb,var(--tp-primary) 48%,transparent), inset 0 1px 0 rgba(255,255,255,.3) !important;
}

html body .kaijiang_info .kaijiang_wrap,
html body .kaijiang_info .lottery-override-wrap {
  color: var(--tp-on-dark) !important;
  background: radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--tp-primary) 22%,transparent),transparent 48%),linear-gradient(145deg,var(--tp-panel-2),var(--tp-panel)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: calc(var(--tp-radius) + 3px) !important;
  box-shadow: var(--tp-shadow),0 0 0 2px color-mix(in srgb,var(--tp-accent) 30%,transparent) !important;
}

html body .gonggao,
html body .gonggao[data-admin-domain-notice] {
  color: var(--tp-on-dark) !important;
  background: linear-gradient(180deg,var(--tp-primary),var(--tp-primary-dark)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: var(--tp-radius) !important;
}

html body .gundong_wrap {
  color: var(--tp-text) !important;
  background: linear-gradient(180deg,var(--tp-paper),var(--tp-paper-2)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: var(--tp-radius) !important;
}

html body .generated-ziliao-wrap {
  background: linear-gradient(135deg,var(--tp-paper-2),var(--tp-paper) 16%,var(--tp-paper-2)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: var(--tp-radius) !important;
  box-shadow: var(--tp-shadow) !important;
}

html body .generated-ziliao-title {
  color: var(--tp-accent-light) !important;
  background: radial-gradient(ellipse at 50% -30%,rgba(255,255,255,.25),transparent 48%),linear-gradient(180deg,var(--tp-primary),var(--tp-primary-dark)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: var(--tp-radius) !important;
  font-family: var(--tp-title-font) !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.65) !important;
}

html body .generated-ziliao-card,
html body .tip-card,
html body .sxp-card,
html body .third-random-poem-card {
  background-color: var(--tp-paper) !important;
  border-color: color-mix(in srgb,var(--tp-accent) 72%,#777) !important;
  border-radius: var(--tp-radius) !important;
  box-shadow: 0 4px 13px rgba(0,0,0,.16) !important;
}

html body .generated-ziliao-card:not(.tip-card):not(.poem-image-card):not(.third-random-poem-card):not(.sxp-card) > .generated-ziliao-name,
html body .sxp-card-title {
  color: var(--tp-accent-light) !important;
  background: linear-gradient(180deg,var(--tp-primary),var(--tp-primary-dark)) !important;
  border-color: var(--tp-accent) !important;
  border-radius: calc(var(--tp-radius) - 2px) !important;
  font-family: var(--tp-title-font) !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.62) !important;
}

html body .generated-ziliao-row:nth-child(odd),
html body .generated-ziliao-row:nth-child(even),
html body .generated-ziliao-row:not(.material-special-row),
html body .material-special-row,
html body .material-card-intro {
  background: linear-gradient(180deg,var(--tp-paper),var(--tp-paper-2)) !important;
  border-color: color-mix(in srgb,var(--tp-accent) 38%,transparent) !important;
}

html body .material-float-button,
html body .site-popup-head,
html body .site-popup-foot button {
  color: var(--tp-on-dark) !important;
  background: linear-gradient(180deg,var(--tp-primary),var(--tp-primary-dark)) !important;
  border-color: var(--tp-accent) !important;
}

html body .material-float-panel,
html body .site-popup-dialog {
  background: var(--tp-paper) !important;
  border-color: var(--tp-accent) !important;
  border-radius: var(--tp-radius) !important;
  box-shadow: var(--tp-shadow) !important;
}

html body .mf-panel-head {
  background: linear-gradient(180deg,var(--tp-panel-2),var(--tp-panel)) !important;
  border-bottom-color: var(--tp-accent) !important;
}

@media (max-width:520px) {
  html body .generated-ziliao-title { border-radius: calc(var(--tp-radius) - 2px) !important; }
}
