diff --git a/CHANGELOG.md b/CHANGELOG.md index 67d47df2..439ee836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # 印度占星 Skill 更新日志 +## 2026-09-04 — 个人报告中心与阅读页接入产品阅读室视觉 + +报告页不再用第二套报纸纸色和无衬线加粗标题。中心与阅读页改走产品画布、发丝线、衬线标题(字重 400),terracotta 只留给生成和打印;星盘 SVG 跟主题走,深色模式可读。打印仍钉回浅色纸。Skill 版本未变。 + ## 2026-09-04 — 生时校正采用卡旁白由 Agent 生成(不计费) 探针池耗尽、出采用卡的那一轮,旁白改为一次无工具模型调用:只根据服务端结构化事实解释为什么停、当前范围与代表分钟、采用后拿什么核对。与采集题意图分类器同一口径,**不计费**。模型失败、超时、或文案里出现事实外的时间/年份时,整段丢弃,回落到带「分不开 A 和 B」的模板句。点选最后一道区分题也走同一条 Agent 路径,不再用点选前的过期决策跳过。Skill 版本仍是 10.0.14;采用门与确认门未改。 diff --git a/frontend/DESIGN.md b/frontend/DESIGN.md index 17ced2d0..ab28ef5d 100644 --- a/frontend/DESIGN.md +++ b/frontend/DESIGN.md @@ -35,15 +35,16 @@ Jyotisha feels like a private reading room: warm, editorial, grounded, and quiet | Error | `--color-danger` | `#9a2f2f` | Errors and destructive actions | | Accessible focus | `--color-focus` | `#85432f` | Keyboard focus and input focus | -The personal report carries a second, narrower palette for its printed-paper -surface. It is deliberately separate — the report is a document, not app chrome — -and nothing outside `.personal-report-*` may use it. +The personal report reuses the product palette. `--report-*` tokens exist so +print can pin a light sheet independently of the screen theme; they are the +canvas, hairline, and action colors, not a second visual identity. Nothing +outside `.personal-report-*` and `.report-center-*` may use them. | Role | Token | Value | Usage | |---|---|---:|---| -| Report paper | `--report-paper` | `#f8f5ee` | The report sheet itself | -| Report rule | `--report-rule` | `#c9c2b7` | Rules and dividers inside the sheet | -| Report accent | `--report-accent` | `#85432f` | Report headings, same hue as the action color | +| Report paper | `--report-paper` | `#fbfaf7` | Same as `--color-canvas`; the reading sheet | +| Report rule | `--report-rule` | `#d8d6cf` | Same as `--color-border`; rules inside the sheet | +| Report accent | `--report-accent` | `#85432f` | Same as `--color-action`; scarce evidence links | Rules: neutrals stay warm; the action color is scarce; roughly ninety percent of the interface remains light. Dark ink is punctuation, never a page-scale surface. No raw color may appear in UI styles outside these tokens and their documented alpha mixes. @@ -337,8 +338,24 @@ Text release is paced, not animated: the frame buffer commits at most once per a ### Personal report centre -- A ready report keeps “查看报告” as the primary document action and may add the quieter “专业参考版(导出)” action beside it. The reference action downloads Markdown through the authenticated same-origin report route; it is absent for generating and failed records. -- Export work uses the shared inline spinner inside the initiating button, reports a short row-local error, and never changes the stored report or starts a second writing flow. +- **Structure:** full-page archive on the page floor. A compact back control, serif page title, supporting copy, one generate action, then a list of report cards. +- **Surface:** `--color-canvas-soft` floor; cards use `--color-canvas`, a warm hairline, and `--radius-lg`. No drop shadow. Status is a caption badge, not a colored block. +- **Typography:** page title uses `--type-display-lg` / `--font-display` at weight 400 with `text-wrap: balance`. Card titles are `--type-title-md` at weight 500. Body stays `--type-body-md` or `--type-body-sm`. +- **Width:** 900px centered, matching long-form chat reading. Cards stack below 720px. +- **Actions:** “生成完整报告” is the one filled action. A ready report keeps “查看报告” as the primary document action and may add the quieter “专业参考版(导出)” action beside it. The reference action downloads Markdown through the authenticated same-origin report route; it is absent for generating and failed records. +- **States:** loading, empty, populated, generating, ready, failed, unauthorized, list error. Export work uses the shared inline spinner inside the initiating button, reports a short row-local error, and never changes the stored report or starts a second writing flow. +- **Accessibility:** back, generate, refresh, and row actions are 44px. Status text uses a live region while a report is generating. + +### Personal report reader + +- **Structure:** sticky screen chrome (back, print), then an answer-first document: cover, executive judgement, natal chart evidence, thematic sections, appendix, provenance. +- **Surface:** page floor `--color-canvas-soft`; the document is a `--color-canvas` sheet with a hairline and `--radius-lg`. Print flattens the sheet, hides chrome, and pins the light palette. +- **Typography:** the subject name uses `--type-display-lg` serif at weight 400. Section titles use `--type-display-sm` serif at weight 400. Theme headings are `--type-title-md` sans at weight 500. Narrative is `--type-body-md` at 1.65, the same measure as chat answers. Labels stay 12–13px. +- **Accent:** claim-status pills and evidence links may use the action color; headings stay ink. Dark ink is never a page-scale rule or card edge. +- **Charts:** North-Indian SVG uses theme ink and canvas fills, never hardcoded light-only hex. +- **Width:** 900px for the document; chart and evidence columns stack at 760px. +- **States:** loading, generating, timed-out, unauthorized, not-found, failed, invalid, network-error, ready. Waiting uses `InlineSpinner`. +- **Accessibility:** back, print, and appendix disclosure are 44px. Generating copy uses `role="status"`. Print remains keyboard-initiated from the chrome button. ### Product entrypoint card diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index 800e73ce..85e2f482 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -122,8 +122,8 @@ /* The personal report's paper surface. Declared here so the dark blocks can override it; see the note on .personal-report-reader. */ --report-accent: #85432f; - --report-paper: #f8f5ee; - --report-rule: #c9c2b7; + --report-paper: #fbfaf7; + --report-rule: #d8d6cf; /* Hairlines and sheens that are dark-on-light here and light-on-dark there. */ --ring-hairline: oklch(0 0 0 / .1); --sheen: rgba(255, 255, 255, .54); @@ -608,7 +608,7 @@ button:disabled { cursor: default; opacity: .45; } @media (prefers-reduced-transparency: reduce) { .sidebar { background: var(--sidebar-solid); backdrop-filter: none; } - .chat-header, .composer-wrap { background: var(--color-canvas); backdrop-filter: none; } + .chat-header, .composer-wrap, .personal-report-actions { background: var(--color-canvas); backdrop-filter: none; } } @media (prefers-contrast: more) { @@ -3232,45 +3232,248 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class .payment-qr-badge svg { display: block; width: 100%; height: 100%; } /* Global report centre — quiet archive, independent from chat sessions. */ -.report-center-shell { width: 100%; height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 clamp(20px, 5vw, 72px) 72px; background: var(--color-canvas-soft); color: var(--color-ink); } -.report-center-topbar { max-width: 1080px; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; border-bottom: 1px solid var(--color-border); color: var(--color-ink-tertiary); font-size: 12px; } -.report-center-back { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; color: var(--color-ink-secondary); font-size: 14px; font-weight: 500; text-decoration: none; } -.report-center-back:hover { color: var(--color-action); } -.report-center-back svg, .report-center-section-heading button svg { width: 16px; height: 16px; } -.report-center-hero { max-width: 1080px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px; margin: 0 auto; padding: 52px 0 44px; } -.report-center-hero > div { max-width: 720px; } -.report-center-hero h1 { margin: 0; font-family: var(--font-body); font-size: clamp(34px, 5vw, 48px); font-weight: 680; letter-spacing: -.035em; line-height: 1.08; } -.report-center-hero > div > p:not(.report-center-meta) { max-width: 660px; margin: 18px 0 0; color: var(--color-ink-secondary); font-size: 15px; line-height: 1.7; text-wrap: pretty; } -.report-center-meta { margin: 16px 0 0; color: var(--color-ink-tertiary); font-size: 12px; line-height: 1.55; } -.report-center-hero > button { min-height: 44px; padding-inline: 16px; border-color: var(--color-action); background: var(--color-action); color: var(--color-on-dark); } -.report-center-section { max-width: 1080px; margin: 0 auto; } -.report-center-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; } -.report-center-section-heading h2 { margin: 0; font-family: var(--font-body); font-size: 20px; font-weight: 650; letter-spacing: -.015em; } -.report-center-section-heading button { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 8px; border: 0; background: transparent; color: var(--color-ink-secondary); cursor: pointer; } +.report-center-shell { + width: 100%; + height: 100%; + min-height: 0; + overflow-x: hidden; + overflow-y: auto; + overscroll-behavior: contain; + -webkit-overflow-scrolling: touch; + padding: 0 var(--space-6) var(--space-16); + background: var(--color-canvas-soft); + color: var(--color-ink); +} +.report-center-topbar, +.report-center-hero, +.report-center-section { + width: min(900px, 100%); + margin-inline: auto; +} +.report-center-topbar { + min-height: 64px; + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-5); + color: var(--color-ink-tertiary); + font-size: var(--type-overline); +} +.report-center-back { + min-height: 44px; + display: inline-flex; + align-items: center; + gap: var(--space-2); + padding: 0 var(--space-3); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + background: var(--color-canvas); + color: var(--color-ink-secondary); + font-size: var(--type-body-sm); + font-weight: 500; + text-decoration: none; +} +.report-center-back:hover { border-color: var(--color-border-strong); color: var(--color-ink); } +.report-center-back:focus-visible, +.report-center-section-heading button:focus-visible, +.personal-report-back:focus-visible, +.personal-report-disclosure:focus-visible { + outline: 2px solid var(--color-focus); + outline-offset: 2px; +} +.report-center-back svg, +.report-center-section-heading button svg, +.personal-report-back svg, +.personal-report-action-end svg { width: 16px; height: 16px; } +.report-center-hero { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + align-items: end; + gap: var(--space-8); + padding: var(--space-10) 0 var(--space-8); +} +.report-center-hero > div { max-width: 760px; } +.report-center-hero h1 { + margin: 0; + color: var(--color-ink); + font-family: var(--font-display); + font-size: var(--type-display-lg); + font-weight: 400; + letter-spacing: -1px; + line-height: 1.1; + text-wrap: balance; +} +.report-center-hero > div > p:not(.report-center-meta) { + max-width: 660px; + margin: var(--space-4) 0 0; + color: var(--color-ink-secondary); + font-size: var(--type-body-md); + line-height: 1.65; + text-wrap: pretty; +} +.report-center-meta { + margin: var(--space-4) 0 0; + color: var(--color-ink-tertiary); + font-size: var(--type-caption); + line-height: 1.4; +} +.report-center-section-heading { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-6); + margin-bottom: var(--space-4); +} +.report-center-section-heading h2 { + margin: 0; + color: var(--color-ink); + font-family: var(--font-display); + font-size: var(--type-title-lg); + font-weight: 400; + letter-spacing: -.3px; +} +.report-center-section-heading button { + min-height: 44px; + display: inline-flex; + align-items: center; + gap: var(--space-2); + padding: 0 var(--space-2); + border: 0; + background: transparent; + color: var(--color-ink-secondary); + cursor: pointer; + font-size: var(--type-body-sm); +} .report-center-section-heading button:hover { color: var(--color-action); } -.report-center-list { border-top: 1px solid var(--color-border-strong); } -.report-center-card { min-height: 126px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--color-border); } -.report-center-card-body { min-width: 0; } -.report-center-status { width: fit-content; display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; color: var(--color-ink-secondary); font-size: 12px; font-weight: 650; } -.report-center-status.is-ready { color: var(--color-success); } -.report-center-status.is-generating { color: var(--color-action); } -.report-center-status.is-failed, .report-center-failure { color: var(--color-danger); } -.report-center-card h3 { margin: 0; font-family: var(--font-body); font-size: 18px; font-weight: 650; letter-spacing: -.01em; } -.report-center-card p { margin: 6px 0; color: var(--color-ink-secondary); font-size: 14px; line-height: 1.55; } -.report-center-card small { color: var(--color-ink-tertiary); font-size: 12px; } -.report-center-failure { max-width: 220px; font-family: var(--font-mono); font-size: 11px; overflow-wrap: anywhere; } -.report-center-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid var(--color-border-strong); border-bottom: 1px solid var(--color-border); color: var(--color-ink-tertiary); text-align: center; } -.report-center-empty h3 { margin: 8px 0 0; color: var(--color-ink); font-family: var(--font-body); font-size: 17px; font-weight: 650; } -.report-center-empty p { max-width: 460px; margin: 0; font-size: 14px; line-height: 1.6; } -.report-center-alert { padding: 12px 0; border-top: 1px solid color-mix(in srgb, var(--color-danger) 48%, var(--color-border)); border-bottom: 1px solid color-mix(in srgb, var(--color-danger) 32%, var(--color-border)); background: transparent; color: var(--color-danger); } -.report-center-message { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; } -.report-center-message h1, .report-center-message p { margin: 0; } +.report-center-list { display: grid; gap: var(--space-3); } +.report-center-card { + min-width: 0; + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + align-items: center; + gap: var(--space-6); + padding: var(--space-5); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas); +} +.report-center-card-body { min-width: 0; display: grid; gap: var(--space-1); } +.report-center-status { + width: fit-content; + display: inline-flex; + align-items: center; + gap: 6px; + padding: 2px 10px; + border-radius: 999px; + background: var(--color-canvas-muted); + color: var(--color-ink-secondary); + font-size: var(--type-caption); + font-weight: 500; +} +.report-center-status.is-ready { background: var(--color-success-muted); color: var(--color-success); } +.report-center-status.is-generating { background: var(--color-action-soft); color: var(--color-action); } +.report-center-status.is-failed, +.report-center-failure { background: var(--color-danger-muted); color: var(--color-danger); } +.report-center-failure { + max-width: 220px; + padding: 8px 12px; + border-radius: var(--radius-sm); + font-family: var(--font-mono); + font-size: var(--type-caption); + overflow-wrap: anywhere; +} +.report-center-card h3 { + margin: 0; + color: var(--color-ink); + font-family: var(--font-body); + font-size: var(--type-title-md); + font-weight: 500; +} +.report-center-card p { + margin: 0; + color: var(--color-ink-secondary); + font-size: var(--type-body-sm); + line-height: 1.55; +} +.report-center-card small { color: var(--color-ink-tertiary); font-size: var(--type-caption); } +.report-center-card-actions { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + gap: var(--space-2); +} +.report-center-export-error { + flex-basis: 100%; + color: var(--color-danger); + font-size: var(--type-body-sm); + text-align: right; +} +.report-center-empty { + min-height: 220px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: var(--space-2); + padding: var(--space-8); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas); + color: var(--color-ink-tertiary); + text-align: center; +} +.report-center-empty h3 { + margin: var(--space-2) 0 0; + color: var(--color-ink); + font-family: var(--font-display); + font-size: var(--type-title-md); + font-weight: 400; +} +.report-center-empty p { + max-width: 460px; + margin: 0; + font-size: var(--type-body-sm); + line-height: 1.55; + text-wrap: pretty; +} +.report-center-alert { + margin: 0 0 var(--space-4); + padding: var(--space-3) var(--space-4); + border: 1px solid color-mix(in srgb, var(--color-danger) 32%, var(--color-border)); + border-radius: var(--radius-md); + background: var(--color-danger-muted); + color: var(--color-danger); + font-size: var(--type-body-sm); +} +.report-center-message { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: var(--space-4); + text-align: center; +} +.report-center-message h1 { + margin: 0; + font-family: var(--font-display); + font-size: var(--type-display-sm); + font-weight: 400; + letter-spacing: -.3px; +} +.report-center-message p { margin: 0; color: var(--color-ink-secondary); font-size: var(--type-body-sm); } @media (max-width: 720px) { - .report-center-hero { grid-template-columns: 1fr; align-items: start; gap: 24px; padding-block: 40px 34px; } + .report-center-shell { padding-inline: var(--space-4); } + .report-center-hero { grid-template-columns: 1fr; align-items: start; gap: var(--space-6); padding-block: var(--space-8) var(--space-6); } + .report-center-hero h1 { font-size: var(--type-display-md); letter-spacing: -.5px; } .report-center-hero > button { width: 100%; } - .report-center-card { grid-template-columns: 1fr; gap: 14px; } - .report-center-card > a, .report-center-card > button, .report-center-failure { justify-self: start; } + .report-center-card { grid-template-columns: 1fr; gap: var(--space-4); } + .report-center-card-actions, + .report-center-card > a, + .report-center-card > button, + .report-center-failure { justify-self: start; } + .report-center-export-error { text-align: left; } .report-center-section-heading { align-items: center; } } @@ -3293,129 +3496,432 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class -webkit-overflow-scrolling: touch; touch-action: pan-y; scrollbar-gutter: stable; - background: var(--report-paper); + background: var(--color-canvas-soft); +} +.personal-report-reader-body { width: 100%; padding: 0 var(--space-6) var(--space-16); } +.personal-report-actions { + position: sticky; + top: 0; + z-index: 20; + border-bottom: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent); + background: var(--color-frosted); + backdrop-filter: saturate(130%) blur(20px); +} +.personal-report-actions > div { + width: min(900px, 100%); + min-height: 54px; + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-4); + margin: 0 auto; + padding: var(--space-2) var(--space-6); +} +.personal-report-back { + min-height: 44px; + display: inline-flex; + align-items: center; + gap: var(--space-2); + padding: 0 var(--space-3); + border-radius: var(--radius-sm); + color: var(--color-ink-secondary); + font-size: var(--type-body-sm); + text-decoration: none; +} +.personal-report-back:hover { color: var(--color-ink); background: var(--color-canvas-muted); } +.personal-report-action-end { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); } +.personal-report-action-end > span { + max-width: 440px; + display: inline-flex; + align-items: center; + gap: 6px; + color: var(--color-warning); + font-size: var(--type-caption); + line-height: 1.45; } -.personal-report-reader-body { width: 100%; padding: 0 24px 64px; } -.personal-report-actions { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--report-rule); background: var(--report-paper); } -.personal-report-actions > div { width: min(1040px, 100%); min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 auto; padding: 8px 24px; } -.personal-report-back { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; color: var(--color-ink-secondary); font-size: 14px; text-decoration: none; } -.personal-report-back:hover { color: var(--color-ink); } -.personal-report-back svg, .personal-report-action-end svg { width: 16px; height: 16px; } -.personal-report-action-end { display: flex; align-items: center; justify-content: flex-end; gap: 12px; } -.personal-report-action-end > span { max-width: 440px; display: inline-flex; align-items: center; gap: 6px; color: var(--color-warning); font-size: 13px; line-height: 1.45; } -.personal-report-document { width: min(1040px, 100%); margin: 0 auto; padding: 54px 52px 38px; color: var(--color-ink); font-family: var(--font-body); font-size: 15px; line-height: 1.78; } -.personal-report-section { margin: 0 0 58px; } -.personal-report-cover-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 34%); gap: 72px; align-items: end; } -.personal-report-cover h1 { margin: 0; font-family: var(--font-body); font-size: clamp(44px, 6vw, 66px); font-weight: 700; letter-spacing: -.055em; line-height: 1.05; } -.personal-report-deck { max-width: 620px; margin: 18px 0 0; color: var(--color-ink-secondary); font-size: 16px; line-height: 1.65; text-wrap: pretty; } -.personal-report-metadata { display: grid; gap: 9px; margin: 0; } -.personal-report-metadata > div { min-width: 0; display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 10px; } -.personal-report-metadata dt { color: var(--color-ink-tertiary); } -.personal-report-metadata dd { min-width: 0; margin: 0; color: var(--color-ink); overflow-wrap: anywhere; } -.personal-report-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 38px 0 0; padding: 27px 0 24px; border-top: 1px solid var(--report-rule); border-bottom: 1px solid var(--report-rule); } -.personal-report-facts > div { min-width: 0; padding: 0 22px; text-align: center; } -.personal-report-facts > div + div { border-left: 1px solid var(--report-rule); } -.personal-report-facts dd { margin: 0; color: var(--color-ink); font-size: 21px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; } -.personal-report-facts dt { margin-top: 6px; color: var(--color-ink-tertiary); font-size: 13px; } +.personal-report-state { + width: 100%; + height: 100%; + min-height: 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: var(--space-4); + padding: var(--space-6); + overflow-x: hidden; + overflow-y: auto; + background: var(--color-canvas-soft); + color: var(--color-ink); + text-align: center; +} +.personal-report-state h1 { + margin: 0; + font-family: var(--font-display); + font-size: var(--type-display-sm); + font-weight: 400; + letter-spacing: -.3px; + text-wrap: balance; +} +.personal-report-state p { + max-width: 36rem; + margin: 0; + color: var(--color-ink-secondary); + font-size: var(--type-body-sm); + line-height: 1.55; + text-wrap: pretty; +} -.personal-report-section-heading { margin-bottom: 20px; } -.personal-report-section-heading > p { margin: 0 0 4px; color: var(--report-accent); font-size: 11px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; } -.personal-report-section-heading h2 { margin: 0; font-family: var(--font-body); font-size: 27px; font-weight: 700; letter-spacing: -.025em; line-height: 1.3; } -.personal-report-narrative p { margin: 0 0 14px; color: var(--color-ink-strong); font-size: 15px; line-height: 1.88; text-wrap: pretty; } +.personal-report-document { + width: min(900px, 100%); + margin: var(--space-8) auto 0; + padding: var(--space-10) var(--space-8) var(--space-8); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas); + color: var(--color-ink); + font-family: var(--font-body); + font-size: var(--type-body-md); + line-height: 1.65; +} +.personal-report-section { margin: 0 0 var(--space-12); } +.personal-report-cover-grid { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(220px, 32%); + gap: var(--space-10); + align-items: end; +} +.personal-report-kicker, +.personal-report-section-heading > p { + margin: 0 0 var(--space-1); + color: var(--color-ink-tertiary); + font-size: var(--type-overline); + font-weight: 500; + letter-spacing: 1.5px; +} +.personal-report-cover .personal-report-kicker { margin-bottom: var(--space-3); } +.personal-report-cover h1 { + margin: 0; + font-family: var(--font-display); + font-size: var(--type-display-lg); + font-weight: 400; + letter-spacing: -1px; + line-height: 1.1; + text-wrap: balance; +} +.personal-report-deck { + max-width: 620px; + margin: var(--space-4) 0 0; + color: var(--color-ink-secondary); + font-size: var(--type-body-md); + line-height: 1.65; + text-wrap: pretty; +} +.personal-report-metadata { display: grid; gap: var(--space-2); margin: 0; } +.personal-report-metadata > div { min-width: 0; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-3); } +.personal-report-metadata dt { color: var(--color-ink-tertiary); font-size: var(--type-caption); font-weight: 500; } +.personal-report-metadata dd { min-width: 0; margin: 0; color: var(--color-ink); overflow-wrap: anywhere; font-size: var(--type-body-sm); } +.personal-report-facts { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 0; + margin: var(--space-8) 0 0; + padding: 0; + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas-muted); +} +.personal-report-facts > div { min-width: 0; padding: var(--space-5) var(--space-4); text-align: center; } +.personal-report-facts > div + div { border-left: 1px solid var(--color-border); } +.personal-report-facts dd { + margin: 0; + color: var(--color-ink); + font-family: var(--font-display); + font-size: var(--type-title-md); + font-weight: 400; + line-height: 1.35; + overflow-wrap: anywhere; +} +.personal-report-facts dt { margin-top: 6px; color: var(--color-ink-tertiary); font-size: var(--type-caption); } + +.personal-report-section-heading { margin-bottom: var(--space-5); } +.personal-report-section-heading h2 { + margin: 0; + font-family: var(--font-display); + font-size: var(--type-display-sm); + font-weight: 400; + letter-spacing: -.3px; + line-height: 1.2; + text-wrap: balance; +} +.personal-report-narrative p { + margin: 0 0 var(--space-4); + color: var(--color-ink-strong); + font-size: var(--type-body-md); + line-height: 1.65; + text-wrap: pretty; +} .personal-report-narrative p:last-child { margin-bottom: 0; } -.personal-report-summary { max-width: 920px; } -.personal-report-callout { margin: 26px 0 0; padding: 14px 0 0; border-top: 1px solid var(--report-rule); background: transparent; color: var(--color-ink-strong); } -.personal-report-callout strong { color: var(--report-accent); } -.personal-report-priorities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; margin: 22px 0 0; padding-left: 20px; } -.personal-report-priorities li { padding: 10px 0 10px 4px; border-top: 1px solid color-mix(in srgb, var(--report-rule) 72%, transparent); color: var(--color-ink-secondary); font-size: 14px; } +.personal-report-summary { max-width: 760px; } +.personal-report-callout { + margin: var(--space-6) 0 0; + padding: var(--space-4); + border: 1px solid color-mix(in srgb, var(--color-action) 22%, var(--color-border)); + border-radius: var(--radius-md); + background: var(--color-action-soft); + color: var(--color-ink-strong); +} +.personal-report-callout strong { color: var(--color-action); font-weight: 500; } +.personal-report-priorities { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0 var(--space-8); + margin: var(--space-5) 0 0; + padding-left: 20px; +} +.personal-report-priorities li { + padding: var(--space-3) 0 var(--space-3) 4px; + color: var(--color-ink-secondary); + font-size: var(--type-body-sm); +} .personal-report-lead-chart { padding-top: 2px; } -.personal-report-lead-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 40px; align-items: start; } -.personal-report-subheading { min-height: 38px; display: flex; align-items: baseline; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--report-rule); } -.personal-report-subheading h2, .personal-report-subheading h3 { margin: 0; font-family: var(--font-body); font-size: 20px; font-weight: 700; line-height: 1.4; } -.personal-report-subheading span { color: var(--color-ink-secondary); font-size: 13px; } -.personal-report-chart-svg { display: block; width: 100%; height: auto; margin-top: 14px; } +.personal-report-lead-grid { + display: grid; + grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); + gap: var(--space-8); + align-items: start; +} +.personal-report-subheading { + min-height: 38px; + display: flex; + align-items: baseline; + gap: var(--space-3); + padding-bottom: var(--space-2); + border-bottom: 1px solid var(--color-border); +} +.personal-report-subheading h2, +.personal-report-subheading h3 { + margin: 0; + font-family: var(--font-display); + font-size: var(--type-title-lg); + font-weight: 400; + line-height: 1.3; +} +.personal-report-subheading span { color: var(--color-ink-secondary); font-size: var(--type-caption); } +.personal-report-chart-svg { display: block; width: 100%; height: auto; margin-top: var(--space-4); color: var(--color-ink); } +.personal-report-chart-svg .personal-report-chart-cell { fill: none; stroke: var(--color-ink-strong); stroke-width: 1.25; } +.personal-report-chart-svg .personal-report-chart-core { fill: var(--color-canvas-muted); stroke: var(--color-ink-strong); stroke-width: 1.25; } +.personal-report-chart-svg .personal-report-chart-diamond { fill: none; stroke: var(--color-ink-strong); stroke-width: 1.25; } +.personal-report-chart-svg text { fill: currentColor; } +.personal-report-chart-svg .personal-report-chart-muted { fill: var(--color-ink-tertiary); } .personal-report-chart-figure { min-width: 0; margin: 0; } -.personal-report-chart-figure figcaption { margin-top: 10px; color: var(--color-ink-tertiary); font-size: 11px; line-height: 1.55; } +.personal-report-chart-figure figcaption { + margin-top: var(--space-3); + color: var(--color-ink-tertiary); + font-size: var(--type-caption); + line-height: 1.55; +} .personal-report-key-evidence { min-width: 0; } -.personal-report-key-evidence table, .personal-report-table-wrap table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; text-align: left; } -.personal-report-key-evidence th, .personal-report-key-evidence td, .personal-report-table-wrap th, .personal-report-table-wrap td { padding: 9px 8px; border-bottom: 1px solid color-mix(in srgb, var(--report-rule) 68%, transparent); vertical-align: top; overflow-wrap: anywhere; } -.personal-report-key-evidence thead th, .personal-report-table-wrap thead th { color: var(--color-ink-secondary); font-size: 11px; font-weight: 650; letter-spacing: .04em; } -.personal-report-key-evidence tbody th { width: 30%; color: var(--color-ink); font-size: 13px; font-weight: 550; } -.personal-report-key-evidence tbody td { color: var(--color-ink-strong); font-size: 13px; } +.personal-report-key-evidence table, +.personal-report-table-wrap table { + width: 100%; + min-width: 0; + border-collapse: collapse; + table-layout: fixed; + text-align: left; +} +.personal-report-key-evidence th, +.personal-report-key-evidence td, +.personal-report-table-wrap th, +.personal-report-table-wrap td { + padding: 10px 8px; + border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent); + vertical-align: top; + overflow-wrap: anywhere; +} +.personal-report-key-evidence thead th, +.personal-report-table-wrap thead th { + color: var(--color-ink-secondary); + font-size: var(--type-overline); + font-weight: 500; +} +.personal-report-key-evidence tbody th { width: 30%; color: var(--color-ink); font-size: var(--type-body-sm); font-weight: 500; } +.personal-report-key-evidence tbody td { color: var(--color-ink-strong); font-size: var(--type-body-sm); } -.personal-report-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; } +.personal-report-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); } .personal-report-chart-grid.is-single { grid-template-columns: minmax(0, 520px); } -.personal-report-chart-card { min-width: 0; padding-top: 16px; border-top: 2px solid var(--color-ink); } -.personal-report-chart-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } -.personal-report-chart-card h3 { margin: 0; font-size: 18px; } -.personal-report-claim-status { flex: 0 0 auto; color: var(--color-ink-secondary); font-size: 11px; font-weight: 650; line-height: 1.5; } -.personal-report-claim-status.is-success { color: var(--color-success); } -.personal-report-claim-status.is-warning { color: var(--color-warning); } -.personal-report-claim-status.is-danger { color: var(--color-danger); } +.personal-report-chart-card { + min-width: 0; + padding: var(--space-5); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas-muted); +} +.personal-report-chart-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); } +.personal-report-chart-card h3 { margin: 0; font-family: var(--font-body); font-size: var(--type-title-md); font-weight: 500; } +.personal-report-claim-status { + flex: 0 0 auto; + display: inline-flex; + align-items: center; + padding: 2px 10px; + border-radius: 999px; + background: var(--color-canvas); + color: var(--color-ink-secondary); + font-size: var(--type-caption); + font-weight: 500; + line-height: 1.5; +} +.personal-report-claim-status.is-success { background: var(--color-success-muted); color: var(--color-success); } +.personal-report-claim-status.is-warning { background: var(--color-action-soft); color: var(--color-warning); } +.personal-report-claim-status.is-danger { background: var(--color-danger-muted); color: var(--color-danger); } .personal-report-table-wrap { max-width: 100%; overflow-x: auto; } -.personal-report-planet-table { margin-top: 18px; font-size: 12px; } -.personal-report-planet-table th, .personal-report-planet-table td { padding-inline: 5px; } +.personal-report-planet-table { margin-top: var(--space-4); font-size: var(--type-caption); } +.personal-report-planet-table th, +.personal-report-planet-table td { padding-inline: 5px; } -.personal-report-themes { border-top: 1px solid var(--report-rule); padding-top: 34px; } -.personal-report-theme { padding: 28px 0 32px; border-top: 1px solid color-mix(in srgb, var(--report-rule) 68%, transparent); } -.personal-report-theme > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; } -.personal-report-theme h3 { margin: 0; font-family: var(--font-body); font-size: 21px; line-height: 1.45; } +.personal-report-themes { padding-top: 0; } +.personal-report-theme { + padding: var(--space-6); + margin-top: var(--space-4); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + background: var(--color-canvas-muted); +} +.personal-report-theme > header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: var(--space-4); + margin-bottom: var(--space-4); +} +.personal-report-theme h3 { + margin: 0; + font-family: var(--font-body); + font-size: var(--type-title-md); + font-weight: 500; + line-height: 1.4; +} .personal-report-theme .personal-report-narrative { padding-left: 0; } -.personal-report-theme-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 22px 0 0; padding: 17px 0; border-top: 1px solid color-mix(in srgb, var(--report-rule) 68%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--report-rule) 68%, transparent); } -.personal-report-theme-details h4 { margin: 0 0 7px; color: var(--color-ink); font-size: 13px; } -.personal-report-theme-details ul { margin: 0; padding-left: 18px; color: var(--color-ink-secondary); font-size: 13px; line-height: 1.7; } +.personal-report-theme-details { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: var(--space-6); + margin: var(--space-5) 0 0; + padding: var(--space-4) 0 0; + border-top: 1px solid var(--color-border); +} +.personal-report-theme-details h4 { margin: 0 0 7px; color: var(--color-ink); font-size: var(--type-caption); font-weight: 500; } +.personal-report-theme-details ul { margin: 0; padding-left: 18px; color: var(--color-ink-secondary); font-size: var(--type-body-sm); line-height: 1.7; } .personal-report-theme-details li + li { margin-top: 4px; } -.personal-report-evidence-links { display: flex; flex-wrap: wrap; gap: 7px 16px; margin: 16px 0 0 44px; padding: 0; list-style: none; color: var(--color-ink-tertiary); font-size: 11px; } -.personal-report-evidence-links a { color: var(--report-accent); text-decoration-color: color-mix(in srgb, var(--report-accent) 35%, transparent); text-underline-offset: 3px; } +.personal-report-evidence-links { + display: flex; + flex-wrap: wrap; + gap: 7px 16px; + margin: var(--space-4) 0 0; + padding: 0; + list-style: none; + color: var(--color-ink-tertiary); + font-size: var(--type-caption); +} +.personal-report-evidence-links a { + color: var(--report-accent); + text-decoration-color: color-mix(in srgb, var(--report-accent) 35%, transparent); + text-underline-offset: 3px; +} -.personal-report-appendix { position: relative; padding-top: 34px; border-top: 1px solid var(--report-rule); } +.personal-report-appendix { position: relative; padding-top: var(--space-2); } .personal-report-appendix > .personal-report-section-heading { margin-bottom: 0; } -.personal-report-appendix-details > summary { position: absolute; top: 34px; right: 0; display: inline-flex; align-items: center; } -.personal-report-disclosure { min-height: 38px; padding: 0 12px; border: 1px solid var(--report-rule); border-radius: 6px; background: transparent; color: var(--color-ink); cursor: pointer; font-size: 13px; list-style: none; } +.personal-report-appendix-details > summary { position: absolute; top: var(--space-2); right: 0; display: inline-flex; align-items: center; } +.personal-report-disclosure { + min-height: 44px; + padding: 0 12px; + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + background: var(--color-canvas); + color: var(--color-ink); + cursor: pointer; + font-size: var(--type-caption); + list-style: none; +} .personal-report-disclosure::-webkit-details-marker { display: none; } -.personal-report-disclosure:hover { border-color: var(--report-accent); color: var(--report-accent); } -.personal-report-appendix-intro { margin: 12px 0 24px; color: var(--color-ink-secondary); font-size: 13px; } -.personal-report-appendix h3 { margin: 28px 0 10px; font-size: 16px; } -.personal-report-audit-table { font-size: 12px; } +.personal-report-disclosure:hover { border-color: var(--color-border-strong); color: var(--color-action); } +.personal-report-appendix-intro { margin: 12px 0 24px; color: var(--color-ink-secondary); font-size: var(--type-body-sm); } +.personal-report-appendix h3 { + margin: var(--space-6) 0 var(--space-3); + font-family: var(--font-display); + font-size: var(--type-title-md); + font-weight: 400; +} +.personal-report-audit-table { font-size: var(--type-caption); } .personal-report-audit-table th:nth-child(1) { width: 24%; } -.personal-report-audit-table th:nth-child(2), .personal-report-audit-table th:nth-child(3) { width: 12%; } -.personal-report-audit-table td strong, .personal-report-audit-table td small { display: block; } -.personal-report-audit-table td small { color: var(--color-ink-tertiary); font-size: 10px; } +.personal-report-audit-table th:nth-child(2), +.personal-report-audit-table th:nth-child(3) { width: 12%; } +.personal-report-audit-table td strong, +.personal-report-audit-table td small { display: block; } +.personal-report-audit-table td small { color: var(--color-ink-tertiary); font-size: var(--type-caption); } .personal-report-conflicts { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; } -.personal-report-conflicts li { display: grid; gap: 3px; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--report-rule) 68%, transparent); } -.personal-report-conflicts span { color: var(--color-ink-secondary); font-size: 13px; } +.personal-report-conflicts li { + display: grid; + gap: 3px; + padding: var(--space-3) 0; + border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent); +} +.personal-report-conflicts span { color: var(--color-ink-secondary); font-size: var(--type-body-sm); } .personal-report-conflicts small { color: var(--color-ink-tertiary); } .personal-report-blocked-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; } -.personal-report-blocked-list li { padding: 3px 8px; border: 1px solid color-mix(in srgb, var(--color-danger) 35%, transparent); border-radius: 999px; color: var(--color-danger); font-size: 11px; } -.personal-report-disclaimer { padding-top: 26px; border-top: 1px solid var(--report-rule); } -.personal-report-disclaimer h2 { margin: 0 0 8px; font-size: 16px; } -.personal-report-disclaimer p { margin: 0; color: var(--color-ink-secondary); font-size: 12px; line-height: 1.75; } -.personal-report-footer { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--report-rule); color: var(--color-ink-tertiary); font-size: 10px; } +.personal-report-blocked-list li { + padding: 4px 10px; + border-radius: 999px; + background: var(--color-danger-muted); + color: var(--color-danger); + font-size: var(--type-caption); +} +.personal-report-disclaimer { padding-top: var(--space-6); border-top: 1px solid var(--color-border); } +.personal-report-disclaimer h2 { + margin: 0 0 var(--space-2); + font-family: var(--font-display); + font-size: var(--type-title-md); + font-weight: 400; +} +.personal-report-disclaimer p { margin: 0; color: var(--color-ink-secondary); font-size: var(--type-caption); line-height: 1.75; } +.personal-report-footer { + display: flex; + justify-content: space-between; + gap: var(--space-5); + padding-top: var(--space-5); + border-top: 1px solid var(--color-border); + color: var(--color-ink-tertiary); + font-size: var(--type-caption); +} .personal-report-footer span:last-child { overflow-wrap: anywhere; text-align: right; } .personal-report-avoid-break { break-inside: avoid-page; } .personal-report-avoid-break-row { break-inside: avoid; } @media (max-width: 760px) { - .personal-report-reader-body { padding: 0 16px 48px; } - .personal-report-actions > div { min-height: 50px; padding: 6px 16px; } + .personal-report-reader-body { padding: 0 var(--space-4) var(--space-12); } + .personal-report-actions > div { min-height: 50px; padding: 6px var(--space-4); } .personal-report-action-end > span { display: none; } - .personal-report-document { padding: 34px 0 24px; font-size: 14px; } - .personal-report-section { margin-bottom: 44px; } - .personal-report-cover-grid { grid-template-columns: 1fr; gap: 26px; } - .personal-report-cover h1 { font-size: clamp(40px, 13vw, 54px); } + .personal-report-document { margin-top: var(--space-5); padding: var(--space-6) var(--space-4) var(--space-5); } + .personal-report-section { margin-bottom: var(--space-10); } + .personal-report-cover-grid { grid-template-columns: 1fr; gap: var(--space-6); } + .personal-report-cover h1 { font-size: var(--type-display-md); letter-spacing: -.5px; } .personal-report-metadata { gap: 7px; } - .personal-report-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; } - .personal-report-facts > div { padding: 17px 8px; } + .personal-report-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .personal-report-facts > div { padding: var(--space-4) var(--space-2); } .personal-report-facts > div + div { border-left: 0; } - .personal-report-facts > div:nth-child(even) { border-left: 1px solid var(--report-rule); } - .personal-report-facts > div:nth-child(n + 3) { border-top: 1px solid var(--report-rule); } - .personal-report-facts dd { font-size: 17px; } + .personal-report-facts > div:nth-child(even) { border-left: 1px solid var(--color-border); } + .personal-report-facts > div:nth-child(n + 3) { border-top: 1px solid var(--color-border); } + .personal-report-facts dd { font-size: var(--type-title-sm); } .personal-report-priorities { grid-template-columns: 1fr; } - .personal-report-lead-grid, .personal-report-chart-grid, .personal-report-chart-grid.is-single { grid-template-columns: 1fr; gap: 34px; } - .personal-report-theme .personal-report-narrative, .personal-report-theme-details, .personal-report-evidence-links { margin-left: 0; padding-left: 0; } - .personal-report-theme-details { grid-template-columns: 1fr; gap: 18px; } + .personal-report-lead-grid, + .personal-report-chart-grid, + .personal-report-chart-grid.is-single { grid-template-columns: 1fr; gap: var(--space-6); } + .personal-report-theme .personal-report-narrative, + .personal-report-theme-details, + .personal-report-evidence-links { margin-left: 0; padding-left: 0; } + .personal-report-theme-details { grid-template-columns: 1fr; gap: var(--space-4); } .personal-report-footer { display: grid; } .personal-report-footer span:last-child { text-align: left; } } @@ -3432,6 +3938,7 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class --color-ink-tertiary: #6a6963; --color-canvas: #fbfaf7; --color-canvas-soft: #f3f2ee; + --color-canvas-muted: #ebe9e3; --color-border: #d8d6cf; --color-border-strong: #b8b5ad; --color-action: #85432f; @@ -3441,8 +3948,8 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class --color-success: #28633e; --color-warning: #b07b22; --report-accent: #85432f; - --report-paper: #f8f5ee; - --report-rule: #c9c2b7; + --report-paper: #fbfaf7; + --report-rule: #d8d6cf; } html, body { width: auto !important; height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fff !important; } * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } @@ -3451,24 +3958,42 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class .personal-report-appendix-details:not([open]) > .personal-report-print-always { display: block !important; } .personal-report-reader { width: auto !important; height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fff !important; } .personal-report-reader-body { width: auto !important; padding: 0 !important; } - .personal-report-document { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fff !important; font-size: 9.6pt; line-height: 1.66; } + .personal-report-document { + width: auto !important; + max-width: none !important; + margin: 0 !important; + padding: 0 !important; + border: 0 !important; + border-radius: 0 !important; + background: #fff !important; + font-size: 9.6pt; + line-height: 1.66; + } .personal-report-section { margin-bottom: 9mm; } .personal-report-cover-grid { grid-template-columns: minmax(0, 1fr) 66mm; gap: 12mm; } .personal-report-cover h1 { font-size: 30pt; } .personal-report-deck { font-size: 10pt; } - .personal-report-facts { margin-top: 8mm; padding: 5mm 0; } + .personal-report-facts { margin-top: 8mm; } .personal-report-facts dd { font-size: 13pt; } .personal-report-section-heading h2 { font-size: 18pt; } .personal-report-narrative p { font-size: 9.6pt; line-height: 1.72; orphans: 3; widows: 3; } .personal-report-lead-grid { grid-template-columns: minmax(0, 1.04fr) minmax(64mm, .96fr); gap: 8mm; } .personal-report-chart-svg { max-width: none; margin-top: 3mm; } - .personal-report-chart-grid, .personal-report-chart-grid.is-single { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .personal-report-chart-grid, + .personal-report-chart-grid.is-single { grid-template-columns: repeat(2, minmax(0, 1fr)); } .personal-report-chart-grid.is-single { max-width: 118mm; } .personal-report-table-wrap { max-width: none !important; overflow: visible !important; } - .personal-report-table-wrap table, .personal-report-key-evidence table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; } - .personal-report-table-wrap th, .personal-report-table-wrap td, .personal-report-key-evidence th, .personal-report-key-evidence td { overflow-wrap: anywhere !important; word-break: break-word; } - .personal-report-theme { padding: 6mm 0; } - .personal-report-theme h3, .personal-report-subheading h2, .personal-report-subheading h3, .personal-report-appendix h3 { break-after: avoid-page; } + .personal-report-table-wrap table, + .personal-report-key-evidence table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; } + .personal-report-table-wrap th, + .personal-report-table-wrap td, + .personal-report-key-evidence th, + .personal-report-key-evidence td { overflow-wrap: anywhere !important; word-break: break-word; } + .personal-report-theme { padding: 6mm; margin-top: 4mm; } + .personal-report-theme h3, + .personal-report-subheading h2, + .personal-report-subheading h3, + .personal-report-appendix h3 { break-after: avoid-page; } .personal-report-theme-details { grid-template-columns: repeat(2, minmax(0, 1fr)); } .personal-report-footer { margin-top: 8mm; } .personal-report-avoid-break { break-inside: avoid-page; } diff --git a/frontend/src/app/reports/[reportId]/error.tsx b/frontend/src/app/reports/[reportId]/error.tsx index 4a6f3e83..c5496b1e 100644 --- a/frontend/src/app/reports/[reportId]/error.tsx +++ b/frontend/src/app/reports/[reportId]/error.tsx @@ -20,12 +20,10 @@ export default function ReportError({ }, [error]); return ( -
+