/* Shared sample styles are loaded first: report-reading.css, report-focused.css.
   Personal controls below add no alternate report palette or card design. */
.personal-report { --kline-up:#22c55e; --kline-down:#ef4444; --kline-up-edge:#16a34a; --kline-down-edge:#dc2626; --kline-ma:#f97316; --kline-grid:#f3f4f6; --kline-cycle-line:#c7d2fe; --kline-cycle-text:#6366f1; --page:#fffdfc; --green:var(--chart-up); --red:var(--chart-down); --gold:#a77319; line-break:strict; word-break:normal; font-synthesis:none; color-scheme:light; }
html.dark .personal-report { --kline-grid:#36383e; --kline-cycle-line:#555d86; --kline-cycle-text:#a5adff; --page:#1d1e22; --surface:#27282d; --soft:#242529; --ink:#ece8e1; --muted:#b8b1aa; --line:#3b3c42; --purple:#c9b9e8; --primary:#c9a9f1; --on-primary:#302041; --lilac:#342f42; --lilac-line:#4b435d; --chart-grid:#3b3c42; --chart-text:#b8b1aa; --chart-flat:#b9a8c5; --chart-up:#4bd597; --chart-down:#ff737a; --gold:#e4bf78; background:var(--page); color-scheme:dark; }
html[lang="zh-CN"] .personal-report { font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
p { overflow-wrap:anywhere; }

/* Static navigation remains outside the replaceable report main. */
.map-header { max-width:1240px; margin:auto; padding:32px 24px 0; }
.header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.saved-maps-link { color:var(--muted); font-size:12px; }
.map-brand { display:block; width:fit-content; }
.map-brand img { width:172px; height:auto; }
.map-wordmark .logo-night { display:none; }
html.dark .map-wordmark .logo-day { display:none; }
html.dark .map-wordmark .logo-night { display:block; }
.export-language { display:flex; justify-content:flex-end; gap:8px; }
.export-language button { padding:8px 16px; border:1px solid var(--lilac-line); border-radius:999px; background:var(--surface); color:var(--purple); font-size:13px; }
.export-language button[aria-pressed="true"] { background:var(--primary); color:var(--on-primary); }
.personal-report main { max-width:1240px; margin:auto; padding:0 24px 32px; }
.intro { margin-bottom:18px; }
.intro>h1 { margin:0; font-size:clamp(25px,3.1vw,38px); line-height:1.5; text-wrap:balance; }
.intro>.eyebrow { display:none; }
.intro>p { margin:10px 0 16px; color:var(--muted); font-size:14px; line-height:1.8; }
.intro>.premium-open-badge { margin-bottom:10px; }
.map-toc a { white-space:nowrap; }
.focused-section-title { margin-bottom:16px; }
.focused-section-title .eyebrow { font-weight:400; }
.birth-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin:16px 0; color:var(--muted); font-size:12px; }
.report-pillars .elemental-pillars { text-align:center; }
.report-pillars .elemental-pillars dt { margin:0; }
.report-pillars .elemental-pillars .pillar-character { width:100%; }

/* Same chart proportions as the sample; narrow screens can scroll it. */
.chart-legend { display:flex; flex-wrap:wrap; gap:8px 15px; margin:10px 0 12px; color:var(--muted); font-size:11px; }
.chart-legend i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:var(--kline-up); vertical-align:1px; }
.chart-legend i.down { background:var(--kline-down); }
.chart-legend i.average { width:16px; height:2px; border-radius:0; background:var(--kline-ma); vertical-align:3px; }
.chart-legend i.range { width:16px; height:0; border-radius:0; border-top:2px dashed var(--kline-down-edge); background:none; vertical-align:3px; }
.scoring-calibration-note { margin:0 0 14px; padding:10px 13px; border-left:3px solid var(--purple); background:var(--lilac); color:var(--ink); font-size:12px; line-height:1.8; }
.chart-wick-note { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.chart-caption { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 24px; margin:0 0 14px; }
.chart-caption>p { margin:0; color:var(--muted); font-size:13px; }
.chart-caption .chart-legend { margin:0; }
.chart-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
.chart-scale-controls { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:9px; }
.chart-scale-controls button { padding:6px 9px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.chart-scale-controls button[aria-pressed="true"] { background:var(--lilac); color:var(--purple); font-weight:650; }
.chart-scale-controls button:focus-visible { outline:2px solid var(--purple); outline-offset:2px; }
@media print { .chart-scale-controls { display:none !important; } }
.chart-scroll { overflow-x:auto; padding-bottom:6px; overscroll-behavior-inline:contain; }
.personal-report .chart-scroll>svg { display:block; width:960px; max-width:none; height:auto; }
.chart-scroll [data-year] { cursor:pointer; }
.chart-scroll [data-year]:focus { outline:none; }
.chart-scroll [data-year]:focus .candle-hit { fill:var(--purple); opacity:.13; }
.chart-help { margin:10px 0 0; color:var(--muted); font-size:12px; }
.annual-reading-header h3 { margin:0; }
.annual-reading-header .quiet { margin:7px 0 0; }
.ohlc { margin-inline:0; }
.ohlc dt { color:var(--muted); font-size:12px; }
.ohlc dd { margin:0; font-size:23px; font-weight:650; line-height:1.3; font-variant-numeric:tabular-nums; }
.ohlc .high dd { color:var(--chart-up); }
.ohlc .low dd { color:var(--chart-down); }
.fortune-grade { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:14px; font-size:13px; font-weight:650; }
.fortune-grade>span:last-child { white-space:nowrap; }
.fortune-grade small { font-size:10px; font-weight:400; }
.fortune-grade .fortune-face { flex-shrink:0; }
.annual-grade.fortune-grade { font-size:13px; }
.candle-tooltip { position:fixed; z-index:60; width:448px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; overscroll-behavior:contain; padding:22px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 12px 48px rgb(34 25 42 / 20%); pointer-events:auto; }
.candle-tooltip h3 { margin:0; font-size:23px; line-height:1.45; }
.candle-tooltip p { font-size:12px; color:var(--muted); line-height:1.9; }
.candle-tooltip .annual-summary,.candle-tooltip .year-summary { font-size:14px; color:var(--ink); margin-bottom:0; }
.candle-tooltip .year-facts.annual-reading-card { margin:0; padding:0; background:transparent; }

/* Saved report prose stays visible; only source notes use a disclosure. */
.reading-preview { display:flow-root; }
.reading-slot { min-width:0; margin-top:16px; }
.reading { min-width:0; max-width:none; }
.reading .reading-title { margin:16px 0 10px; font-size:20px; line-height:1.6; }
.reading .lead { margin:12px 0 16px; color:var(--ink); font-size:15px; font-weight:500; line-height:1.95; }
.reading p { margin:10px 0 16px; font-size:14px; line-height:1.95; }
.reading-actions { margin:20px 0 0; padding:13px 15px; border-radius:12px; background:var(--lilac); }
.reading-actions h4 { margin:0 0 8px; color:var(--purple); font-size:13px; font-weight:650; }
.reading-actions ul { margin:0; padding-left:18px; }
.reading-actions li { margin:6px 0; font-size:13px; line-height:1.9; }
.reading-evidence { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.reading-evidence>h4 { margin:0 0 12px; color:var(--purple); font-size:13px; font-weight:600; }
.reading-evidence>summary { color:var(--purple); font-size:12px; font-weight:600; }
.deep-reading-grid { align-items:stretch; }
.personal-report .deep-reading-card { min-height:0; height:auto; }
.deep-reading-card .reading-slot { margin-top:0; }
.deep-reading-card .reading { display:flex; flex-direction:column; flex:1; }
.deep-reading-card .reading .deep-card-title { margin:8px 0 14px; color:var(--topic-accent); font-size:17px; }
.deep-reading-card .reading .lead { margin:0 0 18px; font-size:14px; }
.deep-reading-card .reading p { font-size:14px; line-height:1.95; }
.deep-reading-card .reading-actions { background:var(--topic-tint); }
.deep-reading-card .reading-actions h4,.deep-reading-card .terms dt,.deep-reading-card .reading-evidence>h4 { color:var(--topic-accent); }
.deep-reading-card .reading-evidence { border-color:var(--topic-border); }
.deep-reading-card .deep-card-body { padding-top:0; }
.deep-reading-card .reading-slot:last-child { padding-bottom:18px; }
.deep-reading-card .deep-card-heading { margin-bottom:17px; }
.deep-reading-card .deep-card-heading h3 { margin:0; }
.deep-reading-card .reading-placeholder { margin-bottom:14px; background:var(--topic-tint); }
.deep-reading-card .reading-loading { background:none; border-color:var(--topic-border); }
.risk-months-grid { margin-top:20px; }
.risk-month-card .risk-pillar { color:var(--risk-accent); font-size:16px; font-weight:650; }
.risk-month-card .risk-date { color:var(--muted); font-size:11px; }
.risk-month-card .risk-month-basis:last-child { margin-top:18px; }
#reading-risk { margin-top:22px; }
.risk-months-section>.reading-slot { padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.report-grade-list .fortune-grade { font-size:12px; border-radius:9px; }
.generation-notice { display:flex; align-items:flex-start; gap:9px; margin:0 0 22px; padding:11px 15px; border:1px solid var(--line); border-radius:12px; background:var(--soft); color:var(--muted); font-size:12px; line-height:1.8; }
.generation-notice>span { color:var(--purple); font-weight:650; }
.personal-report .annual-metrics .metric-high { color:var(--kline-up-edge); }
.personal-report .annual-metrics .metric-low { color:var(--kline-down-edge); }
.reading-evidence.deep-card-details { padding-top:0; }
.deep-reading-card .premium-reading-heading { border-color:var(--topic-border); }
.deep-reading-card .premium-reading-heading h4 { color:var(--topic-accent); }
.deep-reading-card .reading-evidence { margin-top:auto; }
.concise-edition-label { margin:0 0 16px; }
.concise-edition-label .premium-open-badge { margin:0; }
.body-symbolism-label { margin:0 0 14px; color:var(--muted); font-size:12px; line-height:1.6; }
.concise-premium-reading .reading-body>p,.concise-premium-reading .deep-card-body>p { margin:0 0 20px; }
.concise-premium-reading .reading-evidence { margin-top:4px; }
.topic-report-conclusion { margin:0 0 18px; color:inherit; font-size:17px; line-height:1.6; font-weight:650; }
.developed-topic-reading .deep-card-body>p { margin:0 0 18px; }
.deep-reading-card .concise-premium-reading .deep-card-body { flex:1; }
.deep-reading-card .concise-premium-reading .reading-evidence { margin-top:auto; }

/* Personal form and saved-report controls. */
.panel { margin:28px 0; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.panel>h2 { margin:0 0 12px; }
button,input,select { font:inherit }
button,a { -webkit-tap-highlight-color:transparent }
button { cursor:pointer }
button:disabled { cursor:wait;opacity:.6 }
a { color:var(--purple);text-decoration:none }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--purple);outline-offset:4px }
button { color:inherit }
.initial-loading { text-align:center;padding:100px 0;color:var(--muted) }
.badges { display:flex;gap:8px;flex-wrap:wrap }
.badge { display:inline-flex;padding:4px 11px;border:1px solid var(--line);border-radius:30px;font-size:11px;color:var(--muted);background:var(--surface) }
.badge.personal { color:var(--purple);background:var(--soft) }
.badge.research { color:var(--gold) }
.panel-heading { display:flex;justify-content:space-between;align-items:start;gap:16px }
.panel-heading h2 { margin-bottom:6px }
.panel-heading p { font-size:13px;color:var(--muted);margin-bottom:14px }
.form-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px }
.field { display:grid;gap:7px;font-size:13px }
.field input,.field select,.year-picker select { min-width:0;width:100%;background:var(--page);color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:12px }
.field small { color:var(--muted);line-height:1.6 }
.button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 19px;border:1px solid var(--line);border-radius:24px;background:var(--surface);font-size:13px;color:var(--purple);text-align:center }
.button.primary { background:var(--purple);border-color:var(--purple);color:var(--on-primary);font-weight:650 }
.button.text { border-color:transparent;background:transparent;padding-left:0;padding-right:0 }
.button-row { display:flex;gap:12px;flex-wrap:wrap;align-items:center }
.error { padding:14px 18px;border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--red) 7%,var(--surface));font-size:13px;color:var(--ink);margin-top:14px }
.error p:last-child { margin-bottom:0 }
.quiet,.note { color:var(--muted);font-size:12px;line-height:1.9 }
.saved-list { display:grid;gap:0 }
.saved-map { padding:16px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center }
.saved-map strong { display:block;font-size:14px }
.saved-map small { color:var(--muted) }
.saved-map a { font-size:13px;white-space:nowrap }
.empty-state { padding:35px 20px;text-align:center;color:var(--muted) }
.year-picker { display:flex;align-items:center;gap:12px;margin:18px 0 }
.year-picker label { font-size:13px;white-space:nowrap }
.year-picker select { max-width:270px;padding:9px 13px;font-size:14px }
.terms { display:grid;gap:10px;margin:13px 0 }
.terms dt { font-weight:650;color:var(--purple) }
.terms dd { margin:3px 0 0;line-height:1.9 }
.evidence-list { padding-left:20px }
.evidence-list li { margin:7px 0;overflow-wrap:anywhere }
.reading-loading { padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px;display:flex;gap:12px;align-items:center }
.spinner { height:15px;width:15px;flex-shrink:0;border:2px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite }
.reading-placeholder { padding:22px;background:var(--page);border-radius:13px;font-size:13px;color:var(--muted) }
.reading-placeholder p { margin:0 0 12px }
.reading-placeholder p:last-child { margin:0 }
.report-end { display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0 }
.report-end p { margin:0;font-size:12px;color:var(--muted) }
.method-notes { font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;line-height:1.9 }
.method-notes summary { color:var(--purple);font-size:13px }
.method-notes p { margin:12px 0 0 }
.pending-direction { padding:28px;background:var(--soft);border-radius:15px;color:var(--muted);font-size:14px }
.service-note { font-size:12px;color:var(--muted);margin-bottom:22px }
[hidden] { display:none!important }
.risk-fact-note { padding:17px;background:var(--soft);border-radius:12px;font-size:13px;color:var(--muted) }
@keyframes spin { to { transform:rotate(360deg); } }
.whole-report-progress { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 24px; padding:17px 20px; background:var(--lilac); border:1px solid var(--lilac-line); border-radius:14px; color:var(--ink); font-size:13px; }
.whole-report-progress p { margin:0; }
.whole-report-progress>div { flex:1; min-width:0; }
.whole-report-progress strong { font-size:14px; }
.whole-report-progress small { display:block; margin-top:3px; color:var(--muted); line-height:1.7; }
.whole-report-progress progress { flex:1 0 100%; width:100%; height:5px; border:0; border-radius:8px; overflow:hidden; accent-color:var(--purple); }
.whole-report-progress progress::-webkit-progress-bar { background:var(--line); }
.whole-report-progress progress::-webkit-progress-value { background:var(--purple); }
.whole-report-progress progress::-moz-progress-bar { background:var(--purple); }
.whole-report-progress .button { margin-left:auto; }
.report-failure { margin:18px 0 24px; padding:18px 20px; border:1px solid color-mix(in srgb,var(--red) 35%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--red) 5%,var(--surface)); font-size:13px; }
.report-failure p { margin-bottom:10px; }
.report-failure p:last-child { margin-bottom:0; }
.report-failure .button { margin-top:4px; }
#language-confirm { width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:28px; border:1px solid var(--lilac-line); border-radius:22px; background:var(--surface); color:var(--ink); box-shadow:0 18px 60px #0003; }
#language-confirm::backdrop { background:rgb(29 24 33 / 45%); }
#language-confirm h2,.language-confirm-title { margin:0 0 14px; font-size:22px; line-height:1.5; }
#language-confirm p,.language-confirm-copy { color:var(--muted); font-size:14px; line-height:1.9; }
.language-confirm-actions,#language-confirm .button-row { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:24px; }
#language-confirm .button { min-height:44px; }
.year-facts>.annual-summary { font-size:14px; line-height:1.95; margin:18px 0; }
.panel-heading>div { min-width:0; }
.annual-print-appendix { display:none; }

