/* A quieter, table-led report inspired by the supplied mobile reference. */
html:not(.pdf-export-light) {
  color-scheme: dark;
  --ink: #e9e9e7;
  --muted: #a7aaa9;
  --paper: #191b1d;
  --canvas: #111315;
  --line: #3b3e40;
  --red: #cba86d;
  --red-dark: #e0bd82;
  --gold: #cba86d;
  --element-wood: #3dbb80;
  --element-fire: #ef6a61;
  --element-earth: #c4915d;
  --element-metal: #e4c35c;
  --element-water: #48a9ee;
  background: #111315;
}

html:not(.pdf-export-light) body {
  color: #e9e9e7;
  background: #111315;
}

.app-shell { width: min(100% - 32px, 1040px); padding-top: 30px; }
.app-header { margin-bottom: 24px; }
.brand-mark { width: 50px; height: 50px; border: 1px solid #8f7954; border-radius: 50%; box-shadow: none; }
.eyebrow { letter-spacing: .12em; }
html:not(.pdf-export-light) .app-header h1,
html:not(.pdf-export-light) .section-heading h2,
html:not(.pdf-export-light) .report-toolbar h2,
html:not(.pdf-export-light) .paper-title-group h2,
html:not(.pdf-export-light) .paper-section-heading h3 { color: #eeeae2; font-family: var(--sans); letter-spacing: .02em; }
html:not(.pdf-export-light) .header-subtitle,
html:not(.pdf-export-light) .field,
html:not(.pdf-export-light) .form-message,
html:not(.pdf-export-light) .app-footer,
html:not(.pdf-export-light) .screen-note { color: #a5a8a8; }
html:not(.pdf-export-light) .eyebrow,
html:not(.pdf-export-light) .paper-title-group p { color: #cba86d; }

html:not(.pdf-export-light) .input-card,
html:not(.pdf-export-light) .report-paper { color: #e9e9e7; border-color: #3b3e40; background: #191b1d; box-shadow: none; }
html:not(.pdf-export-light) .input-card { border-top-color: #6c5c44; }
html:not(.pdf-export-light) .timezone-chip,
html:not(.pdf-export-light) .fortune-year-select { color: #d2bc95; border-color: #545049; background: #252728; }
html:not(.pdf-export-light) .field input[type="text"],
html:not(.pdf-export-light) .field-picker-trigger { color: #ededeb; border-color: #474a4b; background: #242628; }
html:not(.pdf-export-light) .field input::placeholder { color: #8e9292; }
html:not(.pdf-export-light) .segmented-control { border-color: #474a4b; background: #242628; }
html:not(.pdf-export-light) .segmented-control input + span { color: #c4c5c2; }
html:not(.pdf-export-light) .segmented-control input:checked + span { color: #17191a; background: #cba86d; box-shadow: none; }
html:not(.pdf-export-light) .lunar-preview { color: #d1ded6; border-left-color: #6a9d81; background: #202b27; }
html:not(.pdf-export-light) .lunar-date { color: #d1ded6; }
html:not(.pdf-export-light) .lunar-icon { color: #13221a; background: #89b59c; }
html:not(.pdf-export-light) .primary-button,
html:not(.pdf-export-light) .wheel-confirm,
html:not(.pdf-export-light) .save-pdf-button { color: #181a1a; border-color: #cba86d; background: #cba86d; box-shadow: none; }
html:not(.pdf-export-light) .primary-button:hover,
html:not(.pdf-export-light) .wheel-confirm:hover,
html:not(.pdf-export-light) .save-pdf-button:hover { color: #151617; background: #dfbf89; }
html:not(.pdf-export-light) .secondary-button:not(.save-pdf-button),
html:not(.pdf-export-light) .wheel-cancel { color: #e3e1dc; border-color: #55595a; background: #292c2e; }
html:not(.pdf-export-light) .field-picker-trigger:disabled { color: #8b8e8e; border-color: #3f4243; background: #202223; }
html:not(.pdf-export-light) .wheel-dialog,
html:not(.pdf-export-light) .term-dialog { color: #e7e8e5; border-color: #535658; background: #202223; }
html:not(.pdf-export-light) .wheel-column { border-color: #484b4c; background: #292c2d; }
html:not(.pdf-export-light) .wheel-column::after { border-color: #9e8258; background: #9e825827; }
html:not(.pdf-export-light) .wheel-dialog-header h2,
html:not(.pdf-export-light) .term-dialog-header h2,
html:not(.pdf-export-light) .term-dialog h3 { color: #eee8db; }

.report-paper { font-family: var(--sans); }
html:not(.pdf-export-light) .paper-header { border-bottom: 1px solid #4c463b; }
.paper-emblem-logo { border-radius: 50%; }
html:not(.pdf-export-light) .paper-seal { color: #cba86d; border-color: #60533d; }
html:not(.pdf-export-light) .report-meta { border-color: #3b3e40; background: #202224; }
html:not(.pdf-export-light) .meta-item { border-color: #3b3e40; }
html:not(.pdf-export-light) .meta-label,
html:not(.pdf-export-light) .twelve-star-label,
html:not(.pdf-export-light) .annual-label,
html:not(.pdf-export-light) .noble-heading span { color: #979b9a; }
html:not(.pdf-export-light) .meta-value { color: #f0efec; font-family: var(--sans); }
html:not(.pdf-export-light) .paper-section-heading > span,
html:not(.pdf-export-light) .paper-section-heading small { color: #b69969; }
html:not(.pdf-export-light) .paper-section-heading i { background: #3d4142; }
.paper-section-heading i::after { display: none; }
html:not(.pdf-export-light) .pillars-wrap { border-color: #414446; }
html:not(.pdf-export-light) .pillars-table th,
html:not(.pdf-export-light) .pillars-table th:first-child,
html:not(.pdf-export-light) .pillars-table .day-column { color: #c8cbca; background: #292c2e; }
html:not(.pdf-export-light) .pillars-table .day-column { color: #dfbd83; }
html:not(.pdf-export-light) .pillars-table td { border-color: #383b3d; }
html:not(.pdf-export-light) .pillars-table tbody tr:nth-child(odd) td,
html:not(.pdf-export-light) .pillars-table tbody tr:nth-child(odd) td:nth-child(4) { background: #202224; }
html:not(.pdf-export-light) .pillars-table tbody tr:nth-child(even) td,
html:not(.pdf-export-light) .pillars-table tbody tr:nth-child(even) td:nth-child(4) { background: #292b2d; }
html:not(.pdf-export-light) .pillars-table td:first-child { color: #9b9e9d; }
html:not(.pdf-export-light) .pillar-ten-god,
html:not(.pdf-export-light) .pillar-hidden-god small,
html:not(.pdf-export-light) .luck-ten-god,
html:not(.pdf-export-light) .annual-ten-gods { color: #b9babb; }
html:not(.pdf-export-light) .pillar-hidden-god { color: #c7c9c8; }
html:not(.pdf-export-light) .pillar-main[data-element="木"],
html:not(.pdf-export-light) .pillar-hidden-god b[data-element="木"],
html:not(.pdf-export-light) .pillar-wuxing b[data-element="木"] { color: var(--element-wood); }
html:not(.pdf-export-light) .pillar-main[data-element="火"],
html:not(.pdf-export-light) .pillar-hidden-god b[data-element="火"],
html:not(.pdf-export-light) .pillar-wuxing b[data-element="火"] { color: var(--element-fire); }
html:not(.pdf-export-light) .pillar-main[data-element="土"],
html:not(.pdf-export-light) .pillar-hidden-god b[data-element="土"],
html:not(.pdf-export-light) .pillar-wuxing b[data-element="土"] { color: var(--element-earth); }
html:not(.pdf-export-light) .pillar-main[data-element="金"],
html:not(.pdf-export-light) .pillar-hidden-god b[data-element="金"],
html:not(.pdf-export-light) .pillar-wuxing b[data-element="金"] { color: var(--element-metal); }
html:not(.pdf-export-light) .pillar-main[data-element="水"],
html:not(.pdf-export-light) .pillar-hidden-god b[data-element="水"],
html:not(.pdf-export-light) .pillar-wuxing b[data-element="水"] { color: var(--element-water); }
html:not(.pdf-export-light) .table-note,
html:not(.pdf-export-light) .luck-age,
html:not(.pdf-export-light) .luck-years,
html:not(.pdf-export-light) .annual-sub,
html:not(.pdf-export-light) .paper-footer,
html:not(.pdf-export-light) .monthly-note,
html:not(.pdf-export-light) .monthly-terms { color: #a5a8a7; }

html:not(.pdf-export-light) .twelve-star-card,
html:not(.pdf-export-light) .luck-card,
html:not(.pdf-export-light) .annual-card,
html:not(.pdf-export-light) .noble-card,
html:not(.pdf-export-light) .monthly-item { color: #e7e7e4; border-color: #3d4142; background: #222426; box-shadow: none; }
html:not(.pdf-export-light) .twelve-star-card.current,
html:not(.pdf-export-light) .luck-card.current,
html:not(.pdf-export-light) .annual-card.current,
html:not(.pdf-export-light) .noble-card.found { border-color: #9e8258; background: #30302c; box-shadow: inset 0 2px #cba86d; }
.twelve-star-card:hover,
.luck-card:hover { transform: none; box-shadow: none; }
.luck-card .luck-hidden {
  display: grid;
  align-content: start;
  gap: 3px;
  width: 100%;
  min-height: 0;
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid #3d4142;
  line-height: 1.25;
  word-break: normal;
  overflow-wrap: normal;
}
.luck-ten-god,
.luck-hidden-row {
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
  align-items: baseline;
  gap: 3px;
  width: 100%;
  text-align: left;
  white-space: nowrap;
}
.luck-ten-god { margin-top: 8px; padding: 4px 0; font-size: 9px; }
.luck-ten-god b,
.luck-hidden-row b { font-weight: 600; }
.luck-ten-god .term-trigger,
.luck-hidden-row .term-trigger { width: max-content; max-width: 100%; min-width: 0; min-height: 16px; padding: 0; font-size: inherit; }
html:not(.pdf-export-light) .luck-card .luck-ten-god .term-trigger,
html:not(.pdf-export-light) .luck-card .luck-hidden-row .term-trigger { color: #fff; }
.luck-ten-god b[data-element="木"], .luck-hidden-row b[data-element="木"] { color: var(--element-wood); }
.luck-ten-god b[data-element="火"], .luck-hidden-row b[data-element="火"] { color: var(--element-fire); }
.luck-ten-god b[data-element="土"], .luck-hidden-row b[data-element="土"] { color: var(--element-earth); }
.luck-ten-god b[data-element="金"], .luck-hidden-row b[data-element="金"] { color: var(--element-metal); }
.luck-ten-god b[data-element="水"], .luck-hidden-row b[data-element="水"] { color: var(--element-water); }
html:not(.pdf-export-light) .twelve-star-card strong,
html:not(.pdf-export-light) .noble-name { color: #e0c089; }
html:not(.pdf-export-light) .noble-summary,
html:not(.pdf-export-light) .monthly-panel,
html:not(.pdf-export-light) .fortune-explanation { color: #e7e7e4; border-color: #3d4142; background: #202224; }
html:not(.pdf-export-light) .noble-heading strong,
html:not(.pdf-export-light) .monthly-panel h3,
html:not(.pdf-export-light) .fortune-explanation h4 { color: #e9e6dd; }
html:not(.pdf-export-light) .noble-card strong,
html:not(.pdf-export-light) .monthly-item summary,
html:not(.pdf-export-light) .monthly-detail,
html:not(.pdf-export-light) .fortune-explanation p { color: #e2e3e1; }
html:not(.pdf-export-light) .element-name,
html:not(.pdf-export-light) .element-count { color: #d6d8d6; }
html:not(.pdf-export-light) .element-track { background: #343739; }
html:not(.pdf-export-light) .element-fill { background: var(--element-accent); box-shadow: none; }
html:not(.pdf-export-light) .fortune-ratings > div,
html:not(.pdf-export-light) .annual-compact .fortune-ratings > div { border-color: #3d4142; background: #222426; }
html:not(.pdf-export-light) .fortune-ratings > div:first-child { color: #e5c58e; background: #2d2b26; }
html:not(.pdf-export-light) .fortune-ratings strong,
html:not(.pdf-export-light) .monthly-item summary strong,
html:not(.pdf-export-light) .monthly-ratings strong { color: #e0b96e; }
html:not(.pdf-export-light) .monthly-ratings > div { border-color: #3d4142; }
.monthly-item, .monthly-panel, .fortune-explanation { border-radius: 2px; }
html:not(.pdf-export-light) .term-trigger:hover { color: #ebc78c; background: #38342d; }

@media screen {
  .page-watermark { display: none !important; }
  .report-paper { border-radius: 2px; }
  .paper-section-heading h3 { font-family: var(--sans); }
  .annual-compact .fortune-ratings > div { font-size: 10px; }
  .annual-compact .fortune-ratings strong { font-size: 12px; }
}

@media screen and (max-width: 760px) {
  .app-shell { width: min(100% - 20px, 620px); padding-top: 18px; }
  .app-header { gap: 12px; margin-bottom: 18px; }
  .app-header h1 { font-size: 23px; }
  .header-subtitle { font-size: 11px; }
  .input-card { padding: 18px 15px; }
  .report-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .print-actions { width: 100%; max-width: none; align-items: stretch; }
  .report-export-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .report-export-buttons button { width: 100%; }
  .report-viewport { overflow: visible; }
  .report-page-frame { width: 100%; height: auto !important; margin-bottom: 16px; }
  .report-page-frame > .report-paper {
    position: static !important;
    width: 100%;
    max-width: none;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 17px 13px 19px;
    transform: none !important;
  }
  .report-page-frame .paper-header { gap: 10px; padding-bottom: 12px; }
  .report-page-frame .paper-emblem { width: 38px; height: 38px; }
  .report-page-frame .paper-title-group h2 { font-size: 18px; }
  .report-page-frame .paper-seal { display: none; }
  .report-page-frame .report-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-page-frame .meta-item { min-width: 0; min-height: 47px; padding: 7px 8px; border-top: 1px solid #3b3e40; }
  .report-page-frame .meta-item:first-child,
  .report-page-frame .meta-item:nth-child(2) { border-top: 0; }
  .report-page-frame .meta-item:nth-child(2),
  .report-page-frame .meta-item:nth-child(3),
  .report-page-frame .meta-item:nth-child(5) { border-right: 0; }
  .report-page-frame .meta-item:nth-child(3) { grid-column: 1 / -1; }
  .report-page-frame .meta-value { font-size: 11px; }
  .report-page-frame .paper-section { margin-top: 20px; }
  .report-page-frame .paper-section-heading { gap: 7px; margin-bottom: 9px; }
  .report-page-frame .paper-section-heading h3 { font-size: 14px; }
  .report-page-frame .paper-section-heading small { display: none; }
  .report-page-frame .pillars-table th { height: 32px; font-size: 10px; }
  .report-page-frame .pillars-table th:first-child { width: 43px; }
  .report-page-frame .pillars-table td { height: 65px; padding: 6px 2px; }
  .report-page-frame .pillars-table td:first-child { font-size: 10px; }
  .report-page-frame .pillar-cell { gap: 4px; min-height: 36px; }
  .report-page-frame .pillar-stem,
  .report-page-frame .pillar-branch { font-size: 25px; }
  .report-page-frame .pillar-ten-god { min-width: 0; font-size: 9px; white-space: nowrap; }
  .report-page-frame .pillar-hidden-gods { min-width: 0; gap: 2px; }
  .report-page-frame .pillar-hidden-god { grid-template-columns: 1em minmax(0, 1fr); gap: 2px; font-size: 9px; white-space: normal; }
  .report-page-frame .pillar-hidden-god small { font-size: 8px; white-space: normal; }
  .report-page-frame .pillar-wuxing { font-size: 18px; }
  .report-page-frame .table-note { font-size: 10px; line-height: 1.55; }
  .report-page-frame .twelve-star-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .report-page-frame .twelve-star-card { min-height: 71px; padding: 7px 2px; }
  .report-page-frame .twelve-star-card strong { font-size: 15px; }
  .report-page-frame .luck-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .report-page-frame .luck-card { min-height: 132px; padding: 8px 2px; }
  .report-page-frame .luck-age,
  .report-page-frame .luck-years,
  .report-page-frame .luck-ten-god { font-size: 8px; }
  .report-page-frame .luck-pillar { font-size: 15px; }
  .report-page-frame .luck-hidden { gap: 4px; font-size: 8px; }
  .report-page-frame .luck-ten-god,
  .report-page-frame .luck-hidden-row { gap: 2px; }
  .report-page-frame .paper-bottom-grid { grid-template-columns: 1fr; gap: 18px; }
  .report-page-frame .paper-bottom-grid .paper-section { margin-top: 0; }
  .report-page-frame .annual-layout { grid-template-columns: 1fr 1fr; }
  .report-page-frame .annual-card { min-height: 91px; }
  .report-page-frame .annual-sub,
  .report-page-frame .annual-ten-gods { font-size: 9px; }
  .report-page-frame .noble-grid { grid-template-columns: repeat(2, 52px); }
  .report-page-frame .noble-card { width: 52px; }
  .report-page-frame .noble-card strong { font-size: 8px; }
  .report-page-frame .element-track { height: 11px; }
  .report-page-frame .annual-compact { margin-top: 17px; }
  .report-page-frame .monthly-panel { margin-top: 16px; padding: 15px; }
  .report-page-frame .monthly-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-page-frame .monthly-ratings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-page-frame .fortune-panel { width: 100%; margin-top: 20px; }
  .report-page-frame .fortune-explanation { padding: 15px; }
  .report-page-frame .fortune-explanation p,
  .report-page-frame .monthly-detail { font-size: 12px; }
  .report-page-frame .paper-footer { gap: 5px; flex-direction: column; font-size: 9px; }
}

@media screen and (max-width: 390px) {
  .report-page-frame > .report-paper { padding-right: 9px; padding-left: 9px; }
  .report-page-frame .pillars-table th:first-child { width: 38px; }
  .report-page-frame .pillar-cell { gap: 2px; }
  .report-page-frame .pillar-stem,
  .report-page-frame .pillar-branch { font-size: 23px; }
  .report-page-frame .pillar-ten-god { font-size: 8px; }
  .report-page-frame .pillar-hidden-god small { font-size: 7px; }
  .report-page-frame .luck-age,
  .report-page-frame .luck-years,
  .report-page-frame .luck-ten-god { font-size: 7px; }
  .report-page-frame .luck-hidden { font-size: 7px; }
}

@media print {
  html, body { background: #191b1d !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  html:not(.pdf-export-light) .report-paper { color: #e9e9e7 !important; background: #191b1d !important; }
  .page-watermark { display: block !important; opacity: .025 !important; }
  .report-page-frame > .report-paper { position: static !important; transform: none !important; }
}
