/* Reference Linker 1.0.1 — assembled from the shared styles and src/styles.css by "npm run build". Do not edit directly. */ /* Styles every linker plugin uses. The token below stands for the plugin class prefix; build.mjs substitutes it when it assembles styles.css. See CONTRIBUTING.md. */ .reference-linker-preview-table { width: 100%; border-collapse: collapse; font-size: var(--font-ui-small); } .reference-linker-preview-buttons { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; } .reference-linker-folder-row .setting-item-name { font-family: var(--font-monospace); font-size: var(--font-ui-smaller); overflow-wrap: anywhere; } .reference-linker-folder-add { display: flex; gap: 8px; margin: 6px 0 18px 1.5em; } .reference-linker-folder-input { flex: 1 1 auto; min-width: 0; } .reference-linker-folder-addbtn { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; cursor: pointer; } .reference-linker-folder-addbtn svg { width: 16px; height: 16px; } /* Priority order among the installed linker plugins. Our own row is the movable one, so it is the one that reads as active; the others are context. */ .reference-linker-precedence-list { margin: 0 0 18px 1.5em; } .reference-linker-precedence-list .setting-item { border-top: none; /* Padding matches the folder-list rows, so this nested list lines up with the other one in the same pane: text off the left edge, arrows level with the remove buttons. */ padding: 4px 6px 4px 0.75em; } .reference-linker-precedence-list .setting-item-name { color: var(--text-muted); } .reference-linker-precedence-self .setting-item-name { color: var(--text-normal); font-weight: var(--font-semibold); } /* Styles both sigil linkers use. The plugin class prefix is substituted by build.mjs. */ .reference-linker-suggestion { display: flex; gap: 0.5em; align-items: baseline; } .reference-linker-name { font-weight: var(--font-semibold); } .reference-linker-kind { color: var(--text-muted); font-size: var(--font-ui-smaller); } .reference-linker-path { margin-left: auto; color: var(--text-faint); font-size: var(--font-ui-smaller); } .reference-linker-input { width: 100%; } /* Muted helper / status line under a control or section — one class for every such note in the pane. .is-error tints it for a missing folder or other problem. */ .reference-linker-note { color: var(--text-muted); font-size: var(--font-ui-small); margin: 4px 0 14px; } .reference-linker-note.is-error { color: var(--text-error); } /* User editor preset rows: name + template + remove on one line, wrapping to two lines on a narrow pane so nothing collides. The full control area is used (the empty name label is hidden) and the theme styles the row like any other. */ .reference-linker-editor-row .setting-item-info { display: none; } .reference-linker-editor-row .setting-item-control { width: 100%; flex-wrap: wrap; justify-content: flex-start; gap: 8px; } .reference-linker-editor-name { flex: 1 1 140px; min-width: 0; } .reference-linker-editor-tpl { flex: 3 1 240px; min-width: 0; } .reference-linker-hover { position: fixed; z-index: var(--layer-popover); max-width: min(720px, 90vw); box-shadow: var(--shadow-s); user-select: text; -webkit-user-select: text; } .reference-linker-hover.reference-linker-hidden { display: none; } .reference-linker-embed { margin: var(--p-spacing, 1em) 0; } .reference-linker-embed-error, .reference-linker-embed-note { padding: 6px 10px; color: var(--text-muted); font-size: var(--font-ui-smaller); } .reference-linker-embed-error { color: var(--text-error); } /* Drifted line (stale) and renamed/removed symbol (broken), in both render modes. A border-bottom rather than text-decoration: wavy/offset underlines render inconsistently across platforms, so a plain border is the reliable choice. */ .reference-linker-stale, .reference-linker-broken { border-bottom-width: 1px; border-bottom-style: var(--reference-linker-mark-underline-style, dotted); } .reference-linker-stale { border-bottom-color: var(--reference-linker-stale-color, var(--text-warning)); } .reference-linker-broken { border-bottom-color: var(--reference-linker-broken-color, var(--text-error)); } /* Nested sub-rows — searchable kinds under a language, and chosen folders under a folder list — share one indent and compact height so the pane reads as one list style. The kind rule is unqualified so it also indents the plain rebuild hint. */ .reference-linker-kind-row, .reference-linker-folder-row { margin-left: 1.5em; padding-left: 0.75em; border-left: 2px solid var(--background-modifier-border); } .reference-linker-kind-row.setting-item, .reference-linker-folder-row.setting-item { border-top: 0; padding: 4px 6px 4px 0.75em; } .reference-linker-kind-row .setting-item-name { font-size: 0.9em; opacity: 0.85; } /* Folder-set editor: a full-width input with autocomplete and an add button below the chosen-folder rows. */ .reference-linker-folder-rows:not(:empty) { margin: 6px 0; } .reference-linker-preview-file { font-weight: var(--font-semibold); margin: 12px 0 4px; overflow-wrap: anywhere; } .reference-linker-preview-table td { border-bottom: 1px solid var(--background-modifier-border); padding: 3px 8px; text-align: left; vertical-align: top; } .reference-linker-preview-pick { width: 1%; padding-right: 0; vertical-align: middle; } .reference-linker-preview-move { font-family: var(--font-monospace); white-space: nowrap; width: 1%; color: var(--text-muted); } /* A guessed move (file matched by symbol or basename), not a plain line drift — tinted so it stands out for a closer look before applying. */ .reference-linker-preview-moved .reference-linker-preview-move { color: var(--reference-linker-stale-color, var(--text-warning)); white-space: normal; } .reference-linker-preview-more, .reference-linker-preview-empty { color: var(--text-muted); padding: 8px 0; } .reference-linker-preview-attention { color: var(--reference-linker-broken-color, var(--text-error)); } .reference-linker-preview-broken { font-size: var(--font-ui-small); color: var(--reference-linker-broken-color, var(--text-error)); padding: 2px 8px; overflow-wrap: anywhere; } /* @settings name: Reference Linker id: reference-linker settings: - id: reference-linker-stale-color title: Stale-link underline colour description: Reference links whose target document has moved or is missing. Default follows the theme's warning colour. type: variable-themed-color format: hex opacity: false default-light: '#c1810b' default-dark: '#e0a526' - id: reference-linker-broken-color title: Broken-link underline colour description: Reference links whose target document is gone. Default follows the theme's error colour. type: variable-themed-color format: hex opacity: false default-light: '#c4302b' default-dark: '#e35555' - id: reference-linker-mark-underline-style title: Stale / broken underline style type: variable-select default: dotted options: - dotted - dashed - solid - double */ /* Chrome shared by the hover popover and the inline embed: a header above a body that holds the rendered PDF page (canvas) or image. The popover is a fixed overlay; the embed flows inline — otherwise the parts match. */ .reference-linker-hover, .reference-linker-embed { overflow: hidden; background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: var(--radius-m); } .reference-linker-hover-header, .reference-linker-embed-header { padding: 4px 10px; border-bottom: 1px solid var(--background-modifier-border); color: var(--text-muted); font-size: var(--font-ui-smaller); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .reference-linker-embed { width: fit-content; max-width: 100%; } /* The header must not widen the frame, or a long title leaves the page floating in dead space; zero intrinsic width + min-width lets it fill and ellipsize instead. */ .reference-linker-embed-header { cursor: pointer; width: 0; min-width: 100%; } .reference-linker-hover-body, .reference-linker-embed-body { overflow: auto; max-height: 60vh; } /* Stacked pages/sections of a range embed, set apart so the seam between them reads. */ .reference-linker-embed-slot + .reference-linker-embed-slot { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--background-modifier-border); } /* Rendered PDF page (canvas) or image inside the popover / embed. */ .reference-linker-hover-body canvas, .reference-linker-hover-body img, .reference-linker-hover-body video, .reference-linker-embed-body canvas, .reference-linker-embed-body img, .reference-linker-embed-body video { display: block; max-width: 100%; height: auto; } /* Width is set inline from the request; a percentage here would collapse against the shrink-to-fit popover. */ .reference-linker-hover-body audio, .reference-linker-embed-body audio { display: block; max-width: 100%; margin: 8px 4px; } /* Markdown and HTML preview as themselves. The width is set inline from the request; the padding is what keeps rendered content off the popover border. */ .reference-linker-rendered { padding: 10px 14px; } .reference-linker-rendered > :first-child { margin-top: 0; } .reference-linker-rendered > :last-child { margin-bottom: 0; } .reference-linker-rendered img { max-width: 100%; height: auto; } .reference-linker-rendered pre { overflow-x: auto; } /* The line preview: a heading and the lines under it, for formats with no markup to show. */ .reference-linker-doc { padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; } .reference-linker-doc-title { font-weight: var(--font-semibold); } .reference-linker-doc-line { color: var(--text-muted); font-size: var(--font-ui-small); } .reference-linker-doc-empty { color: var(--text-faint); font-style: italic; } /* Update preview: each note is a checkable group, its link changes a compact table, and the section that's gone is listed apart in the warning colour — so an update is something you look over and confirm, not a blind sweep. */ .reference-linker-preview-check { display: flex; align-items: center; gap: 6px; } /* Reference Linker 1.0.1 */