.map-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; max-width:1240px; margin:24px auto 0; padding:0 24px 32px; color:var(--muted); font-size:11px; }

@media(max-width:700px) {
 .map-header { padding:24px 14px 0; }
 .personal-report main { padding:0 14px 24px; }
 .header-actions { gap:12px; }
 .report-return-nav { gap:12px; }
 .export-language button { padding:8px 12px; font-size:12px; }
 .focused-section-title { margin-bottom:14px; }
 .panel { padding:18px; }
 .panel h2 { font-size:20px; }
 .form-grid { grid-template-columns:minmax(0,1fr); }
 .birth-meta { gap:5px 15px; }
 .candle-tooltip { padding:16px; }
 .candle-tooltip h3 { font-size:21px; }
 .ohlc dd { font-size:21px; }
 .risk-months-section>.reading-slot { padding:18px; }
 .saved-map strong { font-size:13px; }
 .saved-map a { font-size:12px; }
 .whole-report-progress { padding:16px; }
 .whole-report-progress .button { margin-left:0; }
 #language-confirm { padding:23px 20px; }
 .language-confirm-actions .button,#language-confirm .button-row .button { flex:1 1 130px; }
 .report-end { flex-direction:column; align-items:stretch; }
 .report-end .button { width:100%; }
 .map-footer { flex-direction:column; gap:5px; padding:0 14px 24px; }
 .button-row .button { flex-grow:1; }
}
@media(max-width:420px) {
 .header-actions { gap:10px; }
 .saved-maps-link { font-size:11px; }
 .export-language { gap:5px; }
 .export-language button { padding:7px 10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .spinner { animation:none; } }
@media print {
 .personal-report,html.dark .personal-report { --kline-grid:#e8e9ed; --kline-cycle-line:#c7d2fe; --kline-cycle-text:#6366f1; --page:#fff; --surface:#fff; --soft:#f7f4f8; --ink:#302b2d; --muted:#71696b; --line:#e8e1e9; --purple:#755097; --primary:#755097; --on-primary:#fff; --lilac:#eee8f7; --lilac-line:#ddd0e9; --chart-up:#189267; --chart-down:#d85770; background:#fff; color-scheme:light; }
 .map-header { padding:0; }
 .map-header .logo-day { display:block!important; }
 .map-header .logo-night { display:none!important; }
 .personal-report main { max-width:none; padding:0; }
 .generation-notice,.map-footer,.map-toc,.button,.language-switch,.year-picker,.chart-help,.report-end,.candle-tooltip,.reading-placeholder,.reading-loading,.error,.whole-report-progress,.report-failure,#language-confirm,.no-print { display:none!important; }
 .panel,.personal-report .paper-panel { padding:16px 0; border:0; border-radius:0; box-shadow:none; }
 .chart-scroll { overflow:visible; }
 .personal-report .chart-scroll>svg { width:100%; min-width:0; }
 .reading p,.deep-reading-card .reading p { font-size:12px; }
 .reading-evidence::details-content { content-visibility:visible; height:auto; }
 .reading-evidence>:not(summary) { display:block!important; }
 .reading-evidence>summary { display:none; }
 .deep-reading-grid,.risk-months-grid,.report-extras { display:block; }
 .deep-reading-card,.risk-month-card,.report-access-card,.report-score-card { margin-bottom:18px; padding:18px; break-inside:avoid; box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .annual-print-appendix { display:block; break-before:page; }
 .annual-print-appendix h2 { margin:0 0 20px; font-size:22px; }
 .annual-print-appendix article { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line); break-inside:avoid; }
 .annual-print-appendix article h3 { margin:0 0 7px; font-size:15px; }
 .annual-print-appendix article p { margin:7px 0; font-size:12px; line-height:1.85; }
 .method-notes { font-size:10px; }
}

/* Match the sample's full-width dashboard while keeping candles legible on phones. */
.personal-report .chart-scroll>svg { width:100%; min-width:960px; height:auto; }
.personal-report .export-chart-section.paper-panel { padding:22px 24px; }
.candle-tooltip .annual-reading-card { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.overview-basis { margin:18px 0; }
.basis-identity { display:flex; flex-wrap:wrap; gap:10px; }
.overview-basis>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 9px; padding:10px 14px; border:1px solid var(--lilac-line); border-radius:12px; background:var(--lilac); font-size:13px; line-height:1.6; }
.basis-identity>div { border-radius:999px; padding:6px 14px; }
.overview-basis dt { font-weight:650; }
.overview-basis dt::after { content:'：'; }
.overview-basis dd { margin:0; font-weight:500; }
.basis-elements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:8px; }
.overview-basis .basis-pattern,.overview-basis .basis-primaryUseful { color:var(--chart-up); background:color-mix(in srgb,var(--chart-up) 7%,var(--surface)); border-color:color-mix(in srgb,var(--chart-up) 30%,var(--line)); }
.overview-basis .basis-tier { color:var(--gold); background:color-mix(in srgb,var(--gold) 7%,var(--surface)); border-color:color-mix(in srgb,var(--gold) 30%,var(--line)); }
.overview-basis .basis-auxiliaryFavorable { color:#317d99; background:color-mix(in srgb,#56a6bd 8%,var(--surface)); border-color:color-mix(in srgb,#56a6bd 30%,var(--line)); }
.overview-basis .basis-unfavorable { color:var(--chart-down); background:color-mix(in srgb,var(--chart-down) 7%,var(--surface)); border-color:color-mix(in srgb,var(--chart-down) 30%,var(--line)); }
html.dark .overview-basis .basis-auxiliaryFavorable { color:#91cbdc; }
.overview-basis .basis-undetermined dd { color:var(--muted); }
.basis-note { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.report-preparation.paper-panel { max-width:660px; margin:52px auto 64px; padding:40px 34px 26px; text-align:center; }
.report-preparation>.eyebrow { color:var(--purple); font-size:11px; letter-spacing:.14em; }
.preparation-symbol { margin:18px auto; color:var(--purple); font-size:44px; line-height:1; }
.report-preparation h1 { margin:16px 0; font-size:clamp(23px,3vw,30px); line-height:1.6; }
.preparation-intro { margin:0 auto 24px; max-width:440px; font-size:14px; line-height:1.9; color:var(--muted); }
.report-preparation .whole-report-progress,.report-preparation .report-failure,.report-preparation .generation-notice { text-align:left; }
.report-preparation .whole-report-progress .spinner { width:20px; height:20px; }
@media(max-width:700px) {
 .personal-report .export-chart-section.paper-panel { padding:18px 14px; }
 .basis-elements { grid-template-columns:minmax(0,1fr); }
 .report-preparation.paper-panel { margin:32px auto; padding:28px 18px 20px; }
}
@media print { .personal-report .chart-scroll>svg { min-width:0; } .report-preparation { display:none; } }

/* Key months stay inside each annual reading, without another report section. */
.annual-caution { margin:14px 0 0; color:var(--ink); font-size:15px; line-height:1.85; }
.annual-caution>strong { display:inline-block; margin-right:8px; color:#946025; font-size:.9em; }
html[data-theme="night"] .annual-caution>strong { color:#e5ba7d; }
.candle-tooltip .annual-caution { font-size:13px; }
.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; } }

.intro>.sample-report-notice { color:var(--purple); font-size:12px; margin:8px 0 12px; }

.generation-quota { margin:22px 0; padding-left:14px; border-left:2px solid var(--purple); text-align:left; color:var(--ink); font-size:14px; line-height:1.8; }
.generation-quota>strong { display:block; font-weight:650; color:var(--purple); }
.generation-quota>p { margin:5px 0; font-size:14px; line-height:1.8; }
.generation-quota b { font-weight:650; white-space:nowrap; }
.generation-quota .generation-estimate { color:var(--ink); font-size:13px; }
.generation-quota small { display:block; font-size:12px; line-height:1.7; color:var(--muted); }

.form-privacy { margin:24px 0 18px;font-size:13px;color:var(--muted) }
.form-privacy a { text-underline-offset:4px }

/* The final theme row is family + availability + score guide. */
.topic-grid>.report-info-card { min-width:0; padding:21px; border-radius:18px; }
.report-info-card h3 { display:flex; align-items:center; gap:8px; margin:0 0 17px; color:var(--ink); font-size:17px; line-height:1.6; }
.report-info-card.report-access-card h3 { color:var(--gold); }
.report-info-card p { margin:16px 0 0; color:var(--muted); font-size:13px; line-height:1.9; }
.report-info-card .report-includes { margin:0 0 18px; gap:7px; }
.report-info-card .premium-open-badge { margin:0; }
.report-info-card .report-grade-list { margin-top:0; }
.report-info-card .report-grade-list>div { padding:7px 0; gap:10px; }
.report-info-card .report-grade-list dt { font-size:13px; }
.report-info-card .report-grade-list dd { font-size:11px; padding:3px 7px; }
.report-info-card .report-grade-list .fortune-face { width:18px; height:18px; }
.report-info-card .report-grade-note { margin:14px 0 0; font-size:11px; line-height:1.8; }
@media(max-width:700px) { .topic-grid>.report-info-card { padding:20px 18px; } }
@media print { .topic-grid>.report-info-card { margin-bottom:18px; padding:18px; break-inside:avoid; } }
