/* Focused report: one chart, a compact overview, four deliberate reading paths. */
.focused-report-toolbar { align-items: flex-start; margin-bottom: 16px; }
.focused-report-toolbar .focused-sample-label { font-size: 11px; color: var(--muted); }
.full-reading-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid #ddc49a; border-radius: 999px; background: #fff6e5; color: #85601f; font-size: 11px; font-weight: 650; line-height: 1.6; }
.full-reading-badge::before { content: '✧'; font-size: 17px; }
.focused-report-nav { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0 0 22px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.focused-report-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 6px 0; color: var(--purple); font-size: 10px; font-weight: 600; text-decoration: none; }
.focused-report-nav a span { color: var(--ink); font-size: 12px; }
.focused-report-nav a:hover span { color: var(--purple); }
.focused-section-title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.focused-section-title h2 { margin: 0; font-size: 22px; }
.focused-section-title .eyebrow { display: block; margin: 0 0 3px; font-size: 10px; letter-spacing: .13em; color: var(--purple); }
.focused-section-title .full-reading-badge { margin-left: auto; }
.section-number { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 42px; border-radius: 13px; background: var(--lilac); color: var(--purple); font-size: 14px; font-weight: 650; }
.compact-pillars { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 22px 0 12px; }
.compact-pillars > div { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 8px; border: 1px solid var(--lilac-line); background: var(--lilac); border-radius: 13px; }
.compact-pillars dt { color: var(--muted); font-size: 11px; }
.compact-pillars dd { margin: 0; color: var(--purple); font-size: 20px; font-weight: 650; letter-spacing: .08em; }
.reading-keywords { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: 11px; }
.reading-keywords strong { margin-left: 5px; color: var(--purple); }
.report-overview .compact-overview .mingli-lead { max-width: 70em; margin: 16px 0; font-size: 15px; line-height: 1.95; }
.overview-clues { display: grid; gap: 10px; margin: 18px 0; }
.overview-clues p { display: flex; gap: 13px; align-items: baseline; margin: 0; }
.overview-clues p > span { flex-shrink: 0; min-width: 4em; font-size: 10px; letter-spacing: .04em; color: #147d68; }
.overview-clues p:nth-child(2) > span { color: #ab751e; }
.overview-clues p:nth-child(3) > span { color: #9a537b; }
.overview-clues strong { font-size: 13px; font-weight: 550; line-height: 1.75; }
.overview-detail, .deep-card-details, .focused-method, .export-year-readings { border: 0; border-top: 1px solid var(--line); padding: 0; }
.overview-detail > summary, .deep-card-details > summary, .focused-method > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 13px 0; color: var(--purple); font-size: 12px; font-weight: 600; cursor: pointer; list-style: none; }
.overview-detail > summary::-webkit-details-marker, .deep-card-details > summary::-webkit-details-marker, .focused-method > summary::-webkit-details-marker { display: none; }
.overview-detail > summary::after, .deep-card-details > summary::after, .focused-method > summary::after { display: none; }
.disclosure-symbol { flex-shrink: 0; font-size: 20px; font-weight: 400; transition: transform .2s; }
[open] > summary > .disclosure-symbol { transform: rotate(45deg); }
.overview-detail .mingli-sections { margin-top: 0; }
.overview-detail .mingli-sections article { padding-top: 16px; }
.deep-reading-section { margin-top: 34px; }
.deep-section-intro { margin: 12px 0 20px; font-size: 13px; color: var(--muted); }
.deep-reading-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.deep-reading-card { --topic-accent:#78539c; --topic-tint:#eee3fb; --topic-border:#dac9e8; --topic-surface:#fdfaff; min-width: 0; padding: 23px 24px 5px; border: 1px solid var(--topic-border); border-top: 3px solid var(--topic-accent); border-radius: 21px; background: var(--topic-surface); box-shadow: 0 5px 16px rgb(49 29 60 / 3%); }
.deep-reading-card.topic-career { --topic-accent:#1d8070; --topic-tint:#dcf2e9; --topic-border:#baded2; --topic-surface:#f8fffb; }
.deep-reading-card.topic-resources { --topic-accent:#a77319; --topic-tint:#f9eac8; --topic-border:#ead5a8; --topic-surface:#fffcf5; }
.deep-reading-card.topic-relationship { --topic-accent:#b7547f; --topic-tint:#f9e3ec; --topic-border:#e8c6d5; --topic-surface:#fff9fb; }
.deep-card-heading { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: var(--topic-accent); }
.deep-card-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--topic-tint); }
.deep-card-icon svg { width: 22px; height: 22px; }
.deep-card-heading h3 { margin: 0; color: inherit; font-size: 17px; font-weight: 650; }
.topic-signal { margin-left: auto; max-width: 100%; padding: 3px 8px; border: 1px solid var(--topic-border); border-radius: 8px; color: var(--topic-accent); font-size: 10px; font-weight: 550; }
.deep-card-title { margin: 18px 0 10px; color: var(--ink); font-size: 20px; font-weight: 650; line-height: 1.55; }
.deep-card-summary { margin: 0 0 16px; font-size: 14px; line-height: 1.9; color: var(--ink); }
.deep-keywords { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; }
.deep-keywords span { border-radius: 6px; background: var(--topic-tint); color: var(--topic-accent); padding: 3px 8px; font-size: 10px; font-weight: 600; }
.deep-card-details { border-color: var(--topic-border); }
.deep-card-details > summary { color: var(--topic-accent); font-size: 13px; }
.deep-card-body { padding: 4px 0 18px; }
.deep-card-body section { margin: 12px 0 20px; padding: 0; border: 0; }
.deep-card-body h5 { margin: 0 0 10px; font-size: 15px; font-weight: 650; line-height: 1.75; color: var(--topic-accent); }
.deep-card-body p { margin: 10px 0; font-size: 14px; line-height: 1.95; }
.deep-basis { margin-top: 16px; padding: 13px 15px; background: var(--topic-tint); border-radius: 12px; color: var(--topic-accent); }
.deep-basis > span, .deep-takeaway > span { display: block; margin-bottom: 6px; font-size: 10px; font-weight: 650; letter-spacing: .05em; }
.deep-basis ul { margin: 0; padding-left: 17px; font-size: 12px; line-height: 1.85; }
.deep-card-body .deep-takeaway { margin: 16px 0 0; padding-left: 13px; border-left: 2px solid var(--topic-accent); color: var(--topic-accent); }
.deep-takeaway strong { display: block; font-size: 13px; font-weight: 550; }
.focused-method { margin-top: 30px; border-block: 1px solid var(--line); }
.focused-method > summary { color: var(--muted); font-size: 12px; }
.focused-method-body { padding: 0 0 18px; max-width: 75em; color: var(--muted); font-size: 12px; line-height: 1.9; }
.fortune-grade-guide { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.fortune-grade-guide > span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 10px; font-size: 12px; }
.fortune-grade-guide small { font-size: 10px; color: inherit; }
.fortune-face { width: 26px; height: 26px; flex-shrink: 0; vertical-align: middle; }
.fortune-grade-guide .fortune-face { width: 22px; height: 22px; }
.annual-grade { gap: 6px; min-width: 68px; border-radius: 14px; padding: 8px 10px; }
.annual-metrics .metric-grade { align-self: center; padding: 2px 7px; border-radius: 6px; font-size: 10px; }
.tone-great, .annual-metrics .tone-great { color: #956713; background: #fff0c4; }
.tone-positive, .annual-metrics .tone-positive { color: #08754f; background: #dcf3e7; }
.tone-gentle, .annual-metrics .tone-gentle { color: #267a77; background: #e2f4ef; }
.tone-neutral, .annual-metrics .tone-neutral { color: #79688c; background: #eee9f5; }
.tone-caution, .annual-metrics .tone-caution { color: #a44a10; background: #ffead0; }
.tone-guard, .annual-metrics .tone-guard { color: #b42e31; background: #ffe2df; }
.focused-report-footer { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 26px; }
.offline-report-link { flex-basis: 100%; text-align: center; color: var(--muted); font-size: 11px; }
html.dark .full-reading-badge { color: #e4c689; background: #352e26; border-color: #695335; }
html.dark .deep-reading-card { --topic-accent:#d0afea; --topic-tint:#3b314a; --topic-border:#544360; --topic-surface:#2c2933; }
html.dark .deep-reading-card.topic-career { --topic-accent:#8cd3ba; --topic-tint:#293e36; --topic-border:#3e5d52; --topic-surface:#252e2b; }
html.dark .deep-reading-card.topic-resources { --topic-accent:#e4bf78; --topic-tint:#453a26; --topic-border:#625034; --topic-surface:#302d27; }
html.dark .deep-reading-card.topic-relationship { --topic-accent:#e7a6bf; --topic-tint:#48323e; --topic-border:#664453; --topic-surface:#322930; }
html.dark .overview-clues p > span { color: #8cd3ba; }
html.dark .overview-clues p:nth-child(2) > span { color: #e4bf78; }
html.dark .overview-clues p:nth-child(3) > span { color: #e7a6bf; }
html.dark .tone-great, html.dark .annual-metrics .tone-great { color: #f0ce79; background: #493a21; }
html.dark .tone-positive, html.dark .annual-metrics .tone-positive { color: #93e0b7; background: #243d30; }
html.dark .tone-gentle, html.dark .annual-metrics .tone-gentle { color: #92d3cb; background: #283e3b; }
html.dark .tone-neutral, html.dark .annual-metrics .tone-neutral { color: #c7b5dc; background: #383140; }
html.dark .tone-caution, html.dark .annual-metrics .tone-caution { color: #ffc285; background: #54351f; }
html.dark .tone-guard, html.dark .annual-metrics .tone-guard { color: #ffada5; background: #5c292c; }
.report-export { --ink:#302b2d; --muted:#71696b; --line:#e8e1e9; --soft:#f7f4f8; --surface:#fff; --lilac:#eee8f7; --lilac-line:#ddd0e9; --purple:#755097; --chart-grid:#e8e4e8; --chart-text:#71696b; --chart-flat:#8a8192; --chart-up:#189267; --chart-down:#d85770; --primary:#755097; --on-primary:#fff; margin:0; background:#fffdfc; color:var(--ink); font:15px/1.8 -apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif; overflow-wrap:anywhere; }
.report-export * { box-sizing:border-box; }
.report-export main { max-width:1000px; margin:auto; padding:32px 24px; }
.report-export h1 { font-size:28px; line-height:1.5; }
.report-export h2 { font-size:22px; line-height:1.5; }
.report-export .eyebrow { font-size:10px; letter-spacing:.13em; color:var(--purple); }
.report-export .export-chart-section { margin:28px 0; }
.report-export .chart-scroll { overflow-x:auto; }
.report-export .chart-scroll > svg { display:block; width:960px; max-width:none; height:auto; }
.report-export summary { cursor:pointer; padding:12px 0; }
.report-export .export-year-readings { margin-top:20px; }
.report-export .export-year-readings > details { border-top:1px solid var(--line); }
.report-export .annual-reading-card { margin:14px 0 24px; padding:20px; background:var(--soft); border-radius:18px; }
.report-export .paper-panel { margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.report-export footer { margin-top:24px; color:var(--muted); font-size:11px; }
@media (max-width:700px) {
  .deep-reading-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .focused-section-title h2 { font-size:20px; }
  .focused-section-title .full-reading-badge { margin:2px 0 0 48px; }
  .deep-reading-card { padding:20px 18px 4px; }
  .deep-card-title { font-size:19px; }
  .topic-signal { font-size:9px; }
  .compact-pillars > div { flex-direction:column; gap:3px; padding:9px 4px; }
  .compact-pillars dd { font-size:20px; }
  .overview-clues p { gap:10px; }
  .overview-clues strong { font-size:12px; }
  .annual-grade { flex-direction:column; gap:3px; min-width:50px; font-size:12px; }
  .annual-grade .fortune-face { width:22px; height:22px; }
  .report-export main { padding:24px 14px; }
  .report-export .paper-panel { padding:18px; }
  .report-export .annual-reading-card { padding:14px; }
}
@media (prefers-reduced-motion: reduce) { .disclosure-symbol { transition:none; } }

/* Clear return navigation in both the app and the standalone report. */
.report-return-nav { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 24px; }
.report-home-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 16px; border:1px solid var(--lilac-line); border-radius:999px; background:var(--lilac); color:var(--purple); font:inherit; font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; }
.report-home-link:hover { filter:brightness(.95); }
.report-home-link:focus-visible { outline:3px solid var(--purple); outline-offset:3px; }
.report-return-nav .export-language { margin:0; }
.report-export footer .report-home-link { margin-bottom:20px; }
.report-export footer small { display:block; }
@media (max-width:420px) { .report-return-nav { gap:10px; } .report-home-link { padding:8px 12px; } }
@media print { .report-return-nav,.report-export footer .report-home-link { display:none; } }

/* Complete report: all seven dimensions, with a simple summary-first grid. */
.report-pillars { margin-top:24px; }
.report-pillars .compact-pillars { margin-bottom:14px; }
.report-pillars .compact-pillars > div { flex-direction:column; padding:18px 8px; }
.report-pillars .compact-pillars dd { font-size:28px; }
.pillar-caption { margin:0; font-size:12px; color:var(--muted); }
.deep-reading-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.deep-reading-card { display:flex; flex-direction:column; padding:21px 21px 4px; border-top-width:1px; border-radius:18px; min-height:330px; }
.deep-card-heading { margin-bottom:17px; }
.deep-card-heading h3 { font-size:18px; }
.deep-card-summary { flex:1; margin-bottom:18px; line-height:1.9; }
.deep-card-status { margin-top:auto; padding-top:14px; border-top:1px solid var(--topic-border); }
.topic-reading-status { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:5px 9px; font-size:10px; line-height:1.5; }
.topic-reading-status .fortune-face { width:20px; height:20px; }
.deep-card-details { margin-top:13px; }
.deep-card-details > summary { min-height:48px; padding:13px 0; }
.deep-card-body .deep-card-title { font-size:17px; color:var(--topic-accent); margin:8px 0 14px; }
.deep-reading-card.topic-environment { --topic-accent:#427c73; --topic-tint:#e4f2ed; --topic-border:#c0dcd3; --topic-surface:#f9fdfa; }
.deep-reading-card.topic-wellbeing { --topic-accent:#287d67; --topic-tint:#e0f3e9; --topic-border:#bdded0; --topic-surface:#f8fdfa; }
.deep-reading-card.topic-family { --topic-accent:#9b742a; --topic-tint:#f9efd8; --topic-border:#e4d5b5; --topic-surface:#fffdf7; }
html.dark .deep-reading-card.topic-environment { --topic-accent:#a0cfba; --topic-tint:#2b3f36; --topic-border:#435c51; --topic-surface:#292f2c; }
html.dark .deep-reading-card.topic-wellbeing { --topic-accent:#88cdb0; --topic-tint:#263d31; --topic-border:#3d5c4d; --topic-surface:#252d29; }
html.dark .deep-reading-card.topic-family { --topic-accent:#d8bd85; --topic-tint:#423b2a; --topic-border:#61543c; --topic-surface:#302d27; }
.report-extras { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
.report-access-card,.report-score-card { min-width:0; border:1px solid var(--line); border-radius:18px; padding:24px; background:var(--surface); }
.report-access-card { border-color:#e4ce9f; background:linear-gradient(135deg,#fffefa,#fff5e4); }
.report-extras h3 { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:18px; line-height:1.6; color:var(--ink); }
.report-extras h3 svg { flex-shrink:0; width:23px; height:23px; }
.report-access-card h3 { color:#956020; }
.report-extras p { color:var(--muted); font-size:13px; line-height:1.9; }
.report-includes { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.report-includes span { padding:5px 9px; border:1px solid #dfc79a; background:#fffcf4; border-radius:999px; color:#916422; font-size:11px; }
.report-access-note { display:block; margin-top:28px; padding:15px; border-radius:12px; background:#f0dfbc; color:#79551b; font-size:13px; line-height:1.8; }
.report-grade-list { margin:15px 0 0; }
.report-grade-list > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid var(--line); }
.report-grade-list dt { font-size:14px; color:var(--muted); }
.report-grade-list dt > span { margin-left:3px; }
.report-grade-list dd { display:flex; align-items:center; gap:6px; margin:0; padding:4px 9px; border-radius:9px; font-size:12px; }
.report-grade-list .fortune-face { width:20px; height:20px; }
.report-score-card .report-grade-note { font-size:11px; margin:15px 0 0; }
html.dark .report-access-card { background:linear-gradient(135deg,#312f2b,#382e25); border-color:#65543b; }
html.dark .report-access-card h3 { color:#e6c387; }
html.dark .report-includes span { color:#e6c387; border-color:#746044; background:#3b3329; }
html.dark .report-access-note { color:#e6c387; background:#4b3c27; }
.report-export main { max-width:1240px; }
.report-export .deep-card-heading h3,.report-export .report-extras h3 { font-size:18px; }
@media (max-width:1050px) { .deep-reading-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
 .deep-reading-grid,.report-extras { grid-template-columns:minmax(0,1fr); }
 .deep-reading-card { min-height:0; padding:20px 18px 4px; }
 .report-access-card,.report-score-card { padding:21px 18px; }
 .report-pillars .compact-pillars dd { font-size:23px; }
 .report-pillars .compact-pillars > div { padding:12px 4px; }
}
@media print {
 .deep-card-details::details-content,.overview-detail::details-content { content-visibility:visible; height:auto; }
 .deep-card-details > :not(summary),.overview-detail > :not(summary) { display:block!important; }
 .deep-card-details > summary,.overview-detail > summary { display:none; }
 .deep-reading-grid,.report-extras { display:block; }
 .deep-reading-card { margin-bottom:16px; break-inside:avoid; min-height:0; }
 .report-export .chart-scroll > svg { width:100%; }
}

/* Theme badges and the legend share one score-to-grade scale. */
.deep-card-status { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.topic-rating-label { color:var(--muted); font-size:11px; }
.topic-fortune-grade { font-size:13px; padding:6px 11px; gap:8px; }
.topic-fortune-grade strong { font-weight:650; }
.topic-grade-score { display:inline-flex; align-items:baseline; gap:2px; border-left:1px solid currentColor; padding-left:8px; font-weight:600; font-variant-numeric:tabular-nums; }
.topic-grade-score small { opacity:.75; font-size:10px; font-weight:400; }
.topic-rating-note { margin:-8px 0 20px; color:var(--muted); font-size:11px; line-height:1.7; }
.deep-card-body .topic-reading-key { display:flex; flex-wrap:wrap; gap:4px 10px; margin:10px 0; font-size:11px; color:var(--topic-accent); }
.topic-reading-key > span { opacity:.8; }
.topic-reading-key strong { font-weight:600; }

/* 03.29: branded life-map identity, shared by on-screen and downloaded maps. */
.map-identity { min-width: 0; }
.map-wordmark { margin: 0 0 18px; }
.map-wordmark img { display: block; width: 172px; max-width: 100%; height: auto; }
.map-wordmark .map-logo-night { display: none; }
.map-identity h1 { margin: 0; font-size: clamp(25px, 3.1vw, 38px); line-height: 1.5; text-wrap: balance; }
.map-description { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
html[data-theme="night"] .map-logo-day { display: none; }
html[data-theme="night"] .map-wordmark .map-logo-night { display: block; }
@media print { .map-wordmark .map-logo-day { display: block !important; } .map-wordmark .map-logo-night { display: none !important; } }

/* 03.30: consistent preview sizing; expanded details remain independent. */
.deep-reading-card { min-height: 0; }
.deep-card-preview { display: flex; flex-direction: column; min-width: 0; }
.deep-card-preview .deep-card-heading { flex-wrap: nowrap; min-height: 36px; }
.deep-card-heading h3 { min-width: 0; line-height: 1.6; }
.deep-card-icon { flex: 0 0 36px; }
.deep-card-preview .deep-card-summary { flex: 1; }
.deep-card-status { flex-shrink: 0; }
.topic-rating-label { min-width: 6em; }
.topic-fortune-grade { display: inline-grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; width: 196px; max-width: 100%; min-height: 36px; box-sizing: border-box; }
.topic-fortune-grade strong { min-width: 0; text-align: center; }
.topic-grade-score { white-space: nowrap; }
.deep-card-details { flex-shrink: 0; }
.deep-card-details > summary { min-height: 48px; }
@media print {
  .deep-card-preview { min-height: 0 !important; }
}

/* 03.32: distinct caution levels, with practical reading guidance. */
:is(.annual-grade, .topic-fortune-grade, .report-grade-list dd).tone-caution { box-shadow: inset 0 0 0 1px #c16b2b80; font-weight: 650; }
:is(.annual-grade, .topic-fortune-grade, .report-grade-list dd).tone-guard { box-shadow: inset 0 0 0 1px #d3565380; font-weight: 700; }
.report-grade-list .grade-description { display: block; margin-top: 4px; max-width: 23em; color: var(--muted); font-size: 11px; line-height: 1.65; }
.report-grade-list dd { flex-shrink: 0; }

/* 03.35: premium scope stays visible while every reading remains open to read. */
.premium-open-badge { display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px 7px; width:fit-content; max-width:100%; padding:5px 9px; border:1px solid #dfc492; border-radius:8px; background:#fff5df; color:#8a5d1e; font-size:11px; font-weight:600; line-height:1.6; vertical-align:middle; }
.premium-open-badge svg { width:13px; height:13px; flex:0 0 13px; }
.premium-open-badge strong { padding-left:7px; border-left:1px solid #d9be8e; font-size:inherit; color:#247665; font-weight:650; }
.focused-section-title > .premium-open-badge { margin-left:auto; }
.premium-disclosure-label { display:flex; flex-wrap:wrap; align-items:center; gap:8px 13px; min-width:0; }
.deep-card-details .premium-disclosure-label { flex-direction:column; align-items:flex-start; gap:7px; }
.premium-summary { cursor:pointer; padding-block:16px; }
.premium-summary .premium-disclosure-label { display:inline-flex; }
.premium-reading-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:24px 0 10px; padding-top:20px; border-top:1px solid var(--line); }
.premium-reading-heading h4 { margin:0; font-size:15px; color:var(--ink); }
.homepage-premium-note { margin:0 0 16px; }
.risk-months-section { margin:38px 0 30px; scroll-margin-top:24px; }
.risk-months-section .section-number { color:#a7612b; background:#fff0df; }
.risk-months-intro { margin:14px 0 8px; font-size:14px; line-height:1.85; color:var(--ink); }
.risk-months-context { margin:0 0 20px; color:var(--muted); font-size:11px; line-height:1.85; }
.risk-months-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.risk-month-card { --risk-accent:#a85c2e; --risk-line:#e8c9b1; --risk-tint:#fff0e4; min-width:0; display:flex; flex-direction:column; padding:24px; border:1px solid var(--risk-line); border-top:3px solid var(--risk-accent); border-radius:20px; background:var(--surface,#fffdfa); }
.risk-month-card:nth-child(even) { --risk-accent:#a35c6c; --risk-line:#e4bfca; --risk-tint:#faedf1; }
.risk-month-card > header { display:flex; align-items:center; gap:14px; }
.risk-calendar { display:flex; align-items:baseline; justify-content:center; gap:3px; flex-shrink:0; position:relative; width:64px; padding:22px 4px 5px; border:1px solid var(--risk-line); border-radius:12px; background:var(--risk-tint); color:var(--risk-accent); }
.risk-calendar svg { position:absolute; top:5px; left:25px; width:15px; height:15px; }
.risk-calendar strong { font-size:25px; font-weight:650; line-height:1.2; }
.risk-calendar > span { font-size:11px; }
.risk-month-pillar { color:var(--risk-accent); font-size:16px; font-weight:650; }
.risk-month-card header p { margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.risk-month-card h3 { margin:20px 0 14px; color:var(--ink); font-size:19px; line-height:1.6; }
.risk-month-card .risk-month-basis { margin:0; padding:12px 14px; border-radius:10px; background:var(--risk-tint); color:var(--ink); font-size:12px; line-height:1.85; }
.risk-month-basis > span { display:block; color:var(--risk-accent); font-size:10px; }
.risk-month-basis > strong { display:block; margin:3px 0; color:var(--risk-accent); font-size:13px; font-weight:650; }
.risk-month-reading { flex:1; margin:18px 0; }
.risk-month-card h4 { margin:0 0 6px; font-size:12px; color:var(--risk-accent); font-weight:650; }
.risk-month-card :is(.risk-month-reading,.risk-month-action) p { margin:0; color:var(--ink); font-size:13px; line-height:1.95; }
.risk-month-action { padding-top:16px; border-top:1px solid var(--risk-line); }
.risk-months-note { margin:16px 0 0; color:var(--muted); font-size:11px; line-height:1.85; }
html.dark .premium-open-badge { color:#e6c18b; background:#493826; border-color:#886642; }
html.dark .premium-open-badge strong { color:#add4c5; border-color:#886642; }
html.dark .risk-months-section .section-number { background:#493326; color:#e4b185; }
html.dark .risk-month-card { --risk-accent:#e0ad86; --risk-line:#70533f; --risk-tint:#40312b; background:#2b282c; }
html.dark .risk-month-card:nth-child(even) { --risk-accent:#e0a7b7; --risk-line:#704956; --risk-tint:#3c2d34; }
@media (max-width:700px) {
 .risk-months-grid { grid-template-columns:minmax(0,1fr); }
 .risk-month-card { padding:20px 18px; }
 .focused-section-title > .premium-open-badge { margin-left:0; }
 .risk-months-section .focused-section-title h2 { font-size:20px; }
}
@media print {
 .risk-month-card { break-inside:avoid; }
 .premium-open-badge { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .deep-card-details > summary,.overview-detail > summary { display:flex!important; }
}

/* 03.36: 木青・火赤・土黄・金白・水黒.
   Colors encode stem element / branch primary qi, never strength or fortune.
   Backgrounds and text adapt for contrast, retaining the five color families. */
.five-element-token.element-wood { --element-ink:#286649; --element-surface:#e7f2e8; --element-border:#9fbea9; }
.five-element-token.element-fire { --element-ink:#a53d3b; --element-surface:#fbe9e4; --element-border:#dea9a1; }
.five-element-token.element-earth { --element-ink:#7b5c1b; --element-surface:#f7edcc; --element-border:#ccb575; }
.five-element-token.element-metal { --element-ink:#515b68; --element-surface:#f4f5f7; --element-border:#b4bac3; }
.five-element-token.element-water { --element-ink:#eef1f5; --element-surface:#27323d; --element-border:#64717d; }
.five-element-token { color:var(--element-ink); background:var(--element-surface); border:1px solid var(--element-border); }
.report-pillars .elemental-pillars > div { padding:16px 12px 12px; gap:12px; border-color:var(--line); background:transparent; }
.report-pillars .elemental-pillars dt { font-size:12px; }
.report-pillars .elemental-pillars dd { display:grid; width:100%; gap:8px; margin:0; letter-spacing:normal; }
.pillar-character { display:flex; align-items:center; justify-content:center; gap:12px; min-height:62px; padding:8px 5px; border-radius:10px; }
.pillar-character strong { color:inherit; font-size:32px; font-weight:650; line-height:1.3; }
.pillar-character small { color:inherit; font-size:11px; font-weight:550; }
.five-element-legend { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:17px 0 13px; }
.five-element-legend-title { margin-right:3px; font-size:11px; color:var(--muted); }
.five-element-legend .five-element-token { display:inline-flex; gap:6px; align-items:center; padding:4px 8px; border-radius:7px; font-size:10px; line-height:1.6; }
.five-element-legend strong { font-size:11px; font-weight:650; }
.pillar-element-note { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.75; }
html.dark .five-element-token.element-wood { --element-ink:#9edbb7; --element-surface:#203d30; --element-border:#4f785f; }
html.dark .five-element-token.element-fire { --element-ink:#ffb0a5; --element-surface:#4a2726; --element-border:#955d52; }
html.dark .five-element-token.element-earth { --element-ink:#e8ca7b; --element-surface:#423821; --element-border:#8f7741; }
html.dark .five-element-token.element-metal { --element-ink:#f2f3f5; --element-surface:#343940; --element-border:#929aa5; }
html.dark .five-element-token.element-water { --element-ink:#c1cdd8; --element-surface:#161f29; --element-border:#596674; }
@media (max-width:700px) {
 .report-pillars .elemental-pillars { gap:6px; }
 .report-pillars .elemental-pillars > div { padding:12px 5px 6px; gap:10px; }
 .pillar-character { flex-direction:column; gap:2px; min-height:76px; padding:6px 3px; border-radius:8px; }
 .pillar-character strong { font-size:27px; }
 .pillar-character small { font-size:10px; }
}
@media (max-width:380px) {
 .report-pillars .elemental-pillars { gap:4px; }
 .report-pillars .elemental-pillars > div { padding-inline:3px; }
 .pillar-character strong { font-size:24px; }
 .report-pillars .elemental-pillars dt { font-size:11px; }
}
@media print { .five-element-token { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }

/* Key months stay inside each annual reading, without another report section. */
.annual-key-months { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.annual-key-months-label { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.annual-key-months-label>strong { font-size:14px; color:var(--purple); }
.annual-key-months-label .premium-open-badge { font-size:10px; padding:4px 8px; gap:6px; }
.annual-key-months>p { margin:12px 0 0; color:var(--ink); font-size:15px; line-height:1.85; }
.candle-tooltip .annual-key-months>p { color:var(--ink); font-size:13px; line-height:1.85; }
.candle-tooltip .annual-key-months { margin-top:16px; padding-top:12px; }
@media print { .annual-key-months { margin-top:10px; padding-top:8px; } }
