Spaces:
Running
Running
| :root { | |
| --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; | |
| --font-mono: "SF Mono", "Cascadia Code", "Consolas", "Menlo", monospace; | |
| --header-h: 48px; | |
| --surface: #1a1c1e; | |
| --surface-variant: #282a2d; | |
| --surface-container: #1e2022; | |
| --on-surface: #e2e2e6; | |
| --on-surface-variant: #c4c6cf; | |
| --primary: #8ab4f8; | |
| --on-primary: #003258; | |
| --primary-container: #004a7c; | |
| --on-primary-container: #d1e4ff; | |
| --secondary: #bcc7db; | |
| --on-secondary: #263141; | |
| --secondary-container: #3c4758; | |
| --on-secondary-container: #d8e3f8; | |
| --outline: #8d9099; | |
| --outline-variant: #43474e; | |
| --error: #f2b8b5; | |
| --on-error: #601410; | |
| --radius-sm: 6px; | |
| --radius-md: 12px; | |
| --radius-lg: 16px; | |
| --radius-full: 999px; | |
| --shadow-sm: 0 1px 2px rgba(0,0,0,0.3); | |
| --shadow-md: 0 2px 8px rgba(0,0,0,0.4); | |
| --shadow-lg: 0 4px 16px rgba(0,0,0,0.5); | |
| --transition: 150ms ease; | |
| --sidebar-w: 280px; | |
| --sidebar-expanded-w: max(360px, min(50vw, 760px)); | |
| color-scheme: dark; | |
| } | |
| body.light { | |
| --surface: #fdfbff; | |
| --surface-variant: #f0eff4; | |
| --surface-container: #f5f3f7; | |
| --on-surface: #1a1c1e; | |
| --on-surface-variant: #44474e; | |
| --primary: #1a6db5; | |
| --on-primary: #ffffff; | |
| --primary-container: #d1e4ff; | |
| --on-primary-container: #001d36; | |
| --secondary: #525f70; | |
| --on-secondary: #ffffff; | |
| --secondary-container: #d8e3f8; | |
| --on-secondary-container: #121c29; | |
| --outline: #74777f; | |
| --outline-variant: #c4c6cf; | |
| --error: #ba1a1a; | |
| --on-error: #ffffff; | |
| --shadow-sm: 0 1px 2px rgba(0,0,0,0.08); | |
| --shadow-md: 0 2px 8px rgba(0,0,0,0.12); | |
| --shadow-lg: 0 4px 16px rgba(0,0,0,0.16); | |
| color-scheme: light; | |
| } | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html, body { | |
| height: 100%; | |
| overflow: hidden; | |
| } | |
| body { | |
| font-family: var(--font-sans); | |
| font-size: 14px; | |
| line-height: 1.5; | |
| color: var(--on-surface); | |
| background: var(--surface); | |
| display: flex; | |
| flex-direction: column; | |
| height: 100dvh; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| body.firefox { | |
| height: 100svh; | |
| } | |
| :focus-visible { | |
| outline: 2px solid var(--primary); | |
| outline-offset: 2px; | |
| } | |
| .icon-btn:focus-visible, | |
| .icon-btn-sm:focus-visible, | |
| .text-btn:focus-visible, | |
| .text-btn-sm:focus-visible, | |
| .result-action-btn:focus-visible, | |
| .random-book-btn:focus-visible, | |
| .random-big-btn:focus-visible, | |
| input:focus-visible, | |
| select:focus-visible { | |
| outline: none; | |
| } | |
| a { | |
| color: var(--primary); | |
| text-decoration: none; | |
| } | |
| a:hover, a:focus-visible { | |
| text-decoration: underline; | |
| } | |
| button { | |
| font-family: inherit; | |
| font-size: inherit; | |
| cursor: pointer; | |
| border: none; | |
| background: none; | |
| color: inherit; | |
| } | |
| input, select { | |
| font-family: inherit; | |
| font-size: inherit; | |
| color: var(--on-surface); | |
| background: none; | |
| border: none; | |
| outline: none; | |
| } | |
| ul, li { | |
| list-style: none; | |
| } | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--outline-variant); | |
| border-radius: 3px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--outline); | |
| } | |
| #header { | |
| height: var(--header-h); | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 0 8px; | |
| background: var(--surface-container); | |
| border-bottom: 1px solid var(--outline-variant); | |
| z-index: 100; | |
| flex-shrink: 0; | |
| } | |
| .header-left { | |
| display: flex; | |
| align-items: center; | |
| gap: 4px; | |
| flex-shrink: 0; | |
| } | |
| .header-logo { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| color: var(--on-surface); | |
| font-weight: 600; | |
| font-size: 15px; | |
| padding: 4px 8px; | |
| border-radius: var(--radius-sm); | |
| transition: background var(--transition); | |
| text-decoration: none; | |
| } | |
| .header-logo:hover, .header-logo:focus-visible { | |
| background: var(--surface-variant); | |
| text-decoration: none; | |
| } | |
| .header-center { | |
| flex: 1; | |
| display: flex; | |
| justify-content: center; | |
| min-width: 0; | |
| } | |
| .search-box { | |
| position: relative; | |
| display: flex; | |
| align-items: center; | |
| width: 100%; | |
| max-width: 680px; | |
| height: 36px; | |
| background: var(--surface); | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-full); | |
| transition: all var(--transition); | |
| } | |
| .search-box:focus-within { | |
| border-color: var(--primary); | |
| box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 25%, transparent); | |
| } | |
| .search-icon { | |
| flex-shrink: 0; | |
| margin-left: 12px; | |
| color: var(--on-surface-variant); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .search-input { | |
| flex: 1; | |
| height: 100%; | |
| padding: 0 8px; | |
| font-size: 14px; | |
| background: transparent; | |
| min-width: 0; | |
| } | |
| .search-input::placeholder { | |
| color: var(--on-surface-variant); | |
| opacity: 0.6; | |
| } | |
| .search-kbd { | |
| flex-shrink: 0; | |
| margin-right: 8px; | |
| font-size: 10px; | |
| padding: 2px 6px; | |
| border-radius: 4px; | |
| border: 1px solid var(--outline-variant); | |
| color: var(--on-surface-variant); | |
| opacity: 0.7; | |
| font-family: var(--font-mono); | |
| } | |
| .header-right { | |
| display: flex; | |
| align-items: center; | |
| gap: 2px; | |
| flex-shrink: 0; | |
| } | |
| .icon-btn { | |
| width: 36px; | |
| height: 36px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: var(--radius-full); | |
| color: var(--on-surface-variant); | |
| transition: all var(--transition); | |
| } | |
| .icon-btn:hover, .icon-btn:focus-visible { | |
| background: var(--surface-variant); | |
| color: var(--on-surface); | |
| } | |
| .icon-btn.primary { | |
| background: var(--primary-container); | |
| color: var(--on-primary-container); | |
| } | |
| .parse-icon { | |
| width: 18px; | |
| height: 18px; | |
| } | |
| .icon-btn .ui-icon, | |
| .search-icon .ui-icon { | |
| width: 18px; | |
| height: 18px; | |
| } | |
| .icon-btn-sm { | |
| width: 28px; | |
| height: 28px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: var(--radius-full); | |
| color: var(--on-surface-variant); | |
| font-size: 18px; | |
| transition: all var(--transition); | |
| } | |
| .icon-btn-sm:hover, .icon-btn-sm:focus-visible { | |
| background: var(--surface-variant); | |
| color: var(--on-surface); | |
| } | |
| .text-btn { | |
| font-size: 12px; | |
| color: var(--primary); | |
| padding: 4px 10px; | |
| border-radius: var(--radius-sm); | |
| transition: background var(--transition); | |
| } | |
| .text-btn:hover, .text-btn:focus-visible { | |
| background: var(--surface-variant); | |
| } | |
| .text-btn-sm { | |
| font-size: 11px; | |
| color: var(--primary); | |
| padding: 2px 6px; | |
| border-radius: 4px; | |
| transition: background var(--transition); | |
| } | |
| .text-btn-sm:hover, .text-btn-sm:focus-visible { | |
| background: var(--surface-variant); | |
| } | |
| .preview-panel { | |
| margin: 12px 16px; | |
| background: var(--surface-container); | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-md); | |
| overflow: hidden; | |
| display: flex; | |
| flex-direction: column; | |
| flex: 0 1 auto; | |
| min-height: 0; | |
| max-height: 50%; | |
| } | |
| .preview-panel[hidden] { | |
| display: none; | |
| } | |
| .preview-panel.preview-enter { | |
| animation: preview-enter 360ms cubic-bezier(0.2, 0, 0, 1); | |
| } | |
| @keyframes preview-enter { | |
| from { opacity: 0.45; transform: translateY(12px) scale(0.985); } | |
| to { opacity: 1; transform: translateY(0) scale(1); } | |
| } | |
| .preview-panel.preview-enter .preview-header { | |
| animation: preview-content-enter 260ms 30ms cubic-bezier(0.2, 0, 0, 1) both; | |
| } | |
| .preview-panel.preview-enter .preview-body { | |
| animation: preview-content-enter 300ms 55ms cubic-bezier(0.2, 0, 0, 1) both; | |
| } | |
| @keyframes preview-content-enter { | |
| from { opacity: 0.65; transform: translateY(6px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| body.preview-open { | |
| user-select: none; | |
| -webkit-user-select: none; | |
| } | |
| body.preview-open #preview-panel { | |
| user-select: text; | |
| -webkit-user-select: text; | |
| } | |
| body.preview-open #preview-panel .preview-header { | |
| user-select: none; | |
| -webkit-user-select: none; | |
| } | |
| .preview-header { | |
| display: flex; | |
| align-items: flex-start; | |
| justify-content: space-between; | |
| gap: 12px; | |
| padding: 12px 14px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| } | |
| .preview-heading { | |
| min-width: 0; | |
| flex: 1; | |
| } | |
| .preview-actions { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| flex-shrink: 0; | |
| } | |
| .preview-tools { | |
| display: flex; | |
| flex-shrink: 0; | |
| gap: 4px; | |
| } | |
| .preview-theme-btn { | |
| display: none; | |
| } | |
| .proofread-tools { | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| .proofread-mode-btn { | |
| display: none; | |
| } | |
| .proofread-back-btn { | |
| white-space: nowrap; | |
| } | |
| .theme-icon-svg { | |
| width: 18px; | |
| height: 18px; | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| } | |
| .preview-compare-control { | |
| position: relative; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 78px; | |
| height: 28px; | |
| padding: 0 20px 0 8px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| font-size: 12px; | |
| white-space: nowrap; | |
| cursor: pointer; | |
| overflow: hidden; | |
| } | |
| .preview-compare-control::after { | |
| content: "▾"; | |
| position: absolute; | |
| right: 7px; | |
| pointer-events: none; | |
| } | |
| .preview-compare-control select { | |
| position: absolute; | |
| inset: 0; | |
| width: 100%; | |
| height: 100%; | |
| opacity: 0; | |
| cursor: pointer; | |
| } | |
| .preview-commands { | |
| display: flex; | |
| align-items: center; | |
| gap: 4px; | |
| min-width: 0; | |
| } | |
| .preview-compare-note { | |
| margin-top: 4px; | |
| font-size: 12px; | |
| color: var(--primary); | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .preview-compare-grid { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); | |
| flex: 1; | |
| min-height: 0; | |
| } | |
| .preview-compare-grid > div { | |
| display: flex; | |
| flex-direction: column; | |
| min-height: 0; | |
| } | |
| .preview-compare-grid > div:first-child { | |
| border-right: 1px solid var(--outline-variant); | |
| } | |
| .preview-panel.proofread-mode { | |
| max-height: calc(100vh - 110px); | |
| } | |
| .proofread-grid { | |
| display: grid; | |
| grid-template-columns: minmax(360px, 1fr) minmax(420px, 1fr); | |
| min-height: 0; | |
| flex: 1; | |
| } | |
| .proofread-grid-no-source { | |
| grid-template-columns: minmax(0, 1fr); | |
| } | |
| .proofread-source, | |
| .proofread-editor { | |
| min-width: 0; | |
| min-height: 0; | |
| } | |
| .proofread-source { | |
| display: flex; | |
| flex-direction: column; | |
| border-right: 1px solid var(--outline-variant); | |
| } | |
| .proofread-image-viewer { | |
| display: flex; | |
| min-height: 0; | |
| flex: 1; | |
| flex-direction: column; | |
| } | |
| .proofread-image-tools, | |
| .proofread-form-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| gap: .4rem; | |
| } | |
| .proofread-image-tools { | |
| padding: 7px 12px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| } | |
| .proofread-page-viewer .proofread-image-tools { | |
| flex-wrap: wrap; | |
| } | |
| .proofread-page-control input { | |
| width: 4rem; | |
| } | |
| .proofread-image-stage { | |
| position: relative; | |
| min-height: 520px; | |
| flex: 1; | |
| display: block; | |
| overflow: auto; | |
| background: #fff; | |
| } | |
| .proofread-image-stage img { | |
| display: block; | |
| flex: 0 0 auto; | |
| margin: 0; | |
| max-width: 100%; | |
| height: auto; | |
| transform-origin: top left; | |
| } | |
| .proofread-image-download, | |
| .proofread-document-download { | |
| margin-left: auto; | |
| padding: 5px 8px; | |
| background: var(--surface); | |
| border-radius: 4px; | |
| } | |
| .proofread-document-viewer { | |
| position: relative; | |
| display: flex; | |
| min-height: 520px; | |
| flex: 1; | |
| flex-direction: column; | |
| } | |
| .proofread-pdf-tools { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| gap: .4rem; | |
| padding: 7px 12px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| font-size: 12px; | |
| } | |
| .proofread-pdf-tools input { | |
| width: 4rem; | |
| } | |
| .proofread-pdf-stage { | |
| display: flex; | |
| min-height: 520px; | |
| flex: 1; | |
| align-items: flex-start; | |
| justify-content: flex-start; | |
| overflow: auto; | |
| padding: 16px; | |
| background: #e6e6e6; | |
| } | |
| .proofread-pdf-stage.is-loading, | |
| .proofread-pdf-stage.is-error { | |
| padding: 0; | |
| background: #fff; | |
| align-items: stretch; | |
| } | |
| .proofread-pdf-stage.is-error canvas { | |
| width: 100%; | |
| height: 100%; | |
| min-height: 100%; | |
| box-shadow: none; | |
| visibility: hidden; | |
| } | |
| .proofread-pdf-stage canvas { | |
| display: block; | |
| flex: 0 0 auto; | |
| max-width: none; | |
| background: #fff; | |
| box-shadow: 0 1px 4px rgb(0 0 0 / 25%); | |
| } | |
| .proofread-document-download { | |
| flex: 0 0 auto; | |
| } | |
| .proofread-no-source { | |
| display: flex; | |
| min-height: 220px; | |
| flex: 1; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 8px; | |
| padding: 24px; | |
| color: var(--on-surface-variant); | |
| text-align: center; | |
| } | |
| .proofread-pane-header { | |
| display: flex; | |
| min-height: 42px; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| padding: 7px 12px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| font-size: 13px; | |
| font-weight: 600; | |
| } | |
| .proofread-pane-header select { | |
| max-width: 70%; | |
| } | |
| .proofread-editor { | |
| overflow: auto; | |
| padding: 12px; | |
| } | |
| body.parse-mode .sidebar-content > .filter-section { | |
| display: none; | |
| } | |
| body.parse-mode .sidebar-content > #parse-page-size-section { | |
| display: block; | |
| } | |
| body.parse-mode #search-form, | |
| body.parse-mode #random-book-btn, | |
| body.parse-mode #empty-random-btn { | |
| display: none; | |
| } | |
| .preview-panel.parse-panel { | |
| max-height: calc(100vh - 110px); | |
| flex: 1; | |
| } | |
| .parse-workbench { | |
| display: grid; | |
| grid-template-columns: minmax(420px, 1.2fr) minmax(380px, 1fr); | |
| min-height: 0; | |
| flex: 1; | |
| } | |
| .parse-source-pane { | |
| display: flex; | |
| min-width: 0; | |
| min-height: 0; | |
| flex-direction: column; | |
| border-right: 1px solid var(--outline-variant); | |
| } | |
| .parse-page-tools { | |
| display: flex; | |
| min-height: 36px; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 5px 10px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| } | |
| .parse-crop-toggle { | |
| margin-left: auto; | |
| } | |
| .parse-crop-toolbar { | |
| display: flex; | |
| min-height: 42px; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 6px 10px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| background: var(--surface-container); | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| } | |
| .parse-crop-toolbar[hidden] { | |
| display: none; | |
| } | |
| .parse-crop-scope { | |
| display: inline-flex; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 5px; | |
| overflow: hidden; | |
| } | |
| .parse-crop-scope .text-btn-sm { | |
| border-radius: 0; | |
| } | |
| .parse-crop-scope .text-btn-sm.primary { | |
| background: var(--primary-container); | |
| color: var(--on-primary-container); | |
| } | |
| [data-parse-crop-values] { | |
| flex: 1; | |
| min-width: 180px; | |
| text-align: center; | |
| } | |
| .parse-page-content { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1fr) minmax(220px, 34%); | |
| min-height: 0; | |
| flex: 1; | |
| } | |
| .parse-image-stage { | |
| min-width: 0; | |
| min-height: 520px; | |
| overflow: auto; | |
| background: #fff; | |
| } | |
| .parse-image-wrap { | |
| position: relative; | |
| width: 100%; | |
| overflow: hidden; | |
| } | |
| .parse-image-stage img { | |
| display: block; | |
| width: 100%; | |
| height: auto; | |
| } | |
| .parse-crop-overlay { | |
| position: absolute; | |
| inset: 0; | |
| touch-action: none; | |
| cursor: crosshair; | |
| } | |
| .parse-crop-overlay[hidden] { | |
| display: none; | |
| } | |
| .parse-crop-box { | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| min-width: 20px; | |
| min-height: 20px; | |
| border: 2px solid #00a878; | |
| box-shadow: 0 0 0 9999px rgb(0 0 0 / 48%); | |
| } | |
| .parse-crop-box.has-selection { | |
| cursor: move; | |
| } | |
| .parse-crop-box.is-adjusting, | |
| .parse-crop-box.is-adjusting [data-parse-crop-handle] { | |
| cursor: grabbing; | |
| } | |
| [data-parse-crop-handle] { | |
| position: absolute; | |
| display: none; | |
| width: 18px; | |
| height: 18px; | |
| border: 2px solid #fff; | |
| border-radius: 50%; | |
| background: #00a878; | |
| box-shadow: 0 1px 4px rgb(0 0 0 / 45%); | |
| } | |
| .parse-crop-box.has-selection [data-parse-crop-handle] { | |
| display: block; | |
| } | |
| [data-parse-crop-handle="nw"] { | |
| top: -10px; | |
| left: -10px; | |
| cursor: nwse-resize; | |
| } | |
| [data-parse-crop-handle="ne"] { | |
| top: -10px; | |
| right: -10px; | |
| cursor: nesw-resize; | |
| } | |
| [data-parse-crop-handle="sw"] { | |
| bottom: -10px; | |
| left: -10px; | |
| cursor: nesw-resize; | |
| } | |
| [data-parse-crop-handle="se"] { | |
| right: -10px; | |
| bottom: -10px; | |
| cursor: nwse-resize; | |
| } | |
| .parse-ocr-text { | |
| min-width: 0; | |
| overflow: auto; | |
| padding: 12px; | |
| border-left: 1px solid var(--outline-variant); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| font-family: var(--font-sans); | |
| font-size: 13px; | |
| line-height: 1.7; | |
| white-space: pre-wrap; | |
| } | |
| .parse-editor { | |
| padding: 0 12px 18px; | |
| } | |
| .parse-editor > .proofread-pane-header { | |
| position: sticky; | |
| top: 0; | |
| z-index: 2; | |
| margin: 0 -12px 12px; | |
| background: var(--surface-container); | |
| } | |
| .parse-article { | |
| position: relative; | |
| } | |
| .parse-article-actions { | |
| position: absolute; | |
| top: 5px; | |
| right: 7px; | |
| } | |
| .parse-date-row, | |
| .parse-range-row { | |
| display: grid; | |
| gap: 8px; | |
| } | |
| .parse-date-row { | |
| grid-template-columns: 2fr 1fr 1fr; | |
| } | |
| .parse-range-row { | |
| grid-template-columns: 1fr 1fr; | |
| } | |
| .parse-body-heading { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| } | |
| .parse-body-heading > span:last-child { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| } | |
| .parse-body-status { | |
| color: var(--on-surface-variant); | |
| font-size: 11px; | |
| } | |
| .parse-body-field textarea { | |
| min-height: 220px; | |
| line-height: 1.7; | |
| } | |
| .parse-queue-item .result-title { | |
| font-size: 14px; | |
| } | |
| body.mobile .parse-workbench { | |
| display: block; | |
| overflow: auto; | |
| } | |
| body.mobile .parse-source-pane { | |
| min-height: 70vh; | |
| border-right: 0; | |
| border-bottom: 1px solid var(--outline-variant); | |
| } | |
| body.mobile .parse-page-content { | |
| grid-template-columns: 1fr; | |
| } | |
| body.mobile .parse-crop-toolbar { | |
| flex-wrap: wrap; | |
| } | |
| body.mobile [data-parse-crop-values] { | |
| order: 4; | |
| width: 100%; | |
| } | |
| body.mobile .parse-ocr-text { | |
| max-height: 280px; | |
| border-top: 1px solid var(--outline-variant); | |
| border-left: 0; | |
| } | |
| .proofread-editor fieldset { | |
| margin: 0 0 14px; | |
| padding: 10px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 6px; | |
| } | |
| .proofread-editor legend { | |
| padding: 0 5px; | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| } | |
| .proofread-field { | |
| display: grid; | |
| gap: 5px; | |
| margin-bottom: 10px; | |
| font-size: 12px; | |
| color: var(--on-surface-variant); | |
| } | |
| .proofread-field input, | |
| .proofread-field select, | |
| .proofread-field textarea, | |
| .proofread-pane-header select { | |
| box-sizing: border-box; | |
| width: 100%; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 4px; | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| padding: 7px 8px; | |
| font: inherit; | |
| } | |
| .proofread-field textarea { | |
| min-height: 76px; | |
| resize: vertical; | |
| line-height: 1.6; | |
| } | |
| .proofread-part-group.proofread-deleted { | |
| opacity: .55; | |
| } | |
| .proofread-part-actions { | |
| display: flex; | |
| gap: .35rem; | |
| flex-wrap: wrap; | |
| } | |
| .proofread-structure-closed .proofread-part-actions, | |
| .proofread-structure-closed [data-proofread-part-type] { | |
| display: none; | |
| } | |
| .proofread-part-type-label { | |
| display: none; | |
| } | |
| .proofread-structure-closed .proofread-part-type-label { | |
| display: inline; | |
| } | |
| .proofread-structure-closed .proofread-part > span:first-child { | |
| display: flex; | |
| align-items: center; | |
| gap: .3rem; | |
| } | |
| .proofread-description-heading { | |
| display: flex; | |
| align-items: center; | |
| gap: .5rem; | |
| } | |
| .proofread-description-heading .proofread-form-actions { | |
| margin-left: auto; | |
| } | |
| .proofread-page-control { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: .35rem; | |
| margin-left: auto; | |
| font-size: .8rem; | |
| } | |
| .proofread-page-control input { | |
| width: 5rem; | |
| } | |
| [data-fulltext-box] { | |
| display: grid; | |
| gap: .5rem; | |
| margin-bottom: .75rem; | |
| } | |
| .proofread-fulltext-section { | |
| display: grid; | |
| gap: .5rem; | |
| margin-bottom: 14px; | |
| padding: 10px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 6px; | |
| } | |
| .proofread-fulltext-section [data-fulltext-box] { | |
| margin-bottom: 0; | |
| } | |
| [data-part-editor][hidden] { | |
| display: none; | |
| } | |
| [data-fulltext-box][hidden] { | |
| display: none; | |
| } | |
| [data-fulltext-input] { | |
| box-sizing: border-box; | |
| width: 100%; | |
| min-height: 16rem; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| padding: 12px 14px; | |
| font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", var(--font-sans); | |
| font-size: 15px; | |
| line-height: 1.95; | |
| resize: vertical; | |
| } | |
| [data-fulltext-input]:focus { | |
| outline: 2px solid var(--primary); | |
| outline-offset: 1px; | |
| } | |
| .proofread-part textarea, | |
| .proofread-new-part textarea { | |
| min-height: 120px; | |
| font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", var(--font-sans); | |
| font-size: 15px; | |
| } | |
| .proofread-list { | |
| display: grid; | |
| gap: 6px; | |
| } | |
| .proofread-list-row { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) 28px; | |
| gap: 5px; | |
| align-items: center; | |
| } | |
| .proofread-list > .text-btn-sm { | |
| justify-self: start; | |
| } | |
| .proofread-empty { | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| } | |
| .preview-compare-grid .preview-path { | |
| padding: 10px 14px 0; | |
| } | |
| .preview-body.compare-body { | |
| max-height: 58vh; | |
| } | |
| .diff-line { | |
| display: block; | |
| margin: 0 -4px; | |
| padding: 0 4px; | |
| } | |
| .diff-add { | |
| background: color-mix(in srgb, #2e7d32 28%, transparent); | |
| } | |
| .diff-del { | |
| background: color-mix(in srgb, #b3261e 25%, transparent); | |
| } | |
| .diff-gap { | |
| min-height: 1.75em; | |
| opacity: 0.4; | |
| } | |
| .preview-title { | |
| font-size: 15px; | |
| font-weight: 600; | |
| } | |
| .preview-path { | |
| font-size: 12px; | |
| opacity: 0.7; | |
| margin-top: 4px; | |
| word-break: break-all; | |
| } | |
| .preview-tag-pager { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| margin-top: 4px; | |
| font-size: 11px; | |
| color: var(--on-surface-variant); | |
| } | |
| .preview-tag-pager .text-btn-sm:disabled { | |
| opacity: 0.45; | |
| cursor: not-allowed; | |
| } | |
| .preview-body { | |
| box-sizing: border-box; | |
| width: 100%; | |
| margin: 0; | |
| padding-block: 24px 36px; | |
| padding-inline: max(20px, calc((100% - 72ch) / 2)); | |
| max-height: none; | |
| height: auto; | |
| flex: 0 1 auto; | |
| min-height: 0; | |
| overflow: auto; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", var(--font-sans); | |
| font-size: 16px; | |
| line-height: 1.9; | |
| letter-spacing: 0.015em; | |
| text-wrap: pretty; | |
| tab-size: 4; | |
| } | |
| .preview-body mark { | |
| background: #8a6518; | |
| color: #fff4cf; | |
| padding: 0 2px; | |
| border-radius: 2px; | |
| } | |
| body.light .preview-body mark { | |
| background: color-mix(in srgb, var(--primary) 32%, transparent); | |
| color: var(--on-surface); | |
| } | |
| body.mobile .preview-compare-grid { | |
| display: block; | |
| overflow-y: auto; | |
| } | |
| body.mobile .proofread-grid { | |
| display: block; | |
| flex: 1 1 auto; | |
| min-height: 0; | |
| height: auto; | |
| overflow-y: scroll; | |
| overflow-x: hidden; | |
| padding-bottom: max(48px, env(safe-area-inset-bottom)); | |
| overscroll-behavior-y: contain; | |
| touch-action: pan-y; | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| body.mobile .proofread-source { | |
| height: 52vh; | |
| min-height: 0; | |
| overflow: hidden; | |
| border-right: 0; | |
| border-bottom: 1px solid var(--reader-divider, var(--outline-variant)); | |
| } | |
| body.mobile .proofread-image-viewer, | |
| body.mobile .proofread-document-viewer { | |
| min-height: 0; | |
| height: calc(52vh - 42px); | |
| flex: 1 1 auto; | |
| } | |
| body.mobile .proofread-image-stage, | |
| body.mobile .proofread-pdf-stage { | |
| min-height: 0; | |
| flex: 1 1 auto; | |
| height: auto; | |
| max-height: none; | |
| overflow: auto; | |
| touch-action: pan-x pan-y; | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| body.mobile .proofread-pdf-stage.is-loading, | |
| body.mobile .proofread-pdf-stage.is-error { | |
| padding: 0; | |
| } | |
| body.mobile .proofread-source iframe { | |
| min-height: 0; | |
| } | |
| body.mobile .proofread-editor { | |
| min-height: max-content; | |
| overflow: visible; | |
| scroll-margin-bottom: max(48px, env(safe-area-inset-bottom)); | |
| padding-bottom: max(28px, env(safe-area-inset-bottom)); | |
| } | |
| body.mobile .preview-compare-grid > div:first-child { | |
| border-right: none; | |
| border-bottom: 1px solid var(--outline-variant); | |
| } | |
| body.mobile .preview-body.compare-body { | |
| max-height: none; | |
| overflow: visible; | |
| } | |
| body.mobile .preview-compare-grid .diff-gap { | |
| display: none; | |
| } | |
| body.mobile.preview-open .preview-panel { | |
| --reader-bg: #1d1e1b; | |
| --reader-header: #22231f; | |
| --reader-text: #d4d0c6; | |
| --reader-title: #e3dfd5; | |
| --reader-muted: #9f9d95; | |
| --reader-divider: #393a35; | |
| --reader-mark: #59491f; | |
| --reader-on-mark: #f2d98f; | |
| position: fixed; | |
| inset: 0; | |
| z-index: 150; | |
| width: 100%; | |
| height: 100vh; | |
| height: 100dvh; | |
| margin: 0; | |
| border: 0; | |
| border-radius: 0; | |
| flex: none; | |
| max-height: none; | |
| color: var(--reader-text); | |
| background: var(--reader-bg); | |
| } | |
| body.light.mobile.preview-open .preview-panel { | |
| --reader-bg: #f7f3e8; | |
| --reader-header: #f0ecdf; | |
| --reader-text: #2d2b27; | |
| --reader-title: #1e1d1a; | |
| --reader-muted: #6b6860; | |
| --reader-divider: #d7d0c2; | |
| --reader-mark: #f1d58a; | |
| --reader-on-mark: #3a2d0d; | |
| } | |
| body.mobile.preview-open .preview-header { | |
| flex-shrink: 0; | |
| padding-top: max(12px, env(safe-area-inset-top)); | |
| color: var(--reader-title); | |
| background: var(--reader-header); | |
| border-color: var(--reader-divider); | |
| } | |
| body.mobile.preview-open .preview-actions { | |
| display: grid; | |
| grid-template-columns: minmax(0, auto) auto; | |
| align-items: start; | |
| max-width: none; | |
| justify-content: flex-end; | |
| } | |
| body.mobile.preview-open .preview-commands { | |
| --preview-command-width: 78px; | |
| flex-direction: column; | |
| align-items: flex-end; | |
| } | |
| body.mobile.preview-open .preview-commands > .result-action-btn, | |
| body.mobile.preview-open .preview-compare-control { | |
| box-sizing: border-box; | |
| width: var(--preview-command-width); | |
| min-width: var(--preview-command-width); | |
| max-width: var(--preview-command-width); | |
| text-align: center; | |
| justify-content: center; | |
| } | |
| body.mobile.preview-open .preview-compare-control { | |
| color: var(--reader-title); | |
| background: var(--reader-header); | |
| border-color: var(--reader-divider); | |
| } | |
| body.mobile.preview-open .preview-compare-control:focus-within { | |
| outline: 2px solid var(--primary); | |
| outline-offset: 2px; | |
| } | |
| body.mobile.preview-open .preview-tools { | |
| flex-direction: column; | |
| } | |
| body.mobile.preview-open .proofread-tools { | |
| display: grid; | |
| grid-template-columns: 28px 28px; | |
| align-items: start; | |
| justify-items: start; | |
| } | |
| body.mobile.preview-open .proofread-mode-btn { | |
| display: flex; | |
| } | |
| body.mobile.preview-open .proofread-tools .preview-theme-btn { | |
| grid-column: 2; | |
| grid-row: 2; | |
| } | |
| body.mobile.preview-open .preview-theme-btn { | |
| display: flex; | |
| } | |
| body.mobile.preview-open .preview-body { | |
| flex: 1; | |
| min-height: 0; | |
| max-height: none; | |
| padding: 22px 18px max(36px, env(safe-area-inset-bottom)); | |
| font-size: 17px; | |
| line-height: 1.95; | |
| letter-spacing: 0.02em; | |
| color: var(--reader-text); | |
| background: var(--reader-bg); | |
| } | |
| body.mobile.preview-open .preview-body mark { | |
| color: var(--reader-on-mark); | |
| background: var(--reader-mark); | |
| } | |
| body.mobile.preview-open .preview-meta-row { | |
| min-width: 0; | |
| max-width: none; | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| white-space: nowrap; | |
| word-break: normal; | |
| scrollbar-width: thin; | |
| overscroll-behavior-x: contain; | |
| -webkit-overflow-scrolling: touch; | |
| touch-action: pan-x; | |
| } | |
| body.mobile.preview-open .preview-path { | |
| color: var(--reader-muted); | |
| opacity: 1; | |
| } | |
| body.mobile.preview-open .preview-meta-row .preview-path { | |
| overflow: visible; | |
| flex: 0 0 auto; | |
| } | |
| body.mobile.preview-open .preview-compare-grid .preview-path { | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| white-space: nowrap; | |
| word-break: normal; | |
| touch-action: pan-x; | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| body.mobile.preview-open .preview-tools .icon-btn-sm { | |
| color: var(--reader-muted); | |
| } | |
| .result-snippet { | |
| margin-top: 6px; | |
| font-size: 12px; | |
| opacity: 0.85; | |
| display: -webkit-box; | |
| -webkit-line-clamp: 3; | |
| -webkit-box-orient: vertical; | |
| overflow: hidden; | |
| } | |
| .result-snippet mark { | |
| background: #8a6518; | |
| color: #fff4cf; | |
| padding: 0 2px; | |
| border-radius: 2px; | |
| } | |
| body.light .result-snippet mark { | |
| background: color-mix(in srgb, var(--primary) 30%, transparent); | |
| color: var(--on-surface); | |
| } | |
| .app-body { | |
| display: flex; | |
| flex: 1; | |
| min-height: 0; | |
| overflow: hidden; | |
| } | |
| .sidebar { | |
| width: var(--sidebar-w); | |
| flex-shrink: 0; | |
| display: flex; | |
| flex-direction: column; | |
| border-right: 1px solid var(--outline-variant); | |
| background: var(--surface-container); | |
| transition: width var(--transition), opacity var(--transition); | |
| overflow: hidden; | |
| } | |
| .sidebar.collapsed { | |
| width: 0 ; | |
| border-right: none; | |
| } | |
| .sidebar-header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| padding: 10px 12px; | |
| font-size: 12px; | |
| height: 36px; | |
| min-height: 36px; | |
| font-weight: 600; | |
| color: var(--on-surface-variant); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| flex-shrink: 0; | |
| } | |
| .sidebar-content { | |
| flex: 1; | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| padding: 0; | |
| } | |
| .sidebar-loading { | |
| padding: 16px; | |
| text-align: center; | |
| font-size: 13px; | |
| color: var(--on-surface-variant); | |
| opacity: 0.7; | |
| } | |
| .sidebar.expanded-wide { | |
| width: var(--sidebar-expanded-w) ; | |
| } | |
| .sidebar-expand-btn { | |
| position: relative; | |
| } | |
| .sidebar-expand-icon, | |
| .sidebar-expand-icon::before, | |
| .sidebar-expand-icon::after { | |
| display: block; | |
| box-sizing: border-box; | |
| } | |
| .sidebar-expand-icon { | |
| width: 16px; | |
| height: 12px; | |
| position: relative; | |
| } | |
| .sidebar-expand-icon::before, | |
| .sidebar-expand-icon::after { | |
| content: ""; | |
| position: absolute; | |
| top: 2px; | |
| width: 8px; | |
| height: 8px; | |
| border-top: 1.7px solid currentColor; | |
| border-right: 1.7px solid currentColor; | |
| } | |
| .sidebar-expand-icon::before { | |
| left: 0; | |
| transform: rotate(-135deg); | |
| } | |
| .sidebar-expand-icon::after { | |
| right: 0; | |
| transform: rotate(45deg); | |
| } | |
| .left-sidebar.expanded-wide .sidebar-expand-icon::before { | |
| transform: rotate(45deg); | |
| } | |
| .left-sidebar.expanded-wide .sidebar-expand-icon::after { | |
| transform: rotate(-135deg); | |
| } | |
| body.mobile .sidebar-expand-btn { | |
| display: none; | |
| } | |
| .main-content { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| min-width: 0; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .ui-icon { | |
| position: relative; | |
| display: inline-block; | |
| width: 16px; | |
| height: 16px; | |
| flex-shrink: 0; | |
| color: var(--on-surface-variant); | |
| } | |
| .ui-icon-file::before { | |
| content: ""; | |
| position: absolute; | |
| left: 3px; | |
| top: 1px; | |
| width: 10px; | |
| height: 13px; | |
| border: 1.5px solid currentColor; | |
| border-radius: 3px; | |
| } | |
| .ui-icon-file::after { | |
| content: ""; | |
| position: absolute; | |
| left: 6px; | |
| top: 5px; | |
| width: 4px; | |
| height: 1.5px; | |
| background: currentColor; | |
| box-shadow: 0 3px 0 currentColor, 0 6px 0 currentColor; | |
| } | |
| .ui-icon-menu::before { | |
| content: ""; | |
| position: absolute; | |
| left: 2px; | |
| top: 4px; | |
| width: 12px; | |
| height: 1.8px; | |
| background: currentColor; | |
| border-radius: 999px; | |
| box-shadow: 0 4px 0 currentColor, 0 8px 0 currentColor; | |
| } | |
| .ui-icon-search::before { | |
| content: ""; | |
| position: absolute; | |
| left: 2px; | |
| top: 2px; | |
| width: 9px; | |
| height: 9px; | |
| border: 1.8px solid currentColor; | |
| border-radius: 50%; | |
| } | |
| .ui-icon-search::after { | |
| content: ""; | |
| position: absolute; | |
| right: 2px; | |
| bottom: 2px; | |
| width: 6px; | |
| height: 1.8px; | |
| background: currentColor; | |
| border-radius: 999px; | |
| transform: rotate(45deg); | |
| } | |
| .ui-icon-phone::before { | |
| content: ""; | |
| position: absolute; | |
| left: 4px; | |
| top: 1px; | |
| width: 8px; | |
| height: 14px; | |
| border: 1.8px solid currentColor; | |
| border-radius: 3px; | |
| } | |
| .ui-icon-phone::after { | |
| content: ""; | |
| position: absolute; | |
| left: 7px; | |
| bottom: 3px; | |
| width: 2px; | |
| height: 2px; | |
| background: currentColor; | |
| border-radius: 50%; | |
| } | |
| .ui-icon-desktop::before { | |
| content: ""; | |
| position: absolute; | |
| left: 1px; | |
| top: 2px; | |
| width: 14px; | |
| height: 9px; | |
| border: 1.8px solid currentColor; | |
| border-radius: 3px; | |
| } | |
| .ui-icon-desktop::after { | |
| content: ""; | |
| position: absolute; | |
| left: 5px; | |
| bottom: 1px; | |
| width: 6px; | |
| height: 1.8px; | |
| background: currentColor; | |
| border-radius: 999px; | |
| box-shadow: 0 -3px 0 -0.3px var(--surface-container); | |
| } | |
| .status-bar { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| padding: 6px 16px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| flex-shrink: 0; | |
| min-height: 36px; | |
| height: 36px; | |
| } | |
| .status-left { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| font-size: 12px; | |
| color: var(--on-surface-variant); | |
| } | |
| body.mobile .status-bar { | |
| padding: 4px 8px; | |
| gap: 4px; | |
| } | |
| body.mobile .status-left { gap: 4px; } | |
| .sort-select { | |
| font-size: 12px; | |
| padding: 2px 6px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| cursor: pointer; | |
| } | |
| .did-you-mean { | |
| font-size: 12px; | |
| color: var(--primary); | |
| cursor: pointer; | |
| } | |
| .did-you-mean:hover, .did-you-mean:focus-visible { | |
| text-decoration: underline; | |
| } | |
| .results-container { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| min-height: 0; | |
| overflow: hidden; | |
| } | |
| .results-list { | |
| flex: 1; | |
| min-height: 0; | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| } | |
| .results-list[hidden] { | |
| display: none; | |
| } | |
| .preview-panel:not([hidden]) + .results-list { | |
| border-top: 1px solid var(--outline-variant); | |
| } | |
| .result-item { | |
| display: flex; | |
| gap: 10px; | |
| padding: 10px 16px; | |
| border-bottom: 1px solid var(--outline-variant); | |
| transition: background var(--transition); | |
| } | |
| .result-item.result-enter { | |
| animation: result-enter 320ms cubic-bezier(0.2, 0, 0, 1) both; | |
| animation-delay: var(--result-enter-delay, 0ms); | |
| } | |
| @keyframes result-enter { | |
| from { opacity: 0; transform: translateY(8px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| .result-item:nth-child(even) { | |
| background: var(--surface-variant); | |
| } | |
| .result-item:nth-child(even):hover, | |
| .result-item:nth-child(even):focus-visible { | |
| background: var(--secondary-container); | |
| } | |
| .result-item:hover, .result-item:focus-visible { | |
| background: var(--surface-variant); | |
| } | |
| .result-file-icon { | |
| width: 24px; | |
| height: 24px; | |
| flex-shrink: 0; | |
| margin-top: 2px; | |
| color: var(--on-surface-variant); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .result-info { | |
| flex: 1; | |
| min-width: 0; | |
| } | |
| .result-title { | |
| font-size: 14px; | |
| font-weight: 500; | |
| color: var(--on-surface); | |
| word-break: break-all; | |
| line-height: 1.4; | |
| } | |
| .result-title mark { | |
| background: #8a6518; | |
| color: #fff4cf; | |
| border-radius: 2px; | |
| padding: 0 1px; | |
| } | |
| body.light .result-title mark { | |
| background: var(--primary-container); | |
| color: var(--on-primary-container); | |
| } | |
| .result-path { | |
| font-size: 11px; | |
| color: var(--on-surface-variant); | |
| margin-top: 3px; | |
| font-family: var(--font-mono); | |
| word-break: break-all; | |
| display: flex; | |
| align-items: center; | |
| gap: 2px; | |
| flex-wrap: wrap; | |
| line-height: 1.5; | |
| } | |
| .result-path .path-sep { | |
| color: var(--outline); | |
| margin: 0 2px; | |
| user-select: none; | |
| } | |
| .result-path .path-folder { | |
| cursor: pointer; | |
| color: var(--secondary); | |
| transition: color var(--transition); | |
| } | |
| .result-path .path-folder:hover, | |
| .result-path .path-folder:focus-visible { | |
| color: var(--primary); | |
| text-decoration: underline; | |
| } | |
| .result-meta { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| margin-top: 4px; | |
| flex-wrap: wrap; | |
| } | |
| .result-size { | |
| font-size: 11px; | |
| color: var(--on-surface-variant); | |
| } | |
| .result-actions { | |
| display: flex; | |
| gap: 4px; | |
| flex-shrink: 0; | |
| flex-wrap: wrap; | |
| align-items: flex-start; | |
| } | |
| .result-action-btn { | |
| font-size: 11px; | |
| padding: 3px 8px; | |
| border-radius: var(--radius-sm); | |
| color: var(--on-surface-variant); | |
| border: 1px solid var(--outline-variant); | |
| white-space: nowrap; | |
| transition: all var(--transition); | |
| } | |
| .result-action-btn:hover, .result-action-btn:focus-visible { | |
| background: var(--surface-variant); | |
| border-color: var(--outline); | |
| } | |
| .result-action-btn.primary { | |
| color: var(--primary); | |
| border-color: var(--primary); | |
| } | |
| .result-action-btn.primary:hover, | |
| .result-action-btn.primary:focus-visible { | |
| background: var(--primary-container); | |
| border-color: var(--primary); | |
| color: var(--on-primary-container); | |
| } | |
| .load-info { | |
| text-align: center; | |
| padding: 12px; | |
| font-size: 12px; | |
| color: var(--on-surface-variant); | |
| border-top: 1px solid var(--outline-variant); | |
| flex-shrink: 0; | |
| background: var(--surface-container); | |
| } | |
| .page-jump { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 4px; | |
| white-space: nowrap; | |
| } | |
| .page-input { | |
| width: 54px; | |
| height: 24px; | |
| padding: 0 6px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| text-align: center; | |
| } | |
| .filter-choice-pager .page-input { | |
| width: 46px; | |
| height: 22px; | |
| font-size: 11px; | |
| } | |
| body.mobile .load-info { | |
| text-align: center; | |
| } | |
| .random-book-btn { | |
| position: static; | |
| transform: none; | |
| display: flex; | |
| align-items: center; | |
| gap: 4px; | |
| font-size: 11px; | |
| color: var(--on-surface-variant); | |
| padding: 4px 10px; | |
| border-radius: var(--radius-sm); | |
| border: 1px solid var(--outline-variant); | |
| background: var(--surface-container); | |
| box-shadow: var(--shadow-md); | |
| transition: all var(--transition); | |
| } | |
| .random-book-btn:hover, .random-book-btn:focus-visible { | |
| background: var(--surface-variant); | |
| border-color: var(--outline); | |
| color: var(--primary); | |
| } | |
| .filter-section { | |
| border-bottom: 1px solid var(--outline-variant); | |
| padding: 10px 12px; | |
| } | |
| #fulltext-toggle-section, | |
| #exact-search-section, | |
| #preview-highlight-section { | |
| padding: 0 12px; | |
| height: 40px; | |
| box-sizing: border-box; | |
| } | |
| #fulltext-toggle-section .toggle-row, | |
| #exact-search-section .toggle-row, | |
| #preview-highlight-section .toggle-row { | |
| height: 100%; | |
| } | |
| .filter-section-title { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| font-size: 12px; | |
| font-weight: 600; | |
| color: var(--on-surface-variant); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| margin-bottom: 8px; | |
| } | |
| .size-input { | |
| flex: 1; | |
| font-size: 12px; | |
| padding: 6px 8px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| min-width: 0; | |
| } | |
| .size-input:focus { | |
| border-color: var(--primary); | |
| } | |
| .period-presets { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| margin-bottom: 8px; | |
| } | |
| .period-btn { | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 999px; | |
| background: var(--surface); | |
| color: var(--on-surface-variant); | |
| cursor: pointer; | |
| font-size: 11px; | |
| line-height: 1.2; | |
| padding: 4px 8px; | |
| } | |
| .period-btn:hover, | |
| .period-btn:focus-visible, | |
| .period-btn.active { | |
| border-color: var(--primary); | |
| color: var(--primary); | |
| background: color-mix(in srgb, var(--primary) 12%, transparent); | |
| } | |
| .date-range-picker { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .date-subtitle { | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| font-weight: 600; | |
| } | |
| .date-term-section { | |
| margin-top: 10px; | |
| } | |
| .date-term-header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| margin-bottom: 6px; | |
| } | |
| .date-terms { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .date-empty { | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| opacity: 0.75; | |
| } | |
| .date-range-row { | |
| display: grid; | |
| grid-template-columns: 34px minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.8fr); | |
| align-items: center; | |
| gap: 5px; | |
| } | |
| .date-term-row { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.8fr) auto; | |
| align-items: center; | |
| gap: 5px; | |
| } | |
| .date-range-label { | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| } | |
| .date-select { | |
| min-width: 0; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface); | |
| color: var(--on-surface); | |
| font-size: 12px; | |
| padding: 5px 4px; | |
| } | |
| .date-select:disabled { | |
| border-color: color-mix(in srgb, var(--outline-variant) 55%, transparent); | |
| background: color-mix(in srgb, var(--surface-variant) 70%, transparent); | |
| color: color-mix(in srgb, var(--on-surface-variant) 45%, transparent); | |
| cursor: not-allowed; | |
| opacity: 0.65; | |
| } | |
| .date-select:disabled:hover, | |
| .date-select:disabled:focus { | |
| border-color: color-mix(in srgb, var(--outline-variant) 55%, transparent); | |
| } | |
| .year-picker { | |
| position: fixed; | |
| z-index: 10000; | |
| max-height: min(360px, 52vh); | |
| overflow-y: auto; | |
| overscroll-behavior: contain; | |
| -webkit-overflow-scrolling: touch; | |
| min-width: 88px; | |
| padding: 4px; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: var(--radius-sm); | |
| background: var(--surface-container-highest); | |
| box-shadow: var(--shadow-md); | |
| } | |
| .year-picker[hidden] { | |
| display: none; | |
| } | |
| .year-option { | |
| display: block; | |
| width: 100%; | |
| padding: 5px 8px; | |
| border-radius: 4px; | |
| color: var(--on-surface); | |
| cursor: pointer; | |
| font-size: 12px; | |
| text-align: left; | |
| } | |
| .year-option:hover, | |
| .year-option:focus-visible, | |
| .year-option.active { | |
| background: var(--surface-variant); | |
| color: var(--primary); | |
| } | |
| .date-select:focus { | |
| border-color: var(--primary); | |
| } | |
| .date-error { | |
| color: var(--error); | |
| font-size: 12px; | |
| line-height: 1.4; | |
| } | |
| .empty-state { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 64px 16px; | |
| text-align: center; | |
| gap: 12px; | |
| } | |
| .empty-icon { | |
| width: 56px; | |
| height: 56px; | |
| color: var(--outline-variant); | |
| opacity: 0.4; | |
| } | |
| .empty-title { | |
| font-size: 18px; | |
| font-weight: 600; | |
| color: var(--on-surface-variant); | |
| } | |
| .empty-desc { | |
| font-size: 13px; | |
| color: var(--on-surface-variant); | |
| opacity: 0.6; | |
| } | |
| .random-big-btn { | |
| font-size: 14px; | |
| padding: 10px 24px; | |
| border-radius: 24px; | |
| background: var(--primary); | |
| color: var(--on-primary); | |
| font-weight: 500; | |
| cursor: pointer; | |
| transition: opacity var(--transition); | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .random-big-btn:hover, .random-big-btn:focus-visible { | |
| opacity: 0.85; | |
| } | |
| .overlay { | |
| position: fixed; | |
| inset: 0; | |
| background: rgba(0, 0, 0, 0.5); | |
| z-index: 90; | |
| opacity: 0; | |
| pointer-events: none; | |
| transition: opacity var(--transition); | |
| } | |
| .overlay.open { | |
| opacity: 1; | |
| pointer-events: auto; | |
| } | |
| .toast { | |
| position: fixed; | |
| bottom: 60px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| background: var(--secondary-container); | |
| color: var(--on-secondary-container); | |
| padding: 8px 20px; | |
| border-radius: var(--radius-full); | |
| font-size: 13px; | |
| z-index: 200; | |
| box-shadow: var(--shadow-md); | |
| animation: toast-in 0.2s ease; | |
| } | |
| @keyframes toast-in { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-50%) translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(-50%) translateY(0); | |
| } | |
| } | |
| body.mobile .sidebar { | |
| position: fixed; | |
| top: var(--header-h); | |
| bottom: 0; | |
| z-index: 95; | |
| width: 85vw ; | |
| max-width: 320px; | |
| transition: transform var(--transition), opacity var(--transition); | |
| will-change: transform; | |
| } | |
| body.mobile .left-sidebar { | |
| left: 0; | |
| transform: translateX(-100%); | |
| border-right: 1px solid var(--outline-variant); | |
| border-left: none; | |
| } | |
| body.mobile .sidebar.open { | |
| transform: translateX(0); | |
| box-shadow: var(--shadow-lg); | |
| } | |
| body.mobile .sidebar.expanded-wide { | |
| width: 85vw ; | |
| max-width: 320px; | |
| } | |
| body.mobile .header-logo { | |
| display: none; | |
| } | |
| body.mobile .random-book-btn { | |
| display: none; | |
| } | |
| body.mobile .search-kbd { | |
| display: none; | |
| } | |
| body.mobile .status-bar { | |
| padding: 4px 8px; | |
| } | |
| body.mobile .result-actions { | |
| flex-direction: column; | |
| align-items: flex-end; | |
| } | |
| body.mobile .preview-meta-row { | |
| display: flex; | |
| align-items: baseline; | |
| gap: 8px; | |
| max-width: calc(100vw - 100px); | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| padding-bottom: 3px; | |
| } | |
| body.mobile .preview-source-author, | |
| body.mobile .preview-tags, | |
| body.mobile .preview-tag-list { | |
| flex: 0 0 auto; | |
| margin-top: 0; | |
| white-space: nowrap; | |
| word-break: normal; | |
| } | |
| body.mobile .preview-tags { | |
| display: flex; | |
| align-items: baseline; | |
| gap: 8px; | |
| } | |
| body.mobile .preview-tag-pager { | |
| display: none; | |
| } | |
| body.mobile .preview-tag-list [data-preview-tag-page][hidden] { | |
| display: inline; | |
| } | |
| @media (max-width: 768px) { | |
| body:not(.force-desktop) .sidebar { | |
| position: fixed; | |
| top: var(--header-h); | |
| bottom: 0; | |
| z-index: 95; | |
| width: 85vw ; | |
| max-width: 320px; | |
| transition: transform var(--transition), opacity var(--transition); | |
| will-change: transform; | |
| } | |
| body:not(.force-desktop) .left-sidebar { | |
| left: 0; | |
| transform: translateX(-100%); | |
| border-right: 1px solid var(--outline-variant); | |
| border-left: none; | |
| } | |
| body:not(.force-desktop) .sidebar.open { | |
| transform: translateX(0); | |
| box-shadow: var(--shadow-lg); | |
| } | |
| body:not(.force-desktop) .sidebar.expanded-wide { | |
| width: 85vw ; | |
| max-width: 320px; | |
| } | |
| body:not(.force-desktop) .random-book-btn { | |
| display: none; | |
| } | |
| body:not(.force-desktop) .search-kbd { | |
| display: none; | |
| } | |
| } | |
| .hidden { | |
| display: none ; | |
| } | |
| .truncate { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .toggle-row { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| cursor: pointer; | |
| } | |
| .toggle-label { | |
| font-size: 13px; | |
| color: var(--on-surface); | |
| } | |
| .toggle-row input[type="checkbox"] { | |
| display: none; | |
| } | |
| .toggle-switch { | |
| position: relative; | |
| width: 40px; | |
| height: 22px; | |
| background: var(--outline-variant); | |
| border-radius: 11px; | |
| transition: background var(--transition); | |
| flex-shrink: 0; | |
| } | |
| .toggle-switch::after { | |
| content: ""; | |
| position: absolute; | |
| top: 2px; | |
| left: 2px; | |
| width: 18px; | |
| height: 18px; | |
| background: var(--surface); | |
| border-radius: 50%; | |
| transition: transform var(--transition); | |
| } | |
| .toggle-row input:checked + .toggle-switch { | |
| background: var(--primary); | |
| } | |
| .toggle-row input:checked + .toggle-switch::after { | |
| transform: translateX(18px); | |
| } | |
| input[type="checkbox"]:indeterminate { | |
| accent-color: var(--primary); | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, *::before, *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| } | |
| .load-info { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 12px; | |
| } | |
| .load-info .text-btn-sm:disabled { | |
| opacity: 0.45; | |
| cursor: not-allowed; | |
| } | |
| .left-sidebar.collapsed { | |
| overflow: hidden; | |
| } | |
| .sidebar .size-input, | |
| .sidebar .sort-select { | |
| width: 100%; | |
| } | |
| .sidebar .sort-select { | |
| appearance: none; | |
| -webkit-appearance: none; | |
| padding-right: 24px; | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M2 2l4 4 4-4' fill='none' stroke='%23c4c6cf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); | |
| background-position: calc(100% - 10px) 50%; | |
| background-size: 12px 8px; | |
| background-repeat: no-repeat; | |
| border-radius: var(--radius-sm); | |
| } | |
| .sidebar .sort-select:hover, | |
| .sidebar .sort-select:focus { | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M2 2l4 4 4-4' fill='none' stroke='%238ab4f8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); | |
| } | |
| .filter-section-toggle { | |
| width: 100%; | |
| height: 28px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| color: var(--on-surface-variant); | |
| font-size: 12px; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .filter-toggle-glyph { | |
| font-size: 18px; | |
| font-weight: 900; | |
| line-height: 1; | |
| transform: rotate(0deg); | |
| transition: transform var(--transition); | |
| } | |
| .filter-section-toggle.collapsed .filter-toggle-glyph { | |
| transform: rotate(-90deg); | |
| } | |
| .filter-section-body { | |
| margin-top: 6px; | |
| max-height: 340px; | |
| opacity: 1; | |
| overflow: hidden; | |
| transform: translateY(0); | |
| transition: max-height 180ms ease, opacity 160ms ease, transform 180ms ease, margin-top 180ms ease; | |
| } | |
| .filter-section-body.collapsed { | |
| max-height: 0; | |
| opacity: 0; | |
| margin-top: 0; | |
| transform: translateY(-4px); | |
| pointer-events: none; | |
| } | |
| .filter-choice-list { | |
| display: flex; | |
| flex-direction: column; | |
| max-height: 260px; | |
| overflow: hidden; | |
| margin-top: 6px; | |
| } | |
| .filter-choice-options { | |
| overflow-y: auto; | |
| min-height: 0; | |
| } | |
| .filter-choice-pager { | |
| flex-shrink: 0; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| padding: 4px 0 6px; | |
| font-size: 12px; | |
| color: var(--on-surface-variant); | |
| background: var(--surface-container); | |
| border-top: 1px solid var(--outline-variant); | |
| margin-top: 4px; | |
| } | |
| .filter-choice-pager button:disabled { | |
| opacity: 0.4; | |
| cursor: default; | |
| } | |
| .filter-choice-item { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| padding: 5px 2px; | |
| font-size: 13px; | |
| color: var(--on-surface); | |
| cursor: pointer; | |
| } | |
| .filter-choice-left { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| min-width: 0; | |
| } | |
| .tri-state-box { | |
| width: 15px; | |
| height: 15px; | |
| flex-shrink: 0; | |
| } | |
| .tri-state-box { | |
| position: relative; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| border: 1px solid var(--outline); | |
| border-radius: 3px; | |
| color: transparent; | |
| font-size: 14px; | |
| font-weight: 700; | |
| line-height: 15px; | |
| } | |
| .filter-choice-item.active .tri-state-box { | |
| background: var(--primary); | |
| border-color: var(--primary); | |
| } | |
| .filter-choice-item.active .tri-state-box::before { | |
| content: ""; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| width: 7px; | |
| height: 4px; | |
| border-left: 2px solid var(--on-primary); | |
| border-bottom: 2px solid var(--on-primary); | |
| transform: translate(-50%, -65%) rotate(-45deg); | |
| } | |
| .filter-choice-item.excluded { | |
| color: #ffb4ab; | |
| } | |
| .filter-choice-item.excluded .tri-state-box { | |
| background: #ba1a1a; | |
| border-color: #ba1a1a; | |
| color: #ffffff; | |
| } | |
| .filter-choice-item.excluded .tri-state-box::before { | |
| content: ""; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| width: 9px; | |
| height: 2px; | |
| border: 0; | |
| border-radius: 999px; | |
| background: #ffffff; | |
| transform: translate(-50%, -50%) rotate(45deg); | |
| } | |
| .filter-choice-item.excluded .tri-state-box::after { | |
| content: ""; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| width: 9px; | |
| height: 2px; | |
| border-radius: 999px; | |
| background: #ffffff; | |
| transform: translate(-50%, -50%) rotate(-45deg); | |
| } | |
| .filter-choice-left span { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .filter-choice-all { | |
| border-bottom: 1px solid var(--outline-variant); | |
| margin-bottom: 4px; | |
| padding-bottom: 7px; | |
| } | |
| .filter-choice-page-action { | |
| justify-content: space-between; | |
| color: var(--primary); | |
| } | |
| .filter-choice-item:hover, | |
| .filter-choice-item.active { | |
| color: var(--primary); | |
| } | |
| .result-main { | |
| flex: 1; | |
| min-width: 0; | |
| } | |
| .result-line { | |
| display: flex; | |
| gap: 10px; | |
| align-items: flex-start; | |
| } | |
| .result-content-row { | |
| margin-top: 4px; | |
| padding-right: 4px; | |
| } | |
| body.mobile .result-line { | |
| flex-direction: column; | |
| } | |
| body.mobile .result-actions { | |
| flex-direction: row; | |
| align-items: flex-start; | |
| } | |
| .proofread-confirm { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 1000; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: rgba(0, 0, 0, .45); | |
| padding: 1rem; | |
| } | |
| .proofread-confirm-panel { | |
| max-width: 760px; | |
| width: 100%; | |
| max-height: 86vh; | |
| display: flex; | |
| flex-direction: column; | |
| background: var(--surface); | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 10px; | |
| overflow: hidden; | |
| } | |
| .proofread-confirm-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| gap: .6rem; | |
| padding: .7rem 1rem; | |
| border-bottom: 1px solid var(--outline-variant); | |
| font-weight: 600; | |
| } | |
| .proofread-confirm-body { | |
| overflow: auto; | |
| padding: 1rem; | |
| display: flex; | |
| flex-direction: column; | |
| gap: .6rem; | |
| } | |
| .proofread-confirm-actions { | |
| display: flex; | |
| justify-content: flex-end; | |
| gap: .6rem; | |
| padding: .7rem 1rem; | |
| border-top: 1px solid var(--outline-variant); | |
| } | |
| .proofread-confirm-item { | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 8px; | |
| padding: .5rem .65rem; | |
| display: flex; | |
| flex-direction: column; | |
| gap: .35rem; | |
| font-size: .9em; | |
| } | |
| .proofread-confirm-item > strong { | |
| font-size: .95em; | |
| } | |
| .proofread-confirm-diff { | |
| display: flex; | |
| gap: .4rem; | |
| } | |
| .proofread-confirm-diff .diff-pane { | |
| flex: 1; | |
| min-width: 0; | |
| white-space: pre-wrap; | |
| word-break: break-all; | |
| font-size: .85em; | |
| line-height: 1.45; | |
| background: var(--surface-variant, rgba(128, 128, 128, .08)); | |
| border-radius: 6px; | |
| padding: .4rem .45rem; | |
| } | |
| .proofread-confirm-newpart { | |
| display: flex; | |
| gap: .45rem; | |
| align-items: baseline; | |
| background: color-mix(in srgb, #2e7d32 12%, transparent); | |
| border-radius: 6px; | |
| padding: .3rem .45rem; | |
| white-space: pre-wrap; | |
| word-break: break-all; | |
| } | |
| .proofread-confirm-parttype { | |
| flex: 0 0 auto; | |
| font-size: .75em; | |
| color: var(--primary); | |
| border: 1px solid currentColor; | |
| border-radius: 4px; | |
| padding: 0 .3em; | |
| } | |
| .proofread-confirm-field { | |
| white-space: pre-wrap; | |
| word-break: break-all; | |
| } | |
| .proofread-metadata-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: .85em; | |
| } | |
| .proofread-metadata-table th, | |
| .proofread-metadata-table td { | |
| border: 1px solid var(--outline-variant); | |
| padding: .3rem .45rem; | |
| vertical-align: top; | |
| text-align: left; | |
| word-break: break-all; | |
| white-space: pre-wrap; | |
| } | |
| .proofread-metadata-table thead th { | |
| background: var(--surface-variant, rgba(128, 128, 128, .08)); | |
| font-weight: 600; | |
| } | |
| .proofread-metadata-empty { | |
| color: var(--on-surface-variant, inherit); | |
| opacity: .7; | |
| } | |
| .proofread-confirm-empty { | |
| color: var(--on-surface-variant, inherit); | |
| padding: .6rem 0; | |
| text-align: center; | |
| } | |
| body.mobile .proofread-confirm-diff { | |
| flex-direction: column; | |
| } | |
| .parse-confirm-panel { | |
| max-width: 920px; | |
| } | |
| .parse-review-meta { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: .25rem .9rem; | |
| color: var(--on-surface-variant); | |
| font-size: .85em; | |
| } | |
| .parse-review-content { | |
| max-height: 16rem; | |
| overflow: auto; | |
| padding: .55rem; | |
| border-radius: 6px; | |
| background: var(--surface-container); | |
| line-height: 1.55; | |
| } | |
| .parse-review-crops { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); | |
| gap: .65rem; | |
| } | |
| .parse-review-crop { | |
| min-width: 0; | |
| } | |
| .parse-review-crop-label { | |
| margin-bottom: .3rem; | |
| color: var(--on-surface-variant); | |
| font-size: .8em; | |
| } | |
| .parse-review-crop canvas { | |
| display: block; | |
| width: 100%; | |
| height: auto; | |
| max-height: 420px; | |
| object-fit: contain; | |
| border: 1px solid var(--outline-variant); | |
| border-radius: 6px; | |
| background: #fff; | |
| } | |
| body.mobile .proofread-confirm { | |
| padding: .4rem; | |
| } | |
| body.mobile .parse-review-crops { | |
| grid-template-columns: 1fr; | |
| } | |