feat(reports): generate card, jump to end, labelled export, TOC levels, table bands, export size; drop 字段 jargon (BUG-1092..1094)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
64aa0ec20c
commit
d85ab9a2d2
@@ -3879,34 +3879,45 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
font-size: var(--type-body-sm);
|
||||
text-align: right;
|
||||
}
|
||||
.report-center-empty {
|
||||
min-height: 220px;
|
||||
/* The page's generate entry: one centred card above the archive (2026-09-29,
|
||||
product sketch). Same sheet as an empty state used to be, so a first visit
|
||||
still reads calm; the button inside is the page's one filled action. */
|
||||
.report-center-create {
|
||||
width: min(900px, 100%);
|
||||
margin: 0 auto var(--space-8);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--space-2);
|
||||
padding: var(--space-8);
|
||||
padding: var(--space-8) var(--space-6);
|
||||
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 {
|
||||
.report-center-create h2 {
|
||||
margin: var(--space-2) 0 0;
|
||||
color: var(--color-ink);
|
||||
font-family: var(--font-display);
|
||||
font-size: var(--type-title-md);
|
||||
font-weight: 500;
|
||||
}
|
||||
.report-center-empty p {
|
||||
.report-center-create p {
|
||||
max-width: 460px;
|
||||
margin: 0;
|
||||
margin: 0 0 var(--space-3);
|
||||
font-size: var(--type-body-sm);
|
||||
line-height: 1.55;
|
||||
text-wrap: pretty;
|
||||
}
|
||||
/* No second big empty card under the generate card: one quiet line. */
|
||||
.report-center-empty {
|
||||
margin: 0;
|
||||
padding: var(--space-6) 0;
|
||||
color: var(--color-ink-tertiary);
|
||||
font-size: var(--type-body-sm);
|
||||
text-align: center;
|
||||
}
|
||||
.report-center-alert {
|
||||
margin: 0 0 var(--space-4);
|
||||
padding: var(--space-3) var(--space-4);
|
||||
@@ -4066,7 +4077,13 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.personal-report-toc li[data-level="3"] { padding-left: var(--space-3); }
|
||||
/* Two levels you can tell apart without the current-item pill (2026-09-29):
|
||||
chapters are ink and semibold with air above each group; sections sit a
|
||||
full step in and one tone lighter. */
|
||||
.personal-report-toc li[data-level="2"] + li[data-level="2"],
|
||||
.personal-report-toc li[data-level="3"] + li[data-level="2"] { margin-top: var(--space-3); }
|
||||
.personal-report-toc li[data-level="2"] > a { color: var(--color-ink); font-weight: 600; }
|
||||
.personal-report-toc li[data-level="3"] { padding-left: var(--space-5); }
|
||||
.personal-report-toc a {
|
||||
display: block;
|
||||
padding: 6px var(--space-2);
|
||||
@@ -4085,6 +4102,39 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
color: var(--color-ink);
|
||||
}
|
||||
.personal-report-toc a:hover { color: var(--color-ink); }
|
||||
/* 「到底部」/「回到顶部」: one floating pill over the reader's bottom-right
|
||||
corner, same look as the chat's 跳到最新. Out of flow, so the paper never
|
||||
reflows when it flips direction. Hidden on paper via .personal-report-screen-only. */
|
||||
.report-edge-jump {
|
||||
position: fixed;
|
||||
right: var(--space-6);
|
||||
bottom: var(--space-6);
|
||||
z-index: 15;
|
||||
}
|
||||
.report-edge-jump__button {
|
||||
min-height: 44px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
padding: 0 var(--space-4);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: 999px;
|
||||
background: var(--color-canvas);
|
||||
color: var(--color-ink);
|
||||
box-shadow: var(--shadow-elevated);
|
||||
font: inherit;
|
||||
font-size: var(--type-body-sm);
|
||||
cursor: pointer;
|
||||
}
|
||||
.report-edge-jump__button svg { width: 16px; height: 16px; flex: 0 0 auto; }
|
||||
.report-edge-jump__button:hover { background: var(--color-canvas-muted); }
|
||||
.report-edge-jump__button:focus-visible {
|
||||
outline: 3px solid color-mix(in srgb, var(--color-focus) 56%, transparent);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.report-edge-jump { right: var(--space-4); bottom: calc(var(--space-4) + env(safe-area-inset-bottom)); }
|
||||
}
|
||||
.personal-report-toc-drawer { display: none; }
|
||||
.personal-report-toc-desktop p {
|
||||
margin: 0 0 var(--space-2);
|
||||
@@ -4543,6 +4593,17 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
font-size: var(--type-overline);
|
||||
font-weight: 500;
|
||||
}
|
||||
/* Report tables only, never chat bubbles (2026-09-29): a faint header band and
|
||||
zebra rows so a nine-column row can be followed across. Both are ink mixed
|
||||
into transparency, so they sit on paper and on the dark sheet alike. */
|
||||
.personal-report-table-wrap thead th,
|
||||
.personal-report-fact-tables thead th {
|
||||
background: color-mix(in srgb, var(--color-ink) 6%, transparent);
|
||||
}
|
||||
.personal-report-table-wrap tbody tr:nth-child(even),
|
||||
.personal-report-fact-tables tbody tr:nth-child(even) {
|
||||
background: color-mix(in srgb, var(--color-ink) 3%, transparent);
|
||||
}
|
||||
.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); }
|
||||
|
||||
@@ -4800,6 +4861,12 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
.personal-report-chart-grid.is-single { grid-template-columns: 1fr; }
|
||||
.personal-report-chart-grid.is-single { max-width: 118mm; }
|
||||
.personal-report-table-wrap { max-width: none !important; overflow: visible !important; }
|
||||
/* Lighter on paper; the print block already forces exact colour. */
|
||||
.personal-report-table-wrap thead th,
|
||||
.personal-report-fact-tables thead th { background: color-mix(in srgb, var(--color-ink) 5%, transparent) !important; }
|
||||
.personal-report-table-wrap tbody tr:nth-child(even),
|
||||
.personal-report-fact-tables tbody tr:nth-child(even) { background: color-mix(in srgb, var(--color-ink) 2.5%, transparent) !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,
|
||||
|
||||
Reference in New Issue
Block a user